Skip to content

A collection of Programming 4 lab projects from the fourth semester at Howest DAE (2024). Focused on software and game programming patterns, modular code architecture, and advanced C++ memory and design practices — bridging the gap between academic projects and professional game development.

License

Notifications You must be signed in to change notification settings

knapeczadam/programming-4

Repository files navigation

🦖 Programming 4

Hey there, fellow DAE developer, future engine programmer, or just a curious explorer 👋
Welcome to my Programming 4 repository — the final chapter in the DAE programming series.
This semester focused on software architecture, design patterns, and efficient C++ engineering, setting the stage for larger-scale game projects and engine development.


🗄️ About this repository

This repo contains all lab exercises and weekly projects from the Programming 4 course at DAE.
Like earlier semesters, each week’s work is preserved for archival and learning purposes — showing progression in problem-solving, software design, and engine-level thinking.

⚠️ These projects were made in an academic setting.
Expect incomplete features, testing code, and exploratory experiments.
It’s not a finished framework — it’s a development journey snapshot.


🔎 Course Information

📚 Course: Programming 4
🏫 University: Howest University of Applied Sciences - Digital Arts and Entertainment
📍 Location: Kortrijk, Belgium
🗓️ Acamedic year: 2023–24 | Fourth semester
🎓 Study load: 6 credits
⏱️ Total study time: 180 hours


👨‍🏫 Teaching Staff

  • Co-ordinator: Alex Vanden Abeele
  • Other teaching staff: Tom Tesch

🎯 Learning Goals

  • Manage stress and workload under tight deadlines
  • Organize and maintain a clean game project file structure
  • Monitor project progress and request feedback when needed
  • Research and apply relevant technical and theoretical sources
  • Select and use appropriate software patterns for project structure
  • Justify design and implementation choices using established principles
  • Review and evaluate own and peers’ work critically
  • Identify and fix errors within the game project
  • Plan and assess the technical feasibility of concepts
  • Develop and integrate graphical content considering technical limits
  • Work independently and efficiently on real-time applications
  • Write optimized, structured, and maintainable code
  • Solve problems using proper programming languages and techniques
  • Utilize game engines, frameworks, and tools effectively

🧩 Course Content

  • Software Design Patterns
  • Game Programming Patterns
  • Error Handling
  • Namespaces & Modules
  • PIMPL (Pointer to Implementation) Principle
  • CRTP (Curiously Recurring Template Pattern)
  • Advanced Memory Management

📂 Repository Structure

  • Each week has its own branch, e.g.
    • 03 → Week 3
    • 10 → Week 10
  • Each branch focuses on a specific programming or design pattern topic.

🚀 Releases

Weekly compiled builds are archived in the 📦 Releases section.
Example:

programming_4-10-1.0.0-windows-x64.zip

Each release represents a stable snapshot of the week’s lab assignment or pattern implementation.


🧠 Final Thoughts

Programming 4 was all about thinking beyond syntax — understanding how to build maintainable systems, structure reusable components, and manage complexity at scale.
It marks the transition from “writing code” to designing software, bridging the academic foundation with the mindset required for professional game and engine development.

If you’re currently at this point in DAE: learn the patterns, experiment with architecture, and remember — elegant design always outlasts clever hacks 🧠💡


⚖️ License

This repository is licensed under the MIT License — explore, adapt, and learn freely.


Built with templates, patterns, and the eternal struggle against circular dependencies 🔁
— Ádám

About

A collection of Programming 4 lab projects from the fourth semester at Howest DAE (2024). Focused on software and game programming patterns, modular code architecture, and advanced C++ memory and design practices — bridging the gap between academic projects and professional game development.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published