|Computer Games Design||831CJCO|
|3||Undergraduate||Computer Systems Engineering||4 ects|
|Learning Period:||Language of Instruction:||Total Hours:|
|Learning Outcomes of the Curricular Unit:|
|This course aims to present the fundamentals of computer game programming, as well as demonstrate its application in different areas of knowledge. It is also intended to present the different trends in the programming and development of software applications and to make a transition to computer games and other interactive simulations, as well as demonstrate that the development of this type of applications can be carried out by different publics with different interests and skills. The fundamentals of algorithms, programming and software engineering, development and implementation of games and interactive simulations will also be presented.|
|1. COMPUTER PROGRAMMING IN DIFFERENT AREAS OF KNOWLEDGE|
1.1. Algorithm and computer programming
1.2. Mobile computing
1.3. Cloud computing
1.4. Mobile programming
1.5. Game programming
2. COMPUTER GAMES INDUSTRY
2.1 Computer games development
2.2 Recent history of game programming
2.3 Mobile games
2.4 Development platforms and environments
3. ALGORITHM AND GAME PROGRAMMING
3.1. Modeling and problem resolution
3.2. Software Engineering
3.4. Software Engineering for game development
3.5. Software architecture for games
3.6. Algorithms for game development
4. Integrated environments for game development
4.1. Framework Phaser
|Demonstration of the Syllabus Coherence with the Curricular Unit's Objectives:|
|The syllabus presented are consistent with the learning objectives of the curricular unit since there is a large convergence between the table of contents and the knowledge that the student is supposed to acquire in each of the program topics. The fundamental concepts of game design, representation and implementation of algorithms are presented in the introductory chapter, in the following chapter addresses some of the evolution of the gaming industry and finally in the later chapters are studied the main structures for programming and designing games as well as development environments. The learning objectives are achieved by supplementing the theoretical concepts with concrete examples run in lab environment using appropriate software.|
|Teaching Methodologies (Including Evaluation):|
|The transmission of knowledge in this syllabus will be with theoretical oriented lectures. The lectures present the fundamental concepts for understanding the items of the program, as well as exercises where the previously presented concepts will be put into practice. The assessment results from a set of small practical works proposed by teachers and that are made and defended by students throughout the semester, as well as the implementation of a practical project that encompasses all the knowledge acquired during the semester. Another parameter under consideration is the performance of the student in the classroom and their attendance during the academic period.|
|Demonstration of the Coherence between the Teaching Methodologies and the Learning Outcomes:|
|The teaching/learning methodology applied in this curricular unit as well as its evaluation system is perfectly aligned with the objectives to be attained by the students at the end of the term. The theoretical concepts are presented, discussed, applied and evaluated in the context of lectures, which guarantees students a solid foundation to understand the challenges facing this area of knowledge. On the other hand, so that the study is not restricted to conceptual models, in the practical lessons are presented concrete case studies and implemented several projects using appropriate software tools. This combination guarantees training for students that allows them to meet the scientific goals, essential to a good understanding of the theme, as well as the ability to adapt to technological changes. In this curriculum unit the problem of game design are presented and applied in the resolution of practical works.|
| Vasconcelos, J., Ribeiro, N. M. (2013) Tecnologias de Programação de Jogos. FCA-Editora de Informática.|
 Ernest Adams (2010) Fundamentals of Game Design, Second Edition, New Riders Games, Pearson Education.
 Albert Sweigart (2010) Invent Your Own Computer Games with Python, 2nd Edition, http://inventwithpython.com, ISBN: 978-0-9821060-1-3.
 Fullerton (2008) Game Design Workshop: A Playcentric Approach to Creating Innovative Games, Morgan Kaufmann.
 Kelvin Sung (2009) Computer Games and Traditional Games Computer Science Courses, Communications of the ACM, Vol. 52, Nº 12.
 Jesse Schell (2008) The Art of Game Design: A Book of Lenses, Morgan Kaufmann, Elsevier.
 Carlos Lé Velasquez (2010) Modelo de Engenharia de Software para o Desenvolvimento de Jogos e Simulações Interactivas, Dissertação de Mestrado, Universidade Fernando Pessoa.