Published using Google Docs
CS2501 ML4All Syllabus
Updated automatically every 5 minutes

CS 2501 Machine Learning for All

Fall 2021 Syllabus

Course Description

Machine learning has been used in a wide variety of fields and has the great potential to solve the problems that we care about, such as climate change, misinformation, and pandemic predictions. Due to its importance, it is well agreed that every student should understand the impact of machine learning on her own field, and everyone should have an opportunity to learn it. This course is dedicated to non-computing major students. The primary focus is on giving an introduction to machine learning techniques applying to various problems. The primary goal of this course is to help students with non-computing backgrounds to build a mindset of how machine learning can help solve real-world problems. Upon successful completion of this course, students will be able to:

This course is called Machine Learning for All: From examples to algorithms, to emphasize two unique design features: (1) machine learning should be accessible to everyone and (2) teaching should start from examples instead of theory.

Background Requirements

The population of target students is undergraduates who have finished their first-year course requirements in UVa. The prerequisites of this course will be the Introduction to Programming (CS 1110) or the Software Development Methods (CS 2110). Consult the instructor to determine if you are sufficiently prepared or have any questions.

Instructor

Name: N. Rich Nguyen, Ph.D. | Assistant Professor

Email: nn4pj@virginia.edu

Office: Rice 202 or on Zoom

Office Hours: Tue & Thu 11a-12p, Wed 2-3p or by appointment

Teaching Assistant

Piazza Discussion Board

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.

Find our class signup link at: https://piazza.com/virginia/fall2021/cs2501ml4allf21

Textbooks

Course Topics

As shown in the table below, a tentative course plan covers six essential machine learning topics. Each lecture will focus on (1) introducing a machine learning problem from some examples, (2) building the connection between the machine learning problem and the algorithms, (3) the basic idea of each algorithm and the common implementation pitfalls in practice.

Topics

Examples

Algorithms

1. Classification

Misinformation identification, image classification

Logistic regression, naive Bayes classifiers, neural network classifiers

2. Regression

COVID-19 forecasts, stock market predictions

Linear regression, neural network regressors

3. Clustering and Density Estimation

Medical image segmentation, place-based predictive policing

k-means clustering, Gaussian mixture models, hierarchical clustering

4. Dimensionality Reduction

Financial document retrieval, social network visualization

Principal component analysis, neural encoder-decoder models

5. Sequential Modeling

Automatic text generation, traffic prediction

Markov models, recurrent neural networks

6. Ethics in Machine  Learning

Facial recognition auditing, bias in student loan service

Local interpretable model-agnostic explanations (LIME), debiasing algorithms

In addition to the lectures, we also propose to have an online lab time at least once in two weeks. The primary purpose of this lab time is to give students some hands-on experience on implementing specific algorithms and also allow instructors (including TAs) to help students closely. Designing the exercise questions is also one of the specific tasks in this project. To help students focus more on implementation skills, we plan to provide a guideline with different levels of detail. In general, the guideline will have specific instructions about what they should do in each step.

Grading Scheme

A total of 1000 points to be given. The grading procedure is as follows: F: 0-599; D-: 600-629; D: 630-669; D+: 670-699; C- : 700-729; C : 730-769; C+ 770-799; B- : 800-829; B: 830-869; B+ 870-899; A- : 900-929; A: 930-969; A+ : 970-1000. The breakdown of the grade is as follows:    

Overall, there are three forms of evaluation: surveys, homework, and a group project. As we value more about students’ practical skills in this course, we do not plan to give examinations.

Homework Assignments (45%)

On the pipeline of using machine learning in practice: as part of the homework, we will design some questions based on real-world applications. There will be 3 homework assignments. The students will be asked to formulate each question using machine learning terminology. For example, students should answer that predicting the sentiment polarity of a product review can be formulated as a classification problem.

If the results you see when running your program do not match the TA reports for your program, you should promptly talk to the TA. However, in all but the rarest of cases, you should be prepared to understand that the definitive test of your code is that made by the TA, and what you are seeking in talking to the TA is an understanding of how to avoid losing points over similar discrepancies in the future. To put this another way, you should contact the TA, but if you understand why there is a difference, you should not assume that your assignment will be re-graded. In general, it will not.

Late Policy: Deadlines are strictly enforced, but I understand that unexpected situations may arise which prevent you from submitting your assignment on time. You will receive a late penalty for each day in which your assignment is overdue at the rate of -10% per day. If you fail to turn in your overdue assignment after 3 days, you get zero points for that assignment.

