Spring 2024 Teaching

CS 460G – Machine Learning



Time: TR 9:30 am – 10:45 am
Location: Register course to know

Course Instructor: Dr. Abdullah-Al-Zubaer Imran
Office: 319 Marksbury
Office Hours: TR 11 am – 12 pm, and by appointment.

Teaching Assistant: Matthew Wise
Location: Engineering Annex 2nd Floor
Office Hours: Wednesdays 11:30 am – 12:30 pm

Course Description:
Study of computational principles and techniques that enable software systems to improve their performance by learning from data. Focus on fundamental algorithms, mathematical models and programming techniques used in Machine Learning. Topics include: different learning settings (such as supervised, unsupervised and reinforcement learning), various learning algorithms (such as decision trees, neural networks, k-NN, boosting, SVM, k-means) and crosscutting issues of generalization, data representation, feature selection, model fitting and optimization. The course covers both theory and practice, including programming and written assignments that utilize concepts covered in lectures.

Course Outcomes
This course will help students achieve the following educational objectives:

  • Understand the principal techniques and computational principles for enabling computers to learn from data
  • Develop computer programs that manipulate different types of data (such as images, texts, videos, etc.)
  • Analyze complex machine learning problems and apply principles of computing to identify appropriate solutions
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of a machine learning problem
  • Apply computer science theory, machine learning fundamentals, and software development fundamentals to produce computing-based solutions
  • Effectively communicate about machine learning models or concepts in a variety of professional contexts


  • Strong programming ability (CS 315)
  • Basic probability and statistics (STA 281)
  • Basic concepts of linear algebra (MA/CS 321 or MA/CS 322)

Required books
There is no required textbook for CS 460G.

Recommended books

Course Schedule/Outline (Tentative):

WeekTopicsSuggested ReadingNote
1.Jan 9: Course Introduction
Jan 11: Python for Machine Learning
2.Jan 16: Learning Theory
Jan 18: Linear Classification
release of hw1
3.Jan 23: Linear Regression
Jan 25: k-NN and Decision Trees
hw1 due
4.Jan 30: SVM
Feb 1: Validation and Evaluation
release of hw2
5.Feb 6: Neural Networks
Feb 8: Optimization
hw2 due
6.Feb 13: Overfitting and Regularization
Feb 15: Clustering
project proposal due
7.Feb 20: Dimensionality Reduction
Feb 22: Ensemble Methods
release of hw3
8.Feb 27: Convolutional Neural Networks I
Feb 29: Convolutional Neural Networks II
hw3 due
9.Mar 5: Midterm Review
Mar 7: Midterm Exam
release of hw4
10.Mar 12: No Lecture – Spring Break
Mar 14: No Lecture – Spring Break
11.Mar 19: Recurrent Neural Networks
Mar 21: Transformers I
 Project milestones
hw4 due
12.Mar 26: Transformers II
Mar 28: Generative Machine Learning I
release of hw5
13.Apr 2: Generative Machine Learning II
Apr 4: Self-Supervised Learning
hw5 due
14.Apr 9: Reinforcement Learning I
Apr 11: Reinforcement Learning II
release of hw6
15.Apr 16: Semi-Supervised Learning
Apr 18: Fairness and Explainability
hw6 due
16.Apr 23: Prep Day – Final Discussion
Apr 25: Reading Day – No Lecture
17.Apr 30: Final project demo, code, and report due

Course Activities:

  • Class participation (10%) – lecture quizzes, in-class and canvas activities
  • Assignments (40%) – Six programming and written assignments (only the top 5 will count)
  • Project (30%) – Final group project (demo presentation, code, and report)
  • Assessments (20%) – In-class Exam

Grading Scale:
After the final percentage grade is calculated, the following scale will be used to determine the final letter grade.

For undergraduate students:

  • 90–100% (A)
  • 80–89% (B)
  • 70–79% (C)
  • 60–69% (D)
  • 0–59% (E)

For graduate students:

  • 90–100% (A)
  • 80–89% (B)
  • 70–79% (C)
  • 0–69% (E)


Attendance Policy: Students are required to attend every lecture. Students only present in the class can take the associated quiz and get the available points. Missing a maximum of 2 lectures will be excused. Any student missing more than 2 lectures without any reasonable excuses will start losing 10 points for every miss.

Academic Integrity: Please strictly follow the Academic Offenses Rules (plagiarism, cheating, and falsification or misuse of academic records). Also, keep in mind that any copyrighted materials (e.g., images and other media), and published contents (e.g., academic papers, books, web sources, online tools) used in your submissions and project should be properly cited. Ideas from people other than your own (for the project—ideas from outside your group) should be acknowledged.

Late Policy: Late submissions (assignment, project proposal, code, project final report) will be subject to a 50% score penalty if you submit within 2 days after the deadline. A score of 0 will be given for any submissions after that. Late submissions will be accepted only for certain circumstances (e.g., medical) with proper evidence.
Exceptions to this rule may be requested by providing appropriate documentation (e.g., medical) which will be considered at the discretion of the instructor.

Generative AI Policy: GenAI tools such as ChatGPT may be used in this course for the purposes of pre-submission activities. However, students are responsible for submitting work that meets the assignment standards for quality and factual accuracy. Check Canvas page for more detailed instructions on this. If you have any questions or concerns about the policy, contact the instructor before submitting any assignments.

Disability and Special Accommodation: Please let the instructor know of any needed accommodation in the first two weeks. Please also see Academic Accommodation for further assistance.

Academic Policy Statements, DEI, Resources Available to Students

Useful Resources: