AIST3020 Introduction to Computer Systems


Course code AIST3020
Course title Introduction to Computer Systems
Course description This course aims to provide students the basic knowledge of computer systems through the study of computer organization, assembly language and C programming. The course will mainly have two parts: (1) the structure of a computer that includes topics like data representations, digital logic structures, the Von Neumann model, assembly language, I/O, traps, subroutines and the stack; (2) system programming with C that includes topics like functions, pointers and arrays, file operations, dynamic memory management and data structures.
本科著重通過學習計算器系統組成原理、組合語言和 C 語言系統程式設計,使學生掌握計算器系統的基本知識。本科主要包括二方面的內容:(1)計算器系統結構:包括資料表示、數位邏輯結構、馮·紐曼模型、組合語言基礎、輸入輸出系統、陷阱、過程及棧;(2)基於C 語言的系統程式設計:包括函數、指標及陣列、檔操作、動態記憶體管理及資料結構。
Unit(s) 3
Course level Undergraduate
Semester 2
Pre-requisites (ENGG1110 or ESTR1002) AND (ENGG2440 or ESTR2004)
Exclusions CSCI3150 or ESTR3102
Grading basis Graded
Grade Descriptors A/A-:  EXCELLENT – exceptionally good performance and far exceeding expectation in all or most of the course learning outcomes; demonstration of superior understanding of the subject matter, the ability to analyze problems and apply extensive knowledge, and skillful use of concepts and materials to derive proper solutions.
B+/B/B-:  GOOD – good performance in all course learning outcomes and exceeding expectation in some of them; demonstration of good understanding of the subject matter and the ability to use proper concepts and materials to solve most of the problems encountered.
C+/C/C-: FAIR – adequate performance and meeting expectation in all course learning outcomes; demonstration of adequate understanding of the subject matter and the ability to solve simple problems.
D+/D: MARGINAL – performance barely meets the expectation in the essential course learning outcomes; demonstration of partial understanding of the subject matter and the ability to solve simple problems.
F: FAILURE – performance does not meet the expectation in the essential course learning outcomes; demonstration of serious deficiencies and the need to retake the course.
Learning outcomes At the end of the course of studies, students will have acquired the ability to
1. understand the underlying structure of a computer, the functions of its components, and the Von Neumann model;
2. write simple assembly programs and understand how assembly programs works;
3. develop system-level software with C.
(for reference only)
Essay test or exam: 40%
Homework or assignment: 40%
Lab reports: 10%
Others: 10%
Recommended Reading List 1. Introduction to Computing Systems: From Bits and Gates to C and Beyond, Yale Patt and Sanjay Patel
2. Computer systems: a programmer’s perspective, Randal E. Bryant, David R. O’Hallaron


AISTN programme learning outcomes Course mapping
Upon completion of their studies, students will be able to:  
1. identify, formulate and solve AI-related engineering problems (K/S);    Y
2. design a system, component, or process to meet desired needs within realistic constraints, such as economic, environmental, social, political, ethical, health and safety, manufacturability and sustainability (K/S/V);
3. understand the impact of AI solutions in a global and societal context, especially the importance of health, safety and environmental considerations to both workers and the general public (K/V);  
4. communicate and work effectively in multi-disciplinary teams (S/V);
5. apply knowledge of mathematics, science, and engineering appropriate to the AI degree discipline (K/S); 
6. design and conduct experiments, as well as to analyze and interpret massive data (K/S);  Y
7. use the techniques, skills, and modern computing tools necessary for engineering practice  appropriate to the AI and computing discipline (K/S);
8. understand professional and ethical responsibility (K/V); and
9. recognize the need for and the importance of life-long learning (V).
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes