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

cmda-bt/be-course-18-19

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

Synopsis

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

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 MongoDB. 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 Blok Web.

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

If you have questions:

Goals

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’ll 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

Grade

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

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