This course presents the principles behind the design and building of computer systems, in particular systems needed in the process of tackling a research problem. Some of these principles lead directly to objectives and properties that are desirable in systems of any type, including correctness, scalability, high performance, ease of use, trustworthiness and reliability. Some important implementation techniques that are applicable to a wide range of systems will be discussed. To assess a system against its objectives, rigorous testing and evaluation procedures need to be followed, which are part of the focus of the course.
Teaching Period: January 15, 2018 - April 28, 2018
Reading Week: March 5, 2018 - March 10, 2018
||Room 308, Chow Yei Ching Bldg