MCS-284: Computer Organization

Overview

MCS-284 will cover computer systems as seen through the eye of a programmer. Students will learn how a computer execute programs, store information, and communicate. They will become more effective programmers, especially in dealing with issues of performance, portability and robustness. The course also serves as a foundation for courses on compilers, computer networks, database systems, operating systems, etc, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.

Text

Our texts will be the third edition of Computer Systems: A Programmer’s Perspective by Randal E. Bryant and David R. O’Hallaron, published by Pearson, and the second edition of The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, published by Prentice-Hall.