A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Computer Game Development Masters at Faculty of Mathematics and Physics, Charles University | |||||||||||||||||||||||||
2 | Study Plans a.k.a. Walkthroughs | |||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||
4 | This page contains overview of all courses that are required for state final exams relevant to game development + obligatory courses. | |||||||||||||||||||||||||
5 | Then there are other sheets (see below) with respective model study plans (walkthroughs). | |||||||||||||||||||||||||
6 | Note that you are free to structure your studies as you see fit! | |||||||||||||||||||||||||
7 | Just keep in mind that you have to (a) pass all obligatory courses (47-59 cr.), (b) get 120 cr. at least, (c) out of which 56 cr. must be of an elective type at least. | |||||||||||||||||||||||||
8 | ||||||||||||||||||||||||||
9 | Following text is based on: | EXAMINATION LEGEND | ||||||||||||||||||||||||
10 | https://www.mff.cuni.cz/en/students/master-of-computer-science/1-general-information | C = you must pass a seminar (pass/fail) | ||||||||||||||||||||||||
11 | https://www.mff.cuni.cz/en/studenti/bc-a-mgr-studium/studijni-plany/verze-pro-tisk/study-guide-2020-2021.pdf | Ex = you must pass an exam (obtain grade 1, 2 or 3) | ||||||||||||||||||||||||
12 | C + Ex = you must pass both a seminar and an exam | |||||||||||||||||||||||||
13 | MC = you must pass graded seminar (pass seminar with grade 1, 2 or 3) | |||||||||||||||||||||||||
14 | Obligatory courses | You have to finish all those below. | ||||||||||||||||||||||||
15 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
16 | NTIN090 | Introduction to Complexity and Computability | 5 | Obligatory | 2/1 C+Ex | |||||||||||||||||||||
17 | NTIN066 | Data Structures I | 5 | Obligatory | 2/1 C+Ex | 2/1 C+Ex | Can be done/taken either in Winter or Summer | |||||||||||||||||||
18 | NSZZ023 | Diploma Thesis I | 6 | Obligatory | 0/4 C | 0/4 C | Can be done/taken either in Winter or Summer | |||||||||||||||||||
19 | NSZZ024 | Diploma Thesis II | 9 | Obligatory | 0/6 C | 0/6 C | Can be done/taken either in Winter or Summer | |||||||||||||||||||
20 | NSZZ025 | Diploma Thesis III | 15 | Obligatory | 0/10 C | 0/10 C | Can be done/taken either in Winter or Summer | |||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | Obligatory project | You need to finish either NPRG027+NPRG069 or NPRG070 or NPRG071. | ||||||||||||||||||||||||
23 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
24 | NPRG027 | Credit for Project | 6 | Obligatory | 0/4 C | 0/4 C | Can be done/taken either in Winter or Summer | |||||||||||||||||||
25 | NPRG069 | Software Project | 12 | Obligatory | 0/8 C | 0/8 C | Can be done/taken either in Winter or Summer | |||||||||||||||||||
26 | NPRG070 | Research Project | 9 | Obligatory | 0/6 C | 0/6 C | Can be done/taken either in Winter or Summer | |||||||||||||||||||
27 | NPRG071 | Company Project | 6 | Obligatory | 0/4 C | 0/4 C | Can be done/taken either in Winter or Summer or Summer Holidays | |||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | Apart from obligatory courses you need to study courses according to state final exams you want to (and have to) pass in the end | |||||||||||||||||||||||||
30 | You have to pass 3 state final exams in total, all of them will happen during single examination day. | |||||||||||||||||||||||||
31 | There is one mandatory state final exam - 1. Computer Game Development. That's what you are here for, right? | |||||||||||||||||||||||||
32 | Then you have to pick either 2. Computer Games Graphics or one area from Visual Computing (we will not cover those). Yes, we want you to know the ropes of CG. | |||||||||||||||||||||||||
33 | Finally, you are free to pick your specialization (see areas 3.-7. below and pick one). | |||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | 1. Computer Game Development | |||||||||||||||||||||||||
36 | Exam topics: | |||||||||||||||||||||||||
37 | Game programming; development of game mechanics, game programming design patterns, scripting. Game engine architecture; architecture layers, computational models, entity-component system, memory management, game architecture instances. Game design; who is a game designer, game design axes, game genres, design specifics of gaming platforms, game design document (its properties, structure, UML diagrams for description of game mechanics, game space, characters, specifications of dialogues), history of the video game market and its trends. Game production cycle; game production phases, data-driven game design, resource management, game testing, development team roles, game analytics, waterfall and agile methodology, business and monetization models. Games and narrativity; differences between games of emergence and games of progression, environmental storytelling, procedural rhetoric, ludonarrative dissonance. | |||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | Covered by the following courses | |||||||||||||||||||||||||
40 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
41 | NCGD001 | Computer Games Development I | 6 | Elective | 2/2 C+Ex | C+Ex is done during the game prototype presentation day | ||||||||||||||||||||
42 | NCGD003 | Gameplay Programming | 4 | Elective | 1/2 C+Ex | |||||||||||||||||||||
43 | NCGD004 | Introduction to Game Design | 3 | Elective | 1/1 C+Ex | |||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | 2. Computer Graphics for Games | |||||||||||||||||||||||||
46 | Exam topics: | |||||||||||||||||||||||||
47 | Homogeneous coordinates, affine and projective transformations in the plane and in space, quaternions, splines, interpolation by cubic splines, Bezier curves, Catmull-Rom splines, B-splines. Sampling and quantization, image anti-aliasing, textures, change of contrast and brightness, alpha-bending and compositing, compression of raster 2D graphics. Representation of 3D scenes, visibility, cast shadows, soft shadows, subsurface scattering, lighting models and shading algorithms, recursive ray tracing, physicallybased model of light transport (radiometry, imaging equation), path tracing, precomputed global illumination, real-time global illumination, spherical harmonics-based shading, precomputed radiance transfer. Character animation, skinning, rigging, morphing. Graphics accelerator architecture, data transfer to the GPU, textures and GPU buffers, GPU programming: shaders, basics of OpenGL, GLSL, CUDA and OpenCL. Compression of raster 2D graphics, JPEG standard, video compression. | |||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | Covered by the following courses | |||||||||||||||||||||||||
50 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
51 | NPGR003 | Introduction to Computer Graphics | 5 | Optional | 2/2 C+Ex | If you do not have any background in CG, be sure to start with this one. | ||||||||||||||||||||
52 | NPGR019 | Real-time Graphics on GPU | 5 | Optional | 2/2 C+Ex | |||||||||||||||||||||
53 | NPGR033 | Computer Graphics for Computer Games | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
54 | NSWI072 | Data Compression Algorithms | 3 | Elective | 2/0 Ex | |||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | 3. Artificial Intelligence for Games | |||||||||||||||||||||||||
57 | Exam topics: | |||||||||||||||||||||||||
58 | Autonomous agent architectures; agent perception, agent action selection mechanism, agent memory, psychological inspiration. Methods for agent control; symbolic and connectionist reactive planning, hybrid approaches, decision space. If-then rules, scripting, sequential finite state machine, behaviour trees. Path search problem, local navigation rules (Reynold’s steerings, VO, RVO, Context steering), pathfinding algorithms (A*, JPS+, goal bounding, RRT, RRT*, LPA*, MPAA*, bidirectional search), spatial awareness (geometry, visibility). Communication and knowledge in multiagent systems, ontologies, speech acts, FIPA-ACL, protocols. Distributed problem solving, cooperation, Nash equilibria, Pareto efficiency, source allocation, auctions. Methods for agent learning; reinforcement learning, basic forms of animal learning. Procedural modeling of state space (forward model) and its search; A*, ABCD, MCTS and UCB, PGS, PGS-II, script space (Kiting, AV, NOK-AV), effective implementation. Procedural content generation method classification, methods used for generation of terrain, visual effects, music, game items, mazes and dungeons. Noise functions; Perlin, Simplex, Worley. Cellular automata, L-Systems, graph and shape grammars. Answer set programming. Wave function collapse algorithm. Methods for mixed initiative generation. | |||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | Covered by the following courses | |||||||||||||||||||||||||
61 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
62 | NAIL069 | Artificial Intelligence I | 4 | Elective | 2/1 C+Ex | Precursor to all other AI courses. | ||||||||||||||||||||
63 | NAIL122 | Artificial Intelligence for Computer Games | 3 | Elective | 1/1 C+Ex | |||||||||||||||||||||
64 | NAIL123 | Procedural Content Generation for Games | 3 | Elective | 1/1 C+Ex | |||||||||||||||||||||
65 | NAIL068 | Human-like Artificial Agents | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
66 | NAIL106 | Multiagent systems | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | 4. Video Games as a Social-cultural Phenomenon | |||||||||||||||||||||||||
69 | Exam topics: | |||||||||||||||||||||||||
70 | Theory of game studies; definition of game studies, relationship of game studies to other fields of science, cultural, social and political aspects of video games, definition of video games, differences between video games and other audiovisual media and their implication for research. History of video games; birth of video games, technological and cultural roots of video games, key milestones, media archeology in game studies, convergent evolution. Research methods in game studies; types of research, formal game analysis. Rules of play research; research methods, subjective play experience, gaming communities. Social aspects of video games; positive and negative social aspects of video games, demographic profile of the video games player and their development in time, MMO and research of video games social aspects. Psychological and cognitive aspects of video games; positive and negative psychological aspects of video games, research methods, effects of memory, emotions, attention and motivation on players’ gameplay experience, relationship between the violence depicted in video games and aggressive behaviors, effects of short-term and long-term play on development of cognitive abilities, immersion and flow. Serious, educational and pervasive games; definition, procedural rhetoric and its implications for game studios, theoretical foundations of digital gamebased learning, advantages and disadvantages of using video games in formal education, video games and their effect on players’ attitudes, gamification and its advantages and disadvantages. | |||||||||||||||||||||||||
71 | Covered by the following courses | |||||||||||||||||||||||||
72 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
73 | NCGD004 | Introduction to Game Design | 3 | Elective | 1/1 C+Ex | |||||||||||||||||||||
74 | NAFF003 | Introduction to Game Studies | 3 | Elective | 0/2 Ex | |||||||||||||||||||||
75 | NAFF004 | Contemporary Issues in Game Studies | 3 | Elective | 0/2 Ex | |||||||||||||||||||||
76 | NCGD005 | Game User Experience | 3 | Elective | 1/1 C+Ex | |||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | 5. Software Analysis and Architectures (not game development specific) | |||||||||||||||||||||||||
79 | Exam topics: | |||||||||||||||||||||||||
80 | SW development processes, development phases. Business processes and their modeling using BPMN. UML and its use for analysis and design of structure and behavior of SW. Design patterns. SW testing, impact and change analysis. SW project planning, cost estimation, levels of project management. Legal aspects of SW, principal legal environment for IT projects. Types of SW architecture. Modeling and documentation of SW architecture. Classification of SW architecture quality attributes, their description using scenarios and tactics. Service oriented architectures. Algebraic methods, many sorted algebras, initial models. Temporal logic. Formal principles of the UML language. OCL as a specification language, formal base of specification. | |||||||||||||||||||||||||
81 | Covered by the following courses | |||||||||||||||||||||||||
82 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
83 | NSWI130 | Software System Architectures | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
84 | NSWI026 | Advanced aspects of software engineering | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
85 | NTIN043 | Formal Foundations of Software Engineering | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | 6. Web Technologies (not game development specific) | |||||||||||||||||||||||||
88 | Exam topics: | |||||||||||||||||||||||||
89 | Overview of basic web technologies. Network services for web technologies. Web services. Architecture of client-server applications, server-side and client-side scripting, web frameworks. Database systems in web applications, NoSQL databases, multimedia databases. Indexing and document searching, principles of web search engines. Linked Data, integration of semantic data to web pages. Security of information systems in the Internet environment, authentication, authorization, security models, cryptography basics, data security. | |||||||||||||||||||||||||
90 | Covered by the following courses | |||||||||||||||||||||||||
91 | Course Code | Course Name | Credits | Type | Winter Semester | Summer Semester | Note | |||||||||||||||||||
92 | NSWI130 | Software System Architectures | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
93 | NSWI153 | Advanced Programming of Web Applications | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
94 | NSWI145 | Web Services | 5 | Elective | 2/2 C+Ex | |||||||||||||||||||||
95 | NDBI034 | Multimedia Retrieval | 4 | Elective | 2/1 C+Ex | |||||||||||||||||||||
96 | NPRG043 | Recommended Programming Practices | 5 | Elective | 2/2 MC | |||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | 7. High Performance Computing (not game development specific) | |||||||||||||||||||||||||
99 | Exam topics: | |||||||||||||||||||||||||
100 | The exam for this specialization tests knowledge and skills related to high performance computing systems, as presented in the following courses. |