COMP 411, Spring 2018: Computer Organization

Latest Announcements

11/17: Initial page posted

See all announcements RSS 2.0 feed

Course Info

Course Objectives and Description

This course will introduce students to computer organization and design. Students will be introduced to the conceptual design of a basic microprocessor, along with assembly and C programming. We start with an overview of trends in computer design and performance, and then introduce fundamental concepts such as binary numbers, binary arithmetic, and representing information as well as instructions. Students learn to program in the C language and then in assembly (i.e., machine) language. The second half of the course focuses on fundamentals of computer hardware design, starting with transistors and logic gates, progressing through basic combinational and sequential components (including arithmetic circuits, state machines, memories, etc.), culminating in the conceptual design of a full but basic CPU (a mini MIPS processor). The course ends with a brief overview of some of the more advanced topics, such as pipelining and cache memory.

If you follow the course readings, lectures, and homeworks, you will come out of this course with the following:

More philosophically, a computer scientist with an bachelor's degree should not view any part of the computer as "magic," but should either understand how it works or have the tools to figure it out. For instance, when one writes code to add two numbers, what is happening inside the CPU that leads to the instruction returning the correct value?

Thus, an important part of the course will be the hands-on experience. For that, you will complete lab assignments using low-level programming in C and assembly.

Detailed information about the course is available on the syllabus.

Acknowledgements

Portions of this course design, organization, policies, syllabus, web design, etc. came Montek Singh.

This course website was created using the Coursegen toolkit written by Dave Andersen and Nick Feamster. Thanks!


Last updated: 2017-11-22 16:21:37 +0000 [validate xhtml]