Skip to content

Fried-man-Education/CS_2110

Repository files navigation

Georgia Tech's CS 2110 - Computer Organization and Programming (Fall 2021)

Course Description

An introduction to basic computer hardware, machine language, assembly language, and C programming.

Course Purpose

  1. To understand the structure and operation of a modern computer from the ground up.
  2. Understand basic hardware concepts: digital circuits, gates, bits, bytes, number representation
  3. Understand the Von Neumann model and the structure and operation of a basic data path
  4. Understand the structure and function of machine language instructions
  5. Understand the structure and function of a symbolic assembly language
  6. Understand basic concepts of computer systems such as the runtime stack, simple I/O devices
  7. Introduce the C language with particular emphasis on the underlying assembly and machine language as well as interaction with hardware.

Course Outcomes

  • (Competency Knowledge) Be able to identify and/or construct basic digital structures such as MOS FET logic gates, decoders, multiplexors, adders, memory.
  • (Competency Application) Be able to construct a state machine diagram and then implement it as a finite state machine circuit.
  • (Competency Comprehension) Understand data representation. Be able to convert numbers between various representations: Binary, octal, decimal, hexadecimal, and IEEE Floating Point.
  • (Competency Knowledge) Be able to identify the component parts of the Von Neumann Model of computer and be able to explain the purpose of each component.
  • (Competency Synthesis) Be able to write, debug and run assembly language programs including recursive subroutines, traps, basic input/output.
  • (Accomplishment Synthesis) Be able to write, debug and run multi-file C programs several hundred lines long using "make" to compile and execute said programs.
  • (Competency Synthesis) Be able to utilize (in C programs) proper typing and casting constructs, structs, pointers and arrays, functions, function pointers, dynamic memory allocation and variables of different storage classes (auto, static, volatile, etc.)

Notes

These notes were originally created on Notion.so and then converted to HTML. It is not a perfect conversion but the material is still preserved. The notes are available here.

Credits

About

Georgia Tech's CS 2110 - Computer Organization and Programming (Fall 2021)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages