Reflections on Full Stack Open

For my last class before graduation, I decided to take a Full Stack Open course by University of Helsinki. The 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. There is also a section about 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, too. There are also additional parts on Docker Containers, React Native and CI/CD.

The core curriculum consists of 5-14 ETCS credits of which I completed 13 credits (I skipped part 13 - relational databases, since I have plenty of experience on the topic). Each credit corresponds to roughly 27 hours of work totaling 351 hours for my 13 credits, however I ended up spending roughly 200 hours on the course.

My Experience

I particularly enjoyed the practical aspect of the course - it explained the best practices of web development and introduced many helpful tools to ease the development such as linters, npm packages and editor plugins. The course included parts on CI/CD and Docker Containers which are tools to ease development and are practical technologies to be accustomed to.

The class had a great natural progression and most exercises were building on top of previous exercises, which meant there were a lot of refactoring and building additional features on top of pre-existing features, which mimics the development process in the real world.

A big portion of the course focused on writing tests using Jest/React Testing Library to write unit tests and using Cypress to write E2E tests. This was my first time being introduced to E2E testing and I was surprised at how advanced the process was - Cypress is a great testing framework.

I completed the 2021 version of the course in early 2022, which meant some of the material was slightly outdated and used older versions of Node.js and React. In practice this was only a small hurdle as most version changes were well documented and I could find an answer with a quick Google search.

Afterword

I would recommend the course to anyone with a solid programming background that has little to no experience with React/Node.js and are interested in learning the stack. Overall the course is one of the best free online courses on modern web development.

You can browse my exercise solutions here.

If you have any questions or want to hear more about my experience with the course you can send me an email at miika@miikanissi.com.