Immersive, collaborative and designed to unlock your creativity—for over 130 years Cogswell has been helping people turn their passion into their professions. Today, it’s your turn. Explore our program offerings to help you develop the skills you need for the job you’ll love.
Pairing business, technology and creativity, our students come to the heart of Silicon Valley to deepen and grow their passions. The result? A skilled and dynamic community with a social life that is surprisingly robust.
Software Development Concentration
Web and Mobile Concentration
B.S. Game Design Engineering
Remedial classes are required when a placement test is not passed.
Second Academic Year (Fall, Spring, and Summer)
Third Academic Year (Fall, Spring, and Summer)
Topics include principles and applications of factoring, rational expression, radicals, solutions and graphs of linear, quadratic equations and inequalities; polynomials, rational,exponential, trigometric, and logarithmic functions; matrices, determinants, complex numbers.
Prerequisite: Placement Test or Intermediate Algebra (MATH003)
Intermediate Algebra including exponents and polynomials, equations and systems of equations in one and two variables, functions and graphs, and exponential and logarithmic functions.
Credit earned does not count towards a degree.
Extensive written work stressing correct spelling, accurate sentence structure, and logical paragraph development.
Credit earned does not count toward a degree.
This course develops written communication and critical thinking skills. It explores techniques and practices of expository and argumentative writing. Students learn to generate ideas for writing based on readings, learn to organize and support their ideas, and learn to apply techniques of revision to produce polished, professional work. Content, format and correct grammatical structures are emphasized.
Prerequisite: Passing grade on English Placement Test or Grammer and Composition (ENG050)
Students should consult with their faculty adviser or staff adviser when selecting or registering for any general education or elective course to ensure that the course meets the requirements of the program. Students must meet prerequisites in order to register in any course.
Students should consult with their faculty adviser or staff adviser when selecting or registering for any general education or elective course to ensure that the course meets the requirements of the program.
Advance Scripting. Mel Scripting. C++ Plug-in
Prerequisite: Introduction to Scripting: Python (SWE100)
A multi-disciplinary team is guided through the second half of a typical video game development production lifecycle. The focus is on working as an effective and efficient development team to produce a capstone game project on schedule. Skillsets are tested and knowledge is directly applied. Team members assume roles similar to those in the video game industry and will have opportunities to work and network with industry professionals. Prior approval required.
Principles of user interface design. Input elements: keyboard, mouse. Memory management. Icons. Menus. Dialog boxes. Graphics device interface. OpenGL. Transformations. Bresenham's Lines and Circles Algorithms. Ellipses. Hidden line Algorithms. Clipping Algorithms. Spline curves. Bezier curve. B-splines surface and Bezier surfaces. Hidden lines and surfaces algorithms. Hidden line and surface removal methods. Students learn GUI and practice concrete mathematics concepts in computer graphics.
A multi-disciplinary team is guided through a typical video game development production lifecycle. The focus is on working as an effective and efficient development team to produce a capstone game project on schedule. Skillsets are tested and knowledge is directly applied. Team members assume roles similar to those in the video game industry and will have opportunities to work and network with industry professionals. Prior approval required.
Focus on the design and implementation of immersive player experiences using commercial game engines and level editors. Advanced level design topics are covered including scripting interactive level sequences, level lighting, material editing, particle systems, development and use of custom assets, animation, user interface, in-game cinematics and choreography.
Prerequisite: Level Design I (GAM355)
Students will create playable video game prototypes. Topics include game design concepts, theory and methodologies, storytelling, game analysis, player engagement, player immersion, gamification, and techniques for monetization.
Prerequisite: Game Design I (GAM295)
Introduction to level design for video games from developing level ideas into executable level maps to implementation, play-testing and iteration. Exposure to level editors will provide hands-on experience in building levels. Level design principles include: pacing, balance, difficulty ramping, level flow, hooks and level progression. Proper level design methodology will be used to build game levels.
Prerequisites: Introduction to 3D Modeling (DAA240) and Introduction to Scripting: Python (SWE100)
Mobile is everywhere, and programming for mobile devices has specific characteristics that put it apart from traditional setting. Small displays, small code footprint, adherence to View-Control-Model architecture, availability on different platforms, use of location-aware services and other sensors, and so forth. This course will involve hands-on application implementation for mobile platform.
Prerequisite: Java Programming (SWE212) or C++ Programming: Object Oriented Programming (SWE285)
Introduction to the fundamentals of game design through lectures and the building of board games in a collaborative workshop environment. Topics covered include: history of computer games, writing rules, play balance, statistics and probabilities, layout and level design, psychology and replayability, atmosphere, design documents and multiplayer issues.
Prerequisite: English Composition (ENG100)
This course involves the use of layering color maps on digital surfaces to create specific material shaders. Texture map painting in 2D is covered extensively. Analysis through physical observation on the light gathering of surfaces teaches students how to digitally reproduce any material. Students learn UV texture layout and projection techniques for shader creation. Procedural versus painted shader maps are explored along with complex layering. Emphasis is spent on specular, diffuse, color, bump, displacement and normal mapping to achieve the desired result.
Prerequisite: Introduction to 3D Modeling (DAA240)
Students learn the discipline of project management. Students will become fluent in project management tools through the creation and management of timetables, schedules, project completion, progress tracking and results evaluation.
Students gain a basic understanding of U.S. intellectual property law as it applies to business. This course provides students with a fundamental framework for analyzing and understanding issues connected to intellectual property including copyright, patent and trademark law.
Students develop entrepreneurial and managerial skills for the global dynamic business environment. Students explore functional areas in business making decisions on feasibility, finance, operations, marketing, recruitment, execution and pitching among other topics.
This course introduces assessment and analysis of game usability throughout game production. Students run usability and quality assurance testing sessions for games from other project classes. Topics include focus testing, moderated discussion groups, roles and processes in quality assurance, bug reporting and regression, player psychology and observation, and measuring and quantifying subjective experiences.
Prerequisite: Introduction to Game Production (GAM225)
Introduction to animation software modules with emphasis on character rigging techniques: joints, surface binding, articulation, forward and inverse kinematics (FK and IK), and hierarchical node structures. Students apply these techniques to develop 3D characters. Includes a summary of the animation software module, graph editor, setting key frames, and tangents for basic animation.
Introduction to video game development and various project production models and team structures through lectures, discussions and simple game projects. Lessons learned from studying project postmortems, case studies and employing various tools, techniques and strategies will develop skills in ideation, iteration, troubleshooting, risk assessment, adaptation, communication, team management, organization and leadership.
Creation of 3D organic and industrial models using one or more software modeling packages. Topics include modeling construction using polygon and/or spline-based techniques, texture mapping, lighting, shading, and rendering. Students apply these techniques to the creation of 3D models.
Prerequisite: 2D Design I (DAA100)
This course explores advanced image processing using image editing software and graphics tablets. Coursework addresses image creation and manipulation, color and contrast adjustment, compositing, image matching, and non-destructive editing techniques. An emphasis is placed on creating photorealistic illusions.
This course introduces the fundamentals of drawing. Students learn basic skills and techniques for drawing from direct observation using subjects such as still life, landscape and architecture. Perceptual skills and the use of line, shade, perspective, and composition are developed. Analysis of drawings, critiques and classroom discussions build vocabulary and enrich the students' understanding of drawing.
Students are introduced to the principles of two-dimensional image making with an emphasis on visual communication. They utilize the elements and principles of design while working with traditional and digital media. Students will analyze the form and function of design, various principles of perception and Gestalt theory. The importance of presentation and craftsmanship is emphasized.
Academic internships are online three-credit classes that run concurrently with external work-based experiential learning. As a faculty run course, students are required to complete academic assignments specifically designed to enhance the learning experience through in-depth reflection and critical analysis of the work environment. Students are expected to log on to canvas and/or meet weekly to complete assigned activities and interact with faculty assigned to the course. Along with the faculty interaction and assignments students are required to complete 135 hours contact hours with the internship site.
Prerequisite: Junior Status
Multiple Inheritance. Virtual base class. Virtual functions. Smart pointers. Run time type information. Template Meta Programming. Generic Programming. Concurrency in C++. Applications to game engine.
Prerequisite: C++ Programming: Object Oriented Programming
Descriptive geometry: points, lines, planes, intersections, spatial relationships. Transformations. Projective Geometry: plane transformations, homogeneous coordinates, space transformations, perspective projection. Differential Geometry: Theory of curves and surfaces. Quaternions and rotation sequences.
Prerequisite: Calculus II (MATH144)
Non-object oriented features of C++. Constructors and Destructors. Type Coversions. Friends. Overloading functions and operators. References. Polymorphisms. I/O streams. Multiple Inheritances. Templates. Memory Management. Students practice the object oriented paradigm.
Prerequisite: Introduction to Scripting: Python, C Programming, or Java Programming
Logic. Set theory. Functions. Relations. Proofs by mathematical induction. Recursion and program correctness. Fundamentals of counting, and discrete probability. Elementary graph theory. Introduction to analysis of algorithms.
Data Structures: Stacks. Queues. Linked lists. Circular linked lists. Double linked lists. Circular double linked lists. Binary search trees. Searching and sorting algorithms. Introduction to graph algorithms. Huffman codes, AVL trees. Hashing. B-trees. Students practice concepts of structured programming and discrete mathematical concepts in data structures and analysis of algorithms.
Prerequisite: C Programming or C++ Programming: Object Oriented Programming
Fundamentals of mechanics, fluids, and heat, including vectors, translation and equilibrium, acceleration, projectile motion, Newton's Laws, work, energy, power, impulse, momentum, uniform circular notion, rotation of rigid bodies, simple changes, elasticity, simple harmonic motion, fluid statics and dynamics, temperature, thermal expansion, heat units, heat transfer, thermal properties of matter, the thermodynamics and wave motion. Illustrative laboratory work to complement theory. Students are introduced to physics concepts for science and engineering.
Prerequisite: Calculus I (MATH143)
Integration by trigonometric substitution, by parts, and by partial fractions. Arc length. Indeterminate forms. Improper integrals. Taylor’s Theorem including a discussion of the remainder. Sequences. Series. Powerseries. Separable differential equations. First order linear differential equations. Homogeneous second order linear differential equations with constant coefficients.
This class is a practical introduction to programming using the Python programming language. Topics include the concepts of declarative (“what”) versus imperative (“how”) programming, problem breakdown, and solution techniques. Basic subjects and terms in computer science will be introduced, such as data structures, efficiency of a program and object oriented programming. Emphasis is put on the syntax of the programming language, and the process of starting with a problem and writing a program to solve it. Students will implement several small programming projects during the course.
Functions. Limits. Derivatives. Curve sketching. Mean Value Theorem. Trigonometric functions. Related rates. Maximum-minimum problems. Inverse functions. Definite and indefinite integrals. Logarithmic, exponential, and hyperbolic functions. Applications of integration. Simple differential equations.
Prerequisite: Pre-Calculus (MATH116)