An open API service indexing awesome lists of open source software.

https://github.com/knapeczadam/dae-programming-4

πŸ¦– 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.
https://github.com/knapeczadam/dae-programming-4

2024 belgium c-plus-plus coding-practice cpp dae digital-arts-and-entertainment game-dev game-development game-programming howest howest-dae kortrijk lab-exercises laboratory-exercises prog4 programming programming-4 programming-labs university

Last synced: about 2 hours ago
JSON representation

πŸ¦– 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.

Awesome Lists containing this project

README

          

# πŸ¦– 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](../../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.