CS:4980:006 (22C:196)
Deep Learning with Python, Fall 2018


Course website: http://www.cs.uiowa.edu/~hzhang/c196/

For the information on Instructor and Teaching Assistant, please see the course website.

Purpose: The main objective of this course is to expose undergraduate and graduate students to one of the hot topics in machine learning: deep neural networks. Deep learning is a powerful tool for modeling and extracting layered high-level representations of data in a way that maximizes performance on a given task. Deep learning is behind many recent advances in AI, including Siri's speech recognition, Facebook's tag suggestions and self-driving cars. We will cover a range of topics from basic neural networks, logistic regression, convolutional and recurrent network structures, deep unsupervised and reinforcement learning, and applications to problem domains like speech recognition and computer vision.

Course Outline (tentative):

There will be ten homework assignments (each 6-8% of the final grade, depending on difficulty) and a term project (40% of the final grade). Most homeworks contain programming in Python.

Students should be prepared to put in considerable time and effort into reading and programming to become familiar with the course's topics, and gain experience with the techniques seen in class.

Prerequisite: In addition to the formal prerequisite that a C- or better in CS:2210 and CS:2230, a strong mathematical background in calculus, linear algebra, and probability and statistics, as well as enjoying programming, is essential for the success of this course. You will learn to use Python if you have not used Python before.

Textbooks:

References: Computer Facility: You will use your PC or the departmental computers to develop computer programs.

Course Accounts: You will need a HawkID and a password to login to ICON to electronically submit your assigned work.

Grading Plus/Minus grading and curving will be used for the course. There are three components that will determine your grade.

You may discuss homework with others or use online resources. However, do not share your work (including codes) with others or ask others to see their completed assignments since both are considered academic misconduct. Late submissions will not be accepted and in general you will be better off turning in what you have on time rather than seeking extra time to complete your work. Starting early is the key, and the TA and I will be glad to help with any questions you may have on the assignments. So please visit us often during our office hours and if necessary, outside our office hours as well.

Required Legalese: This course is run by the College of Liberal Arts and Sciences. This means that class policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found online: https://clas.uiowa.edu/faculty/teaching-policies-resources-syllabus-insert

Student Complaints: If you have any complaints or concerns about how the course is being conducted by me or by the TA please feel free to talk to me. You are also welcome to get in touch the the Computer Science department chair, Prof. Alberto Segre (alberto-segre@uiowa.edu, 14D McLean Hall). Consult the college policy on Student Complaints Concerning Faculty Actions (online version) for more information.