[major=SE | course_id=PRU213 | syllabus_id=13156 | semester=7 | combo=SE_COM3.3 | title=Game Programming with C#]
Course ID: PRU213
Title EN: Game Programming with C#
Title VI: Lập trình Game với C#
Credits: 3.0
Prerequisites: PRO192
Description: This comprehensive Basic Unity Training Program is designed to equip participants with essential skills in Unity game development. Starting from the fundamentals of Unity interface and scripting in C#, the course progresses to cover advanced topics such as physics, animations, and user interface design. Through a combination of lectures, hands-on labs, and real-world projects, participants will gain practical experience and confidence in using Unity for game development.
Student tasks: - Students must attend at least 80% of contact slots in order to be accepted to the final examination.
- Student is responsible to do all exercises, assignments and labs given by instructor in class or at home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the https://flm.fpt.edu.vn/ for up-to-date course information
Tools: - Internet
- Visual Studio 2019 or later (C# programming language)
- Unity software (latest version)
- Students use Unity with their personal email for educational purposes only
Course type: traditional
Decision: 932/QĐ-ĐHFPT dated 08/22/2025
Approved date: 2025-08-22
CLO1: Understand the Unity interface and basic tools for game development
[1] category=Final project; type=on-going; weight=30.0; duration=6-8 weeks; question_type=CLO7; grading_guide=technical aspect of studied topics; completion_criteria=; clos=>0
[2] category=Labs; type=on-going; weight=20.0; duration=1 - 2 weeks; question_type=CLO5; grading_guide=technical aspect of studied topics; completion_criteria=; clos=>0
[3] category=Quizzes; type=on-going; weight=20.0; duration=30'; question_type=CLO1, CLO2, CLO3, CLO4; grading_guide=concepts, algorithms; all studied chapters; completion_criteria=; clos=>0
[4] category=Final exam; type=Final exam; weight=30.0; duration=60'; question_type=All CLOs; grading_guide=concepts, algorithms;
all studied chapters; completion_criteria=; clos=4
[1] desc=Online Tutorials: https://www.youtube.com/user/Unity3D; author=; publisher=; edition=; isbn=; main=; online=True; note=
[2] desc=Unity Learn Platform:https://learn.unity.com; author=; publisher=; edition=; isbn=; main=True; online=True; note=
[3] desc=Unity Official Documentation: https://docs.unity3d.com/Manual/index.html; author=; publisher=; edition=; isbn=; main=; online=True; note=
Session 1: Course Introduction
1.1 Introduction to Unity Interface and Navigation
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Introduction to Unity Interface and Navigation
Materials: PRU213
Download: Read the slide of Introduction to Unity Interface and Navigation

Session 2: Course Introduction
1.1 Introduction to Unity Interface and Navigation
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Introduction to Unity Interface and Navigation
Materials: PRU213
Download: Read the slide of Introduction to Unity Interface and Navigation

Session 3: 1.2 Basic Game Object Manipulation and Transformations
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Basic Game Object Manipulation and Transformations
Download: Read the slide of Basic Game Object Manipulation and Transformations

Session 4: 1.2 Basic Game Object Manipulation and Transformations
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Basic Game Object Manipulation and Transformations
Download: Read the slide of Basic Game Object Manipulation and Transformations
CLO2: Write and implement C# scripts for game logic and interactions.
Session 1: 1.3 Understanding Unity's Component System
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Understanding Unity's Component System
Download: Read the slide of Understanding Unity's Component System

Session 2: 1.3 Understanding Unity's Component System
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Understanding Unity's Component System
Download: Read the slide of Understanding Unity's Component System

Session 3: 1.4 Scene Creation and Management
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Scene Creation and Management
Download: Read the slide of Scene Creation and Management

Session 4: 1.4 Scene Creation and Management
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Scene Creation and Management
Download: Read the slide of Scene Creation and Management
CLO3: Create and manipulate game objects, animations, and physics components.
Session 1: 1.5 Introduction to Physics and Colliders
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Introduction to Physics and Colliders
Download: Read the slide of Introduction to Physics and Colliders

Session 2: 1.5 Introduction to Physics and Colliders
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Introduction to Physics and Colliders
Download: Read the slide of Introduction to Physics and Colliders

Session 3: 1.5 Introduction to Physics and Colliders
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Introduction to Physics and Colliders
Download: Read the slide of Introduction to Physics and Colliders

Session 4: 1.5 Introduction to Physics and Colliders
Topic: Offline; Teaching type: CLO1; LO: T
ITU: Slide of Introduction to Physics and Colliders
Download: Read the slide of Introduction to Physics and Colliders
CLO4: Design user interfaces and handle user input effectively.
Session 1: Quiz 1
Topic: Offline; Teaching type: CLO1; LO: U
ITU: - Content module 1
Download: - Review module 1
'- Do quiz 1

Session 2: Quiz 1
Topic: Offline; Teaching type: CLO1; LO: U
ITU: - Content module 1
Download: - Review module 1
'- Do quiz 1

Session 3: 2.1 Introduction to C# Programming in Unity
Introduction to Final Project
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Introduction to C# Programming in Unity
Introduction to Final Project
Download: Read the slide of Introduction to C# Programming in Unity
Introduction to Final Project

Session 4: 2.1 Introduction to C# Programming in Unity
Introduction to Final Project
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Introduction to C# Programming in Unity
Introduction to Final Project
Download: Read the slide of Introduction to C# Programming in Unity
Introduction to Final Project
CLO5: Develop small games and interactive applications using Unity.
Session 1: 2.2 Variables, Data Types, and Operators
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Variables, Data Types, and Operators
Download: Read the slide of Variables, Data Types, and Operators

Session 2: 2.2 Variables, Data Types, and Operators
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Variables, Data Types, and Operators
Download: Read the slide of Variables, Data Types, and Operators

Session 3: 2.3 Control Structures: Loops and Conditional Statements
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Control Structures: Loops and Conditional Statements
Download: Read the slide of Control Structures: Loops and Conditional Statements

Session 4: 2.3 Control Structures: Loops and Conditional Statements
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Control Structures: Loops and Conditional Statements
Download: Read the slide of Control Structures: Loops and Conditional Statements
CLO6: Troubleshoot and debug common Unity issues.
Session 1: 2.3 Control Structures: Loops and Conditional Statements
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Control Structures: Loops and Conditional Statements
Download: Read the slide of Control Structures: Loops and Conditional Statements

Session 2: 2.4 Functions and Methods
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Functions and Methods
Download: Read the slide of Functions and Methods

Session 3: 2.4 Functions and Methods
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Functions and Methods
Download: Read the slide of Functions and Methods

Session 4: 2.5 Scripting Interactivity: Mouse and Keyboard Input
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Scripting Interactivity: Mouse and Keyboard Input
Download: Read the slide of Scripting Interactivity: Mouse and Keyboard Input
CLO7: Collaborate effectively in a team environment for game development projects.
Session 1: 2.5 Scripting Interactivity: Mouse and Keyboard Input
Topic: Offline; Teaching type: CLO2; LO: T
ITU: Slide of Scripting Interactivity: Mouse and Keyboard Input
Download: Read the slide of Scripting Interactivity: Mouse and Keyboard Input

Session 2: Quiz 2 and Lab 1
Topic: Offline; Teaching type: CLO2, CLO5; LO: U
ITU: - Content module 2
Download: - Review module 2
'- Do quiz 2
- Present lab 1

Session 3: Quiz 2 and Lab 1
Topic: Offline; Teaching type: CLO2, CLO5; LO: U
ITU: - Content module 2
Download: - Review module 2
'- Do quiz 2
- Present lab 1

Session 4: 3.1 Introduction to Unity Animation System
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Introduction to Unity Animation System
Download: Read the slide of Introduction to Unity Animation System
Session 1: 3.1 Introduction to Unity Animation System
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Introduction to Unity Animation System
Download: Read the slide of Introduction to Unity Animation System

Session 2: 3.2 Animation Scripting and Interactions
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Animation Scripting and Interactions
Download: Read the slide of Animation Scripting and Interactions

Session 3: 3.2 Animation Scripting and Interactions
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Animation Scripting and Interactions
Download: Read the slide of Animation Scripting and Interactions

Session 4: 3.3 User Interface Design: Buttons, Text, and Images
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of User Interface Design: Buttons, Text, and Images
Download: Read the slide of User Interface Design: Buttons, Text, and Images
Session 1: 3.3 User Interface Design: Buttons, Text, and Images
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of User Interface Design: Buttons, Text, and Images
Download: Read the slide of User Interface Design: Buttons, Text, and Images

Session 2: 3.4 User Input Handling: UI Events and Touch Input
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of User Input Handling: UI Events and Touch Input
Download: Read the slide of User Input Handling: UI Events and Touch Input

Session 3: 3.4 User Input Handling: UI Events and Touch Input
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of User Input Handling: UI Events and Touch Input
Download: Read the slide of User Input Handling: UI Events and Touch Input

Session 4: 3.5 Designing Interactive UI Systems
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Designing Interactive UI Systems
Download: Read the slide of Designing Interactive UI Systems
Session 1: 3.5 Designing Interactive UI Systems
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Designing Interactive UI Systems
Download: Read the slide of Designing Interactive UI Systems

Session 2: 3.5 Designing Interactive UI Systems
Topic: Offline; Teaching type: CLO3; LO: T
ITU: Slide of Designing Interactive UI Systems
Download: Read the slide of Designing Interactive UI Systems

Session 3: Quiz 3
Topic: Offline; Teaching type: CLO3; LO: U
ITU: - Content module 3
Download: - Review module 3
'- Do quiz 3

Session 4: 4.1 Unity's Physics Engine: Rigid Bodies and Forces
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Unity's Physics Engine: Rigid Bodies and Forces
Download: Read the slide of Unity's Physics Engine: Rigid Bodies and Forces
Session 1: 4.1 Unity's Physics Engine: Rigid Bodies and Forces
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Unity's Physics Engine: Rigid Bodies and Forces
Download: Read the slide of Unity's Physics Engine: Rigid Bodies and Forces

Session 2: 4.2 Implementing Interactive Physics-Based Puzzles
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Implementing Interactive Physics-Based Puzzles
Download: Read the slide of Implementing Interactive Physics-Based Puzzles

Session 3: 4.2 Implementing Interactive Physics-Based Puzzles
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Implementing Interactive Physics-Based Puzzles
Download: Read the slide of Implementing Interactive Physics-Based Puzzles

Session 4: 4.3 Handling Collisions and Triggers
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Handling Collisions and Triggers
Download: Read the slide of Handling Collisions and Triggers
Session 1: 4.3 Handling Collisions and Triggers
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Handling Collisions and Triggers
Download: Read the slide of Handling Collisions and Triggers

Session 2: 4.4 Game Logic and Scoring Systems
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Game Logic and Scoring Systems
Download: Read the slide of Game Logic and Scoring Systems

Session 3: 4.4 Game Logic and Scoring Systems
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Game Logic and Scoring Systems
Download: Read the slide of Game Logic and Scoring Systems

Session 4: 4.5 Scripting Animations and Physics Interactions
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Scripting Animations and Physics Interactions
Download: Read the slide of Scripting Animations and Physics Interactions
Session 1: 4.5 Scripting Animations and Physics Interactions
Topic: Offline; Teaching type: CLO4; LO: T
ITU: Slide of Scripting Animations and Physics Interactions
Download: Read the slide of Scripting Animations and Physics Interactions

Session 2: Quiz 4 and Lab 2
Topic: Offline; Teaching type: CLO4, CLO5; LO: U
ITU: - Content module 4
Download: - Review module 4
'- Do quiz 4
- Present lab 2

Session 3: Quiz 4 and Lab 2
Topic: Offline; Teaching type: CLO4, CLO5; LO: U
ITU: - Content module 4
Download: - Review module 4
'- Do quiz 4
- Present lab 2

Session 4: 5.1 Applying Scripting and Physics to Game Projects
Topic: Offline; Teaching type: LO6; LO: T
ITU: Slide of Applying Scripting and Physics to Game Projects
Download: Read the slide of Applying Scripting and Physics to Game Projects
Session 1: 5.2 Implementing Animations and UI in Projects
Topic: Offline; Teaching type: LO6; LO: T
ITU: Slide of Implementing Animations and UI in Projects
Download: Read the slide of Implementing Animations and UI in Projects

Session 2: 5.2 Implementing Animations and UI in Projects
Topic: Offline; Teaching type: LO6; LO: T
ITU: Slide of Implementing Animations and UI in Projects
Download: Read the slide of Implementing Animations and UI in Projects

Session 3: 5.3 Debugging and Troubleshooting in Unity
Topic: Offline; Teaching type: LO6; LO: T
ITU: Slide of Debugging and Troubleshooting in Unity
Download: Read the slide of Debugging and Troubleshooting in Unity

Session 4: Final Project Presentations and Feedback
Topic: Offline; Teaching type: LO7; LO: U
ITU: Student's projects and slides
Download: Present projects
Session 1: Final Project Presentations and Feedback
Topic: Offline; Teaching type: LO7; LO: U
ITU: Student's projects and slides
Download: Present projects

Session 2: Final Project Presentations and Feedback
Topic: Offline; Teaching type: LO7; LO: U
ITU: Student's projects and slides
Download: Present projects

Session 3: Final Project Presentations and Feedback
Topic: Offline; Teaching type: LO7; LO: U
ITU: Student's projects and slides
Download: Present projects

Session 4: Review
Topic: Offline; Teaching type: All CLOs; LO: U
ITU: All Slides
Download: Review studied materials