CSC244 - Computer Architecture

3 Credit hours - 2 Lecture, 2 Lab

Prerequisite(s): Grade of “C” or better in CIS120

Course Rationale:

In this course students will learn the fundamentals of computer architecture to help them better understand the inner-workings and environment that their code works within. Students will gain an understanding of the internal hardware of different computing systems and how our internal components require consideration when writing applications.

Catalog Description:

An overview of computer architecture, which stresses the underlying design principles and the impact of these principles on computer performance. General topics include digital logic circuits, digital components, data representation, basic computer organization, processor design, control design, pipelining, vector processing, input-output organization, and memory organization.

Course Objectives

Upon successful completion of this course, the student should be able to:

  1. Describe how data is represented internally in different computer platforms

  2. Explain functions of various logic gates and flip-flops that are used in the design of digital components

  3. Apply K-maps and Boolean Algebraic techniques in designing simplified digital circuits.

  4. Explain functions and usages of various digital components such as decoders, encoders, multiplexers, adders, flip-flops, registers, etc… and use them in design.

  5. Explain the design of ALUs using components such as adders, multiplexers, etc.

  6. Explain and use processor design techniques that include control unit design.

  7. Explain various computer systems including accumulator machines, stack machines and general-purpose register machines, instruction types, instruction formats, and addressing modes.

  8. Explain the techniques of pipelining used in computer architecture.

  9. Explain memory system and performance improvement using cache memory.

All course assignments and exams are closely aligned to, and assess the student's mastery of these core objectives.

Core Outcomes

  1. Understanding of Data Representation:

    • Students will be able to accurately describe how data is represented and manipulated internally across different computer platforms.

  2. Proficiency with Digital Logic Components:

    • Students will demonstrate understanding of the functions of basic and complex logic gates, as well as flip-flops, and apply these components in various digital circuit designs.

  3. Circuit Design and Optimization:

    • Students will successfully apply Karnaugh maps (K-maps) and Boolean algebra to design and simplify digital circuits, enhancing their efficiency and functionality.

  4. Comprehensive Knowledge of Digital Components:

    • Students will have a thorough understanding of digital components like decoders, encoders, multiplexers, adders, flip-flops, and registers. They will be capable of using these components to design complex digital systems.

  5. ALU Design Skills:

    • Students will be able to design Arithmetic Logic Units (ALUs) using core components such as adders and multiplexers, integrating these into functional circuit designs.

  6. Processor Design Techniques:

    • Students will understand and apply various techniques in processor design, including the design of control units, to create efficient processing units.

  7. Depth in Computer Systems Architecture:

    • Students will gain a comprehensive understanding of different types of computer systems such as accumulator machines, stack machines, and general-purpose register machines. They will be familiar with instruction types, formats, and addressing modes.

  8. Advanced Understanding of Pipelining:

    • Students will explain and evaluate the techniques of pipelining used in enhancing computer architecture performance.

  9. Memory Systems and Performance:

    • Students will understand the structure and function of memory systems, including the role and design of cache memory in performance improvement.

  10. Application of Theoretical Knowledge in Practical Settings:

    • Students will be able to transfer theoretical knowledge into practical applications, creating real-world digital systems and architectures that demonstrate their learning.

  11. Problem-Solving and Critical Thinking in Digital Design:

    • Students will employ problem-solving and critical thinking skills to tackle challenges in digital design and computer architecture, providing innovative solutions to complex problems.

Test Out Requirements

Students who wish to demonstrate proficiency in this course will need to complete a Departmental proficiency exam. Departmental proficiency examinations are created by appropriate college faculty to allow students to demonstrate their mastery of course content in designated subjects. These examinations will be equivalent to the cumulative final assessment used in the course. Faculty will determine the minimum score required to earn credit by exam for these courses.

The college’s test out policy is outlined in policy 2.12 - Credit by Exam (Test Out)

Last updated