Computer Systems

This course explores the inner workings of computer systems while teaching you the C programming language. Learn the fundamentals of operating systems, memory management, and file systems. Explore how microprocessors execute instructions and how peripherals communicate with the main system. By the end, you'll have an understanding of computer architecture and be able to optimize system performance using C.

Student smiling while sitting outside, using a laptop.
Syllabus

Course Topics

Memory Layout in C

Gain a deep understanding of stack and heap memory allocation which are essential concepts for understanding how programs run and manage memory.

Garbage Collection in C

Learn about automatic memory management techniques, including various garbage collection algorithms, to ensure efficient memory usage and avoid memory leaks.

Data Types and Operations in C

Explore a variety of data types, including primitive and complex types, and learn the operations that can be performed on each which will ensure efficient data manipulation and storage.

Simulating Object-Oriented Concepts in C

Discover how object-oriented programming paradigms can be implemented in C, and understand the underlying mechanisms that support these high-level abstractions.

Advanced Function Programming in C

Practice programming with functions in C, including the use of recursive functions, function pointers, and understanding function semantics to write efficient and modular code.

Computer Hardware Components

Learn about the design and production of different computer hardware components, including CPUs, memory units, and peripheral devices, to understand their roles in a computer system.

Course Level

400

Skills Covered

  • C (Programming Language)
  • Python (Programming Language)
  • Algorithms
  • Data Structures
  • Object-Oriented Programming (OOP)

Common Prerequisites

All courses listed may not be required. Discuss with your advisor to learn more.

  • Programming for Everyone I

Disclosure

This course is delivered online through an institution of the Lower Cost Models Consortium (LCMC) that is different than your degree-granting institution that awards the academic credit for the course.