Note: Back-end has concluded for 2020/2021. Next year will be a new, changed, curriculum. Have a look at the
/examples
folder to see some results from this year. A big thank you to our all our students, student assistants and teachers!
The course Back-end is given at @CMDA in 2021 between February 3 and June 26.
- Course: Backend Development (
2000BAD_16
) - Coordinator: Danny de Vries - [email protected]
- Lecturers: Danny de Vries (@dandevri), Sonja Rouwhorst (@rouws) and Ioannis Kapritsias (@turiguilano)
- Credit: 3 ECTS
- Academic year: 2020-2021
- Period: Quarter 3 (spring)
- University: Amsterdam University of Applied Sciences
- Programme: Communication and Multimedia Design (full time bachelor CROHO:
34092
) - Faculty: Digital Media and Creative Industries
- Language: Dutch instructions and English resources
- Entry requirements: N/A
In Back-end 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.
Back-end 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.
If you’d like to continue with web development after this course, do a tech internship, choose the Tech Track for the fall semester next year, and pick Minor Everything Web in the spring semester after that. Just a quick check if anyone actually reads this: if you see this, please send your teacher a picture of your favorite animal.
Back-end is part of the CMD Amsterdam design & build space (technical course) that focusses on Conceptualizing (2), Imagining and creating (3), Multidisciplinary collaboration (5) & Research (9) competences.
- GitHub — Main source of information, slides, assignments and more
- Microsoft Teams — General chatter and Q&A
- Brightspace — Schedulers, rubrics and grading
If you have questions:
- Read the manual for the technology in question (Git, GitHub, Node, npm, express, MongoDB)
- Browse examples
- Search StackOverflow
- Use a search engine like DuckDuckGo
- Ask questions on MS Teams
This course doesn't have office hours. Teachers have limited time to help you outside of class. Attendance to class is not compulsory. 80% of success in this course is showing up, so show up and come prepared with your questions. Don't hesitate to ask questions or feedback during class.
The main goals in this course:
- You can build web apps with Node and use packages from NPM
- You can communicate over HTTP and understand the client / server flow
- You can render data server-side with a templating engine
- You can store data in a database and update that data
- You can write documentation that other developers understand
- You can explain your code and the cohesion (flow) of your application
In practice you’ll learn to:
- Understand Node principles (week 1)
- Use packages from npm (week 1)
- Use web frameworks like express (week 2)
- Communicate over HTTP (week 2)
- Render data server-side with templating (week 2)
- Upload data and files to servers (week 3)
- Request data from clients (week 3)
- Store and update data in a MongoDB database (week 4)
- Use localStorage to store data client-side (week 4)
- Pick your own topic to work on (deploy, security etc.) (week 5+)
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 & express | lab, lecture, assignments |
2 | 9:20h | query & template | lab, lecture, assignments |
3 | 9:20h | http | lab, lecture, assignments |
4 | 9:20h | database | lab, lecture, assignments |
5 | NaN | assessment 1 | a1 (oral test) |
6 | 13:20h | topic | lab, work on prototype |
7 | 13:20h | topic | lab, work on prototype |
8 | NaN | assessment 2 | a2 (oral test) |
Check
rooster.hva.nl
for exact class dates
Task | Weight |
---|---|
Assessment 1 (individual) | 60% |
Assessment 2 (team) | 40% |
Total | 100% |
if (!a1 && !a2) {
grade = 'GR'
} else if (a1 < 5.5 || a2 < 5.5) {
grade = 1
} else {
grade = (a1 * 0.6) + (a2 * 0.4)
}
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.
Our curriculum and course material are publicly available on the Block Tech (github.com/cmda-bt) GitHub organization. We follow the global trend to make teaching materials accessible to everyone inspired by the Open Education Global.
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).
We are dedicated to provide you with a learning environment that is rigorous, respectful and supportive so you can engage in the free exchange of ideas and commit yourself fully to the study of your discipline. To that end we are committed to enforce important AUAS policies. You can find our policies and statements (e.g. accessibility, health, plagiarism) in the docs
folder.
MIT © Danny de Vries, docs and images are CC-BY-4.0.