Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Spring 2019
Content and learning outcomes
Course contents
Architecture, elements and concepts of modern computing systems and how they relate to each other. The content will include:
- computer architecture
- machine language
- assembler and higher level programming languages
- compilers
- operating systems
- virtual machine
Intended learning outcomes
After the course the students will be able to:
- discuss the fundamental concepts of how to build a modern computer from the ground up
- construct a computing system, by building key components themself
- to use software emulation tool for computer architecture design
Learning activities
This is a project based course where students participate in lectures, watch videos, read the course book and solve small projects at home. The course follows the book The Elements of Computing Systems, with somewhat modified projects.
The course contains the following activities:
Projects: The course consists of ten projects. You will have to solve one or two projects per week and submit the solution before the following lecture. There is a voluntary project to broaden the view on computer architecture; it gives bonus points for higher grade (ie the points count only above a passing grade).
Lectures (Föreläsning): There are eleven lectures in the course. The participation at the lectures is strongly recommended and is necessary to be able to pass the course. On the lecture we discuss the solution of the project that was to be submitted before the lecture, and we introduce the topic of the next project. The lectures are in the classroom.
Tutorials (Handledning): There are one or two tutorial sessions for each project. During the tutorials teaching assistants answer your questions related to the project, and related to the course material in general. Attending the tutorials is not compulsory. The tutorials are both on-line and in the classroom.
Presentations (Redovisning): Each lecture is preceded by a presentation session. You will be called to a handful of the presentation sessions (not all), and you will then have to present your solution for some of the projects to a teacher or to a teaching assistant. The presentations are on-line. Make sure that you can identify yourself with ID through a camera.
Mid-term tests (Kontrollskrivning): There are three mid-term tests during the course, where you have to answer questions related to the theoretical content of the course, as well as questions related to the projects. The tests are not compulsory, but contribute significantly to the points for the LAB moments. The test will be given as scheduled Quiz in Canvas. They will start at the times given in the course schedule, and will be half an hour long.
Exam (Tentamen): There is a written exam at the end of the course. The exam is compulsory. The exam will be three hours long. The exam will be in classrooms in the campus.
Preparations before course start
Recommended prerequisites
IE1205 Digital design or similar
DD1316 Programmeringsteknik och C or similar
Specific preparations
Prepare the software needed for the course, so that you do not need to spend time with it once the course starts.
Review the schedule carefully, there are many activities and deadlines in the course.
Literature
Nisan and Schocken, "The Elements of Computing Systems: Building a Modern Computer from First Principles" , MIT Press. The first chapters are available in full text at https://www.nand2tetris.org/. The entire book is available electronically through the KTH library.
LABA - Laboratory, 1.5 credits, Grading scale: P, F
LABB - Laboratory, 1.5 credits, Grading scale: P, F
TEN1 - Examination, 3.0 credits, Grading scale: A, B, C, D, E, FX, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
The section below is not retrieved from the course syllabus:
The course has three moments: LABA, LABB and the final exam. Only students who passed both LABA and LABB are allowed to take the final exam.
To pass the LABA moment, you need at least 15 points from the five first projects and the first test.
To pass the LABB moment, you need at least 20 points from the last five projects and the second and third tests.
If you have not completed the lab: you have to repeat the uncompleted moment(s) (LABA or LABB or both) at a future course round.
Requirements to pass the course with grade E: pass the moments LABA and LABB, as well as pass the exam.
Requirements for higher grades: For the final grade in the course, points from the projects, tests and exam are added up together with bonus points from the optional Project 11, if any.
Further details are given in the Canvas room of the course.
Opportunity to complete the requirements via supplementary examination
Labs and mid-term exams can not be completed with supplementary examination.
The written exam can be completed if the pass level is missed with a maximum of two points (grade FX).
Opportunity to raise an approved grade via renewed examination
It is allowed to raise the grade by writing the written exam again.
Ethical approach
All members of a group are responsible for the group's work.
In any assessment, every student shall honestly disclose any help received and sources used.
In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
No information inserted
Contacts
Communication during course
The course coordinator should be contacted with general questions and the actual teacher should be contacted with questions related to the lecture material and project.
The course coordinator or the teachers should be preferably reached through mail from Canvas. If you mail the coordinator or the teachers directly, use always your KTH e-mail and add the coruse code in the subject line.
The course coordinator should be contacted with general questions and the actual teacher should be contacted with questions related to the lecture material and project.
The course coordinator or the teachers should be preferably reached through mail from Canvas. If you mail the coordinator or the teachers directly, use always your KTH e-mail and add the coruse code in the subject line.