New Jersey Institute of Technology
Ying Wu College of Computing
Computer Science Department


Machine Learning
Code: CS 675-1J1
Semester: Fall 2020
Time: Monday 6:00-8:50pm 
Mode: Convergent Learning

Location: 101 Hudson Street, Suite 3610, Jersey City 
The course is also broadcasted online. Details can be found on Canvas.


Instructor:
Ioannis Koutis
Webpage:
https://web.njit.edu/~ikoutis/
Office: GITC 4314 (Newark) and Jersey City
Email: ikoutis+cs675@njit.edu 

Office Hours
: Tuesday 4:45-5:45 at Jersey City and by appointment (face-to-face or remotely). Office hours will not be held on official University breaks and closures. In case of an unlikely office hour cancellation, a notice will be posted on Canvas, as soon in advance as possible.
 

Teaching Assistant: TBA
Email: TBA

 


Course Management

All course activities will be managed on Canvas.

We will use Canvas to have informal and friendly conversations about topics related to the course, including assignments, problems, ideas, etc. You are encouraged to participate. Please be absolutely assured that any question or idea is welcome.


Course Description 

Machine Learning develops computer programs that can improve their performance by tapping into existing data and taking feedback from the environment. Systems based on ML have already exceeded human performance in several tasks, including image medical image classification and games like Chess and Go. ML has also made leaps in even more complicated tasks, like Natural Language Processing or self-driving vehicles, and it has even produced art that imitates the style of human artists! This course offers an intense introduction to the fundamental ML concepts and algorithms that constitute the core of these spectacular developments. It takes you on a tour from the basic mathematical notions and algorithms to some of the recent developments, e.g. Deep Networks or Recurrent Networks. You will gain exposure to cutting-edge ML development tools such as Scikit-learn and TensorFlow via hands-on assignments and projects that instill a working and immediately applicable knowledge of ML methods and will prepare you for more advanced ML courses.

 

Alternative Description (NJIT Catalog):

This course is an introduction to machine learning and contains both theory and applications. Students will get exposure to a broad range of machine learning methods and hands on practice on real data. Topics include Bayesian classification, perceptron, neural networks, logistic regression, support vector machines, decision trees, random forests, boosting, dimensionality reduction, unsupervised learning, regression, and learning new feature spaces.

Prerequisites: : Basic probability, linear algebra, computer programming, and graduate or undergraduate senior standing, or approval of instructor. 


Tentative Schedule

Week 1. Introduction, Data Representations, Perceptron, Linear Separability, Decision Boundaries
Week 2. Adaptive Linear Neuron (Adaline), Logistic Regression, Gradient Descent, General ML Principles, Regularization
Week 3. Support Vector Machines, Decision Trees, Random Forests, Feature Selection
Week 4. K-Nearest Neighbors, Dimensionality Reduction, Kernel Methods
Week 5. Unsupervised Learning, Clustering Analysis
Week 6. Ensemble Methods
Week 7. Introduction to Neural Networks and scikit-learn MLPs
Week 8. Autoencoders and Continuous Regression
Week 9. TensorFlow
Week 10. TensorFlow and Convolutional Neural Networks
Week 11. Recurrent Neural Networks for Sequential Data, Elements of NLP
Week 12: Reinforcement Learning
Week 13: Bayesian Learning, Expectation Maximization
Week 14: Supplemental Topics and Review or Project Presentations

Textbook
Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd edition
S. Raschka, V. Mirjalili, Packt Publishing,
ISBN-10: 1789955750
(recommended, but not required)

Alternative Books:

Machine Learning, An algorithmic Perspective, 2nd Edition
Stephen Marsland


The Elements of Statistical Learning, 2nd Edition
T. Hastie, R. Tibshirani, J. Friedman

Additional material will be posted on Canvas.


Coursework and Evaluation

Assignments
[25%]. There will be several hands-on assignments, of equal grading weight.
Project
[20%]. Project details will be posted in the 5th week of the course. 
Midterm [20%]. 
Final Exam [25%]. Cumulative.
Pop Quizzes [5%]. There may be a few (online) pop quizzes, that will be performed in the beginning of the second hour of the lecture (7:30-7:40). Depending on the number of these quizzes, part of the 5% may be distributed to another grading item.
Class Participation [5%].

Letter Grades.  The conversion of raw grades will be based on grouping the raw grades into clusters and then assigning a letter grade to each cluster. The letter grade assignment will be in accordance to the graduate grade legend (https://www.njit.edu/registrar/policies/grading.php).

 

Exams: Both exams will be given as Canvas quizzes with browser lockdown and webcam. During the exam you are allowed to use paper notes and book printouts, but you should avoid using a second display.  

Lateness Policy. 2% will be subtracted from the delayed assignment grade for each hour of delay.


Important Dates

September 8:  Class begins. Notice, the day is Tuesday!

October 12: Midterm Exam (6:00-7:30pm)
December 2: Project Due
TBA by registrar: Final Exam (most probably December 21, at class time)


FYI: The NJIT academic calendar for Fall 2020.


History of minor syllabus revisions:

09/01/20: current  


Course Policies

Bring Your Own Device

Students are expected to bring with them a reasonably capable computer to be used for pop quizzes and other in-class exercises.

Email
Use of your NJIT email is strongly encouraged.

Mobile Devices
Let's try and be reasonable and respectful of other students.

Grade Corrections
Check the grades in course work and report errors promptly. Please try and resolve any issue within one week of the grade notification. 

Absenteeism
If you miss a class, it’s up to you to make up for lost time. Missing two exams leads to an automatic F in the course. If you miss one exam you must contact the Dean of Students (DOS) within 2 working days from the day the reason for the absence is lifted with all necessary documentation. If DOS approves, your missing exam grade will be set equal to the average of the non-missing exam grades.

Incomplete
A grade of I (incomplete) is given in rare cases where work cannot be completed during the semester due to documented long-term illness or unexpected absence for other serious reasons. A student needs to be in good standing (i.e. passing the course before the absence) and receives a provisional I if there is no time to make up for the documented lost time; a letter (or email) with a timeline of what is needed to be done will be sent to the student. Note that for most cases an I would be resolved within few days, not months and not the following semester! Not showing up in the final will probably get you an F rather than an I.

Collaboration and External Resources for Assignments
Some homework problems will be challenging. You are advised to first try and solve all the problems on your own. For problems that persist you are welcome to talk to the course assistant or the instructor. You are also allowed to collaborate with your classmates and search for solutions online. But you should use such solutions only if you understand them completely (admitting that you don’t understand something is way better than copying things you don’t understand). Also make sure to give the appropriate credit and citation.


Academic Integrity
Academic Integrity is the cornerstone of higher education and is central to the ideals of this course and the university. Cheating is strictly prohibited and devalues the degree that you are working on. As a member of the NJIT community, it is your responsibility to protect your educational investment by knowing and following the academic code of integrity policy that is found at:

http://www5.njit.edu/policies/sites/policies/files/academic-integrity-code.pdf.   

Please note that it is my professional obligation and responsibility to report any academic misconduct to the Dean of Students Office. Any student found in violation of the code by cheating, plagiarizing or using any online software inappropriately will result in disciplinary action. This may include a failing grade of F, and/or suspension or dismissal from the university. If you have any questions about the code of Academic Integrity, please contact the Dean of Students Office at dos@njit.edu