Recent Courses

Recent Courses at NYU Shanghai

CSCI-360 Introduction to Machine Learning:
Students will learn about the theoretical foundations of machine learning and how to apply these to solve real-world data-driven problems. Topics include regression and gradient descent; support vector machines; clustering; recommendation systems; dimensionality reduction and principle component analysis; decision trees; logistic regression; neural networks,. The course also covers some advanced topics (such as deep learning, reinforcement learning, latent dirichlet allocation), which vary from each to year. Applications are drawn from spam detection, digit recognition, object recognition, eigenfaces, and mining social networks. The course problem sets involve both challenging programming assignments and mathematical derivations. The web site is here.

CSCI-101 Introduction to Computer Programming:
A first course in computer programming, primarily for computer science and computer engineering majors but also suitable for students of other scientific disciplines.  The course covers functions, decision structures, loops, files, exceptions, lists, string processing, dictionaries and sets, and additional selected programming topics. The course also examines recent trends in computer science. The web site is here.

Recent Courses at NYU-Tandon

CS 6843 Computer Networking: 
This is a senior/master's level course in computer networking. Typically, I teach Chapters 1 through 6 from Kurose and Ross, and then teach one of the à la carte chapters (wireless, multimedia, or security). The assignments include a midterm exam, final exam, Ethereal labs, homework problems from the textbook, and Python socket programming assignments from the textbook.

CS 3933/CS 682 Network Security:
I taught this course each spring semester from 2004 through 2008.We covered network attacks; firewalls and intrusion detection systems; cryptography; and P2P security. It is a lab intensive course, with labs on network mapping with Nmap; writing a sniffer; firewalls with iptables; intrusion detection with Snort; tracing SSL; IPsec with open swan. 

CS 1122 Introduction to Computer Science: 
This is a 2-credit course. The purpose of this course is to provide an overview of the vast field of Computer Science and Engineering. To this end, we take a "top-down approach" by looking at a number of computer science technologies and asking ourselves how they work, and what CS building blocks they employ. The web site is here.