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


Repository files navigation

Backend - Course 2018-2019

Note: Back-end has concluded for 2018/2019. Next year will be a new, changed, curriculum. Back-end scores an 8.2 in the student survey!

Table of Contents


The course Backend is given at @CMDA in 2019 between 4 February and 20 June.

  • Course: Backend
  • Coordinator: Danny de Vries
  • Lecturers: Danny de Vries (@dandevri) (bt-1 and bt-3) and Laurens Aarnoudse (@razpudding) (bt-2)
  • SIS: Backend Development
  • Credit: 3 ECTS
  • Academic year: 2018-2019
  • 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 MongoDB. 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 Blok Web.

This course is chosen alongside Frontend 2 and Project Tech, together making up Block Tech. In project Tech you鈥檒l learn how to navigate the command line, version control with Git, and deploy your app. 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 the Tech Track 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

If you have questions:


Main goals

The main goals in this course:

  • You can build web apps with Node
  • You can store data in a database
  • You can use packages from npm
  • You can render data server-side with templating
  • You can communicate over http

Sub goals

In practice you鈥檒l learn to:

  • Understand Node principles (week 1)
  • Use packages from npm (week 1)
  • Communicate over HTTP (week 2)
  • Use web frameworks like express (week 2)
  • Render data server-side (week 2)
  • Upload data and files to servers (week 3)
  • Respond with data from a server (week 3)
  • Request data from clients (week 3)
  • Connect to database with Mongoose (week 4)
  • Get data from MongoDB (week 4)
  • Debugging, error handling and deploying (week 4)

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

Week Effort Topic Activities
0 NaN getting started getting started
1 9:20h node & npm lab, lecture, assignments
2 9:20h http & express lab, lecture, assignments
3 9:20h data & requests lab, lecture, assignments
4 9:20h databases lab, lecture, assignments
5 NaN assessment 1 a1 (oral test)
6 13:20h prototype lab, work on prototype
7 NaN assessment 2 a2 (oral test)
Schedule Block tech schedule overview


Task Weight
Participation 10%
Assessment 1 (oral test) 60%
Assessment 2 (oral test) 30%
Total 100%
if (!participation && !a1 && !a2) {
  grade = 'GR'
} else if (a1 < 5.5 || a2 < 5.5) {
  grade = 1
} else {
  grade = (participation * 0.1) + (a1 * 0.6) + (a2 * 0.3)


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 and Modified by Danny de Vries, docs and images are CC-BY-4.0.