Syllabus for Computer Science 458


Automated Decision Systems, Fall 2016

MW 4:00-5:20pm, Dunham Labs 220.

Stephen Slade
014 AKW, 432-1246
Office hours: 1 - 3 pm Wednesday, and by appointment.

Teaching Assistant: Jieung Kim Please see Instructor and TA contact information.

Course Description

People make dozens of decisions every day in their personal and professional lives. What would it mean for you to trust a computer to make those decisions for you? It is likely that many of those decisions are already informed, mediated, or even made by computer systems. Explicit examples include dating sites like or recommendation systems such as Amazon or Netflix. Most Internet ads on sites like Google or Facebook are run by real time bidding (RTB) systems that conduct split second auctions in the hopes of getting your attention. Driverless cars offer the promise of safer highways. Corporations and other enterprises invest in decision support systems to improve the quality of their products and services. This course considers the spectrum of automated decision models and tools, examining their costs and effectiveness. Examples will come from a variety of fields including finance, risk management, robotics, medicine, and politics.

We anticipate having a number of guest speakers who will talk about real world systems and applications. Past speakers have come from the world of finance, as well as Google, Facebook, and Palantir. They are generally interested in recruiting as well. We often are able to arrange for a handful of students to have dinner with the speakers after class.


Other Resources

Web page
The course web page is at
The course piazza site is at . All students will be enrolled. This is the primary channel for announcements and questions.
Zoo accounts
The Zoo is a collection of computers located on the 3rd floor of AKW at the front of the building. You will need a *course account* on the Zoo to submit homework. Sign up for a CS 458 course account on the Zoo using the on-line signup procedure at There will be *help sessions* on using the Zoo early in the term. A Zoo tutorial is available on-line from the course web page.
Course directory
The course directory, /c/cs458 is accessible from your Zoo course account. It contains copies of handouts.

Course Requirements

The course requirements consist of class attendance, (more-or-less) weekly programming assignments in R and Python and occasional written homework, a midterm exam and a final project. The mid-term will largely focus on questions requiring knowledge of R and Python. The programming assignments are an integral part of the course.

Please try not to leave the homework to the last minute. You will be more efficient, learn more, have more chance to get help, and generally be calmer and happier if you do the associated reading first and start the programming or other problems early.

Complete the online student information sheet.

Final Project

Each student will complete a final project comprising an automated decision system in a domain of interest. The assumption is that the student will use one of the techniques discussed in the course, and implement the system in R or Python. The instructor will provide a list of suggested topics, as well as entertain original proposals. Students may work in groups. The expectation is that a group project should have more substance than an individual project.

We are also investigating getting student access to Amazon Web Services through their educational program. Some students may be interested in this resource.

Grade Distribution

Late Policy

Late work without a Dean's excuse will be assessed a penalty of 5 points per day, based on the day and time recorded by the Zoo electronic submit program. At the end of term, up to 25 points will be deducted from the total lateness penalties your homework has accrued. However, according to Yale College regulations, *no* homework can be accepted after the end of Reading Week without a Temporary Incomplete (TI) authorized by your dean.

If you have a Dean's excuse or a TI, making up missed work may involve alternative assignments, at the discretion of the instructor; please check with the instructor in this case.

Policy on Working Together

Unless otherwise specified, the homework assignments are your individual responsibility. Plagiarism is a violation of University rules and will not be tolerated. You must neither copy work from others (at Yale or elsewhere) nor allow your own work to be copied. You are definitely on the wrong side of the boundary if you give or receive a printed or electronic copy of your or anyone else's work for the course from this term.

You are encouraged to ask others for help with the computers and Unix, with questions about Python or R, general questions about the concepts and material of the course, but if you need more extensive help with a program or other assignment, please ask a TA or the instructor for assistance. Working in groups to solve homework problems is not permitted in this course. Please talk to the instructor if you have any questions about this policy.

Course Outline

Week Date Topic Speaker
1 Aug 31, Sep 2 Introduction and Overview of Decision Making
2 Sep 7 Economic Decision Theory
3 Sep 12, 14 Capital Budgeting, Net Present Value
4 Sep 19, 21 Modern Portfolio Theory Sep 21: confirmed
5 Sep 26, 28 Rule Based Systems Sep 26: confirmed
Sep 28: confirmed
6 Oct 3, 5 Case Based Systems.
7 Oct 10, 12 Case Based Systems continued.
Exam Oct 17 Mid term exam
8 Oct 24, 26 Cognitive Models of Decision Making: VOTE
Risk Management
Oct 24: confirmed
9 Oct 31, Nov 2 Statistical Models Nov 2: confirmed
10 Nov 7, 9 Financial Systems: Algorithmic Trading and Risk Management
11 Nov 14, 16 Machine Learning Nov 14: Confirmed
Nov 16: Confirmed
12 Nov 28, 30 Big Data: Theory
13 Dec 5, 7 Big Data: Applications – Real Time Bidding, High Frequency Trading