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) |
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. |
Assessment (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. apply knowledge of mathematics, science, and engineering appropriate to the AI degree discipline (K/S); | |
2. design and conduct experiments, as well as to analyze and interpret massive data (K/S); |
|
3. 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); | |
4. identify, formulate and solve AI-related engineering problems (K/S); |
|
5. understand professional and ethical responsibility (K/V); |
|
6. communicate and work effectively in multi-disciplinary teams (S/V); | |
7. 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); | |
8. recognize the need for and the importance of life-long learning (V); and | |
9. use the techniques, skills, and modern computing tools necessary for engineering practice appropriate to the AI and computing discipline (K/S). |
|
Remarks: K = Knowledge outcomes; S = Skills outcomes; V = Values and attitude outcomes |