Course Computer Systems for AI-programmers

"Computersystemen voor AI-programmeurs"

This is the information of the SPRING 2011

The site of the previous year can be found here.


Description

The official description of course baiCSAI03 can be found (in Dutch) here.

Literature

The course is based on the book Computer Systems: A programmer's perspective by R.E. Bryant and D.R. O'Hallaron. Note that in April 2010 a new edition is published. . The book has also a student site with additional material.


Schedule

The official schedule can be changed any moment. Actually, as we speak, the schedule has changed on January 28. Please report when you discover a difference with the schedule on this page. The course is scheduled in week 5-12. Originally the schedule was on Wednesday and Thursday, after my request for a larger room Tuesday and Wednesday and after my request for a Linux room Monday and Tuesday. Because this resulted in rather full schedule on Monday, the schedule moved back to Tuesday and Wednesday. Note that the block on Monday afternoon is an artefact from previous shifts.. Students, who were not able to attend a lecture, can catch up by listing to the recordings of my lectures. Download Lecturnity Player and listen to lecture, synchronized with the sheets.
 
day time location remarks
Monday 16:00 - 18:00 Studio Classroom A1.20-22 No lecture or assistance
Tuesday 10:00 - 13:00 Studio Classroom F2.04 (last week: A1.16) Combined lecture, workgroup and assistance on weekly assignment
Wednesday 13:00 - 16:00 Studio Classroom G0.10-12 Combined lecture, workgroup and assistance on weekly assignment

Both days Arnoud Visser will be present. The last hour of each day Eva Greiner will assist with the assignments. The course is given in 6 weeks, and will concentrate on certain parts of the book (those of interest for AI-students) (ICS curriculum).

Chapter Topic Week remark
  1 Tour of systems 5
  2 Data representation
  3 Machine language 6 Program Control in C
  4 Processor Architecture 7 Data representation in C
  5 Code Optimization 8
  6 Memory hierarchy 9
  7 Linking
  8 Exceptional control flow 10
  9 Virtual memory 10
10 System-level I/O
11 Network programming
12 Concurrent programming

From the book, we have covered the following sections:

  • H1,
  • H3.1-3.4, 3.6-3.12,
  • H4.3.1, H4.4, 4.5.6-4.5.8, 4.5.12,
  • H5.1-5.10, 5.13-5.15
  • H6.1.4, 6.2, 6.3, 6.4.6, 6.4.7, 6.5, 6.6, pp. 639 & pp.649 "aside"s,
  • H8.1-8.5.1, 8.7, 8.8
  • H9.1-9.5, 9.7, 9.8 (until 9.8.4), 9.11, 9.12

Previous exams:

See also the exam page (including solutions) from CMU.

Evaluation

The course was in the this year evaluated by the participants with a 6.4:

.


Inheritance

In the old days, when Bachelors were not schooled at Dutch Universities, a different course was given, by a different teacher, and with another focus. Still, much can be learned from the course 'Operating- and Distributed systems'.


Links

  • Introduction to Computer Systems, Spring 2011, Gregory Kesden and Antony Rowe, CMU. Last updated May 9, 2011.

    o This web-page and the list of participants to this course is maintained by Arnoud Visser (a.visser@uva.nl)
    Faculty of Science
    University of Amsterdam

  • visitors in arnoud@science.uva.nl