1 UAT-Online: Game Programming (Bachelor of Science in Software Engineering) Program Description The continued expansion of the game industry into all aspects of daily life is creating new opportunities for game production and development. Gaming technology is used in many applications from PC, console, mobile, web and casual gaming to serious gaming, training, simulation, medical treatment and beyond. This vast array of gaming styles and use of gaming technology creates a need for industry professionals who understand both the technology behind gaming as well as the theories of gameplay. Students in Game Programming will gain an insight into what is involved at all levels of game development, from the initial concept to the completed project. Courses will emphasize the essential issues in developing games for multiple platforms and applications. Game Programming students focus on programming principles, skills and techniques required to create the code and gameplay systems for game projects. Courses will emphasize programming skills such as on C/C++ programming, scripting, data handling, problem solving, DirectX/Open GL development, game engine architecture and networking. Students in the Game Programming program will also develop a critical approach to the study of gameplay, interaction and design. Graduates of the Game Programming program will have the skills required to pursue a career in the game industry with a focus on the artistic needs of a game project. Within the program, students will be able to focus on programming and on the tools used to create code for games. Using industry-standard tools and practices in a team-based environment, programmers will work with artists and designers to create complete projects. This well-rounded approach provides students with a deep understanding of all aspects in the game creation process and the skills to further the craft of game development. How UAT-Online Works UAT-Online s Bachelor of Science in Software Engineering degree with a major in Game Programming has been developed to give students the ability to focus 100% of their attention on each individual skill and class needed to become successful in this rapidly growing field. Classes are taken one at a time, and last five weeks each. Three classes will be taken each semester for a total of 15 weeks per semester. Courses are taken sequentially in order to build on the foundation of previous skills learned. This helps to increase overall understanding and comprehension of the material. Objectives Master the programming principles and languages used in game programming Create and implement compelling game programs utilizing industry-standard tools and software Develop original game project code for Web, console, PC and handheld gaming platforms Produce game code for multiple gaming applications including triple A, serious, casual and mobile games Develop analytical skills for examining gameplay focusing on programming structures and code Create game code for and collaborate on numerous projects with industry-style production pipelines Participate in every level of game development from initial design to publishing Develop a diverse portfolio of industry-standard game programs and code contributing to complete works University Core INT200 Internship LAW370 Legal Issues in Technology MGT310 Project Management in a Technology Environment PRO102 Professional Skills Development PRO210 Portfolio I/Capstone I PRO250 Information Research Strategies PRO480 Portfolio II/Capstone II TCH110 Foresight Development TCH301 Ethics in Technology General Education BIO101 Introduction to Biology BIO210 Human Anatomy and Physiology COM226 Public Speaking ENG101 Composition I ENG102 Composition II ENG305 Mythology, Folktale and Fairy Tale ENG310 Science Fiction as Literature HIS331 The Vietnam Era MAT175 College Algebra MAT180 Pre-Calculus MAT301 Discrete Math PSY150 Psychology of Thinking SOC150 Technology and Society Major CSC100 Computer Programming Concepts CSC130 Object-Oriented Design CSC203 Java Programming I CSC215 C/C++ Programming I CSC275 C++ Programming II CSC370 Artificial Intelligence CSC465 Graphic Programming I: DirectX GAM101 Game Concept Design GAM104 Introduction to Game Programming I GAM105 Introduction to Game Programming II GAM200 Critical Game Studies GAM220 Applied Game Theory GAM225 Web Game Programming GAM250 Gaming Platforms and Standards GAM252 Game Tools and Techniques GAM300 Game AI Concepts GAM327 Game Development in C++ GAM351 Writing for Interactive Games (WI) GAM420 Game Engine Development GAM430 Game Production and Documentation (WI) This list represents the combination of courses necessary for the degree. Course sequence and offerings may change due to software or other scheduling
2 requirements. All courses designated (WI) are Writing Intensive courses. skills, group problem solving and learning style analysis. Collaboration and group skills development will be emphasized. Students will have the opportunity to receive extra assistance in computer and word processing skills. PRO210 Portfolio I/Capstone I This course is intended to fulfill the associate s-level student s portfolio/capstone graduation requirement. Students in this course will compile and present their individual portfolio to the faculty in their disciplines at least twice over the course of the semester. Feedback will be used to improve the quality of the final submitted portfolio. University Core INT200 Internship An internship is considered a supervised, practical experience that is the application of previously learned theory. Employers/sponsors work with the student to meet specific objectives and/or learning goals and provide special mentoring or networking opportunities. In exchange, the intern helps the employer/ sponsor in meeting overall work goals for the agency/company. Students completing 3.0 credit internships must work a total of 150 hours, or 10 hours per week for 15 weeks. LAW370 Legal Issues in Technology This course addresses typical legal and business issues in the multimedia field. Rights granted under copyright, principles of fair use, trademarks, intellectual property law, trade secrets, unfair competition, disclosure and privacy laws are covered. Students explore these legal topics with focus on electronic media. MGT310 Project Management in a Technology Environment This course covers every aspect of managing a project in a technology environment, from how to assemble the right team, to figuring out a schedule, estimating needed resources and monitoring its progress. This course will cover determination, examination and critiques of current practices in project management with an emphasis on the use of technology to support project development. Also included are real-life project management problems such as the following: how to get results when you have no direct authority over participants, what to do when team members don’t follow through, how to handle differing departmental agendas and how to balance your regular work with additional responsibilities. Finally, students will learn to communicate these issues effectively with electronic media. PRO102 Professional Skills Development This course is designed to develop life-long learning strategies. This course provides the basic skills for success in the educational, professional and personal environment. Specific topics explored are personality profile analysis, developmental styles, conflict resolution PRO250 Information Research Strategies This course is designed to introduce the student to the art of modern information research. Students will conduct literature reviews and electronic searching using a variety of media. Outcomes of the course are focused on students achieving an understanding of the modern methods for locating and evaluating information relevant to research and scholarship. Students will produce a research paper using a variety of source material within the course. PRO480 Portfolio II/Capstone II This course is intended to provide the bachelor s-level student with guidance and structure in completing his portfolio graduation requirement. Students in this course will compile and present their individual portfolio to the faculty in their disciplines at least twice over the course of the semester. Feedback will be used to improve the quality of the final submitted portfolio. TCH110 Foresight Development You learn better global, business and personal foresight, so you can better enjoy and manage your own future. This course will explore the big picture history of accelerating change from universal, historical and technological perspectives, as well as identifying global trends that are affecting individuals, society, businesses and governments. Additionally, the course will examine how organizations make bets on the future, and gives the student a chance to explore career prospects in a variety of fields. Finally, discussion of how biology, psychology, community and culture help and hinder personal thinking about the future will be discussed. We will articulate and explain the four fundamental foresight processes: innovating the future (creative development of products and services); planning the future (developing shared goals and processes); profiting in the future (achieving measurable positive results, including environmental, social, and economic benefits); and predicting the future (trend identification and analysis).assignments will be fun, personalized to your own foresight goals, and will include brief readings, brief writing, discussions, debates, visuals, film, podcasts and games. TCH301 Ethics in Technology TCH301 is designed to introduce students to essential concepts necessary to evaluate the ethical implications and potential impacts of the use of new technology within human society and culture. Students will explore modern ethical dilemmas in technology, looking at multiple aspects of how the introduction of technology redefines law and values.
3 General Education BIO101 Introduction to Biology This course explores the basic issues of living organisms. The material covered emphasizes molecular and organic biology, as well as the structure and function of plants and animals. Learning activities include lectures, group activities and various practical exercises that help students to better understand biology and to use their knowledge in everyday life, as well as in their future careers. BIO210 Human Anatomy and Physiology What can be more fascinating than understanding your own body? How is life maintained by integrating the body’s structural design with its function? This course covers nutrition, healthy lifestyle, disease and its prevention and treatment and much more. This course explores the structure and function of the human body, its parts and their relationships to one another. The material covered emphasizes different levels of structural organization. COM226 Public Speaking This course offers instruction and practice in organization that is delivery-based on purpose and audience. Topics include formulating effective presentations to introduce, demonstrate, inform and persuade. Information on utilizing visuals effectively will also be included. ENG101 Composition I This course is designed to present effective techniques in organizing, developing and writing academic essays that reflect a collegiate-level of writing. The purpose of this course is to help students write correctly, clearly and thoughtfully. ENG102 Composition II This course expands and refines the objectives of English Composition I. It empathizes critical/logical thinking and reading, problem definition, research strategies and writing analytical, evaluative and/or persuasive papers that incorporate research. In this section, each student will devote her/himself to a research topic that we ll approach in a variety of ways over the course of the semester. The result will be a final project that centers on a topic that the student has a deep interest in. ENG305 Mythology, Folktale and Fairy Tale Escape to the fantastic realms of mythology, folktales and fairy tales as we read stories from around the world and through the ages. You might be surprised at how pervasive the archetypes and themes from these genres are in our modern world, from movies to popular animation and games. The course allows students to explore the cultural similarities and differences in myths, folktales and fairy tales through selected readings, discussions and writings. ENG310 Science Fiction as Literature A long time ago in a galaxy not so far away, science fiction evolved from a variant pulp magazine topic to a literary genre in its own right. You will travel back to witness the birth of this genre, learning about the works and authors who influenced it and gave it legitimacy over the past eighty years or more. Be prepared to immerse yourself in novels and short stories from some of the greatest names in science fiction, and be prepared to write intelligently about what you have read. HIS331 The Vietnam Era This course is designed to present a comprehensive overview of the period in which the United States was engaged in conflict in Vietnam. Some aspects of the conflict that will be studied are how the United States became involved in the situation, the involvement of each US president and his war policies, the ground war, the experience of the prisoners-of-war and the aftereffects that resulted from this involvement. MAT175 College Algebra This course will include a thorough treatment of relations and functions, polynomial functions, exponential and logarithmic functions, systems of equations and inequalities, matrices, conic sections, sequences, induction and probability. MAT180 Pre-Calculus MAT180 is a preparatory course for calculus. Students will further develop an understanding of functions, their graphs and real-world applications of functions. Students will also gain a solid foundation of trigonometric functions and their properties and applications MAT301 Discrete Math MAT301 is an introduction to discrete mathematics. Topics covered will include logic, methods of proof, elementary number theory, set theory and principles of counting. PSY150 Psychology of Thinking PSY150 will examine the writings of Pythagoras, the father of formal mathematical thinking; Aristotle s major works, including his 100-plus tests for the truth of any proposition; and other major thinkers from the classical period to modern times, including Francis Bacon, Galileo and other progenitors of the natural and behavioral sciences. The course will close with a survey of living thinkers, including systems thinkers and a study of the major books by Edward de Bono. SOC150 Technology and Society SOC150 is designed to introduce students to the essential understanding, development, theories, strategies and historical interrelation of technology and society. The purpose of the course is to provide students with the tools necessary to understand the role technology has played in society and to prepare students for interaction in a technology driven world with a comprehensive look at the relationship between technology and culture. Technology will be recognized as a driving force in cultural revolutions and as a foundational concept of human development. The course will consider rapidly changing technologies in modern society, the problems associated with these changes, and the affects of these technologies on the societies and cultures around the world.
4 Major CSC100 Computer Programming Concepts The purpose of this course is to introduce the fundamentals of computer science and programming to those students majoring in this area. Students will become familiar with problem-solving techniques and algorithm development using computers. This will include a structured high-level programming language. Topics will include flow of control, assignment, arrays, functions, and input and output, among others. CSC130 Object-Oriented Design The objective of this course is to define the principles of Object-Oriented Programming (OOP) data hiding, encapsulation, inheritance and polymorphism and to introduce the concept of design patterns. This course will introduce the student to the OOP way of thinking and problem solving. The main tool used in this course is the Unified Modeling Language, the industry standard language for specifying, visualizing, constructing and documenting the artifacts of software systems. CSC203 Java Programming I This course surveys the major elements and applications of object-oriented programming and the JAVA programming language. Students are introduced to JAVA syntax, data types, operators, IO operations, control structures, member functions and classes. Students learn the fundamental skills needed to develop and debug simple object-oriented applications. CSC215 C/C++ Programming I This course provides an introduction to the syntax of C++ as a programming language, as well as an introduction to related concepts in C. Topics include data types, control structures, arrays, pointers, functions, classes, inheritance, virtual functions and polymorphism. CSC275 C++ Programming II Built upon CSC215, this course explores advanced coding techniques in C++. Topics include Interfacebased programming, basic data structures, exception handling, advanced algorithms, sockets, templates and the Standard Template Library. CSC370 Artificial Intelligence This course surveys artificial intelligence (AI) techniques, theories and applications including knowledge representation, searching, expert systems and machine learning. Modern AI research is concerned with producing useful machines to automate human tasks requiring intelligent behavior. CSC465 Graphic Programming I: DirectX This course introduces the student to the concepts of game programming with DirectX. This course will introduce DirectX and its components. The course will utilize object-oriented C++. Students will examine DirectX development issues and its advantages. GAM101 Game Concept Design Want to play? This course is an overview of game development from the creative and theoretical (as opposed to purely technical) standpoint. Students will learn to analyze games and gameplay elements, examine genres and trends in gaming, and formulate their own outline for an ideal game. We will also examine social issues and pressures related to gaming and the ultimate question: why do we play games? GAM104 Introduction to Game Programming I Introduction to Game Programming I is the first part of a two-course introduction to game programming, and is recommended for students with no programming experience. Students will learn the basics of computer programming: variables, data types, looping, conditional logic, functions, arrays, types, and other basic programming constructs, using a fully integrated compiler and editor environment called DarkBasic Professional. This software uses the BASIC language, allowing students to explore basic programming concepts without being limited by the complexity of a language such as C++. This first-year course will give students programming experience by writing simple games, and is a prerequisite for GAM105. GAM105 Introduction to Game Programming II Introduction to Game Programming II is the second part of this first-year crash course covering the basics of game programming. Students will learn to program 2D and 3D games with the game prototyping tool, DarkBasic Professional. This software uses the BASIC language, and features a powerful 3D game engine, making it possible to demonstrate high-level game programming concepts using a minimum amount of code. This first-year course will give students some experience writing several complete games in 2D and 3D, before moving on to a more challenging language such as C++. GAM200 Critical Game Studies This course is an introduction to advanced critical techniques and approaches to game design, game theory and the gaming audience. Using techniques of critical theory, ludology and game theory, we ll take a deep look at the structure of games and their interaction with the user and explore how games balance rules with freedom and risk with reward. The course will also deal with interface design, user control issues, data representation for the gamer and feedback loops. Present and future game genres will also be examined; they will also be compared and contrasted among different platforms and styles of play. GAM220 Applied Game Theory This course will apply the theories of game design by taking a game concept from the conceptual stage to a completed project. Students will continue the exploration of game theory by discussing and demonstrating how it is applied to production-based projects. Students will leave this course with an extension of good game design as a completed project that demonstrates their understanding of the topic. GAM225 Web Game Programming This course teaches students how to design and create web-based games using the Java language. Students learn how to create an Applet project in Java using the most popular IDEs, JBuilder and Eclipse. Students will start with writing simple vector graphics and will progress to raster graphics, learning how to load and draw bitmaps, how to create animated sprites and draw them transparently, and how to implement advanced 2D concepts like tile-based scrolling. By the end of the
5 course, students will have created a complete game that runs in a web browser. GAM250 Gaming Platforms and Standards This course gives an overview of different platforms available to the game designer. The students will have an understanding of the strengths and weaknesses of the different gaming platforms. This course will also address the technical and psychological aspects of multi-user/multi-player gaming environments. Finally, students will be exposed to the current standards that exist in the industry. This includes, but is not limited to, modeling, texturing, sound editing, programming, video creation, marketing, etc. GAM252 Game Tools and Techniques One of the challenges of the game development environment is the constant flux of tools, plug-ins and engines used by developers and the mod community. Often these tools have poor documentation, rough user interfaces and less-than-stellar stability, making mastery an elusive goal. The purpose of this project-based course is to allow a student to choose a game toolset, SDK or mod environment and produce a project in a team-oriented environment with a focus on learning the tool itself and its quirks, limitations and workarounds. During the course, we will discuss team-building, asset and script generation, moving and converting data types between applications, and producing polished, final work; these skills will be put to use in level design and mod projects for both artists and programmers. scratch, covering 2D and 3D rendering, user input, sound, music and AI, with complete game projects created during the course. Students will be free to explore different game genres as they build their ideal game engine, although the emphasis of the course lecture and textbook is on first-person shooter (FPS) games. GAM430 Game Production and Documentation (WI) This course introduces the techniques and methods of creating a game production document and game design document. Students will work through production documentation issues including scheduling, production plans, marketing and budgeting. Students will create a game design document that describes all aspects of a game project. GAM300 Game AI Concepts This course will discuss AI challenges involved in the creation of games. Understanding concepts such as pathfinding, movement, flocking, agents, scripting, strategy and others will allow the designer to implement smarter features, from unit formations and squad strategy to ambient life and smart camera systems. Students will use a variety of tools to create functioning projects that demonstrate class concepts and study various game AI systems and theories. GAM327 Game Development in C++ This course introduces the student to the concepts of game programming in C++ as well as programming for Windows and DirectX. In this course, students will dig beneath the surface and examine C++ in detail so they can get the advantages of C++ with none of the drawbacks. We’ll examine a number of real-world C++ development issues along the way. GAM351 Writing for Interactive Games (WI) Dynamic content and electronic games pose a serious challenge for the writer: How do you adapt linear narratives to the ever-changing environments of today’s interactive entertainment? Today’s surfers and gamers are no longer passive consumers. They want to take part in the story and make choices that have an impact. Through the use of BioWare’s Neverwinter Nights and other tools, we will explore hypertext writing and the power of truly personalized storytelling and take the once-linear game story to the next level. GAM420 Game Engine Development This is a comprehensive course that covers the design and implementation of a complete game engine. The goal of this course is to build a game engine from