School of Computing · ANU College of Systems and Society
This course is based on the foundations set by the previous course on computer organisation. It expands particularly into all forms of concurrent programming including aspects of massively parallel programming. This course introduces all basic mechanisms to analyse, design, and manage concurrent, single computer-node (multicore) as well as distributed applications (e.g. as performance or dependability enhancements). Following on from the previous course, the fields of operating systems and networking will also be expanded on. On the operating system side aspects of security, scheduling algorithms and memory management are discussed. More specific networking aspects follow on from message passing as a core concurrency construct. These include the basics of routing and dependable protocols.
Assignments
Learning outcomes 1, 2, 3, 5
Mid-semester test
Learning outcomes 2, 3, 4, 6, 7, 8
Final exam
Learning outcomes 2, 3, 4, 6, 7, 8
Lectures, tutorials/laboratory sessions, assessments and self-study to a total of 130 hours. Other Information Course Website
See class summary Preliminary Reading Textbook: Computer Systems: A Programmer's Perspective, Randal Bryant and David O'Halloran, 3rd edition, ISBN 978-9332573901. Reference: Effective C: An Introduction to Professional C Programming, Robert C. Seacord, ISBN 978-1718501041