Skip to content
This organization was marked as archived by an administrator on Jul 24, 2024. It is no longer maintained.
@allegheny-college-cmpsc-200-fall-2023

CMPSC 200: Computer Organization, Allegheny College Fall 2023

Course organization for CMPSC 200: Computer Organization, Allegheny College Fall 2023

CMPSC 200: Computer Organization, Allegheny College Fall 2023

Vector art of 200 in hex, subtitle of course: Bare Metal in pale green and gold

Canonical course description

A study of the low-level operation of computer systems. Participating in hands-on activities that often require teamwork, students investigate how computers process instructions in modern computers as information is encoded, stored, and executed in a machine’s physical structures. In addition to learning how to program in assembly and machine languages, students investigate the design and logical operation of processors and the mathematics of machine computation. During a weekly laboratory session, students use industry-grade technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.

Learning objectives

  • Explain how programs written in high-level computer programming languages execute using lower-level computer circuitry
  • Identify levels of the Memory Hierarchy and the implications of using the various levels to implement high-performance programs
  • Develop C and Assembly language programs which use the appropriate levels of the Memory Hierarchy and processor registers to create performant, executable programs and arithmetic logic units
  • Describe and use parallel processing techniques to increase a program’s performance and efficiency

For more on course governance and supporting materials, see the course materials repository.

Pinned Loading

  1. liftoff-assignment liftoff-assignment Public archive

    An assignment introducing the concept of an Instruction Set Architecture (ISA) via the CARDIAC paper computer.

    Assembly

  2. single-pile-nim-assignment single-pile-nim-assignment Public archive

    An assignment the CARDIAC paper computer ISA.

    Assembly

  3. hello-blinky-assignment hello-blinky-assignment Public archive

    An assignment demonstrating and testing GDB, OpenOCD, and VSCode debugging setup.

    CMake

  4. space-rock-surprise-assignment space-rock-surprise-assignment Public archive

    An assignment introducing the ARMv6-M architecture and debugging with the Raspberry Pi Pico.

    CMake

  5. ore-processing-assignment ore-processing-assignment Public archive

    An assignment using the ARMv6-M ISA to explore the concepts of memory size.

    Assembly

  6. circuit-scramble-assignment circuit-scramble-assignment Public archive

    An assignment demonstrating digital circuit design from truth tables; recreating circuits in Assembly to examine boolean logic.

    Assembly

Repositories

Showing 10 of 15 repositories
  • course-materials Public archive

    Repository for course information and governance.

    allegheny-college-cmpsc-200-fall-2023/course-materials’s past year of commit activity
    Shell 0 CC-BY-4.0 0 0 0 Updated Jul 24, 2024
  • bare-metal-game-project Public archive

    Project assignment for course "Bare Metal" game.

    allegheny-college-cmpsc-200-fall-2023/bare-metal-game-project’s past year of commit activity
    C 0 CC-BY-4.0 0 1 1 Updated Dec 5, 2023
  • allegheny-college-cmpsc-200-fall-2023/core-samples-assignment’s past year of commit activity
    C 0 CC-BY-4.0 0 1 0 Updated Nov 17, 2023
  • allegheny-college-cmpsc-200-fall-2023/cache-conundrum-assignment’s past year of commit activity
    C 0 CC-BY-4.0 0 1 0 Updated Nov 10, 2023
  • mine-cart-madness-assignment Public archive

    Repository containing exercises for pointers and linked lists in C.

    allegheny-college-cmpsc-200-fall-2023/mine-cart-madness-assignment’s past year of commit activity
    C 0 CC-BY-4.0 0 1 0 Updated Nov 3, 2023
  • allegheny-college-cmpsc-200-fall-2023/the-moon-rocks-assignment’s past year of commit activity
    C 0 CC-BY-4.0 0 1 0 Updated Oct 27, 2023
  • c-of-tranquility-assignment Public archive

    An assignment introducing basic uses of common C functionality (up to structs)

    allegheny-college-cmpsc-200-fall-2023/c-of-tranquility-assignment’s past year of commit activity
    CMake 0 CC-BY-4.0 0 1 0 Updated Oct 20, 2023
  • dynamo-dispatcher-assignment Public archive

    An assignment demonstrating basic use of the stack to roll and unroll procedural calls in stack frames.

    allegheny-college-cmpsc-200-fall-2023/dynamo-dispatcher-assignment’s past year of commit activity
    Assembly 0 CC-BY-4.0 0 1 0 Updated Oct 13, 2023
  • .github Public archive

    Profile repository for GitHub org.

    allegheny-college-cmpsc-200-fall-2023/.github’s past year of commit activity
    0 Unlicense 0 0 0 Updated Oct 7, 2023
  • circuit-scramble-assignment Public archive

    An assignment demonstrating digital circuit design from truth tables; recreating circuits in Assembly to examine boolean logic.

    allegheny-college-cmpsc-200-fall-2023/circuit-scramble-assignment’s past year of commit activity
    Assembly 0 CC-BY-4.0 0 1 0 Updated Oct 6, 2023

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…