Course syllabus

Prerequisites and Restrictions

Prerequisites:

  • COMPSCI 105 or 107

Restriction:

  • None

Course Description

The low level representation of data and algorithms in the computer. An introduction to computer organisation. The instruction execution model. Assembly and disassembly of instructions. Assembly language programming. How a high-level language is implemented at the machine level. Hardware support necessary to implement a secure multi-user operating system.

Staff involved in the course

Lecturers  

  • Dr Robert Sheehan (course coordinator)

r.sheehan@auckland.ac.nz
Room 303.409 
Office hours: whenever I am around or email me for appointment

  • Dr Xinfeng Ye

xinfeng@cs.auckland.ac.nz
Room 303.589
Office hours: whenever I am around or email me for appointment

Tutors

  • Josh Hill

jhil955@aucklanduni.ac.nz
Office hours: Tuesday 1pm, Thursday 12pm to 2pm. Location: Computer Science Level 4 open area

  • Callan Christophersen

cchr158@aucklanduni.ac.nz
Office hours: Monday 10am, Friday 11am. Location: 303.483-303.499

Class Representative

  • Anna Christison

achr722@aucklanduni.ac.nz

Timetable

Lectures

Mo 2:00PM - 3:00PM - 201N-346 (Human Sciences - North,Rm 346)

Tu 9:00AM - 10:00AM - 109-B28 (General Library, Room B28)

Th 9:00AM - 10:00AM - 109-B28 (General Library, Room B28)

Laboratories

These start in week 2.

Mo 9:00AM - 10:00AM - 303S-175 (Science Main, Room 175)

Mo 4:00PM - 5:00PM - 303S-G75 (Science Main, Room G75)

Mo 5:00PM - 6:00PM - 303S-G75 (Science Main, Room G75)

We 4:00PM - 5:00PM - 303S-G75 (Science Main, Room G75)

Th 4:00PM - 5:00PM - 303S-G75 (Science Main, Room G75)

Fr 10:00AM - 11:00AM - 303S-G75 (Science Main, Room G75)

Fr 2:00PM - 3:00PM - 303S-G75 (Science Main, Room G75)

Fr 4:00PM - 5:00PM - 303S-B75 (Science Main, Room B75)

Course Outcomes

A student who successfully completes this course should be able to:

  • describe elemental data structures, including characters, strings, signed & unsigned integers (various sizes), and pointers
  • convert between various representations of a number
  • describe the range and limitations of representations of numbers
  • describe the execution of basic instructions at the instruction set architecture level
  • write simple assembly language programs
  • describe the assembly process, and the information that is contained in assembly language instructions
  • explain the concept of a pointer and distinguish between the value of a pointer and the entity pointed to 
  • write simple programs in C
  • describe how an operating system and high-level languages provide abstractions that simplify the programming of complex systems
  • describe how the features of virtual memory, user/kernel mode, interrupts and exceptions make it possible to implement a secure multi-user system

Lecture Schedule

  • What is a computer system?
  • Bits and integer representation
  • Character and string representation
  • Arithmetic operations
  • Logic operations
  • Logic gates
  • Combinational logic
  • Storage elements
  • Sequential logic
  • The von Neumann model
  • An Instruction Set Architecture (ISA)
  • Assembly language
  • Input and Output including interrupts
  • Traps
  • Subroutines
  • Memory stack
  • Introduction to programming in C
  • Mapping C variables and operators to an ISA
  • Mapping C Control Structures to an ISA
  • Mapping C functions to an ISA
  • Handling C function calls
  • Mapping C pointers and arrays to an ISA
  • Mapping C structures to an ISA
  • Handling C’s dynamic memory allocation
  • User/kernel mode
  • Hardware support for context switching
  • Hardware support for synchronisation
  • Exceptions
  • MMU and virtual memory

Assessment 

Requirements for passing

In order to pass the paper, you must:

  • Pass test and exam combined - the pass mark is 50%
  • Get an overall pass of 50%

N.B. The assignments are worth 20% and so if you don't do them you are automatically losing 20%. Also the test and exam will have questions based on the work in the assignments. So if you don't do the assignments you are making it very difficult to pass the course.

 Laboratories

There are labs every week, beginning in week two. There are no marks associated with the labs but you will get experience and assistance with understanding the material and programming in LC-3 assembly language and C.

Assignments

The assignments are worth 20% in total.

A1 5% due Wednesday the 22nd of March

A2 5% due Wednesday the 12th of April

A3 10% due Friday the 2nd of June

Details of the assignments will be announced shortly.

Test 

The test is worth 20% of your final mark, and will be held from 6:30 to 7:30pm on Thursday the 4th of May in the following locations:

Conference Centre Lecture Theatre/423-342
Eng1401/401-401
Eng1439/401-439
OGGB4/260-073

Information on which room you need to attend will be provided closer to the test date.

Exam

The final exam is worth 60% of your final mark. Please check Student Services Online for the exam time and date. The exam is closed book, and calculators are not permitted. Provisional exam results can be obtained from Student Services Online.

Assistance
There are a number of places where you can seek assistance with your learning.

Office Hours

All staff have office hours when they are available to students (see above). You are encouraged to come and discuss any matters arising from the course during those hours. Staff are also frequently available at other times.

Lecture Recordings

All lectures are recorded. There may be a delay of 1-2 days before the lecture recordings are distributed through Canvas. You can find the lecture recordings on the Lecture Recordings page (COMPSCI 210 > Pages > Lecture Recordings). Note that although the lectures are recorded, some learning activities conducted in class do not translate well to the recordings. To maximise your learning opportunities, you are encouraged to attend the class in person.

Discussion Forums

The Piazza discussion forums within Canvas are regularly monitored by teaching staff. Please make use of the forums to ask any questions that you think might be of interest to other students. If your question is of a personal nature, or relates to a unique situation that will be of little interest to others, then please contact the teaching staff directly.

Textbook

Introduction to Computing Systems: From Bits and Gates to C and Beyond, 2/e
Yale N. Patt, University of Texas at Austin
Sanjay J. Patel, University of Illinois at Urbana/Champaign

http://highered.mheducation.com/sites/0072467509/index.html

Help with Canvas

For help with Canvas see:
https://www.auckland.ac.nz/en/about/learning-and-teaching/CanvasHomepage/canvas-help---support.html.


Handling illness or absence

If you must leave for family emergencies etc., PLEASE talk to the lecturer, or somehow get a message to the department. Very few problems are so urgent that we cannot be told quite quickly.
For problems affecting assignments or tests, see the lecturer, as soon as reasonably possible.
For illness during exams (or other problems that affect exam performance) students MUST contact the University within one week of the last affected examination, to apply for an aegrotat pass (for illness) or compassionate pass (other problems). The one week limit is strictly enforced.
Refer to the University information about Aegrotat and Compassionate Considerations:
https://www.auckland.ac.nz/en/for/current-students/cs-academic-information/cs-examination-information/cs-aegrotat-and-compassionate-consideration.html

Academic Integrity
The University of Auckland will not tolerate cheating, or assisting others to cheat, and views cheating in coursework as a serious academic offence. The work that a student submits for grading must be the student's own work, reflecting his or her learning. Where work from other sources is used, it must be properly acknowledged and referenced. This requirement also applies to sources on the world-wide web. A student's assessed work may be reviewed against electronic source material using computerised detection mechanisms. Upon reasonable request, students may be required to provide an electronic version of their work for computerised review.
Please refer to http://www.auckland.ac.nz/uoa/home/about/teaching-learning/honesty.

Course summary:

Date Details Due