- Use C# – the entire work should be implemented in C#
- GUI, console-based application or web application
- You may use some GUI library like Windows Forms or WPF
- Do not use game development engines like Unity, Unreal, etc.
- Work in a team – all team members should contribute
- Use Git Version Control System and a public repository (e.g. GitHub, Bitbucket, …)
Submit a link to a source control system (e.g. Github) or a file repository (like Dropbox) containing the following:
- The complete source code of your project.
- A presentation of your project (e.g. PowerPoint slides) or other brief documentation (1-2 pages) of your project. It should provide the following information:
- Project name and purpose – what you have created
- Team name, list of team members
- Contributions of each team member
- Any other information (optionally)
You must fulfil every single criterion listed below. If these requirements are not met, you won't get any points for your project.
- At least 10 interfaces (with one or more implementations)
- At least 15 classes (implementing the application logic)
- At least 1 abstract classes (with inheritors)
- At least 1 custom exception class (with usage in your code)
- At least 3 levels of depth in inheritance
- At least 1 polymorphism usage
- At least 1 enumeration
- At least 1 event (with subscribers)
- At least 1 design pattern (e.g. Composite, Singleton, Factory, Wrapper, Bridge, Command, etc.) You might read about design patterns in Wikipedia, Sourcemaking, DoFactory and others.
- Project – 25
- Code Quality (correct use of patterns, following language conventions, etc.)
- Functionality (rich and seamless functionality, demonstrating application of course material will be scored higher)
- Teamwork – 50
- Source Control (use of Issues, Branches, regular commits by all team members)
- Task Management (coherent implementation process, following increment steps)
- Project Scope (you've met all goals that you started with)
- Team Communication (team members are kept up to date with each other's progress)
- Defense – 25
- Answer Questions (defend your work!)
- Bonus – 10 (awarded for achievements outside this assignment)