CS250:
Foundations of Computer Systems

red-line
[Schedule] [Assignments] [Infospaces] [Grading] [Syllabus]

[Canvas]

[Home]
The true voyage of discovery consists not of going to new places, but of having a new pair of eyes.
—Marcel Proust (1871–1922)

Spring 2026
CS250 covers foundational aspects of computer systems encompassing processors, networks, storage, and computing frameworks. A holistic understanding these constructs is key to designing systems (AI, Big Data, clouds, and security) that scale by surfacing problems and solutions from different vantage points. The course includes a discussion of processors, cores, and co-processors (GPUs). Speed differentials across the memory hierarchy and the implications of caching will be covered as well. The discussion of the memory subsystem is complemented with the design of data structures for storage systems. Core foundations of networking including the design of the key elements of the networking stack (IP, TCP, and UDP) will be covered alongside a discussion of DNS. The course also explores characteristics of I/O systems with an emphasis on on-disk data structures that facilitate effective data retrievals. Finally, the course ends with a future gazing component that explores new, promising systems on the horizon with an emphasis on neuromorphic computing.
course-logo

Course Objectives
Upon successful completion of this course students will be able to:

  1. Explain core computer systems terminology
  2. Explain binary number representations, signed numbers, and floating-point numbers alongside conversions across numbering systems
  3. Synthesize concepts in Boolean logic and algebra
  4. Distill and build upon core concepts in memory management
  5. Describe the interplay between CPU, memory, the I/O subsystem alongside the execution of programs.
  6. Design programs that leverage networking protocols that underpin the internet including IP, TCP, and UDP.
  7. Design and implement core data structures used for storage systems
  8. Explain the inner workings of Graphic Processing Units (GPUs)
Extensive experimentation through programming assignments is a principal activity of this course. These assignments will focus on developing skills that are immediately transferrable to building real-world systems.


Prerequisites
  • CS 163 or CS 164 with a C or higher
  • Concurrent Enrollment in CS 165
This course can be used in lieu of CS270 for all Computer Science majors (for e.g., it will satisfy the prequiste for CS370). For ECE majors: This course may not satisfy the prerequisites for downstream ECE courses: for example, CS250 does not involve assembly programming.

   
  Professor
Shrideep Pallickara

Office: Room 364, Computer Science
Office Hours:
4:00-5:00 pm Friday and via Zoom
E-mail: compsci_cs250 {aT} colostate.edu
(with the obvious change)
Tel: 970.492.4209

    Lecture Coordinates
TTH: 3:30-4:45 pm
Eddy 212




  Teaching Assistants
Office Hours in CSB 120 and Teams
E-mail: compsci_cs250{aT} colostate.edu

Graduate Teaching Assistants
Sofia Catalan

Jason Curcio

Cameron Seuss

Undergraduate Teaching Assistants
Joshua Bridgham

Benito Encarnacion

Robert O'Neil


    Labs:/Recitations in CSB-225 & CSB-315

  R2 Wed 10:00-10:50 AM CSB-315
  R3 Wed 11:00-11:50 AM CSB-315
  R8 Wed 12:00-12:50 PM CSB-315
  R4 Wed 1:00-1:50 PM CSB-315
  R5 Wed 2:00-2:50 PM CSB-315
  R6 Wed 3:00-3:50 PM CSB-315









 
TA Office Hours
  Monday Tuesday Wednesday Thursday Friday Saturday
{Online}
Sofia Catalan 10am-11am
12pm-3pm
11am-12pm
2pm-3pm
10am-12pm
2pm-3pm
11am-12pm
2pm-3pm
   
Jason Curcio 11am-3pm
6pm-7pm
12pm-1:30pm
4:30pm-6pm
12pm-3pm 12:30pm-1pm    
Cameron Seuss 10am-11am
12pm-1pm
12pm-1pm 10am-12pm
2pm-3pm
5pm-6pm 11am-1pm
2pm-5pm
 
Joshua Bridgham   12:30pm-1:45pm 11am-2:30pm 12:30pm-1:45pm   10am-1pm
Benito Encarnacion   11am-12pm
5:30pm-8:00pm
5:45pm-7:15pm
10:30am-12pm 12pm-1:30pm  
Robert O'Neil 2pm-3pm 5pm-7:30pm   5pm-7:30pm   12pm-3pm
Kaden Love 5pm-8pm
  5pm-8pm
  5pm-8pm  


Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2026 Colorado State University
*The course-logo is an image from Microsoft's Online library