[major=SE | course_id=FGU301 | syllabus_id=13152 | semester=5 | combo=SE_COM12 | title=Fundamental Game Development]
Course ID: FGU301
Title EN: Fundamental Game Development
Title VI: Phát triển game cơ bản
Credits: 3.0
Prerequisites: PRO192
Description: This comprehensive Basic Unity Training Program is designed to equip participants with essential skills in Unity game development, empowering them to create engaging and interactive 2D and 3D games. Building upon strong foundation in C# programming, the course delves into advanced topics such as 3D game development, physics, animations, and user interface design. Through a combination of theoretical lectures, hands-on labs, and collaborative projects, participants will gain practical experience and confidence in using Unity to bring their game ideas to life.

Key Learning Outcomes:
- Master C# Programming: Gain a deep understanding of C# syntax, data structures, algorithms, and object-oriented programming principles.
- Navigate the Unity Environment: Become proficient in using Unity's interface and tools for game development.
- Develop 3D Games: Learn the fundamentals of 3D game development, including rendering, lighting, animations, and physics.
- Create Engaging Game Worlds: Master the art of designing game objects, animations, and physics components to create immersive and interactive game environments.
- Build User-Friendly Interfaces: Design intuitive and visually appealing user interfaces that enhance the player experience.
- Develop Games from Start to Finish: Complete hands-on projects, applying your knowledge to create your own small games and interactive applications.
- Collaborate Effectively: Work collaboratively with teammates to develop game projects, fostering effective communication and teamwork skills.
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 http://flm.fpt.edu.vn for up-to-date course information
Tools: - Internet
- Visual Studio 2019 or later (C# programming language)
- Unity Hub and Unity 5 (version 2021.3 LTS or later)
- Minimum hardware requirement: Windows 10, 64-bit versions, CPU: X64, RAM: 8GB
- Students use Unity with their personal email for educational purposes only
Course type: coursera_hybrid
Decision: 932/QĐ-ĐHFPT dated 08/22/2025
Approved date: 2025-08-22
CLO1: Understand C# Programming Fundamentals: Syntax and Data Types, Control Flow, Functions and Methods, Classes and Objects, Debugging
[1] category=Assignment (Lab); type=on-going; weight=40.0; duration=90'; question_type=Assignment 1: CLO4, CLO6, CLO7, CLO8
Assignment 2: CLO1, CLO2, CLO3, CLO7, CLO8; grading_guide=- Assignment 1 cover content: Chapter 1, 2, 3, 4
- Assignment 2 cover content: Chapter 3, 4, 5, 6, 7; completion_criteria=; clos=>0
[2] category=Progress test (Quiz); type=on-going; weight=30.0; duration=10'-30'; question_type=Quiz 1: CLO1, CLO2, CLO3, CLO5,
Quiz 2: CLO3, CLO4, CLO6
Quiz 3: CLO1, CLO3; grading_guide=Quiz 1 cover content: Chapter 1, 2
Quiz 2 cover content: Chapter 3, 4
Quiz 3 cover content: Chapter 5, 6, 7; completion_criteria=; clos=>0
[3] category=Final exam; type=Final exam; weight=30.0; duration=60'; question_type=CLO1 - CLO6; grading_guide=concepts, algorithms;
all studied chapters; completion_criteria=; clos=4
[1] desc=Unity Official Document; author=Unity Technologies; publisher=Unity Technologies; edition=; isbn=; main=True; online=True; note=https://docs.unity3d.com/Manual/index.html
[2] desc=Microsoft Learn: C#; author=Microsoft; publisher=Microsoft; edition=; isbn=; main=True; online=True; note=https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/ overview
[3] desc=C# Programming for Unity Game Development Specialization; author=University of Colorado System; publisher=Coursera; edition=; isbn=; main=; online=True; note=https://www.coursera.org/specializations/programming-unity-game-development
[4] desc=Unity Learn Platform; author=Unity Technologies; publisher=Unity Technologies; edition=; isbn=; main=; online=True; note=https://learn.unity.com
[5] desc=Unity Official Channel; author=Unity Technologies; publisher=Youtube; edition=; isbn=; main=; online=True; note=https://www.youtube.com/@unity
Session 1: Chapter 1: Introduction to Unity
1.1 Unity interface
1.2 Scene, game object, component
1.3 Create a simple 2D or 3D project
Topic: Offline; Teaching type: CLO3, CLO5; LO: IT
ITU: - Chapter 1 slide and online materials
Materials: FGU301_Slide
Download: Read the slide of Chapter 1: Introduction to Unity

Session 2: Chapter 1: Introduction to Unity (cont.)
1.1 Unity interface
1.2 Scene, game object, component
1.3 Create a simple 2D or 3D project
Topic: Offline; Teaching type: CLO3, CLO5; LO: IT
ITU: - Chapter 1 slide and online materials
Materials: FGU301_2
Download: Read the slide of Chapter 1: Introduction to Unity

Session 3: Chapter 1: Introduction to Unity (cont.)
1.1 Unity interface
1.2 Scene, game object, component
1.3 Create a simple 2D or 3D project
Topic: Offline; Teaching type: CLO3, CLO5; LO: IT
ITU: - Chapter 1 slide and online materials
Materials: FGU301_3
Download: Read the slide of Chapter 1: Introduction to Unity

Session 4: Chapter 2: C# Fundamentals
2.1 C# script component
2.2 Variables, data types, operators
2.3 Control flow (if-else, loops)
Topic: Offline; Teaching type: CLO 1; LO: IT
ITU: - Chapter 2 slide and online materials
Materials: FGU301_4
Download: Read the slide of Chapter 2: C# Fundamentals
CLO2: Understand C# data structures (lists, stacks, queues, trees) and algorithms (sorting, searching); Event Handling
Session 1: Chapter 2: C# Fundamentals (cont.)
2.1 C# script component
2.2 Variables, data types, operators
2.3 Control flow (if-else, loops)
Topic: Offline; Teaching type: CLO 1; LO: IT
ITU: - Chapter 2 slide and online materials
Materials: FGU301_5
Download: Read the slide of Chapter 2: C# Fundamentals

Session 2: Chapter 2: C# Fundamentals (cont.)
2.1 C# script component
2.2 Variables, data types, operators
2.3 Control flow (if-else, loops)
Topic: Offline; Teaching type: CLO 1; LO: IT
ITU: - Chapter 2 slide and online materials
Materials: FGU301_6
Download: Read the slide of Chapter 2: C# Fundamentals

Session 3: Chapter 2: C# Fundamentals (cont.)
2.4 Classes, objects, methods, properties
2.5 Inheritancea, polymorphism, encapsulation
2.6 Arrays, lists, dictionaries
Topic: Offline; Teaching type: CLO2; LO: IT
ITU: - Chapter 2 slide and online materials
Materials: FGU301_7
Download: Read the slide of Chapter 2: C# Fundamentals

Session 4: Chapter 2: C# Fundamentals (cont.)
2.4 Classes, objects, methods, properties
2.5 Inheritancea, polymorphism, encapsulation
2.6 Arrays, lists, dictionaries
Topic: Offline; Teaching type: CLO2; LO: IT
ITU: - Chapter 2 slide and online materials
Materials: FGU301_8
Download: Read the slide of Chapter 2: C# Fundamentals
CLO3: Understand the Unity interface and basic tools for game development
Session 1: Chapter 2: C# Fundamentals (cont.)
2.4 Classes, objects, methods, properties
2.5 Inheritancea, polymorphism, encapsulation
2.6 Arrays, lists, dictionaries
Topic: Offline; Teaching type: CLO2; LO: IT
ITU: - Chapter 2 slide and online materials
Materials: FGU301_9
Download: Read the slide of Chapter 2: C# Fundamentals

Session 2: Hands-on 1: Project 1 - Simple 2D project
Create a basic platforming game, focusing on character movement, collision detection, and scoring.
Quiz 1
Topic: Offline; Teaching type: CLO1, CLO2, CLO3, CLO5, CLO7, CLO8; LO: U
ITU: 
Download: Review Chapter 1, 2
Implement project 1
Do Quiz 1

Session 3: Hands-on 1 (cont.): Project 1 - Simple 2D project
Create a basic platforming game, focusing on character movement, collision detection, and scoring.
Quiz 1
Topic: Offline; Teaching type: CLO1, CLO2, CLO3, CLO5, CLO7, CLO8; LO: U
ITU: 
Download: Review Chapter 1, 2
Implement project 1
Do Quiz 1

Session 4: Hands-on 1 (cont.): Project 1 - Simple 2D project
Create a basic platforming game, focusing on character movement, collision detection, and scoring.
Quiz 1
Topic: Offline; Teaching type: CLO1, CLO2, CLO3, CLO5, CLO7, CLO8; LO: U
ITU: 
Download: Review Chapter 1, 2
Implement project 1
Do Quiz 1
CLO4: Understand 3D Game Development; Rendering and Lighting; Animations and Physics
Session 1: Chapter 3: Introduction to 2D and 3D Graphics in Unity
3.1 2D/3D Graphics: Sprites, meshes, materials
3.2 Mecanim and Animation Controller.
Topic: Offline; Teaching type: CLO3, CLO4; LO: IT
ITU: - Chapter 3 slide and online materials
Materials: FGU301_13
Download: Read the slide of Chapter 3: Introduction to 2D and 3D

Session 2: Chapter 3: Introduction to 2D and 3D Graphics in Unity (cont.)
3.1 2D/3D Graphics: Sprites, meshes, materials
3.2 Mecanim and Animation Controller.
Topic: Offline; Teaching type: CLO3, CLO4; LO: IT
ITU: - Chapter 3 slide and online materials
Materials: FGU301_14
Download: Read the slide of Chapter 3: Introduction to 2D and 3D

Session 3: Chapter 3: Introduction to 2D and 3D Graphics in Unity (cont.)
3.1 2D/3D Graphics: Sprites, meshes, materials
3.2 Mecanim and Animation Controller.
Topic: Offline; Teaching type: CLO3, CLO4; LO: IT
ITU: - Chapter 3 slide and online materials
Materials: FGU301_15
Download: Read the slide of Chapter 3: Introduction to 2D and 3D

Session 4: Chapter 3: Introduction to 2D and 3D Graphics in Unity (cont.)
3.3 Unity GUI
3.4 Introduce UI event handling and user input
Topic: Offline; Teaching type: CLO6; LO: IT
ITU: - Chapter 3 slide and online materials
Materials: FGU301_16
Download: Read the slide of Introduction to 2D and 3D Graphics in Unity
CLO5: Create and manipulate game objects, animations, and physics components
Session 1: Chapter 3: Introduction to 2D and 3D Graphics in Unity (cont.)
3.3 Unity GUI
3.4 Introduce UI event handling and user input
Topic: Offline; Teaching type: CLO6; LO: IT
ITU: - Chapter 3 slide and online materials
Materials: FGU301_17
Download: Read the slide of Introduction to 2D and 3D Graphics in Unity

Session 2: Chapter 3: Introduction to 2D and 3D Graphics in Unity (cont.)
3.3 Unity GUI
3.4 Introduce UI event handling and user input
Topic: Offline; Teaching type: CLO6; LO: IT
ITU: - Chapter 3 slide and online materials
Materials: FGU301_18
Download: Read the slide of Introduction to 2D and 3D Graphics in Unity

Session 3: Chapter 4: Unity's Physics Engine
4.1 Rigidbodies, colliders
4.2 Forces, torque
Topic: Offline; Teaching type: CLO4; LO: IT
ITU: - Chapter 4 slide and online materials
Materials: FGU301_19
Download: Read the slide of Chapter 4: Unity's Physics Engine

Session 4: Chapter 4: Unity's Physics Engine (cont.)
4.1 Rigidbodies, colliders
4.2 Forces, torque
Topic: Offline; Teaching type: CLO4; LO: IT
ITU: - Chapter 4 slide and online materials
Materials: FGU301_20
Download: Read the slide of Chapter 4: Unity's Physics Engine
CLO6: Design user interfaces and handle user input effectively
Session 1: Chapter 4: Unity's Physics Engine (cont.)
4.1 Rigidbodies, colliders
4.2 Forces, torque
Topic: Offline; Teaching type: CLO4; LO: IT
ITU: - Chapter 4 slide and online materials
Materials: FGU301_21
Download: Read the slide of Chapter 4: Unity's Physics Engine

Session 2: Hands-on 2: Project 1 - 2D Platformer Expansion
Expand the platformer game with levels, enemies, and power-ups.
Quiz 2
Topic: Offline; Teaching type: CLO3, CLO4, CLO6, CLO7, CLO8; LO: U
ITU: 
Download: https://flm.fpt.edu.vn/gui/role/student/Reveiw Chapter 3, 4Implement project 1 (cont.)Do Quiz 2

Session 3: Hands-on 2 (cont.): Project 1 - 2D Platformer Expansion
Expand the platformer game with levels, enemies, and power-ups.
Quiz 2
Topic: Offline; Teaching type: CLO3, CLO4, CLO6, CLO7, CLO8; LO: U
ITU: 
Download: https://flm.fpt.edu.vn/gui/role/student/Reveiw Chapter 3, 4Implement project 1 (cont.)Do Quiz 2

Session 4: Hands-on 2 (cont.): Project 1 - 2D Platformer Expansion (cont.)
Expand the platformer game with levels, enemies, and power-ups.
Quiz 2
Topic: Offline; Teaching type: CLO3, CLO4, CLO6, CLO7, CLO8; LO: U
ITU: 
Download: https://flm.fpt.edu.vn/gui/role/student/Reveiw Chapter 3, 4Implement project 1 (cont.)Do Quiz 2
CLO7: Develop small games and interactive applications using Unity
Session 1: Assignment 1 assessment: Project 1 - 2D Platformer Expansion
Project Presentations and Feedback
Topic: Offline; Teaching type: CLO4, CLO6, CLO7, CLO8; LO: TU
ITU: 
Download: Present projects 1

Session 2: Assignment 1 assessment (cont.): Project 1 - 2D Platformer Expansion
Project Presentations and Feedback
Topic: Offline; Teaching type: CLO4, CLO6, CLO7, CLO8; LO: TU
ITU: 
Download: Present projects 1

Session 3: Assignment 1 assessment (cont.): Project 1 - 2D Platformer Expansion
Project Presentations and Feedback
Topic: Offline; Teaching type: CLO4, CLO6, CLO7, CLO8; LO: TU
ITU: 
Download: Present projects 1

Session 4: Chapter 5: Input Handling
5.1 Keyboard, mouse input
5.2 Unity Input System
5.3 Unity Input Manager
Topic: Offline; Teaching type: CLO3; LO: TU
ITU: - Chapter 5 slide and online materials
Materials: FGU301_28
Download: Read the slide of Chapter 5: Input Handling
CLO8: Collaborate effectively in a team environment for game development projects.
Session 1: Chapter 5: Input Handling (cont.)
5.1 Keyboard, mouse input
5.2 Unity Input System
5.3 Unity Input Manager
Topic: Offline; Teaching type: CLO3; LO: TU
ITU: - Chapter 5 slide and online materials
Materials: FGU301_29
Download: Read the slide of Chapter 5: Input Handling

Session 2: Chapter 5: Input Handling (cont.)
5.1 Keyboard, mouse input
5.2 Unity Input System
5.3 Unity Input Manager
Topic: Offline; Teaching type: CLO3; LO: TU
ITU: - Chapter 5 slide and online materials
Materials: FGU301_30
Download: Read the slide of Chapter 5: Input Handling

Session 3: Chapter 6: Interactive Programming
6.1 Event Handling: Event-driven programming
6.2 Coroutines: Time-based execution of code
6.3 Serialization: Saving and loading game data
Topic: Offline; Teaching type: CLO3; LO: IT
ITU: - Chapter 6 slide and online materials
Materials: FGU301_31
Download: Read the slide of Chapter 6: Interactive Programming

Session 4: Chapter 6: Interactive Programming (cont.)
6.1 Event Handling: Event-driven programming
6.2 Coroutines: Time-based execution of code
6.3 Serialization: Saving and loading game data
Topic: Offline; Teaching type: CLO3; LO: IT
ITU: - Chapter 6 slide and online materials
Materials: FGU301_32
Download: Read the slide of Chapter 6: Interactive Programming
Session 1: Chapter 6: Interactive Programming (cont.)
6.1 Event Handling: Event-driven programming
6.2 Coroutines: Time-based execution of code
6.3 Serialization: Saving and loading game data
Topic: Offline; Teaching type: CLO3; LO: IT
ITU: - Chapter 6 slide and online materials
Materials: FGU301_33
Download: Read the slide of Chapter 6: Interactive Programming

Session 2: Chapter 7: Advanced C#
7.1 Delegates, events, coroutines
7.2 Unity's component-based architecture (ECS)
Topic: Offline; Teaching type: CLO1, CLO2; LO: IT
ITU: - Chapter 7 slide and online materials
Materials: FGU301_34
Download: Read the slide of Chapter 7: Advanced C#

Session 3: Chapter 7: Advanced C# (cont.)
7.1 Delegates, events, coroutines
7.2 Unity's component-based architecture (ECS)
Topic: Offline; Teaching type: CLO1, CLO2; LO: IT
ITU: - Chapter 7 slide and online materials
Materials: FGU301_35
Download: Read the slide of Chapter 7: Advanced C#

Session 4: Chapter 7: Advanced C# (cont.)
7.1 Delegates, events, coroutines
7.2 Unity's component-based architecture (ECS)
Topic: Offline; Teaching type: CLO1, CLO2; LO: IT
ITU: - Chapter 7 slide and online materials
Materials: FGU301_36
Download: Read the slide of Chapter 7: Advanced C#
Session 1: Hands-on 3: Project 2 - Create Simple 3D Puzzle Game:
Design a puzzle game using data structures and algorithms.
Quiz 3
Topic: Offline; Teaching type: CLO1, CLO3, CLO7, CLO8; LO: U
ITU: 
Download: Review Chapter 5, 6, 7
Implement project 2
Do Quiz 3

Session 2: Hands-on 3 (cont.): Project 2 - Create Simple 3D Puzzle Game:
Design a puzzle game using data structures and algorithms.
Quiz 3
Topic: Offline; Teaching type: CLO1, CLO3, CLO7, CLO8; LO: U
ITU: 
Download: Review Chapter 5, 6, 7
Implement project 2
Do Quiz 3

Session 3: Hands-on 3 (cont.): Project 2 - Create Simple 3D Puzzle Game:
Design a puzzle game using data structures and algorithms.
Quiz 3
Topic: Offline; Teaching type: CLO1, CLO3, CLO7, CLO8; LO: U
ITU: 
Download: Review Chapter 5, 6, 7
Implement project 2
Do Quiz 3

Session 4: Assignment 2 assessment: Project 2 - 3D game
Project Presentations and Feedback
Topic: Offline; Teaching type: CLO1, CLO2, CLO3, CLO7, CLO8; LO: TU
ITU: 
Download: Present projects 2
Session 1: Assignment 2 assessment (cont.): Project 2 - 3D game
Project Presentations and Feedback
Topic: Offline; Teaching type: CLO1, CLO2, CLO3, CLO7, CLO8; LO: TU
ITU: 
Download: Present projects 2

Session 2: Assignment 2 assessment (cont.): Project 2 - 3D game
Project Presentations and Feedback
Topic: Offline; Teaching type: CLO1, CLO2, CLO3, CLO7, CLO8; LO: TU
ITU: 
Download: Present projects 2

Session 3: Chapter 8: Unity Audio
8.1 Importing sound effects
8.2 Playing sound effects
Topic: Offline; Teaching type: CLO3; LO: TU
ITU: - Chapter 8 slide and online materials
Materials: FGU301_43
Download: Read the slide of Chapter 8: Unity Audio

Session 4: Chapter 8: Unity Audio (cont.)
8.1 Importing sound effects
8.2 Playing sound effects
Topic: Offline; Teaching type: CLO3; LO: TU
ITU: - Chapter 8 slide and online materials
Materials: FGU301_44
Download: Read the slide of Chapter 8: Unity Audio
Session 1: Chapter 8: Unity Audio (cont.)
8.1 Importing sound effects
8.2 Playing sound effects
Topic: Offline; Teaching type: CLO3; LO: TU
ITU: - Chapter 8 slide and online materials
Materials: FGU301_45
Download: Read the slide of Chapter 8: Unity Audio

Session 2: Chapter 9: Game Logic and Scoring Systems
9.1 Game Logic and Scoring Systems
9.2 Using AI in Unity games
9.3 Basic networking concepts in Unity
Topic: Offline; Teaching type: CLO4, CLO5; LO: IT
ITU: - Chapter 8 slide and online materials
Materials: FGU301_46
Download: Read the slide of Chapter 9: Game Logic and Scoring Systems

Session 3: Chapter 9: Game Logic and Scoring Systems (cont.)
9.1 Game Logic and Scoring Systems
9.2 Using AI in Unity games
9.3 Basic networking concepts in Unity
Topic: Offline; Teaching type: CLO4, CLO5; LO: IT
ITU: - Chapter 8 slide and online materials
Materials: FGU301_47
Download: Read the slide of Chapter 9: Game Logic and Scoring Systems

Session 4: Chapter 9: Game Logic and Scoring Systems (cont.)
9.1 Game Logic and Scoring Systems
9.2 Using AI in Unity games
9.3 Basic networking concepts in Unity
Topic: Offline; Teaching type: CLO4, CLO5; LO: IT
ITU: - Chapter 8 slide and online materials
Materials: FGU301_48
Download: Read the slide of Chapter 9: Game Logic and Scoring Systems
Session 1: Chapter 9: Game Logic and Scoring Systems (cont.)
9.1 Game Logic and Scoring Systems
9.2 Basic AI concept in Unity game
9.3 Basic networking concepts in Unity
Topic: Offline; Teaching type: CLO4, CLO5; LO: IT
ITU: - Chapter 9 slide and online materials
Materials: FGU301_49
Download: Read the slide of Chapter 9: Game Logic and Scoring Systems

Session 2: Chapter 9: Game Logic and Scoring Systems (cont.)
9.1 Game Logic and Scoring Systems
9.2 Basic AI concept in Unity game
9.3 Basic networking concepts in Unity
Topic: Offline; Teaching type: CLO4, CLO5; LO: IT
ITU: - Chapter 9 slide and online materials
Materials: FGU301_50
Download: Read the slide of Chapter 9: Game Logic and Scoring Systems

Session 3: Chapter 9: Game Logic and Scoring Systems (cont.)
9.1 Game Logic and Scoring Systems
9.2 Basic AI concept in Unity game
9.3 Basic networking concepts in Unity
Topic: Offline; Teaching type: CLO4, CLO5; LO: IT
ITU: - Chapter 9 slide and online materials
Materials: FGU301_51
Download: Read the slide of Chapter 9: Game Logic and Scoring Systems

Session 4: Hands-on 4: Project 2 - Implement 3D game
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: https://flm.fpt.edu.vn/gui/role/student/Review Chapter 8, 9Implement project 2 (cont.)
Session 1: Hands-on 4 (cont.): Project 2 - Implement 3D game
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: https://flm.fpt.edu.vn/gui/role/student/Review Chapter 8, 9Implement project 2 (cont.)

Session 2: Hands-on 4 (cont.): Project 2 - Implement 3D game
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: https://flm.fpt.edu.vn/gui/role/student/Review Chapter 8, 9Implement project 2 (cont.)

Session 3: Final Project Presentations and Feedback
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: Present final project

Session 4: Final Project Presentations and Feedback (cont.)
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: Present final project
Session 1: Final Project Presentations and Feedback (cont.)
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: Present final project

Session 2: Final Project Presentations and Feedback (cont.)
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: Present final project

Session 3: Final Project Presentations and Feedback (cont.)
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: Present final project

Session 4: Final Project Presentations and Feedback (cont.)
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: 
Download: Present final project