Two types of laboratory work:
In total, the lab counts towards 40% of your final grade.
Three assignments in total.
You can make improvements on your assignment later for a better grade.
Each assignment will have two parts:
You must build a final project until the end of the semester.
During the semester, you will have to hand in three deliverables (which will help you build the documentation and design the system).
Grading:
For the assignment topic there will be two bonus features. Also, for each assignment there will be several bonus requirements which you can implement for bonus points.
You can use your bonus points to increase your assignment grade.
Additionally, if you:
You are excused from implementing the final project, as the assignment becomes your project; you get a 10 for both the implementation and the documentation part (the deliverables still need to be handed-in).
Each assignment and project deliverable has a deadline on the schedule.
You may hand it in with at most two weeks delay, for which you will lose 1 point per week.
You cannot hand in more than one assignment (including improvements) and one deliverable per week.
This implies that you may hand in both an assignment and a deliverable in the same week.
You can always contact me via email: Serban.Petrescu@outlook.com.
Don't hesitate to email me for any questions; I will try my best to answer within a day.
I encourage you to use Stack Overflow proactively:
I strongly suggest that use Java for building your project and assignments.
Optionally, for the U.I., you can use JavaScript.
We will use GitHub for sharing the code. Please create an account if you don't already have one.
My suggestion is to work on your personal machines if possible.
Recommended tools (please use the latest versions available):
We will choose together a single topic for the whole semi-group.
The assignments will then be centered on this topic.
We will build a application for a given business scenario.
In each assignment, we will incrementally add to this system:
Each student will have to come up with his own project idea.
You can find some examples here: GitHub Starter.
My recommendation: find something that you are interested in.
Constraints:
Must be a web application (either Spring Boot or NodeJs).
User interface can either be rendered server side (e.g. Thymeleaf) or client side (e.g. Angular).
Desktop app is also acceptable, but with a penalty of 2 points.
Data is stored in a database and data access is done via ORM (JPA).
All these documents must use the following RUP templates: GitHub Buzea.
For this project, you will do tasks which pertain to several different roles inside a typical IT company.
Basically, you will be the:
My advice: try to fulfill the tasks as best as you can to have a (very basic) idea of what each role entails.