• What is this?
    It means resumé

Curriculum Vitae

Graham Robert Smallwood

930 Dayna St, Santa Ana, CA. 92701

email: grahamsmallwood@gmail.com

web: http://www.grahamsmallwood.com

EDUCATION

M.S. Computer Science 2012

Cal State Long Beach, Long Beach, CA

 

B.S. Computer Science 1999

Eastern Michigan University, Ypsilanti, MI

 

BRIEF TEACHING PHILOSOPHY

Computer programming is not just a major one takes to get a secure career. Anybody can benefit from learning to program because of the way in which it trains your mind to both model problems with a broad view and to implement small tasks with precise detail. To keep students both major and non-major engaged, I believe assignments should be relatable and interesting instead of purely abstract. They should be structured, but have just enough freedom in implementation that students feel invested in their work. Two-way communication in a lab environment is essential. Fielding specific questions is the only way to find if my approach is missing a subset of students since everyone learns differently. And finally, I feel there is a great benefit in drilling basic concepts in to brand new programmers before dropping them in to a lab environment so that they are understanding and not just repeating.

 

TEACHING EXPERIENCE

  • Instructor: Depart of Computer Science, Santiago Canyon College, Orange, CA
    • Introduction to Java Programming – (Spring 2013)
      • Wrote curriculum and lesson plan using Course Outline of Record as guidelines.
      • Created lecture slides with integrated hands-on examples
      • Made homework assignments and tests
      • Provided one-on-one help in lab environment
      • Wrote mini-lectures over email in response to student questions
      • Graded assignments with detailed feedback for each student 
    • Introduction to C++ Programming – (Spring 2013)
      • Aided primary professor by presenting extra reinforcing examples of weekly topic
      • Assisted with homework in lab environment.
  • Instructor: Upward Bound Math and Science, Cal State Long Beach, Long Beach, CA
    • Introduction to Computer Programming – (June 2012 – Aug 2012)
      • Summer program for underrepresented inner city high school students.
      • Worked with head of primary science program to create integrated curriculum
      • Wrote and presented lectures, created and graded homework, and worked individually with students in lab

 

  • Teaching Assistant: Department of Computer Science, Cal State Long Beach, Long Beach, CA
    • Introduction to Programming and Problem Solving – CECS 174 (Fall 2011 – Spring 2012)
      • Introductory course covering topics such as object oriented programming, graphics, data structures, and control structures using Java.
      • Assisted students with debugging lab assignments
      • Explained introductory concepts to students that needed assistance
      • Validated homework in preparation for professor to grade it

 

    • Critical Thinking in the Digital Information Age – CECS 100 (Fall 2011)
      • Introductory course covering topics such as basic programming concepts, flowchart logic, and IPO diagrams.
      • Assisted students with debugging lab assignments
      • Explained introductory concepts to students that needed assistance
      • Graded homework

 

    • Introduction to Game Programming – CECS 455 (Spring 2011)
      • Advanced majors course covering topics such as OpenGL, game networking, and basic game physics
      • Helped refine class goals for future semesters
      • Graded homework assignments
      • Gave lectures on specialized topics relating to game programming: client vs. server architecture, and logic vs. client timing

 

  • Guest Lecturer: Department of Computer Science, Cal State Long Beach (Spring 2012)
    • Overview of Computer Science Careers
      • Lectured on different kinds of thinking that lead to different career types in the programming industry. Special emphasis was given to game programming careers.

 

WORK EXPERIENCE

  • iOS Programmer: Self Employed, Santa Ana, CA (2011 – present)
    • Objective-C programming for iPhone games
    • Created game from start to market
    • Managed remote contract artist
    • Titles: Delve: The Dice Game

 

  • iOS Programmer: Zeek Interactive, Huntington Beach, CA (2009 – present)
    • Objective-C programming for iPhone and iPad applications
    • Implement applications from Photoshop designs to final completion
    • Includes user interface programming and networking
    • Titles: Cisco SIO-To-Go, NFL 2011, Edwards Lifesciences Internal Applications

 

  • Unity3d Programmer: Skyworks, Seal Beach, CA (2008 – 2009)
    • C# programming utilizing the Unity3d engine
    • Designed car physics system from scratch
    • Modeled systems, parameterized designer data, and made editor tools
    • Titles: Unreleased Car Game

 

  • Casual Games Programmer: Mumbo Jumbo, Costa Mesa, CA (2007)
    • C++ programming for PC games
    • Created collision system, programmed the game’s artificial intelligence system, designed databases, and created the level editor
    • Titles: Shopping Spree (Canceled)

 

  • Multiplayer Games Programmer: Turtle Rock Studios, Irvine, CA (2005 – 2007)
    • C++ programming for PC games
    • Synchronized states in real-time networked clients
    • Reverse engineered undocumented existing game engine
    • Titles: Counter-Strike: Source, Left 4 Dead

 

  • Gameplay Programmer: Electronic Arts, Playa Vista, CA (1999 – 2005)
    • C++ programming for PC games
    • Designed and implemented core game systems
    • Determined object models and data structures from designer specifications
    • Implemented game units and related artificial intelligence
    • Mentored incoming programmers: wrote task plans and provided system overviews
    • Titles: Command & Conquer: Red Alert 2, Red Alert 2: Yuri’s Revenge, Command & Conquer: Generals, Command & Conquer Generals: Zero Hour, Lord of the Rings: Battle for Middle-Earth, Lord of the Rings: Battle for Middle-Earth II

 

SKILLS

  • Languages: C++, C, C#, Objective C, Java, SQL, HTML, CSS
  • Development Environments: MSDN .NET, Eclipse, Source Engine (Valve), iPhone SDK/XCode, Unity3D Engine
  • Subjects: Networking, Databases, Artificial Intelligence, Algorithms, Software Engineering, Security
  • Source Control: Git, SVN
  • Proficient with both Mac and PC operating systems.
  • Proficient with a variety of software, including MS Word, PowerPoint, Excel, and Adobe Photoshop, PHPMyAdmin, Visual Assist X, Perforce, Tower, Versions

 

COMMUNITY SERVICE

  • Cal State Long Beach Game Development Club (Spring 2012)
    • Helped students plan their game production schedule. Provided guidance and advice in relation to programming, and game development in general.

 

PUBLICATIONS

Smallwood, G.R.; Black, D.V.; , “Observations on designing a computer science Curriculum focusing on game programming using testimonials from industry leaders,” Games Innovation Conference (IGIC), 2011 IEEE International , vol., no., pp.126-129, 2-3 Nov. 2011

 

CONFERENCE PRESENTATIONS

Oral presentations

Smallwood G, and Black D. Observations on designing a computer science Curriculum focusing on game programming using testimonials from industry leaders. 2011 IEEE International, Fullerton, CA 2011.