Introduction to Operating Systems (ENG EC 440)

Operating system concepts and design objectives. Concurrent processes, process synchronization, and deadlocks. Resource management including virtual memory, CPU scheduling, and secondary storage. File structures, input/output, and distributed systems. Case studies of...

Computational Tools for Data Science (currently CAS CS 506)

Covers practical skills in working with data and introduces a wide range of techniques that are commonly used in the analysis of data, such as clustering, classification, regression, neural networks and network analysis. Emphasizes hands-on application of methods via...

Software Engineering Career Prep Practicum Workshop

Taught by industry software veterans who serve as Spark! Engineers in Residence in CDS, this 2-credit course presents students with an unadulterated view of what they need to know as they take on software engineering projects, in preparation for careers as full-stack...

Performance Engineering of Software Systems (6.172)

6.172 is an 18-unit class that provides a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching...