Course introduction
This course will cover creating simple end-to-end web applications. We'll focus on understanding the underlying mechanisms powering the web today instead of learning some framework.
Course outline
This course consists of 11 rounds of exercises and an exam. The exam is graded pass/fail and will be a short MCQ.
The exercise rounds 1-7 are to be done individually, rounds 8-10 are to be done in a small group, and round 11 is an optional group round that can earn you a better grade.
Assignments and submitting assignments
This course will be organized online, and as a course about web programming, it will contain a good amount of programming assignments. The assignments are delivered using the Git version control software, and your solutions should also be returned by pushing the code to your GitLab repo and submitting your repo address in Plussa.
Warning
The majority of the assignments will be graded automatically using software tests. On later assignments, you will see some of the tests in your repo, but in the first rounds, the tests reside only in Plussa. Now, we've all probably seen coding assignments online that feature intelligent code analysis and tell you exactly what is wrong with your solution and how to fix it. And then, you keep submitting your solution and watch the error message change and do your work for you. This approach has its merits, but in this course, the automatic grader will not tell you how to fix your code. If you plan to keep submitting your solution and rely on the grader to tell you what to do next, expect frustration.
Course material
This material is based on the books Node.js Web Development - Fifth Edition by David Herron, JavaScript The Definitive Guide - Seventh Edition by David Flanagan (especially chapters 5 and 6), and lecture slides by Pia Niemelä, Mikko Nurminen, and Janne Miilunpalo. Standing on their shoulders, written by Antti Sand. This content is still being written, so, unfortunately, it could benefit from proof-reading..