vsb-js / general

All info about the subject JavaScript. Lectures, labs and other info.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JavaScript - Winter 2022

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

Lectures

Labs

  • 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)
  • 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

  • 05 NodeJS Express

  • 06 ORM in NodeJS

  • 07 React App

  • 08 React Hooks Part 1

  • 09 React Hooks Part 2

  • 10 React Router

  • 11 UI frameworks

  • 12 Recap - TODO app

Labs evaluation

  • 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.
Cheating / copying the code

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.

Tips and tricks:

Project - FE React App


Abstract

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.

Outline

  • 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

Evaluation Process - Winter Semester

  • Lab Work - 35 points
  • Project - 40 points
  • Test - 25 points

In total 100 points, 51 required to pass

Required Literature

Lectures and materials for the subject

Recommended Literature

  • 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

Tips

How to submit your work with git

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)

About

All info about the subject JavaScript. Lectures, labs and other info.