Surveys (30%)

On the understanding of basic methodology: we will distribute a survey to students and ask them how they think about machine learning and how machine learning can help them solve problems. The survey will be distributed at least twice during the semester: one is at the beginning of the semester, and the other is at the end of the semester. The response difference will help us identify whether students understand the basic methodology of machine learning.

Course Project (25%)

On the skills of solving real-world problems: at the beginning of the course, students will be asked to bring a problem of their interests, which will be used as the problem for their final project. Along with the lectures, they will be asked to identify some machine learning methods that they learn from this course to help solve this problem. At the end of this course, they will use this problem as their final project, and the solution will be presented in a workshop particularly organized for this class. The course project to be undertaken is called Machine Learning For Virginia (ML4VA). Details of the groups are:

You are expected to work as a member of your group in this course and cooperate with your colleagues. There will be multiple working sessions and checkpoints to help your team stay on top of the project. Cooperation means attending group meetings, completing your assignments properly, and letting your group know if you will be out of town, responding to emails from your group, and so on. If there is a lack of cooperation by any group member, it must be brought to the instructor’s attention as soon as it happens. If the lack of collaboration is serious, the offending group member’s semester grade will be lowered.

Extra Credits (up to 10%)

There will be multiple opportunities including code-a-thons and hackathons throughout the semester to receive extra credits (up to 10% of the total grade). The extra credits can only be given at the instructor’s discretion. Please be sure to provide sufficient documentation and report in order to receive the credits. Failure to complete or provide documentation to the satisfaction of the instructor does not result in any extra credits.  

Academic Integrity

The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University’s Honor principle that students will not lie, cheat, or steal, nor shall they tolerate those who do. We recognize that even one honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of honor will benefit every member of the community both while enrolled in the Engineering School and in the future.

Students are expected to be familiar with the university honor code, including the section on academic fraud (http://www.virginia.edu/honor/what-is-academic-fraud-2/). Unless otherwise noted, exams and individual assignments will be considered pledged that you have neither given nor received help. (Among other things, this means that you are not allowed to describe problems on an exam, assignment, or project to a student who has not taken it yet. You are not allowed to show exam papers to another student or view another student’s exam papers while working on an exam.) Sending, receiving, or otherwise copying or describing the contents of electronic files that are part of course assignments are not allowed collaborations (except for those explicitly allowed in assignment instructions). Here are some general guidelines:

Professionalism

In this course, there will be a focus on working well together and the learning process. A large portion of that process involves interpersonal skills and conflict management. Students and staff are all expected to treat each other with respect.

The number one problem with professionalism in class is the overuse of laptops and mobile devices. Taking notes on a laptop and following along with the slides is welcome and encouraged. Doing work for other classes, watching videos, chatting, or anything else that distracts from your ability to learn and follow along (or anyone around you), will result in a professionalism penalty.

If you need to do work for another class during our class meeting, do so somewhere else and listen to the podcast, rather than disrupt the class itself. Students can and will be penalized for unprofessional behavior.

On Your Well Being

COVID-19 Guideline: This course will follow closely the University’s guidelines on Coronavirus. You can find the most updated policy here:  https://coronavirus.virginia.edu/updates/important-information-about-fall-2021

The Engineering School proudly serves as a safe space for its students and aims to promote their well-being. If you are feeling overwhelmed, stressed, or isolated, there are many individuals here who are ready and wanting to help. In addition to the course instructors, you can seek help through the Engineering Undergraduate office (Thornton A122), or Alex Hall (aec5d, 924-7601) who is the assistant dean of students for the Engineering school. Alternatively, there are also other University of Virginia resources available. The Student Health Center offers Counseling and Psychological Services (CAPS) for its students. Call 434-243-5150 (or 434-972-7004 for after-hours and weekend crisis assistance) to get started and schedule an appointment. If you prefer to speak anonymously and confidentially over the phone, call Madison House's HELPLine at any hour of any day: 434-295-8255.

About This Syllabus

This syllabus is considered a reference document that can and will be adjusted through the course of the semester to address changing needs. It is up to the student to monitor this page for any changes as this syllabus can be changed without notification. The final authority on any decision in this course rests with the course instructor, not with this document.

CS 2501 Syllabus - Page