Game Programming with C# (PRU213)
Vietnamese title: Lập trình Game với C#
Credits: 3
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.

Learning outcomes:
Understand the Unity interface and basic tools for game development
Write and implement C# scripts for game logic and interactions.
Create and manipulate game objects, animations, and physics components.
Design user interfaces and handle user input effectively.
Develop small games and interactive applications using Unity.
Troubleshoot and debug common Unity issues.
Collaborate effectively in a team environment for game development projects.

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

Materials:
description: Online Tutorials: https://www.youtube.com/user/Unity3D
description: Unity Learn Platform:https://learn.unity.com
description: Unity Official Documentation: https://docs.unity3d.com/Manual/index.html

Assessments:
category: Final project
type: on-going
weight: 30.0
duration: 6-8 weeks
question_type: CLO7
no_question: theory present or project
grading_guide: technical aspect of studied topics
note: - Guided by instructor
- Application or Theory
- Work in group
category: Labs
type: on-going
weight: 20.0
duration: 1 - 2 weeks
question_type: CLO5
no_question: theory present or project
grading_guide: technical aspect of studied topics
note: - Guided by instructor
- Application or Theory
- Work in group
category: Quizzes
type: on-going
weight: 20.0
duration: 30'
question_type: CLO1, CLO2, CLO3, CLO4
no_question: Multiple choicesMarked by Computer
knowledge_and_skill: 20
grading_guide: concepts, algorithms; all studied chapters
note: in class, by instructor
category: Final exam
type: Final exam
weight: 30.0
duration: 60'
question_type: All CLOs
no_question: Multiple choices
Marked by Computer
knowledge_and_skill: 50
grading_guide: concepts, algorithms;
all studied chapters
note: by exam board,
using computer

Schedule:
session: Course Introduction
1.1 Introduction to Unity Interface and Navigation
learning_outcomes: T
materials: PRU213
session: Course Introduction
1.1 Introduction to Unity Interface and Navigation
learning_outcomes: T
materials: PRU213
session: 1.2 Basic Game Object Manipulation and Transformations
learning_outcomes: T
session: 1.2 Basic Game Object Manipulation and Transformations
learning_outcomes: T
session: 1.3 Understanding Unity's Component System
learning_outcomes: T
session: 1.3 Understanding Unity's Component System
learning_outcomes: T
session: 1.4 Scene Creation and Management
learning_outcomes: T
session: 1.4 Scene Creation and Management
learning_outcomes: T
session: 1.5 Introduction to Physics and Colliders
learning_outcomes: T
session: 1.5 Introduction to Physics and Colliders
learning_outcomes: T
session: 1.5 Introduction to Physics and Colliders
learning_outcomes: T
session: 1.5 Introduction to Physics and Colliders
learning_outcomes: T
session: Quiz 1
learning_outcomes: U
session: Quiz 1
learning_outcomes: U
session: 2.1 Introduction to C# Programming in Unity
Introduction to Final Project
learning_outcomes: T
session: 2.1 Introduction to C# Programming in Unity
Introduction to Final Project
learning_outcomes: T
session: 2.2 Variables, Data Types, and Operators
learning_outcomes: T
session: 2.2 Variables, Data Types, and Operators
learning_outcomes: T
session: 2.3 Control Structures: Loops and Conditional Statements
learning_outcomes: T
session: 2.3 Control Structures: Loops and Conditional Statements
learning_outcomes: T
session: 2.3 Control Structures: Loops and Conditional Statements
learning_outcomes: T
session: 2.4 Functions and Methods
learning_outcomes: T
session: 2.4 Functions and Methods
learning_outcomes: T
session: 2.5 Scripting Interactivity: Mouse and Keyboard Input
learning_outcomes: T
session: 2.5 Scripting Interactivity: Mouse and Keyboard Input
learning_outcomes: T
session: Quiz 2 and Lab 1
learning_outcomes: U
session: Quiz 2 and Lab 1
learning_outcomes: U
session: 3.1 Introduction to Unity Animation System
learning_outcomes: T
session: 3.1 Introduction to Unity Animation System
learning_outcomes: T
session: 3.2 Animation Scripting and Interactions
learning_outcomes: T
session: 3.2 Animation Scripting and Interactions
learning_outcomes: T
session: 3.3 User Interface Design: Buttons, Text, and Images
learning_outcomes: T
session: 3.3 User Interface Design: Buttons, Text, and Images
learning_outcomes: T
session: 3.4 User Input Handling: UI Events and Touch Input
learning_outcomes: T
session: 3.4 User Input Handling: UI Events and Touch Input
learning_outcomes: T
session: 3.5 Designing Interactive UI Systems
learning_outcomes: T
session: 3.5 Designing Interactive UI Systems
learning_outcomes: T
session: 3.5 Designing Interactive UI Systems
learning_outcomes: T
session: Quiz 3
learning_outcomes: U
session: 4.1 Unity's Physics Engine: Rigid Bodies and Forces
learning_outcomes: T
session: 4.1 Unity's Physics Engine: Rigid Bodies and Forces
learning_outcomes: T
session: 4.2 Implementing Interactive Physics-Based Puzzles
learning_outcomes: T
session: 4.2 Implementing Interactive Physics-Based Puzzles
learning_outcomes: T
session: 4.3 Handling Collisions and Triggers
learning_outcomes: T
session: 4.3 Handling Collisions and Triggers
learning_outcomes: T
session: 4.4 Game Logic and Scoring Systems
learning_outcomes: T
session: 4.4 Game Logic and Scoring Systems
learning_outcomes: T
session: 4.5 Scripting Animations and Physics Interactions
learning_outcomes: T
session: 4.5 Scripting Animations and Physics Interactions
learning_outcomes: T
session: Quiz 4 and Lab 2
learning_outcomes: U
session: Quiz 4 and Lab 2
learning_outcomes: U
session: 5.1 Applying Scripting and Physics to Game Projects
learning_outcomes: T
session: 5.2 Implementing Animations and UI in Projects
learning_outcomes: T
session: 5.2 Implementing Animations and UI in Projects
learning_outcomes: T
session: 5.3 Debugging and Troubleshooting in Unity
learning_outcomes: T
session: Final Project Presentations and Feedback
learning_outcomes: U
session: Final Project Presentations and Feedback
learning_outcomes: U
session: Final Project Presentations and Feedback
learning_outcomes: U
session: Final Project Presentations and Feedback
learning_outcomes: U
session: Review
learning_outcomes: U