2025-2026 Undergraduate Catalog 
    
    May 25, 2026  
2025-2026 Undergraduate Catalog
Add to Personal Catalog (opens a new window)

CS 301 - Foundations of Computer Science



5.0 Credits
Work with other students to apply elementary data structures and algorithms to medium-scale applications. Exploration of the design, implementation, and evaluation of computer systems, including operating systems, networking, and distributed systems.
Prerequisite Completion of CS 133 or CS 143, and completion of CS 243 with a grade of 2.5 or higher or instructor permission.
Course-level Learning Objectives (CLOs)
Upon successful completion of this course, students will be able to:

  • Explain low level memory management techniques.
  • Evaluate and justify algorithmic and code choices through the lens of optimizing memory management
  • Demonstrate the principles of concurrency including synchronization and scheduling through code. Describe the protocol stack, why it is needed and its purpose.
  • Explain the basic architecture of a network including the difference between client and server programming.
  • Implement a solution that requires working with bits to detect and fix data errors.


Course Typically Offered
Fall, Winter



Add to Personal Catalog (opens a new window)