Can you think of a project that would expose someone to a broad subset of Computer Science topics and features? Obviously there is no silver bullet but there are some projects that would expose the developer to a wide variety of CS topics (design patterns, data structures, algorithms, architecture etc.)
Ie, throughout your whole Computer Science bachelor you are working on 1 project. Each course/unit you learn, you apply that knowledge to this one project.
Things I can think of:
- Develop a simple Operating System
- Develop a cross-platform cross-application API (by cross-application I mean; desktop application, web application, smart-phone application)
- Develop a programming language (incl compiler)
I'm thinking one of the above is suitable but maybe you could expand/elaborate that project/objective to ensure that it targets a large subset of CS topics.