General info about the subject JavaScript at VSB for EFREI students
Lecture: Wednesday 16:00 - 17:30 - EB208
Labs: Wednesday 17:45 - 19:15 EB208
Forum: https://github.com/vsb-js/forum-2024-winter/discussions
- 00 Introduction to the subject - Presentation
- 01 Introduction to JavaScript - Presentation
- 02 JavaScript Basics - repetition - Presentation
- 03 JavaScript Modules & Debugging - Presentation
- 04 Express Web Server - Presentation
- 05 Data Persitance - ORM Library - Presentation
- 06 REST API - Presentation
- 07 SPA + React - Presentation
- 08 React - Hooks - Presentation
- 09 React Router - Presentation
- 10 React 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) - we highly recommend GitHub Desktop App if you haven't - 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 JavaScript Basics
- Assigment: https://classroom.github.com/a/F5sxAol-
- You can get 5 points for all the tasks in the README
- Due Oct 2, 2024, 12:08 UTC
-
03 JavaScript Modules
- Assigment: https://classroom.github.com/a/k87jRz5r
- You can get 5 points for all the task in the README
- 1 extra point for BONUS
- Due Oct 9, 2024, 14:44 UTC
-
04 Express
- Assigment: https://classroom.github.com/a/QkcJwMBR
- You can get 5 points for all the tasks in the README / index.js
- 1 extra point for BONUS taks
- Due Oct 16, 2024, 14:40 UTC
-
05 ORM
- Assigment: https://classroom.github.com/a/vIPPSmsE
- You can get 5 points for all the tasks in
src/server.js
- Due Oct 23, 2024, 13:10 UTC
-
06 REST API
- Assigment: https://classroom.github.com/a/Ez58pwNR
- You can get 5 points for all the tasks in
src/server.js
- 1 extra point as described in README
- Due Due Oct 30, 2024, 14:36 UTC
-
07 React Basics
- Assignment: https://classroom.github.com/a/V3zWoe5b
- You can get 5 points for the tasks in
README.md
- Due Nov 6, 2024, 15:00 UTC
-
08 React Hooks
- Assignment: https://classroom.github.com/a/IOwdodOa
- You can get 5 points for the tasks in
README.md
- 1 extra point for the bonus task
- Due Nov 6, 2024, 15:00 UTC
-
09 React Router
- Assignment: https://classroom.github.com/a/nlbNlWvM
- You can get 5 points for the tasks in
README.md
- 1 extra point for the bonus task
- Due Nov 20, 2024, 15:00 UTC
-
10 Material UI
- Assignment: https://classroom.github.com/a/qQBkdh9B
- You can get 5 points for the tasks in
README.md
- 1 extra point for the bonus task
- Due Nov 27, 2024, 15:00 UTC
- 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 - 6 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: TODO
- Deadline: TODO
- Project information: here
- Will be in pairs (2 people per team)
Points from the subject can be found 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 - 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)