Skip to content
This repository has been archived by the owner on Jan 8, 2019. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Backend - Course 2017-2018

Note: This course is done. Next year will be a new, changed, curriculum. Here are a few results of this year though:


Table of Contents


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


In Backend we peek behind the curtains and inspect what鈥檚 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鈥檒l navigate the command line, version control with Git, and deploy your app. In this course you鈥檒l advance your web dev skills. You鈥檒l 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鈥檒l apply your newfound backend skills.

If you鈥檇 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.


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


Main goals

The 2 main goals in this course are that you鈥檙e able to:

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


In practice you鈥檒l 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)


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)


Dates are indicative. Check 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-06 29-06 29-06
Assessment 2 resit 28-06 25-06 25-06


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


Resources used in this course

  • 馃啌 Young, Alex, and Mike Cantelon. Node.js in Action. Manning, 2017 (optional鈥)
  • 馃啌 Hahn, Evan. Express in Action. Manning, 2016 (optional鈥)

鈥 free for AUAS students through Safari Books

Resources to refresh your memory

Resources used in previous courses

Resources used in Frontend 2


If you have questions:


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.


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


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


馃帗 Backend 路 2017-2018 路 Curriculum and Syllabus 馃捑




Code of conduct





No releases published


No packages published