frontend: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part2/The_Phonebook
backend: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part3/phonebook_backend
database: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part3/phonebook_database
backend with tests: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part4
frontend: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part5/bloglist_Frontend
tests: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part5/BloglistTests
end to end testing: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part5/EndtoEndTesting
state management and style : https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part7/bloglistFrontend
frontend : https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part6/anecdotes
backend: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part6/anecdotes_backend
using react router and hooks: https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part7/Anecdotes_and_Hooks
frontend : https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part8/libraryFrontend
backend : https://github.com/cathyfu1215/FullStackOpen2021/tree/main/part8/libraryBackend
Source: https://studies.helsinki.fi/courses/course-unit/otm-7f2015a3-2003-44af-984b-c80df2cfab0f/CSM141081
Responsible organisation: Master's Programme in Computer Science, Bachelor's Programme in Computer Science
Responsible teacher for course unit: Matti Luukkainen
Course unit level: Advanced studies
Course unit type: Regular course unit
Possible attainment languages: English, Finnish, Swedish
Deep Dive Into Modern Web Development
Participants are expected to have
- good programming routine,
- basic knowledge of web programming and databases,
- mastery of basic use of the Git version management system,
- perseverance, and
- a capacity for solving problems and seeking information independently.
Previous knowledge of JavaScript or other course topics is not required.
Recommended prior knowledge 1
- TKT20019 Databases and Web Programming 5 cr
- TKT10003 Advanced Course in Programming 5 cr
- TKT10004 Introduction to Databases 5 cr
Fluency in architecting and building robustly tested Single page applications with React, Redux and Express libraries.
In the learning, emphasis is put on building modular software applying the functional programming paradigm.
- Fundamentals of HTML and CSS for structuring browser based apps
- Building and structuring component based frontend code with React
- State management with React hook store and Redux (using the Flux architecture)
- HTTP protocol and RESTfull APIs
- Building RESTfull services with Node/Express
- Data modelling with Document databases
- Unit, integration and End to End testing with Jest and Cypress.io libraries
- Build configuration using WebPack-library
The course material is available at https://fullstackopen.com/en/
The course is suitable for
- Computer Science and Data Science students,
- those working on the field, and
- advanced amateur programmers.
- Suitable for students in any degree programme.
The course may be offered among the university’s continuous learning courses.
Self-paced mandatory programming exercises and a course exam.
Open University and degree programme completion methods may be different.
The final grade is determined by the number of submitted exercises, including those that are not marked with an asterisk.
The course exam which does not count towards your final grade, but must be passed.
The course is graded on the scale 0-5.
A self-study material, online tutoring in Discord, example solutions for completed exercises. The campus version has also weekly tutoring groups.
The campus course in 3rd period, Open university version is open round the year.
Full Stack extensions:
- Full Stack Web Development, extension 1 (1 cr)
- Full Stack Web Development, extension 2 (1 cr)
- Full Stack Web Development: GraphQL (1 cr)
- Full Stack Web Development: TypeScript (1 cr)
- Full Stack Web Development: React Native (2 cr)
- Full Stack Web Development: Continuous Integration (1 cr)
- Full Stack Web Development: Relational Databases (1 cr)
- Intro to React
- JavaScript
- Component state, event handlers
- More complex state, debugging React apps
- Rendering a collection
- Forms
- Getting data from server
- Altering data in server
- Adding styles to React app
- Node.js and Express
- Deploying to internet
- Saving data to MongoDB
- Validation and Eslint
- Structure of backend application, intro to testing
- Testing the backend
- User admin
- Token authentication
- Login in frontend
- porps.children and proptypes
- Testing React apps
- End to end testing
- Flux-architecture and Redux
- Many reducers
- Communicating with server in a redux application
- connect
- React-router
- Custom hooks
- More about styles
- Webpack
- Class components, Miscellaneous
- Exercises
- GraphQL-server
- React and GraphQL
- Database and user admin
- Login and updating the cache
- Fragments and subscriptions
- Background and intro
- First steps with TypeScript
- Typing the express app
- React with types
- Intro to React Native
- React Native basics
- Communicating with server
- Testing and extending our application
- Intro to CI/CD
- Getting started with GitHub Actions
- Deployment
- Keeping Green
- Expanding further
- Intro to Containers
- Building and configuring environments
- Basics of Orchestration