Undergraduate
Faculty of Engineering and Architecture
Computer Engineering
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.


Game Programming

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
SEN0416 Game Programming 2/0/2 DE 6
Course Goals
Game Programming course will teach you the basic knowledge you need to be able to design, implement, test, and debug game programs. In this context, you will understand the principles of game design, terminology of game programming, technologies underlying modern game engines, and team project management. Another significant objective of this course is to bring students in multidisciplinary view of computer science since game programming uses knowledge about several disciplines such as AI, Physics, Learning, Mathematics, HCI, and Computer Graphics. After successfully finishing this course, the students are expected to be able to develop and maintain various 2D and 3D video games using the Unity game engine and C# programming language.
Prerequisite(s) -
Corequisite(s) -
Special Requisite(s) -
Instructor(s) Assis. Professor Wisam ELMASRY
Course Assistant(s) -
Schedule Theoretical Lecture: • Section 1: Thursday 09:00 - 11:00 (AK-4B-07/09) LAB Lecture: • Section 1: Thursday 11:00 - 13:00 (PC LAB AK-2B-04/06)
Office Hour(s) Friday from 09:00 to 11:00 (AK-2B-16)
Teaching Methods and Techniques Lecture, Discussion, Demonstration, and Big Real-world 3D Game Project.
Principle Sources

→ Thorn A. Pro Unity Game Development with C#. 1st edition. Apress. 2014.

→ Halpern J. Developing 2D Games with Unity: Independent Game Programming with C#. 1st edition. Apress. 2018.

→ Borromeo N. A. Hands-On Unity 2022 Game Development: Learn to use the latest Unity 2022 features to create your first video game in the simplest way possible. 3rd edition. Packt Publishing. 2022.

Other Sources

→ https://unity.com/ (online)

Course Schedules
Week Contents Learning Methods
1. Week Introduction to Game Development Oral presentation + Laboratory
2. Week Learning Unity Basics Oral presentation + Laboratory
3. Week Project Phase 1: Designing and Preparing Case study + Laboratory
4. Week Project Phase 2: Getting Started Case study + Laboratory
5. Week Project Phase 3: Event Handling Case study + Laboratory
6. Week Project Phase 4: Power-Ups and Singletons Case study + Laboratory
7. Week Project Phase 5: Player Controller Case study + Laboratory
8. Week Project Presentation 1 Project
9. Week Project Phase 6: Weapons Case study + Laboratory
10. Week Project Phase 7: Enemies Case study + Laboratory
11. Week Project Phase 8: Graphical User Interfaces Case study + Laboratory
12. Week Project Phase 9: Handling Persistent Data Case study + Laboratory
13. Week Project Phase 10: Refinements and Improvements Case study + Laboratory
14. Week Project Presentation 2 Project
15. Week Final Exam
16. Week
17. Week
Assessments
Evaluation tools Quantity Weight(%)
Homework / Term Projects / Presentations 1 30
Project(s) 1 50
Final Exam 1 20


Program Outcomes
PO-1Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9Awareness of professional and ethical responsibility.
PO-10Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1Have an understanding on the basic terminology of game programming
LO-2Knowledge on the algorithms, processes and technologies used in game programming.
LO-3The ability to create simple animations and develop games by using game engines.
LO-4The ability to combine basic knowledge on Mathematics and Physics with programming.
LO-5A very basic understanding on computer graphics and artificial intelligence
LO-6A multidisciplinary point of view on computer science
LO-7Ethical awareness while designing computer games
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6
LO 7