WMC 3

Course Overview

1st week
Course content & term overview
Intro to LaTeX
2nd & 3rd week
Getting started with React on freeCodeCamp
4th week - 5th week
Automatically testing React based websites
Assignment: create a PR against https://github.com/HTL-Bulme/infra_test that completes one of the listed tasks
10th week - 14th week
15th week
Finalizing grades
16th week
Open Content
17th week
Open Content

React

npm create vite@latest demo_react_project -- --template react

Grading

>87.5: 1, >75: 2, >62.5 : 3, >50: 4, ≤50: 5

Please note that the above schema MAY be subject to a grading curve for individual tests or assignments.

50% written test (computer (offline)) - must be passed
50% programming project
participation contributions are rewarded with a "+"
for students with a positive grade, each "+" improves the average term grade by 0.1 (10 + improve one full grade)

To avoid plagiarism and prevent cheating, all grades (including tests, projects and assignments) require a short oral defense to be valid.

Late assignment policy: the points for each assignment filed after its due date are multiplied by 0.8 for each started week after the due date.
For example: a student files an assigment one day late and would receive 97 points if filed before the due date. The student gets 97 * 0.8 = 77.6 points instead. Another student files an assignment with 100 points 16 days after the due date. 16 days means the third week after the due date has started. Hence the student is awarded 100 * 0.8 * 0.8 * 0.8 = 51.2 points.

Project

Each of the teams has to complete the exact same project, although you are free to decide upon all the details (aside of the technologies used, that is).

The project is to create a React based web interface to a database containing information on internships for students in this education. It must allow students to log in using their LDAP credentials. After login, they must be able to add information about their internship as well as to edit the information they entered earlier. They should also be able to view all of the other students' entries.

In particular, the site must show the organisation names, contact information, a rating on how your experience with the internship was, the chances of scoring an internship there for future students and which technologies were used in your internship.

The data has to be stored in a minimalistic database. You may start with displaying mocked json data, but should eventually use a real database. The communication between the React frontend and the database has to be accomplished using Express.js and calls to a REST API. The security mechanism must be JWT using both access and refresh tokens.

To receive full points you must, of course, provide automated tests (unit tests wherever applicable, e2e tests for the core functionality).

Content of the Curriculum (2nd Term)