CMSC 12300: Computer Science with Applications III

The University of Chicago, Spring 2021

Syllabus

Course Staff

Instructor: Matthew Wachs
Email: mwachs

TA: Dhruv Baid

TA: Emanuele Guidi

TA: Samuel Whalen

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. 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

Lectures this quarter will be conducted live online with student participation. (The details of how to attend are posted on Ed Discussion.) Lectures will also be recorded and made available after the fact through links on Ed Discussion. These recordings will include the visual content used in the lectures, but we will also post the code snippets separately. Nonetheless, if you can make your lecture time slot, we urge you to attend live. The interaction of a live class is important; it allows you to ask questions in the moment, and gives us valuable feedback on how to pace the class, what topics need more clarification, and what everyone is most interested in.

Please be aware that recordings of the class will include the audio of both the instructor, and audio sent by students when their microphones are unmuted, such as when they are asking a question. All of us in the class have an obligation to be respectful to every question that is asked, and we hope you feel comfortable asking questions during lectures.

Note that you can set your name in your Zoom profile, so you don't have to go with whatever was assigned. If you have preferred pronouns, you can include them after your last name. If you set a name that can't be easily matched to the name on record with the University, please let your instructor know.

The University has a stringent policy restricting what students can do with recordings from our classes and for how long they can retain them. This is to protect everyone's privacy and the open and collegial environment of our lectures. Your adherence to the policy, which is stipulated below, is mandatory.

By attending course sessions, students acknowledge that:

A. They will not: (i) record, share, or disseminate University of Chicago course sessions, videos, transcripts, audio, or chats; (ii) retain such materials after the end of the course; or (iii) use such materials for any purpose other than in connection with participation in the course.

B. They will not share links to University of Chicago course sessions with any persons not authorized to be in the course session. Sharing course materials with persons authorized to be in the relevant course is permitted. Syllabi, handouts, slides, and other documents may be shared at the discretion of the instructor.

C. Course recordings, content, and materials may be covered by copyrights held by the University, the instructor, or third parties. Any unauthorized use of such recordings or course materials may violate such copyrights.

D. Any violation of this policy will be referred to the Area Dean of Students.

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.