ML Drawing<img src="./ML_drawing_light.png" width="576" height="575" />

UCSD CSE151A SS1 2024 Syllabus and Logistics

Basics - Schedule - Course Components - Staff & Resources - Grading - Policies

Machine learning has become one of the fastest growing and most interesting subfields of artificial intelligence and computer science. Although machine learning has been part of our daily lives for some time now, it's presence and power has become unprescedented. Machine learning will continue to evolve and revolutionize how we interact with machines, ourselves and the world around us.

In this course, we'll explore a number of Machine learning concepts and techniques that are used commonly by developers in their day-to-day work. You'll learn how to interpret and analyze data, identify targets and plan your machine learning pipeline. This means selecting good/appropriate models and loss functions for training based on your data and goal. We will start with supervised learning (Regression, Classification), go over various loss functions and gradient descent optimization approaches, and end with unsupervised learning (Dimensional reduction, clustering, etc). If there is enough time, we will go over a special topics lecture.

This web page serves as the main source of announcements and resources for the course, as well as the syllabus.

Basics

Office Hours Calendar

Schedule

The schedule using the left side navigation bar outlines topics, due dates, and links to assignments. The schedule of lecture topics might change slightly, but I post a general plan so you can know roughly where we are headed. If you do not see the weeks listed on the left, click the hamburger icon in the top left to reveal it.

Syllabus

There are several components to the course:

  • Discussion sessions
  • Lecture sessions
  • Weekly quizzes
  • Homework/PAs
  • Skill assessments
  • Group project

Discussion

The course's discussion component meets for 2 hours every Wednesday. In each discsussion you'll switch between working on your own, working in pairs, and participating in group discussions about your approach, lessons learned, programming problems, and so on. Please bring your laptop to code and follow along.

The discussion sessions will be led by TAs and tutors, who will note your participation in these discussions for credit. At the end of the day you will submit your work to show participation.

If you miss discussion, you'll still be held accountable for understanding the relevant material via Skill Assessments. You can miss 1 discussion submission without it impacting your grade (see Grading below). There is no way to make up a dicussion, even for illness, travel, or emergencies. My preference would be to require all 5 discussions for an A, and have some kind of excused absences. However, tracking excused absences doesn't really scale, so the “one for any reason” policy is how we handle it. You don't need to justify your missed discussions. Contact the instructor if you'll miss more than one discussion for unavoidable reasons.

Lecture Sessions

Lecture sessions are on Monday through Thursday.

In each lecture, we will go over Jupyter Notebooks (available electronically via GitHub). At the end of lecture you'll have a chance submit your Jupyter Notebook to Gradescope. You can do this by uploading your ipynb file via the Gradescope app (for iOS and Android) or through the web interface. To get participation credit for lecture, you have to submit a handout filled in with reasonable effort. It's fine if answers aren't right, and some days don't have right answers. It's fine if things aren't totally complete, and some days we won't finish everything. But it should be clear from what you submit that you followed along and worked on the exercises we did in class.

If you miss class, you can submit them up until the start of the next class as late submissions. We recommend completing them while watching the podcast. We'll have TAs/Tutors on hand to help with questions during lecture and to help with submitting work to Gradescope. See Grading below for the required submissions and how that impacts your grade.

Weekly Quizzes

Each week there will be an online, untimed, multiple-tries quiz due on Sunday @ 11:59pm. Note: For on time submission, it must be submitted prior to the deadline, regardless of the reason. The purpose of this quiz is to make sure everyone has checked in on the concepts. They are open for late submission until the end of the quarter, but see grading below for how late submissions correspond to grades.

Sometimes quizzes have associated readings or videos to supplement lecture.

Homeworks

Every Monday starting week 2, homework will release (that's in weeks 2, 3, 4, and 5) and you will submit on Sunday via Gradescope the ipynb file (Note: Not a pdf!). Homework will only be graded on your ability to complete the assignment based on the directions, and not based on accuracy of your model (unless specified), but must be above random.

For each post, our staff will review it and give a 0-3 score along with feedback:

  • 3 for a complete submission of professional quality that covers all the expectations listed in the directions
  • 2 for a complete submission with some mistakes, some unclear writing, or some confusing or nonstandard formatting
  • 1 for a submission missing key components, or clear inaccuracies in multiple components
  • 0 for no submission, a blank submission, or a submission of something irrelevant

After each homework (except the last homework) is graded, you'll have a chance to resubmit it based on the feedback you received, which will detail what you need to do to increase your score. Once the homework is graded and returned with feedback, the resubmission period (max of one week) will be opened.

  • For an original score of 0 or 1, you can raise your score to 2 (but not to 3)
  • For an original score of 2, you can raise your score to 3

This is also the only late policy for homework. Unsubmitted reports are initially assigned a 0, and can get a maximum of 2 points on resubmission. One homework will be dropped. This is the only policy for excused homework regardless of the reason.

Skill Assessments

Several times during the quarter, you will complete a skill assessment -- this course's version of exams. You'll be given a jupyter notebook environment to practice on in advance. The practice problems will not be similar to the first skill assessment and will only be there to demonstrate the structure and environment.

On each you will have an autograder with 4 or more questions and 40 minutes to complete each assessment. The skill assessments will start on week 2 and continue for weeks 3, 4 and 5. You will be able to choose a scheduled time each week. On the day of your assessment you must bring a valid picture ID. Only one paper notesheet front and back will be allowed.

Skill assessments will take place in CSE B250, unless you have an AFA letter. You must schedule a time to take your exams in advance. To do this, visit prairietest.com and log in with your UCSD-associated Google account. From there, you will be able to see the exams available for reservation. Scheduling of exams will open on before July 5th, 2024.

Students requesting accommodations for this course due to a disability must provide a current Authorization for Accommodation (AFA) letter (paper or electronic) issued by the Office for Students with Disabilities (osd.ucsd.edu). Students are required to discuss accommodation arrangements with instructors and OSD liaisons in the department IN ADVANCE of any exams or assignments. Students with approved accommodations will be taking their exams at the Triton Testing Center and not prairietest.com. Exams must be scheduled at least 72 hours in advance at http://tritontesting.ucsd.edu.

Skill Assessment Solutions: https://canvas.ucsd.edu/courses/57066/pages/skill-assessment-solutions

Group Projet

The group project is milestone based and will consist of several milestones. Work will be uploaded on GitHub and submissions will be done on Gradescope. Details TBA!

Grading

In order to get an A in the class it is recommended that you get an A in each component of the course. A+'s will be assigned at the end of the quarter and only to students showing exemplary accomplishments across all components of the course, and have shown strong collaboration with their peers.

A table that contains the grading scheme data. Each row contains a name, a maximum percentage, and a minimum percentage.

LetterGrade Range
A100% to 94%
A-< 94% to 90%
B+< 90% to 87%
B< 87% to 84%
B-< 84% to 80%
C+< 80% to 77%
C< 77% to 74%
C-< 74% to 70%
D< 70% to 60%
F< 60%

The weighted breakdown of each category is as follows:

CategoryPercentage
Participation5%
Quizzes10%
Homeworks20%
Group Project30%
Skill Assessments35%

Policy

Academic Integrity

Individual assignments describe policies specific to the assignment. Some general policies for the course are here.

Homework + Group Projects and Academic Integrity

You can use code that we provide or that you develop. All of the writing must be your own.

You can use an AI assistant like ChatGPT or Copilot to help you write code in this class. If you do, you are required to include it in the collaboration section that shows:

  • The prompts you gave to ChatGPT, or the context in which you used Copilot autocomplete
  • What its output was and how you changed the output after it was produced

This helps us all learn how these new, powerful, and little-understood tools work (and don't).

Skill Assessments and Academic Integrity

General instructions for skill assessments (not the questions) will be posted in week 1 and will be the same for subsequent skill assessments. You're free to collaborate with others on preparing for the skill assessments, trying things out beforehand, and so on.

However, you CANNOT share details of your skill assessment with others until the following Saturday. You CANNOT communicate with anyone during the week of that skill assessment. i.e. Skill assessment 1 cannot be discussed during the entirety of week 2 and so forth.

Quizzes and Academic Integrity

You can work on weekly quizzes with other students.

Anticipated Frequent Questions

Can I attend a skill assessment session other than the one I have signed up for?

No, you will be turned away. You must reschedule your skill assessment 30 minutes prior to it starting to attend another time.

What do I need to do to get an A?

See the grading section above.

Can I leave discussion early if I'm done?

The discussions are designed to not be things you can “finish”. Discussions have plenty of extension and exploration activities at the end for you to try out, discuss, and help one another with. Co-located time with other folks learning the same things is precious and what courses are for. Also, if you need an extrinsic motivation, you won't get credit for participation if you don't stay, and participate, the whole time.

Do I have to come to discussions?

Yes, see grading above.

What should I do if I'm on the waitlist?

Attend and complete all the work required while waitlisted (this is consistent with CSE policy).

I missed lecture/have to travel for a lecture, what should I do?

Find the associated notebook for the week above, watch the podcast, and hand in the notebook ipynb file to Gradescope before the next class.

I missed the late deadline for a lecture handout submission, what should I do?

You cannot submit a lecture handout after the posted deadline on Gradescope; move on and focus on getting to the next ones!

I missed discussion, what should I do?

You cannot makeup missed discussion credit (but have a few “allowed” misses). Make sure you understand the material from discussion because it will be used on skill assessments; try to do the parts that don't involve discussion on your own, and review your group's discussion notes. This is why it's good to make new friends in my classes. :)

I missed a quiz deadline, what should I do?

You can submit it late until the end of the quarter. Generally we allow lots (think like 1/3 to 1/2) of the quizzes to be late without it impacting your grade, but do take them seriously before the end of the week so you're prepared.

I missed a homework deadline, what should I do?

A week after each homework deadline there is a late/resubmission deadline (except for week 5 homework). You can resubmit then. See the homework section above for grading details about resubmissions.

I missed a homework resubmission deadline, what should I do?

You cannot get an extension on homework resubmissions; we cannot support multiple late deadlines and still grade all the coursework on time.

I missed my skill assessment time, what should I do?

Stay tuned for announcements about scheduling a make-up later in the quarter.

Where is the financial aid survey?

We do this for you; as long as you submit a quiz, lecture handout, or do a lab participation in the first week, we will mark you as commencing academic activity.

Week 1 - Data, Numpy, Matrices, Error/Loss functions and Regression

  • Deadlines:
    • Quiz 1 Due 7/7/2024
    • Homework 1 Due 7/14/2024

Week 1 Lecture Material

Week 1 Discussion

Week 2 - Non-Linear Regression, OLS, and Log Loss

  • Deadlines:
    • Quiz 2 Due 7/14/2024
    • Homework 1 Due 7/14/2024

Week 2 Lecture Material

Week 2 Discussion

Week 3 - Neural Networks: ANNs, DNNs, and CNNs

  • Deadlines:
    • Quiz 3 Due 7/22/2024
    • Homework 2 Due 7/22/2024

Week 3 Lecture Material

Week 3 Discussion

Week 4 - Classification: SVMs, Naive Bayes, KNN and Decision Trees

  • Deadlines:
    • Quiz 4 Due 7/28/2024
    • Homework 3 Due 7/28/2024

Week 4 Lecture Material

Week 4 Discussion

Week 5 - Finishing Classification & Intro to Unsupervised Learning: Clustering & Dimensional Reduction

  • Deadlines:
    • Quiz 5 Due 8/4/2024
    • Homework 4 Due 8/4/2024

Week 5 Lecture Material

Week 5 Discussion