-
Presentation
Presentation
This curricular unit allows for better structuring and programming of Video Games as they cover advanced topics of general object programming and programming in C # in particular.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 6
-
Year | Nature | Language
Year | Nature | Language
2 | Optional | Português
-
Code
Code
ULHT1075-898
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
Introduction to SOLID design patterns and principles, with an emphasis on video games. Advanced C# topics: files; resource management with using and IDisposable; delegates; events; overloading of operators; indexers; extension of methods; attributes; pre-processor; nullable types; Lambda expressions; Threads; reflection; covariance and contravariance of generics; serialization. Unity: C# API, class structure and design patterns used.
-
Objectives
Objectives
Introduction to the philosophy of design patterns, especially when applied to the development of video games. Teaching advanced programming concepts with the C# language. Deconstruct the way Unity is implemented by highlighting the design patterns used, allowing for understanding how a game engine can be developed.
-
Teaching methodologies and assessment
Teaching methodologies and assessment
Intensive use of GitHub and/or similar platforms, with exercises and projects, with feedback from the teacher.
-
References
References
Whitaker, R. B. (2022). The C# Player's Guide (5th Edition). Starbound Software. Freeman, E., Robson, E., Bates, B., & Sierra, K. (2020). Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software (2nd Edition). O'Reilly Media. Nystrom, R. (2014). Game Programming Patterns. Genever Benning.
-
Office Hours
Office Hours
-
Mobility
Mobility
Yes