CSC3501 Computer Organization & Design / Spring 2021

Updates

  • Our course is available on Moodle now. This website will not be updated.

  • New Lecture is up: Data Representations and Operations (Floating Point) [slides] [video]
  • New Lecture is up: Data Representations and Operations (Integers) [slides (updated)] [video]
  • New Lecture is up: Data Representations and Operations (Bits and Bytes) [slides] [video]
  • New Lecture is up: Course Overview [slides]

Course Description

The course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required.

Topics

Topics of interest include, but not limited to the following:

  • Overview of Computer Systems
  • Data Representations and Operations
  • Assembly Programming
  • Memory Hierarchy
  • Processor Architecture

Prerequisites

  • CSC 2259 Discrete Structures
  • C programming experience (highly recommended)

We will be programming in a Unix (GNU/Linux) environment, using assembly and ANSI C (gcc).

Course Syllabus


Instructors

Teaching Assistants

TBD