Curtis Bennett - a programmer in Albuquerque

Hello, my name's Curtis Bennett and I'm a programmer specializing in C++ and .Net development for serious games and several aspects of computer graphics. I can be reached at curtis@xnagamemaking.com.

Projects Page - Experience - Skills - Education - Teaching - Publications - Associations

Experience

Descriptions of work projects are on the Projects Page.

Abalone Studios (the internal development branch of Game Production Services)

Programmer, July 2006 - Present

Abalone Studios creates large scale distributed training and promotional games for military use. These projects involve several applications (which are a combination of C++ and .Net apps) interacting. I've been involved in all aspects of coding.

Advanced Graphics Lab, University of New Mexico

Graphics Researcher, Jan. 2007 - Dec. 2007

Investigated various approaches for GPU based vector image compression and generation.

Skills

C++ (2 years professional + 4 academic) C# (2 years professional + 2 academic) .Net 1.1, 2.0, 3.0, Python, QT, JavaScript, PHP, Matlab

Programming Areas

Graphics Engines/ Other APIs

OpenGL, DirectX 9.0, XNA 2.0, Gamebryo 2.3, Torque, Multiverse, Panda3D, 3D Gamestudio, OpenAL, (ODE) Open Dynamic Engine.

Education

Descriptions of work projects are on the Projects page.

Master's Program in Computer Science (Expected completion Dec. 2008)

University of New Mexico

I've been attending the M.S. program for seven semesters taking one or two courses per semester. Completed courses:

CS 433 Computer Graphics Ed Angel's computer graphics course. Created a vector based paint program and several smaller apps. A
CS 534 Advanced Computer Graphics An advanced continuation of the earlier graphics course. Created a simple 3D engine, terrain visualizer, and shader programs. A
CS 506 Computational Geometry Coverage of the major topics in computational geometry. Created a real time collision detection test and paper. B
CS 530 Geometric & Probalistic Methods in CS Advanced mathematics for computer science. Advanced probability, signal processing (Fourier transforms and wavelets), information theory B
CS 591 ST in Computer Games Development Graduate level game design, development course. Created Haptic racing and the language learning FPS. A-
CS 500 Intro to the Theory of Computation Theoretical math for computer science. Turing machines, grammars, PDAs, focus on formal proofs. B+
CS 591 Data Structures and Algorithms II Advanced algorithms course. Focused on theoretical aspects and formal proofs in algorithm design. C+
CS 460 UG Software Engineering Covered various approaches to software engineering. A
CS 591 ST in Object Oriented Development Dave West's course on OO design and agile methodologies A
CS 580 The Specification of Software Systems Discussed requirements elicitation/writing as part of the software development process. A

Bachelor of Science, Computer Science

Oklahoma State University - Graduate 2004

Graduated Magna Cum Laude (GPA: 3.9 on a 4.0)

Courses taken included: Graduate level Object-Oriented Development with Visual C++, Graduate level Computer Graphics, Numerical Methods, Artificial Intelligence, multiple mathematics and computer architecture courses.

A.A., Fine Arts

Independence Community College - Graduate 2001

Completed a degree in Fine Arts, a secondary interest.

Teaching

Game Programming Instructor - Class Website.

Central New Mexico Community College, Aug. 2007 - Present

For the past year I've been teaching an introductory course on programming video games using XNA. Samples and more info is at xnagamemaking.com.

Technical Advisor, Game Programming Course

University of New Mexico, Spring Semester 2008

Gave one lecture, wrote a few samples, and answered students questions for UNM's game course.

Mathematics Instructor

Central New Mexico Community College, Aug. 2004 - Dec. 2006 - Class Website

Taught many algebra and pre algebra courses. Utilized a high degree of communication skills.

Publications

Creating 2D Games with XNA: A Simple Introduction to Game Programming with C# and XNA - A book of material from my CNM game development course.

Associations

International Game Development Association - Albuquerque branch