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
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.
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
Extensive experience with large scale unmanaged C++ code bases
.Net programming for general Windows Forms development, with significant experience with networking, GDI+, Remoting, XML
Real time graphics programming, including extensive shader experience
Physics and other aspects of military simulations
Haptic / Force feedback programming
Graphics Engines/ Other APIs
OpenGL, DirectX 9.0, XNA 2.0, Gamebryo 2.3, Torque, Multiverse, Panda3D, 3D Gamestudio, OpenAL, (ODE) Open Dynamic Engine.
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.
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.
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.
International Game Development Association - Albuquerque branch