Du hittar kurs-PM för nyare kursomgångar på sidan Kurs-PM.
Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Spring 2020
Content and learning outcomes
Course contents
The course gives basic knowledge of how a computer functions and is built-up both from a hardware and from a software perspective The course is divided into six different modules, which for example include the following basic concepts:
C-programming and assembler language: pointers, functions, stack, assembly language, machine language, instruction encoding and processor registers.
I/O system: timers, interrupts and memory mapped I/O.
Digital design: truth tables, gates, boolean algebra, multiplexers, decoders, adders, combinatorial nets, sequential networks and registers.
Processor construction: arithmetic-logic unit, data path, control unit and pipeline.
Memory architectures: instruction cache, data cache and virtual memory.
Parallel processors and programs: Amdahl's law, different variants of parallelism as well as multicore.
Note that module 3 is recommended prior knowledge to the course and comes not to be treated on lectures or labs. However, the material for module 3 will be available on the course homepage, as it is prior knowledge to module 4.
Intended learning outcomes
After passing the course, the student shall be able to
Implement low-level programs in the C programming language and in an assembly language
Implement low-level programs with input-output, timers, and interrupts
Analyse processor microarchitectures, with and without a pipeline,
Analyse memory hierarchies, including cache-structures.
Compare fundamental concepts about multiprocessor computers.
Explain and describe technical solutions both orally and in writing.
For higher grades, the student shall also be able to construct more complex programs and/or discuss and analyze concepts within the course. The details are specified in the course memo.
Learning activities
Lectures: The goal is to provide an introduction to the different topics covered in the course.
Exercises: The goal is to see how a teacher solves a complex problem and to answer students' questions.
Seminars: The goal is for the students to prepare themselves before the seminar activity and interact during the seminar.
Laboratory: The goal is to actively program and code either on simulators or real devices.
Mini Project: The goal is to let students work in groups on self-chosen projects. .
Lunch Q&A: The goal is to help students to answer their questions.
LAB1 - Laboratory Work, 4.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:
Laboratory Work (LAB1)
4.5 credits Grade P or F. The student receives a grade P (Pass) if LAB1, LAB2, LAB3, LAB4 and the project are approved. The project is only required if the student aims for a grade higher than D.
Examination (TEN1)
3.0 credits Grades A, B, C, D, E, FX, and F. The grade is reported after passing the exam. See below a description of the grading criteria. Note that it is allowed to write the exam several times in order to achieve a higher grade (ie, plus is allowed).
NOTE
The plan is to have an individual computer-based examination at KTH in Kista.
Registration to the exam happens through Canvas and NOT on Ladok
Exam structure
Part I: Fundamentals
Max 40 points (IS1200).
8 points for each module.
Short questions with short answers.
Part II: Advanced
Comprehensive questions.
Discuss, analyze, and construct.
Grading criteria/assessment criteria
Pass criteria:
To get a pass grade on the exam (A, B, C, D, or E), it is required to pass Part I of the exam. For IS1500 students, it is required to get at least 2 points on each module (excluding bonus points), and in total at least 36 points on Part I (including bonus points). For IS1200 students, it is required to get at least 2 points on each module (excluding bonus points), and to get at least 30 points in total on modules 1, 2, 4, 5, and 6 on Part I (including bonus points). Note that there is an explicit mapping between the official learning goals of the course, and the modules. That is, the criterion to pass the course is to have sufficient knowledge on all modules. The learning goal of explaining technical solutions orally and in writing is examined during labs and in the project.
Grading criteria:
Passing only Part I gives in total grade E on the exam. To get a higher grade (A, B, C, or D), the student needs to show knowledge within three different abilities, each represented as a separate question in Part II.
Question 1: Discuss: Test the ability to discuss and compare different concepts present in the course. The focus of the discussion is on module 6, but other concepts from modules 1, 2, 4, 5 may also appear on the exam. The question is graded in three levels S, G, and VG, with the following criteria:
Satisfactory (S): Some of the concepts in the question are clearly explained.
Good (G): Basically all concepts in the question are clearly explained, and some of the concepts are related to each other, by discussing similarities and differences.
Very Good (VG): Basically all concepts in the question are clearly explained, and all of the concepts are related to each other, by discussing similarities and differences.
Question 2: Construct: Test the ability to correctly construct larger C and/or Assembly programs. The focus on the construction question is on modules 1 and 2. The question is divided into three tasks/functions, each corresponding to one of three levels of difficulty: L1, L2, and L3. The question is graded in three levels S, G, and VG, with the following criteria:
Satisfactory (S): The task at level L1 is solved correctly.
Good (G): Either the task at level L2 or the task at level L3 is solved correctly.
Very Good (VG): Both the tasks at level L2 and L3 are solved correctly.
Question 3: Analyze: Test the ability to analyze C and/or Assembly programs with respect to pipelines and/or caches. The focus on question 3 is on modules 4 and 5. The question is divided into three analysis tasks, each corresponding to one of three levels of difficulty: L1, L2, and L3. The question is graded in three levels S, G, and VG, with the following criteria:
Satisfactory (S): The task at level L1 is solved correctly.
Good (G): Either the task at level L2 or the task at level L3 is solved correctly.
Very Good (VG): Both the tasks at level L2 and L3 are solved correctly.
In summary, the final grades on the exam are given as follows:
Grade A: Passed Part I, performed an advanced project, and received three VG or two VG and one G on part II.
Grade B: Passed Part I, performed an advanced project, and received one VG and two G or two VG and one S on part II.
Grade C: Passed Part I, and received three G or two G and one S or one VG and two S or one VG and one G and one F or two VG and one F or one VG and one G and one S on part II.
Grade D: Passed Part I, and received three S or one G and one S and one F or two G and one F or one VG and one S and one F or one VG and two F or one G and two S on part II.
Grade E: Passed Part I.
Grade FX: At least 36 points (for IS1500) or at least 30 points (for IS1200) on Part I, and at most one module with less than 2 points.
Grade: F: otherwise
Bonus points: It is possible to get up to 4 bonus points on the seminars. These bonus points will be added to part I, fundamentals. The points will not be added to a specific module, but is counted when summarizing the total points of Part I. The bonus points are not shown in the quiz.
Advanced project: To get grade A or B on the written exam, the student must have completed an advanced project before the exam and within the same course year. That is, the accomplishment of completing an advanced project gives the possibility to get grade A or B on the ordinary exam when the project was completed, and on the two following retake exams. The status of your project (basic or advanced) is not shown in the quiz, but will be used when calculating your final grade after the exam.
Opportunity to complete the requirements via supplementary examination
If the student receives an FX on the exam, they are offered an oral examination regarding completion of the modules that the student did not pass. Please contact the examiner if you have received FX on the exam. See above description of what applies to get FX.
Opportunity to raise an approved grade via renewed examination
Plusing of grades is allowed. Please contact student support to register for the exam.
If you would plus but you get a lower grade at the exam than what has already been reported in LADOK, you will keep the grade that is in LADOK, i.e., plus cannot lower your rating. Note that if you are trying to achieve a grade of A or B for plus, you must still have passed an advanced project during the same course as you complete the exam.
Reporting of exam results
The final grade for the course is reported when LAB1 and TEN1 are approved in LADOK. The final grade is the same as the result on TEN1.
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.