Computer Architecture and Organization

I.     Course Prefix/Number: CSC 204

       Course Name: Computer Architecture and Organization

       Credits: 3 (3 lecture; 1 lab)

II.    Prerequisite

CSC 155, CSC 156, or CSC 157 or higher, with minimum grade of C.

III.   Course (Catalog) Description

A survey of the various levels of hierarchical computer architectures and design.  The analysis of internal and external memory models, busses, I/O devices, and CISC/RISC processor strategies are covered. Additional topics include the instruction formats and addressing schemes of architectures such as Intel, MIPS, ARM, and the JVM; parallel and vectorized multiprocessors and multicomputer systems; pipelining; parallel programming; secure and optimized programming techniques; coding and compression schemes; assembly programming in MIPS and MARIE.

IV.   Learning Objectives

  1. Explain the historical development of computers and computer architectures.
  2. Analyze and emulate various forms of data representation and implement error detection/correction schemes through the use of various techniques.
  3. Apply digital logic using Boolean tables, circuit diagrams, or K-maps.
  4. Identify the basic components of computer organization and explain how they work together.
  5. Analyze the format of instruction sets and the operation of the instruction cycle and trace through their microinstructions.
  6. Write assembly language programs to implement low-level instructions.
  7. Analyze the hierarchical internal and external memory organization strategies and simulate the procedures utilized.
  8. Identify current superscalar microprocessor and multiprocessor models in today's market.
  9. Identify parallelization schemes such as distributed shared-memory and cluster processing and write programs that utilize them.
  10. Implement programming techniques that lead to secure programs and identify common coding errors that lead to insecure programs such as buffer and register overflow.
  11. Implement coding and compression techniques to solve various programming problems.

V.    Academic Integrity and Student Conduct

Students and employees at Oakton Community College are required to demonstrate academic integrity and follow Oakton's Code of Academic Conduct. This code prohibits:

• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.

There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.

Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at
www.oakton.edu/studentlife/student-handbook.pdf

VI.   Sequence of Topics

    1. Background and introductions
      1. performance metrics
      2. arithmetic representation
        1. integer
        2. floating point
    2. Organization of computer systems
      1. bus strategies
      2. internal memory and cache hierarchies
      3. external memory
        1. disk
        2. tape
      4. I/O channels and processors
    3. CPU components
      1. register organization
        1. RISC strategies
        2. CISC strategies
      2. pipeline/superscalar processors
      3. instruction sets and addressing formats
        1. MIPS
        2. MARIE
    4. Current architectures
      1. commodity microprocessors
        1. Intel
        2. Power PC
      2. multiprocessors
      3. multicomputers
    5. Parallelization
      1. Multi-threaded processing
      2. cluster processing (OpenMP)
Suggested 16 week syllabus:
WeekChapterLectureLaboratory Activities
1 1 Components, Heirarchy and History of a Computer
2-3 2 Number Systems: integers, floating-point standard, character codes Base Converter, BCD
4-5 3 Boolean Algebra and Digital Logic including K-Maps Adder, Full-adder, Half-adder
6-8 4 CPU Organization, System Bus, Clocks, Instruction Processing, Intel and MIPS Architectures Matrix Multiplication and Memory Optimization
9-11 5 Instruction Formats, Instruction Types, MARIE, Intel and MIPS Instruction Sets Huffman Coding Assembly, Coding and Compression
12 6 Cache Memory, Virtual Memory: paging, segmentation Register Overflow
13 7 Input/Output
14 8 Java Virtual Machine
15 9 RISC Machines, Parallel and Multiprocessor Architectures, Parallel Processing Parallel schemes
16 11 Benchmarking

VII.  Methods of Instruction

Lectures, class discussions, individual and group projects and use of a computer laboratory.
Course may be taught as face-to-face, hybrid or online course.

VIII. Course Practices Required

Reading of the text is required for understanding the material. Use of a computer laboratory is necessary to learn the design of software.

IX.   Instructional Materials

Note: Current textbook information for each course and section is available on Oakton's Schedule of Classes.

The Essentials of Computer Organization and Architecture w/ An Introduction to MIPS Assembly Language
Edition:
Enhanced 4th Edition
Author: Null and Lobur
ISBN: 9781284129021
Copyright Year: 2015
Publisher: Jones & Bartlett

X.    Methods of Evaluating Student Progress

Quizzes, written homework, computer assignments, major examinations and a final examination will be used.

XI.   Other Course Information



If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.

Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.

Resources and support for
  • pregnancy-related and parenting accommodations; and
  • victims of sexual misconduct
can be found at www.oakton.edu/title9/.

Resources and support for LGBTQ+ students can be found at www.oakton.edu/lgbtq.