General info about the subject JavaScript at VSB for EFREI students
Lecture: Wednesday 16:00 - 17:30 - EB113
Labs: Wednesday 17:45 - 19:15 EB133
Forum: https://github.com/vsb-js/forum-2023-winter/discussions
- 00 Introduction to the subject - Presentation
- 01 Introduction to JavaScript - Presentation
- 02 JS Basics, promises, npm, node - Presentation
- 03 Modules and debugging - Presentation
- 04 NodeJS - Express - Presentation
- 05 NodeJS - ORM / Databaes layer - Presentation
- 06 FE - SPA and React - Presentation
- 07 React - Hooks Part 1 - Presentation
- 08 React - Hooks Part 2 - Presentation
- 09 React - React Router - Presentation
- 10 React - UI Libraries - 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))
- Install NodeJS LTS version (verify using
- Homework:
-
02 JS Basics, promises, npm, node
- Assigment https://classroom.github.com/a/n92QC35q
- You can get 5 points for all the tasks in the README
- You can get 1 extra point for taks marked as BONUS
- Due Oct 4, 2023, 15:57 CEST
-
03 Node Modules and debugging
- Assigment https://classroom.github.com/a/A_sufiXF
- You can get 5 points for all the tasks in the README
- Due Due Oct 11, 2023, 16:02 CEST
-
04 NodeJS Express
- Assigment https://classroom.github.com/a/eu1g9Wxg
- You can get 5 points for all the tasks in the README
- You can get 1 extra point for taks marked as BONUS
- Due Oct 18, 2023, 14:43 CEST
-
05 NodeJS ORM
- Assigment https://classroom.github.com/a/7A_jqZbF
- You can get 5 points for all the tasks in the README
- Due Oct 25, 2023, 16:40 CEST
-
06 React
- Assigment https://classroom.github.com/a/c3JpkFSR
- You can get 5 points for all the tasks in the README
- Due Nov 1, 2023, 15:18 CEST
-
07 React Hooks Part 1
- Assignment https://classroom.github.com/a/xTXlQPKq
- You can get 5 points for all the tasks in README
- You can get 1 bonus point for the BONUS task
- Due Nov 8, 2023, 16:00
-
08 React Hooks Part 2
- Assignment https://classroom.github.com/a/rONbcYBk
- You can get 5 points for all the tasks in README
- You can get 2 bonus point for the BONUS task
- Due Nov 15, 2023, 16:00
-
09 React Router
- Assignment https://classroom.github.com/a/GEa2w_eh
- You can get 5 points for all the tasks in README
- Due Nov 22, 2023, 16:00
-
10 React UI Libraries
- Assignment https://classroom.github.com/a/GVaDWFNZ
- You can get 5 points for all the tasks in README
- Due Nov 29, 2023, 16:00
- Your work has to be submitted via GitHub classroom into your assigment repo before the deadline (7-14 days after the date of lab)
- 5 points for each lab
- 5 points - for finishing the tasks properly ((finished tasks / amount of tasks) * 5)
- -1 point - if we can not run your file / project should be without error!
- Assignment: https://classroom.github.com/a/nijsPAY-
- Deadline: December 13th
- Project information is here
- Will be in pairs (2 people per team)
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 - 50 points
- Project - 50 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)