Department Website: http://www.cs.uchicago.edu
Computer Science Courses
CMSC 10100. Introduction to Programming for the World Wide Web I. 100 Units.
This course teaches the basics of building and maintaining a site on the World Wide Web. We discuss Internet terminology and how the Internet and its associated technologies work. Topics include programming websites, hypertext markup language (HTML), Cascading Style Sheets (CSS), and Common Gateway Interface (CGI) scripts (using PERL). Students also learn how to use JavaScript to add client-side functionality.
Instructor(s): W. Sterner Terms
Offered: Winter
Note(s): This course does not meet the general
education requirement in the mathematical sciences.
CMSC 12100-12200-12300. Computer Science with Applications I-II-III.
This three-quarter sequence teaches computational thinking and skills to students who are majoring in the sciences, mathematics, and economics. Lectures cover topics in (1) programming, such as recursion, abstract data types, and processing data; (2) computer science, such as clustering methods, event-driven simulation, and theory of computation; and to a lesser extent (3) numerical computation, such as approximating functions and their derivatives and integrals, solving systems of linear equations, and simple Monte Carlo techniques. Applications from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written programs to evaluate betting strategies, determine the number of machines needed at a polling place, and predict the size of extinct marsupials. Students learn Java, Python, R and C++.
CMSC 12100. Computer Science with Applications I. 100 Units.
Instructor(s): A. Rogers Terms Offered: Autumn
Prerequisite(s): Placement into MATH 15200 or higher, or consent of instructor
Note(s): This course meets the general education requirement in the mathematical sciences.
CMSC 12200. Computer Science with Applications II. 100 Units.
Instructor(s): A. Rogers Terms Offered: Winter
Prerequisite(s): CMSC 12100
Note(s): This course meets the general education requirement in the mathematical sciences.
CMSC 12300. Computer Science with Applications III. 100 Units.
The course revolves around core ideas behind the management and
computation of large volumes of data ("Big Data"). Topics include
(1) Statistical methods for large data analysis, (2) Parallelism
and concurrency, including models of parallelism and
synchronization primitives, and (3) Distributed computing,
including distributed architectures and the algorithms and
techniques that enable these architectures to be fault-tolerant,
reliable, and scalable. Students will continue to use R, and will
also learn C++ and distributed computing tools and platforms,
including Amazon AWS and Hadoop. This course includes a project
where students will have to formulate hypotheses about a large
dataset, develop statistical models to test those hypothesis,
implement a prototype that performs an initial exploration of the
data, and a final system to process the entire
dataset.
Terms Offered: Spring
Prerequisite(s): CMSC 12200