/course-17-18

🎓 Backend · 2017-2018 · Curriculum and Syllabus 💾

OtherNOASSERTION

Backend - Course 2017-2018

Table of Contents

Synopsis

The course Backend is given at @CMDA in 2018 between 5 February and 12 April.

  • Course: Backend
  • Coordinator: Titus Wormer
  • Lecturers: Titus Wormer (@wooorm) (BT 1 and BT 3) and Laurens Aarnoudse (@razpudding) (BT 2)
  • SIS: Backend Development
  • Credit: 3 ECTS
  • Academic year: 2017-2018
  • Period: Quarter 3 (spring)
  • Programme: Communication and Multimedia Design (full time bachelor)
  • Language: Dutch instructions and English resources
  • Entry requirements: N/A

Description

In Backend we peek behind the curtains and inspect what’s behind the web. You build web apps with Node.js, communicate with HTTP, and store data in a database with SQL and NoSQL. Additionally, you’ll navigate the command line, version control with Git, and deploy your app. In this course you’ll advance your web dev skills. You’ll learn to use computers to actually make what you design work: people can actually fill in forms, like things, and upload files.

Backend is an elective course given in Quarter 3 (spring) after the core curriculum of our programme, building further on knowledge acquired in Internetstandaarden, Inleiding Programmeren, and Frontend 1. This course is chosen alongside Frontend 2 and Project Tech, together making up Block Tech. In Project Tech you’ll apply your newfound backend skills.

If you’d like to continue with web development after this course, do a tech internship next quarter (Q4), choose Information Design (includes Frontend Apps, Functional Programming, and Frontend Data) for the fall semester next year, and pick Minor Everything Web in the spring semester after that.

Communication

  • GitHub — Main source of information, assignments, important dates, and more
  • Examples — Example code from slides
  • Slack — General chatter and Q&A
  • Moodle — Schedulers

Goals

Main goals

The 2 main goals in this course are that you’re able to:

  • Build web apps with Node
  • Store data in a database

Subgoals

In practice you’ll learn to:

  1. Navigate the command line (week 1)
  2. Version control with Git (week 1)
  3. Collaborate on GitHub (week 1 and week 2)
  4. Write docs in Markdown (week 1 and week 2)
  5. Understand Node principles (week 2 and later weeks)
  6. Use packages from npm (week 2)
  7. Communicate over HTTP (week 3 and week 4)
  8. Use web frameworks like express (week 4 and week 5)
  9. Render data server-side (week 4)
  10. Upload data and files to servers (week 4)
  11. Request data from clients (week 4)
  12. Respond with data from a server (week 4)
  13. Use SQL and NoSQL databases like MySQL and MongoDB (week 5)
  14. Let users sign up, log in, be logged in, and log out (week 6)

Grade

Task Weight
Participation 10%
Assessment 1※ (digital test) 40%
Assessment 2※ (oral test) 50%
Total 100%

※ passing both tests (min 5.5) is required

if (!participation && !a1 && !a2) {
  grade = 'GR'
} else if (a1 < 5.5 || a2 < 5.5) {
  grade = 1
} else {
  grade = (participation * 0.1) + (a1 * 0.4) + (a2 * 0.5)
}

Calendar

Dates are indicative. Check rooster.hva.nl for info on actual date, time, and place.

Class Date BT 1 Date BT 2 Date BT 3
Lecture 1 05-02 05-02 05-02
Lab 1 08-02 06-02 06-02
Lecture 2 12-02 12-02 12-02
Lab 2 15-02 13-02 13-02
Lecture 3 19-02 19-02 19-02
Lab 3 22-02 20-02 20-02
Lecture 4 05-03 05-03 05-03
Lab 4 06-03 06-03 06-03
Lecture 5 12-03 12-03 12-03
Lab 5 13-03 13-03 13-03
Lecture 6 19-03 19-03 19-03
Lab 6 22-03 20-03 20-03
Assessment 1 26-03 26-03 26-03
Lab 7 27-03 27-03 27-03
Lab 8 03-04 03-04 03-04
Assessment 2 09-04 or 10-04 09-04 or 10-04 09-04 or 12-04
Assessment 1 resit 29-07 29-07 29-07
Assessment 2 resit 28-07 26-07 25-07

Effort

Per activity

The below table breaks down the general time needed to complete activities.

Activity Effort
Lecture (6 × 1:40h) 10:00h
Lab (8 × 1:40h) 13:20h
Assignments (5 × 6:00h) 30:00h
Assessment 1 10:00h
Assessment 2 20:40h
Total 84:00h
Per week

The below table breaks down the general time needed per week.

Week Effort Topic Activities
1 9:20h command line lab, lecture, assignments
2 9:20h node lab, lecture, assignments
3 9:20h http lab, lecture, assignments
4 9:20h express lab, lecture, assignments
5 9:20h database lab, lecture, assignments
6 13:20h users lab, lecture, learn for assessment 1
7 12:00h style, review lab, assessment 1, work on assessment 2
8 12:00h deploy lab, work on assessment 2
9 assessment 2

Materials

Resources used in this course

  • 🆓 Young, Alex, and Mike Cantelon. Node.js in Action. Manning, 2017. (optional, free for AUAS students through Safari Books)

Resources to refresh your memory

Resources used in previous courses

Resources used in Frontend 2

Bugs

If you have questions:

Programme

This course is given at Communication and Multimedia Design, a design bachelor focused on interactive digital products and services. CMD is part of the Faculty of Digital Media and Creative Industries at the Amsterdam University of Applied Sciences.

Conduct

This course has a Code of Conduct. Anyone interacting with this repository, organisation, or community is bound by it.

Staff and students of the Amsterdam University of Applied Sciences (Hogeschool van Amsterdam) are additionally bound by the Regulation Undesirable Conduct (Regeling Ongewenst Gedrag).

License

Unless stated otherwise, code is MIT © Titus Wormer, docs and images are CC-BY-4.0.