All minor school projects exist in this repository. If a school project becomes too large to justify existing in this repository, a copy of the project will become its own major repository and all future work will be done there. Please see the "ForEmployers" repository README for more details.
Course Reference # | Course Name | Description |
---|---|---|
VGP100 | Computer Applications | This course introduces students to the basic operation of a computer on multiple hardware platforms. File management and storage, basic word processing,spreadsheet, and database techniques are explored. The components of a computer and general network infrastructure will be examined. The use of peripherals and their interaction with the computer will be applied. The students will also be introduced to the Internet as a research and networking tool. |
VGP110 | Procedural Programming in C I | This course introduces students to the fundamentals of programming using the C language, including variables, C types, branching, looping, logical and arithmetic operators, arrays, structures, and user defined functions. |
GAD100 | History of Games | This course introduces students to the timeline, technological shifts, and key genres in the brief history of electronic video games. The student will develop a written and verbal vocabulary for analyzing games and their cultural significance. |
GAD110 | Game Design I | Students will be introduced to traditional game theory and design and how they relate to their modern electronic cousin. Students work in teams to apply models and strategies for creating traditional games that are based in solid play mechanics. Students will experience an entire game cycle: identifying the audience, pitching the game, prototyping, creating a final product and play testing. |
CC115 | Color Theory | The creative process is introduced using the visual elements of both additive and subtractive color and the basic principles of design. This course explores theories regarding physical perception, psychology, and design aspects of color. A variety of concepts, materials and techniques is used in class to investigate the aesthetic and psychological principles of design. Students will be able to utilize the basic principles and elements of design theory as they apply to their assigned projects. |
VGP126 | Applied Mathematics | This course covers the foundational mathematical tools required in any software development environment. Students learn to apply the tools to problems encountered in game development. Boolean algebra, logic, bit level operations, number representations, and precision are covered. Students learn to solve problems indiscrete mathematics. Vectors and projectile motion are introduced. |
VGP120 | Procedural Programming in C II | This course introduces students advanced topics using the C language with a particular focus on pointers and dynamic memory access. The students will learn data patterns including various types of linked lists, stacks, queues, vectors, tree traversal, and other advanced standard data types. The student will also learn about the different types of memory including heaps and stacks. |
VGP111 | Object-Oriented Programming in C++ I | This is an introduction to object-oriented programming in C++. Students are introduced to common object-oriented concepts such as classes, namespaces, inheritance, object-oriented designs, polymorphism, type casting, virtual functions, dynamic memory allocations, const-correctness, advanced data structures and dynamic memory. Students will simulate real world types of problems solving using C++ related to videogames programming. |
VGP104 | Software Development and Testing | This course is an introduction to software engineering techniques used in modern application and game development. The course will cover topics relating to software development process such as requirement gathering, planning, designing,implementing, maintaining, and testing. Additionally, there will be introductions to software implementation, maintenance, quality assurance, and application troubleshooting. |
VGP128 | Geometry and Linear Algebra | This course covers the essential analytic geometry and linear algebra tools and techniques needed to program 3D games and 3D graphics. |
VGP112 | UML & Technical Documentation | This course is an introduction to software documentation and planning techniques used in modern software development. The course will focus on utilizing the practical software engineering use-case approach to drive software specifications, requirement-gathering, object-oriented design analysis, user documentation, and software designs.Technical design documentation using UML and other technical writing techniques are emphasized. |
VGP130 | Object-Oriented Programming in C++ II | This course introduces more complex object-oriented programming techniques in C++. This includes templates, operator overloading, smart pointers, reference counting, exception handling, and standard template libraries. The fundamentals of object-oriented programming in C++ through applied design, implementation, troubleshooting,maintenance and testing are reinforced. |
VGP232 | Game Tools & Pipelines | The role and function of a tools programmer on a games team is introduced to the students. Emphasis is on replacing repetitive tasks in the development process with effective and functional tools. The course will cover productivity tools, pipeline solutions, automated build process and reusable tools. Students will learn how to multiply team efficiency through building tools and pipelines to increase development productivity. |
VGP333 | Programming for Game Engines | Students will learn how to work in a preexisting modern game engine framework. They will learn a brand new pipeline and import game assets, prototype gameplay features, build networking gameplay, manipulate audio assets, use a modern 3rd party physics engine, and learn how integrate all major systems through advanced scripting. |
VGP248 | Physics of Motion Light and Sound | This is a calculus based course in analytical mechanics. Students learn how to apply the principles of Newtonian mechanics, rigid body dynamics, and simple harmonic motion to games, and are introduced to the basic physics of light and sound propagation in media. Emphasis is placed on formulating solutions to problems in pseudocode. |
VGP220 | Algorithms and Data Patterns I | This course is an introduction to algorithms and design patterns. Students learn to recognize the importance of developing fast and efficient algorithms for solving common complex problems in a simple and elegant manner. Students learn efficient sorting,pattern matching, tree traversal, data retrieval, time performance analysis and memory efficiency analysis. Students will explore the standard template library, abstract datatypes, trees, heaps, hash tables and other advanced object-oriented data types in C++. |
VGP230 | 2D Games Programming | This class is a project focused course where the student is responsible for the design, documentation, implementation and testing of a simple two-dimensional game. Students will be provided the 2D engine framework and will be shown how to use and extend the engine for their final game project. This course will introduce game engine architecture including 2D graphics, resource management, data driven design, physics, motion, collision detection, basic artificial intelligence, user interface, and special effects. |
CC310 | Preproduction and Project Management | Students work on a game prototype and learn to invent new game ideas. The students are introduced to the theory of project management and how it applies to modern game development. A project or projects are then selected to move forward to Production Team. |
VGP400 | Portfolio I | Students assemble and critique works from completed courses, and discover the limits of their programming knowledge. Students research potential employers and learn about the different positions available for them. Students are expected to present a plan that lead up to their Senior Portfolio which enables them to plan on a focused programming career objective. |
VGP240 | 3D Graphics and Applications | Students are introduced the fundamentals of 3D graphics and the underlying mathematics. The students will cover 3D geometry, interpolations, rendering, clipping, matrix transformations, graphics pipelines, lighting, materials, texturing, rasterization,and shading. The class implements each of these concepts in an existing industry standard graphics framework. |
VGP244 | Algorithms and Data Patterns II | This course introduces advanced algorithms including shortest path algorithms, graphs,Greedy’s algorithm, BFS, DFS and divide and conquer algorithms and randomize algorithms. |
CC450 | Production Team I | In this course, students work as a team on the production of an electronic games project in a studio environment. |
VGP453 | Portfolio II | This course focuses on the completion of a studentʼs portfolio and enables the student to begin their career search. Students are introduced to games interview screening process, technical interviews, whiteboard questions, programming tests, complex problem solving and verbal presentation of tough technical challenges. |
VGP336 | Gameplay Programming | This course is an introduction to game play programming that is focused around building and working with modern game programming architectures to produce and prototype game mechanics. Gameplay programming will focus on developing, expanding, and utilizing existing technologies to produce fun and interactive game mechanics. A high level of emphasis will be working hands-on with numerous game sub-systems including enemy behaviors, artificial intelligence, player interactions, physics and networking. |
CC451 | Production Team II | In this course, students continue to work as a team on the production of an electronic games project in a studio environment. |