This course will deal with the programming, software and hardware design and implementation issues of computing systems for machine learning. Topics in the programming/software domain will include: basic Python program structure, variables and assignment, built-in data types, flow control, functions and modules; basic I/O, and file operations. Classes, object-oriented programming and exceptions. Regular expressions, database access, network programming and sockets. Introduction to the Numpy, Scipy and Matplotlib libraries. Topics in the hardware domain include computer architecture, CPUs, single- and multi-core architectures, GPUs, memory and I/O systems, persistent storage, and virtual memory. Parallel processing architectures, multiprocessing and cluster processing.
02/27 | Introduction |
03/05 | Python Contd. |
03/12 | More Python (classes) (ML demo file is on ELMS) |
03/19 | Spring break |
03/26 | List Comprehension / Numpy |
04/02 | More Numpy / OLS / Matplotlib |
04/09 | Scipy, Data Processing / Pandas tutorial |
04/16 | Containers |
04/23 | Midterm |
04/30 | Version Control Systems |
05/07 | Version Control Systems Contd. / ML hardware |
05/14 | Parallel Processing / Final |
Click the name of an assignment below to see its specifications.
Homework 1 (baby names file) |
March 21, 2020 |
Homework 2 | April 13, 2020 |
Homework 3 | May 06, 2020 |
Homework 4 | May 22, 2020 |