Login is required to submit assignments, but you may anonymously explore the course material.

Course news

Pinia players_CRUD

Hands-on video of the solution

Exam

! The exam is now in SISU and can be booked in Exam (dates are 22.2 - 15.3).

You should sign up to it in SISU and also in EXAM . Be sure to sign up in SISU to it also!

Assignment published

! The course assignment has been published.

You can find it here

Updates on Mon 20.02/Tue 21.02/Wed 22.02 - Linters (jsdoc, eslint, react, fp) pullable from course upstream:

  • new dev-dependancies: eslint + plugins, which need to be installed
  • run scripts in package.json
  • rules can be checked from configuration files .*lintrc* (hidden files), in assignment/frontend/

Welcome to Advanced web Front-ends, 2023

Lecture times:

  • 10.1.2023 10:15-12:00 (Tuesday)
  • 19.1.2023 12:15-14:00 (Thursday)
  • 31.1.2023 10:15-12:00 (Tuesday)
  • 9.2.2023 12:15-14:00 (Thursday)
  • 21.2.2023 10:15-12:00 (Tuesday)

Exercises (in teams):

  • 12.1 12:15-14:00 (Thursday)
  • 17.1 10:15-12:00 (Tuesday)
  • 24.1 10:15-12:00 (Tuesday)
  • 26.1 12:15-14:00 (Thursday)
  • 2.2 12:15-14:00 (Thursday)
  • 7.2 10:15-12:00 (Tuesday)
  • 14.2 10:15-12:00 (Tuesday)
  • 16.2 12:15-14:00 (Thursday)
  • 23.2 12:15-14:00 (Thursday)

This course is designed to introduce you to some of the most popular and widely-used tools and technologies for building modern web applications.

During this course, we'll be going through the following main topics:

You'll start by learning about Elm, a functional programming language for building reliable web applications. Elm's strict type system and functional approach make it easy to reason about code, and its runtime guarantees help you avoid common pitfalls like null reference exceptions.

Next, you'll move on to Vue.js, a progressive JavaScript framework for building user interfaces. Vue.js is a great choice for building single-page applications, and it's also a great way to add interactivity to static sites.

Then, you'll delve into React, a powerful JavaScript library for building user interfaces. React's declarative approach makes it easy to build complex, interactive UIs, and its virtual DOM makes rendering fast and efficient.

Next, you'll learn about Redux, a state management library that is often used with React. Redux helps you manage your application's state in a predictable way, making it easier to debug and test your code.

Finally, you'll learn about Pinia, a state management library that is used with Vue. Pinia replaces Vuex, which is a welcome change Pinia being more straight-forward and slick.

By the end of this course, we hope you'll have a strong foundation in all these wonderful technologies and a good understanding of topics such as routing and state management, and you'll be ready to build your own web applications with better confidence than before. Happy coding!

Show:

Tuesday, 10 January 2023, 10:00 – Tuesday, 17 January 2023, 10:00
Late submissions are allowed until Thursday, 19 January 2023, 12:00. However, points are only worth 25%.

Assignment Category Submissions Points
2.1 Elm basics
2.1.1 Elm multiple-choice question elm 0 / 20
2.2 Players CRUD
2.2.1 Players CRUD elm 0 / 25
2.3 Fetch Players
2.3.1 Players fetch elm 0 / 25
2.4 Players CRUD 2
2.4.1 Players CRUD 2 elm 0 / 25
2.5 Questions and difficulties
2.5.1 Self-reflections elm 0 / 5

Thursday, 19 January 2023, 12:00 – Thursday, 26 January 2023, 12:00
Late submissions are allowed until Tuesday, 31 January 2023, 10:00. However, points are only worth 25%.

Assignment Category Submissions Points
3.1 Vue basics
3.1.1 Vue multiple-choice question vue 0 / 10
3.2 Players Fetch
3.2.1 Players fetch handled with vue vue 0 / 20
3.3 Players CRUD
3.3.1 Players CRUD handled with vue vue 0 / 20
3.4 Players CRUD 2
3.4.1 Players CRUD2 handled with vue vue 0 / 20
3.5 Questions and difficulties
3.5.1 Self-reflections vue 0 / 10

Thursday, 9 February 2023, 12:00 – Thursday, 16 February 2023, 12:00
Late submissions are allowed until Tuesday, 21 February 2023, 10:00. However, points are only worth 25%.

Assignment Category Submissions Points
5.1 Redux basics
5.1.1 Redux multiple-choice question redux 0 / 10
5.2 Pure Redux
5.2.1 Pure Redux redux 0 / 20
5.3 React + redux
5.3.1 React + redux redux 0 / 30
5.4 Redux thunk
5.4.1 Thunks as a middleware for async ops redux 0 / 30
5.5 Questions and difficulties
5.5.1 Self-reflections redux 0 / 10

Thursday, 9 February 2023, 12:00 – Thursday, 23 February 2023, 12:00
Late submissions are allowed until Friday, 3 March 2023, 10:00. However, points are only worth 25%.

Assignment Category Submissions Points
6.1 Players CRUD in Pinia
6.1.1 Players CRUD handled with Pinia pinia 0 / 20

0 / 0 7. Assignment

Friday, 17 February 2023, 16:00 – Friday, 31 March 2023, 23:59

Assignment Category Submissions Points
7.1 Assignment instructions

elm

0 / 100

level1

0 / 21

level1-final

0 / 2

level2

0 / 30

level2-final

0 / 1

pinia

0 / 20

react

0 / 100

redux

0 / 100

vue

0 / 80