CMSC 12300: Computer Science with Applications III

The University of Chicago, Spring 2022

Syllabus

Course Staff

Instructor: Matthew Wachs
Email: mwachs

TA: William Wang

Topics

This course is about Big Data: the challenges of working with it, and the solutions that have ben developed to successfully overcome them. Topics include:

Goals

By the end of the course, you should be able to perform analyses on data sets that are too large to fit on a single computer, and complete computations that would take impracticallly long if they were to be performed on a single computer. You will know several approaches for splitting up work, and their respective advantages and disadvantages, thus being able to choose a suitable one for a particular task. You will have used these tools in instructive examples and optionally in your own project, and will have had the opportunity to receive extensive guidance on how to approach your project. You will have gained basic familiarity with the C programming language, a language widely used by computer scientists and programmers, and be familiar with its basic data structures and memory management philosophy. You will be familiar with the kinds of pernicious errors that arise in, and that are unique to, concurrent code, and how to address them.

Course Components

The course consists of:

Academic Honesty

The University's rules on academic honesty apply equally to this course as they did in the prior courses in the sequence and will be rigorously and rigidly enforced. Unless an assignment explicitly permits teamwork, you must not use code from any other student, show your code to any other student, or incorporate any code other than the code you have yourself written, except where you are using brief snippets of code from cited sources. If you discuss approaches with other students, then the level of detail and collaboration must not be such that your submissions will be close to identical. If you have any doubts, questions, or concerns, please ask, particularly in advance.

Textbook

This course does not have a textbook. However, this book is highly relevant to the course and is available online at no cost; you may find it of value.

Lecture Policies

You may not make audio or video recordings of lectures or take pictures of slides or the blackboard. Code from class will be posted to the course web site. Students unable to attend a lecture due to, for instance, quarantine or isolation, should contact the instructor in advance, and we will make arrangements to keep you up to date on lecture material.

Regrade Requests

Graders, TAs, and instructors do make mistakes, so it is normal and expected that a few assignments will have grading errors. In order to manage the workload of regrade requests, however, regrade requests must be submitted within one week of the assignment being returned. No regrade requests will be accepted after this point.