DescriptionCreate a complete design (functional, technical and experimental prototype) for a project of your own choosing.
TypeHand-in assignment with assessment.
DurationAbout 35 working days.
Progress points35.0
Credits15
Test matrix
Final qualification
?
Know Comprehend Apply Analyze Evaluate Create Σ
Create functional designs.
1
1
1
11 11 11 33.3
Create technical designs.
2
2
2
11 11 11 33.3
Apply insight to solve problems.
4
4
4
11 11 11 33.3

Introduction

This project consists of the doing the early stages of developing a new software product. It has a hard seven working week deadline. Make sure that you submit your complete report on or before the last day.

During this project, you're (of course) not required to leave your laptop at school. You're also allowed to work from different locations. You may discuss your project with others, as long as you disclose any significant help your received in your report.

Each of the three stages below (Functional Design, Technical Design and Problem Solving) is at most 10 pages in your exported PDF and is graded on a set of explicitly weighted categories, each scored from 1 to 5.

Your complexity multiplier, agreed with your teacher during Graduation Project Preparation, boosts the categories that scale with how ambitious your idea is. Categories about writing quality or coherence with another document always count at face value, regardless of your multiplier.

Assignments

Objective #1: Functional Design3.0 points

Create a functional design for your project. We would recommend it be a (web)app with a graphical user interface. Alternatively, you may also propose substantial changes to an existing functional design or product. Make sure you execute the full design process though. Talk to a teacher in case of doubt.

The Functional Design has two goals: it convinces a non-technical stakeholder that the solution fits the needs of its users, and it is detailed enough for a developer to implement the user-facing behavior without further clarification from the author.

Your grade will be determined by the following aspects:

  • Clearly define what problem your project solves and in which context.
  • The domain in which you operate is clearly defined, for example in the form of an ERD.
  • You describe how your project solves the problem using techniques like behavior descriptions, wireframes, flowcharts or anything else you find useful.
  • You validate your design with either the client and/or some of your intended end-users, and describe what you do with the results of this validation.
  • You deliver a document that has a professional writing style.
  • Your document reaches the two goals described above.

Your exported PDF for this document is at most 10 pages. Not meeting this standard automatically fails your project.

Objective #2: Technical Design3.0 points

Create a technical design for your project. Alternatively, you may also propose substantial changes to an existing system. In that case, you should start by carefully modeling the existing system, and then execute all design steps for making your changes on top of that. Talk to a teacher in case of doubt.

The Technical Design gives a developer everything they need to understand the system and implement it, without requiring further clarification from the author.

Your grade will be determined by the following aspects:

  • It gives a complete and precise overview of all components, connections and responsibilities (for example in the form of a C4 level 2 model).
  • All key decisions follow a clear reasoning process. For example, your technology, framework and architectural choices.
  • A clear description of how the security between parts of your system is handled and what design choices would change if extreme scalability and reliability were important concerns.
  • Coherence with your Functional Design
  • You deliver a document that has a professional writing style.
  • Whether another developer could implement this system fully without any further clarification.

Your exported PDF for this document is at most 10 pages. Not meeting this standard automatically fails your project.

Objective #3: Problem Solving3.0 points

Solve a technical problem to which the solution is not obvious to an experienced developer (like a teacher). This should usually be the hardest and/or most uncertain part of your project.

The document you deliver here proves that this part of the project is indeed solvable, by building a prototype and critically evaluating whether it meets the goal.

Your grade will be determined by the following aspects:

  • A clear definition of the problem and what success looks like. What would be a good outcome of this research?
  • Thorough research into solutions for this problem, including references to resources you have consulted and clear pros and cons for several options.
  • Your motivated decision on which one(s) of these to experiment with or prototype on.
  • A description of your experiments or prototype, including any source code and output data for the above.
  • Whether your results are easily reproducible by another developer, even when parameters change slightly.
  • A critical (if possible numerically supported) analysis of your solution's fitness. For example in terms of time and/or space complexity, or in terms of meeting some specific goal.
  • Coherence with your Functional and Technical Design
  • You deliver a document that has a professional writing style.
  • Whether your problem, experiment and conclusion clearly match each other, and whether all the steps involved are thoroughly described.

Your exported PDF for this document is at most 10 pages. Not meeting this standard automatically fails your project.

Objective #4: PDF documentsMUST

Having all documentation in PDF format is a precondition for receiving a graduation grade.

Although Markdown is convenient for software developers, it requires special tools to view them properly, especially when using advanced features like embedded PlantUML. As this report will become part of your graduation dossier, we ask you to please create a companion .pdf for each .md in your portfolio repository.

The 10-page limit for each stage is measured on this exported PDF, not on the Markdown source (which has no pages of its own).

You can do this using the Markdown Preview Enhanced VSCode extension by:

  • Opening the .md file.
  • Showing the preview panel for it (using ctrl-k v).
  • Right-clicking on the preview panel and selecting Export --> Chrome (Puppeteer) --> PDF.

Objective #5: Final verdictMUST

In order to pass the graduation project, there are two hard requirements you have to fulfill:

  • Each of the three stages (Functional design, Technical design and Problem solving) needs at least 50% of its available points. Your final grade is the average of the three stages. A high average cannot make up for a single stage below 50%.
  • Your exported PDF for each of the sections can be no longer than 10 pages. If you use more space, you automatically fail the project.

If you have not passed one of the three stages you will need to do the short retake (of three weeks). If none of the stages reached 50% of their available points then you will need to start a new project for your retake. In other cases where you did not pass the project the examiners will determine which of the two retake options you will need to do.

Graduation procedure

  • After you've submitted the project, you'll be invited for an assessment of your work. During the assessment, which will generally last about 30 minutes, you will be asked to explain your work and defend your choices by two examiners (teachers).
  • Shortly after the assessment, you'll hear from the examiners if you passed or not.
  • In case you did not pass, you may choose how to do a retake:
    1. Continue work on the assignment for up to three weeks, based on the feedback and grading of your first attempt. After submission you have to take another assessment. You may only choose this option once per project.
    2. Start a new project, solving an entirely different problem. This is also what you'll have to do if you chose the above option but once again didn't get a passing grade.
  • As usual, you are entitled to do two attempts (meaning one retake) per academic year. Each of the above options counts as doing a retake. In case you require an additional retake, you must file a request with the examination board.
  • If there are special circumstances (like extended sickness during the project period) that warrant an extension, please file a request with the examination board.
  • Once you have received a passing grade based on the assessment, there is just one more thing to do: publicly present your project work!
    • These presentations are scheduled in the late afternoon of every Intern Meetup Day (the last non-vacation Thursday of each month).
    • There will often be multiple students presenting their graduation projects.
    • Each student gets to present for about 10 minute and answer questions for another 10 minutes.
    • Assuming the presentations were satisfactory, which they generally should be if some preparation was put into it, it's time for diplomas (or IOUs for diplomas), speeches, presents and celebrations!
    • As the presentations will take place in our offices, class mates are welcome and very much encouraged to attend.
    • Please do feel more than welcome to invite family, friends and future colleagues to the presentations and celebrations!

Rubrics mapping and grading

#1#2#3-Σ
Create functional designs.3.003.0
Create technical designs.3.003.0
Apply insight to solve problems.3.003.0
Base grade.1.001.0
Σ3.003.003.001.0010.0