Full-Stack-Open-2022 Training Course
General
This course serves as an introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL, a modern alternative to REST APIs.
The course covers testing, configuration and environment management, and the use of MongoDB for storing the application’s data. The course is worth 5-13 credits, and the content is the same as in the Full stack course held at the Department of Computer Science at the University of Helsinki in Spring 2020. There is also an associated project that is worth 1-10 credits.
Partners and affiliates of the course include Houston Inc, Terveystalo, Elisa, K-ryhmä, Unity Technologies and Konecranes. See here for guest lectures on course-related topics given by various experts from our partners and affiliates.
Participants are expected to have good programming skills, basic knowledge of web programming and databases, and to know the basics of working with the Git version-control system. You are also expected to have perseverance and the ability for independent problem solving and information seeking.
Part 0 of the course material goes through the content and conduct of the course in more detail. Make sure to read the material and instructions thoroughly.
Prerequisites
Participants are expected to have good programming skills, basic knowledge of web programming and databases, and have mastery of the Git version management system. You are also expected to have perseverance and a capacity for solving problems and seeking information independently.
Previous knowledge of JavaScript or other course topics is not required.
Course material
The course material is meant to be read one part at a time and in order.
The material contains exercises, which are placed so that the preceding material provides enough information for solving each exercise. You can do the exercises as you encounter them in the material, but it can also be beneficial to read all of the material in the part before starting with the exercises.
In many parts of the course, the exercises build one larger application one small piece at a time. Some of the exercise applications are developed through multiple parts.
The course material is based on incrementally expanding example applications, which change from part to part. It's best to follow the code along while making small modifications independently. The code of the example applications for each step of each part can be found on GitHub.
Taking the course The course contains fourteen parts, the first of which is numbered 0 for consistency with past iterations. One part corresponds loosely to one week (averaging 15-20 hours) of studying, but the speed of completing the course is flexible.
Proceeding from part n to part n+1 is not sensible before enough know-how of the topics in part n has been achieved. In pedagogic terms, the course uses Mastery Learning, and you are only intended to proceed to the next part after doing enough of the exercises of the previous part.
In parts 1-4 you are expected to do at least all of the exercises that are not marked with an asterisk(*). Exercises marked with an asterisk count towards your final grade, but skipping them does not prevent you from doing the compulsory exercises in the next parts. Parts 5- do not have asterisk marked exercises since there is no similar dependency on previous parts.
The speed of completing the course is flexible, and exercises can be submitted until 23:59 EET on 1 March 2023.
However, note that the deadline for taking exam for University of Helsinki credits is 10.1.2023.
Exercise completion time statistics can be found via the submission system.