Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

EP1200 Introduction to Computing Systems Engineering 6.0 hp

Course memo Spring 2024-60589

Version 1 – 03/01/2024, 11:10:19 AM

Course offering

CELTE, CINEK (Start date 18 Mar 2024, English)

Language Of Instruction

English

Offered By

EECS/Computer Science

Course memo Spring 2024

Course presentation

This course gives an introduction to the key concepts of digital design, computer architecture, compliers and software engineering. Thisis done constructively, by building a simple, but general purpose computer from basic digital building blocks up to the operating system. In this process we will explore many ideas and techniques used in the design of modern hardware and software systems.

During the course, students build the software emulation of a computer, through the sequence of 12 small projects, each addressing a building block of a modern computing system.

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.

Equipment

Own computer is needed.

Software

Working python is needed on own computer.

Additional software tools and test programs need to be downloaded from https://www.nand2tetris.org/.

Examination and completion

Grading scale

A, B, C, D, E, FX, F

Examination

  • 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.  There is no possibility to re-do some of the lab moments during or after the course.

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

Round Facts

Start date

18 Mar 2024

Course offering

  • CELTE, CINEK Spring 2024-60589

Language Of Instruction

English

Offered By

EECS/Computer Science

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.

Course Coordinator

Teachers

Examiner