General info about the subject JavaScript
Lecture: Wednesday 16:00 - 16:55 - EB104
Labs: Wednesday 16:55 - 18:30 EB104
Forum: https://github.com/vsb-js/forum-2022-winter/discussions
- 00 Introduction to the subject - Presentation
- 01 Introduction to JavaScript - Presentation
- 02 Basics of JavaSccript - Presentation
- 03 Advanced JavaScript - Presentation
- 04 Modules and debugging in JavaScript - Presentation
- 05 Express web server - Presentation
- 06 BE with ORM - Presentation
- 07 Web - React App - Presentation
- 08 React Hooks Part 1 - Presentation
- 09 React Hooks Part 2 - Presentation
- 10 React Router - Presentation
- 11 UI Frameworks - Presentation
-
01 N/A
- Homework:
- Install NodeJS LTS version (verify using
node -v
in terminal) - Install git (verify using
git --verison
in terminal) - You can also use GitHub Desktop App - might be easier) - Make sure you have GitHub account and properly setup your machine to work with git (You should be able to push into your repositories on GitHub - you can use the GitHub desktop app to do that.
- Install IDE of your choice for JS (Recommended Visual Studio Code or WebStorm (Similary to PyCharm))
- Send us your GitHub handle (username)
- Install NodeJS LTS version (verify using
- Homework:
-
02 Basic of JavaScript
- Assigment https://classroom.github.com/a/n6RKb8ld
- You can get up to 4 points for:
- All tasks in file array.js 1pts
- All tasks in file objects.js 1pts
- All tasks in file strings.js 1pts
- All tasks in file cycles.js 1pts
- You can gain 1 extra point for all tasks marked as BONUS
- Deadline Due Sep 28, 2022, 15:00 CEST
-
03 Advanced JavaScript
- Assigment https://classroom.github.com/a/wz_RYFiU
- You can get up to 4 points for taks specified in the README
- You can get 1 extra point for tasks marked as bonus
- Deadline Due Sep 28, 2022, 16:00 CEST
-
04 Modules in JavaScript
- Assigment https://classroom.github.com/a/b0dLfHra
- You can get up to 3 points for all the tasks in README
- Deadline Oct 5, 2022, 17:00 CEST
-
05 NodeJS Express
- Assigment https://classroom.github.com/a/aOkaunZn
- You can get 4 points for all the tasks in index.js
- You can get 1 extra points for bonus.js
- Deadline is Oct 19, 2022, 17:00 CEST
-
06 ORM in NodeJS
- Assigment https://classroom.github.com/a/8QNnNPpI
- You can get up to 4 points for finishing the tasks
- Deadline is Oct 26, 2022, 17:00 CEST
-
07 React App
- Assigment https://classroom.github.com/a/44qTm27n
- You can get up to 4 points for finishing the tasks
- Deadline is Nov 2, 2022, 17:00 CEST
-
08 React Hooks Part 1
- Assigment https://classroom.github.com/a/MgWXak8k
- You can get up to 4 points for finishing the tasks
- You can get 1 bonus point for the bonus task
- Deadline is Nov 9, 2022, 16:00 CEST
-
09 React Hooks Part 2
- Assignment https://classroom.github.com/a/BeXJu01U
- You can get up to 3 points for finishing the tasks
- You can get 2 bonus point for the bonus tasks
- Deadline is Nov 16, 2022, 17:00 CEST
-
10 React Router
- Assignment https://classroom.github.com/a/0s_FdunZ
- You can get up to 3 points for finishing the tasks
- You can get 1 bonus point for the bonus task
- Deadline is Nov 23, 2022, 17:00 CEST
-
11 UI frameworks
- Assignment https://classroom.github.com/a/IQmrjW0s
- You can get up to 3 points for finishing the tasks
- You can get 2 bonus points for the bonus task
- Deadline is Nov 30, 2022, 17:00 CEST
-
12 Recap - TODO app
- Assignment https://classroom.github.com/a/bENhg93j
- You can get up to 2 points for finishing the task
- Deadline is Dec 7, 2022, 17:00 CEST
- Your work has to be submitted via GitHub classroom into your assigment repo before the deadline (7-14 days after the date of lab)
- 3 - 4 points for each lab
- 4 points - for finishing the tasks properly ((finished tasks / amount of tasks) * 4)
- -1 point - if we can not run your file / project should be without error! Learn why this rule here.
It's OK to help each other out in the tasks. To tell your friend the solution. Link him the stack overflow answer or something. But in most cases the tasks are per multiple lines and we can really tell that you copied the code exactly 1:1 from someone else and didn't even changed single character.
In cases where code is copied 1:1, both students get 0 points.
This course builds on the theoretical knowledge the student has learned in previous years about building software systems and puts them into practice in the world of JavaScript language. In this course students will learn how t o create and deliver a full application which consists of frontend application build with modern framework React, GraphQL API layer and NodeJS backend connected to SQL DB.
- Introduction to JavaScript - ECMAScript standards, JS Engines, basic syntax
- Advanced JS principles - Event Loop, Promises, NodeJS, NPM packages
- Backend with NodeJS - Express web server, simple API layer
- Backend with NodeJS - Data persistence with SQL using ORM library
- REST API
- React - Introduction to library and components
- React - Hooks
- React - Consuming backend GraphQL API
- React - Application routing
- Lab Work - 35 points
- Project - 40 points
- Test - 25 points
In total 100 points, 51 required to pass
Lectures and materials for the subject
- JavaScript guides at w3schools https://www.w3schools.com/js/
- React guides https://reactjs.org/docs/getting-started.html
- NodeJS guides https://nodejs.org/en/docs/guides/
- JavaScript: The Good Parts, Douglas Crockford, O'Reilly Media 2008, ISBN: 9780596517748
- Fullstack React: The Complete Guide to ReactJS and Friends. Anthony Accomazzo, Ari Lerner, David Guttman, Nate Murray, Clay Allsopp, Tyler McGinnis, Fullstack.io, 2017. ISBN 978-0-9913446-2-8
The basic set of commands which needs to be done:
git add * we add all the files
git commit -m "My message" we commit added files
git push we push the files up to remote (GitHub)