Fall 2024 CS244

Welcome to CS244, an introduction to machine learning




About CS244


  • Machine learning is the science of teaching computers how to learn from observations. It is ubiquitous in our interactions with society, such as in face recognition, web search, targeted advertising, speech processing, and genetic analysis. It is currently at the forefront of research in artificial intelligence, and has been making rapid strides given the vast availability of data today. This course is a broad introduction to the field, covering the theoretical ideas behind widely used algorithms like decision trees, linear regression, support vector machines, and many more. We will also study practical applications of these algorithms to problems in a variety of domains, including vision, speech, language, medicine, and the social sciences.
...

Brian Tjaden

CS244 Fall 2024 schedule


Please check this page frequently, as it is subject to change.

Monday

Tuesday

Wednesday

Thursday

Friday

Oct 14

Indigenous Peoples' Day

Oct 15

Fall Break

Oct 16

Oct 18

Oct 28

Project work

Oct 29

Tanner Conference

Oct 30

Nov 1

Nov 26

Nov 27

Thanksgiving

Nov 28

Thanksgiving

Nov 29

Thanksgiving

Dec 10

Dec 11

Dec 12

Reading Period

Dec 13

Reading Period

Dec 16

Final Exams

Dec 17

Final Exams

Dec 18

Final Exams

Dec 19

Final Exams

Final Project Milestone 3 due

Dec 20

Course Information for CS244



Learning Goals

The aim of this course is to enable students to engage in a world shaped by data and computation, so that students can understand, design, apply, and evaluate computational methods that learn with experience, that solve problems based on data, and that improve their performance as they are exposed to more examples.

Students who complete this course will be able to:


Textbook

There is no required textbook for this course.


Exercises

There will be online and written problem-solving exercises. The exercises provide hands-on practice with new material and with problems similar to the projects. For the exercises, students work at their own pace and can get help from the instructor. Normally, exercises will be completed in teams of two students each, with teams starting an exercise during class time and completing it outside of class. Exercises are due at 11pm on their due date.


Projects

Projects help students develop a working knowledge of the concepts presented in class. Projects are due at 11pm on their due date.

Working with a partner on projects is optional. You may work with a partner on as many projects as you like. However, you can only work with a given partner on a single project during the semester. If you want to work on projects with a partner multiple times, you must choose a different partner for each such project. Rotating through partners is a good way to build community in the class and is helpful in avoiding situations where one individual feels pressured to continue working with another. If you would like to work with a partner, you may find your own partner or you may use this shared Google document to indicate your interest in working with a partner.

Many of the projects will be challenging. You should keep in mind that programming often consumes more time than expected. Start your projects early! This will give you time to think about the problems and ask questions if you hit an impasse.


Late Policy

Exercises and projects are due at 11pm on their due dates. It is beneficial to student learning for course work to be completed regularly throughout the semester. Since much of the material in the course builds off of previous content from earlier in the course, it is helpful to keep on schedule so that students have the necessary background to engage with the material as it is presented in class together with their classmates. Keeping on schedule is also helpful to avoid becoming overwhelmed, and to put students’ best self forward. For these reasons, excepting the lateness coupons described below, we cannot accept late assignments. In extenuating circumstances (e.g., sickness, personal crisis, family problems, religious holidays), you may request an extension. We will often require that an extension request be made on your behalf by your dean.

In order to offer some amount of flexibility and exception to the above policy, we offer five lateness coupons to be used at the discretion of each student:

  1. Each student gets five lateness coupons. Each coupon corresponds to a 24-hour extension. Coupons can be used at any time during the semester up to the last day of classes but may not be used to extend deadlines into reading period or final exam period (College legislation restricts work, other than final exams/papers/projects from being due after the last day of classes). Coupons may not be used for the final project. Multiple coupons may be used for a single assignment or distributed across assignments as a student deems best.
  2. Coupons are not fractional in nature. If an assignment is one hour, or twelve hours, or 24 hours late, one entire coupon must be used.
  3. A coupon may be used for exericses or for projects (but not the final project).
  4. For partnered assignments, only one team member needs to use coupons for each 24 extension. Thus, if the partnered group wants to submit an assignment 3 days after the deadline, one team member can use 3 coupons while the other uses 0 coupons, or one team member can use 2 coupons while the other uses 1 coupon. It is up to the team members to work this out together in advance.
  5. While we use the term "coupon" there are not actually physical coupons. A student simply submits a Google form each time they use a coupon, indicating how many coupons they are using, i.e., how many days late they are submitting the assignment. You can access the Google form here.

Collaboration Policy

We believe that collaboration fosters a healthy and enjoyable educational environment. For this reason, we encourage you to talk with other students about the course material and to form study groups.

For projects, students are allowed to discuss the problems with other students and exchange ideas about how to solve them. However, there is a thin line between collaboration and plagiarizing the work of others. Therefore, we require that each student must compose their own solution to each project. You may discuss strategies for approaching the programming problems with your classmates and may receive general debugging advice from them, but you are required to write all of your own code. Similarly, you should not post problems to stackexchange, GAI (generative artificial intelligence) and LLM (large language model) systems, or submit code obtained from such sources. In short, you should write all of your own code. You may not look at other students' code or submit code obtained from some other source. Thus, it is unacceptable and constitutes a violation of the Honor Code (1) to write a program together (with someone else) and turn in two copies of the same program, (2) to copy code written by your classmates, (3) to read another student's code, (4) to view projects and solutions from previous terms of CS244, (5) to submit CS244 problems to online sources such as stackexchange or GAI or LLMs, (6) or to submit code as your own that you obtained from some other source.

In keeping with the standards of the scientific community, you must give credit where credit is due. If you make use of an idea that was developed by (or jointly with) others, please reference them appropriately in your work. It is unacceptable for students to work together but not to acknowledge each other in their write-ups.

For exercises, you will work with a partner as part of a two-person "team". Partners will be assigned by the instructor, so that each student works with different partners throughout the semester. The two team members must work closely together on the exercise and turn in a single submission of their exercise solutions for the team. The grade received on such a submission will be given to both team members.

For projects, you are encouraged but not required to form a two-person "team" with a partner. The two team members must work closely together on the project and turn in a single submission of their project solutions for the team. The grade received on such a submission will be given to both team members. When partnering for projects, you can only work with a given partner on at most one project during the semester. If you want to work with partners on multiple projects, which is encouraged, you must choose a different partner for each project. Rotating through partners is a good way to build community in the class and is helpful for avoiding situations where one individual feels pressured to continue working with another.

Team efforts on exercises and projects are subject to the following ground rules:
The work must be a true collaboration in which each member of the team will carry their own weight. It is not acceptable for two team members to split the problems in the exercise/project between them and work on them independently. Instead, the two team members must actively work together on all parts of the exercise/project. In particular, almost all programming should be done with the two team members working at the same computer. It is strongly recommended that both team members share the responsibility of "driving" (i.e., typing at the keyboard), swapping every so often.


Grading Policy

The grading for this course is mandatory credit/non. The reason for the use of this grading model is to focus attention on learning, rather than grades, and encourage innovation, risk-taking, and pursuit of your machine learning passions. You will receive all the same grading feedback and scores on assignments and assessments as you would in any course, but your transcript will indicate either CR (credit) or NCR (no credit).

Your final grade will be based on a weighted average of the following components:

At the end of the semester, we will compute a weighted average for each student and assign letter grades. In general, the mapping from numerical score to letter grades looks like this: >= 93.33 is an A, >= 90.00 is an A-, >= 86.67 is a B+, >= 83.33 is a B, >= 80.00 is a B-. >= 76.67 is a C+, >= 73.33 is a C, >= 70.00 is a C-, >= 60.00 is a D and < 60.00 is an F.

Depending on the overall performance of the class, we may adjust this mapping.

If a student receives a final grade of "C" or higher, i.e., greater than or equal to 73.33 in the abovementioned mapping, then the student will receive credit. If a student receive a final grade of "C-" or lower, i.e., less than 73.33 in the abovementioned mapping, then the student will receive no credit.


Computers and Software

All programming in CS244 will be done using the Python programming language. We will make heavy use in the course of Python libraries such as numpy, matplotlib, and sklearn. We may even use MLpronto. As software, we will use Anaconda with Python version 3.8 or higher. Code will be developed and shared in the course using Jupyter notebooks.


Google Group

There is a CS244 Google Group named CS-244-01-FA24. This group has several purposes. We will use it to make class announcements, such as corrections to projects and clarifications of material discussed in class. We encourage you to post questions or comments that are of interest to students in the course. Please do not post Python code in your messages on the Google group! The instructor will read messages posted to the group on a regular basis and post answers to questions found there. If you know the answer to a classmate's question, feel free to post a reply yourself. The course group is also a good place to find people to join a study group. You should plan on reading messages from the group on a regular basis.


Masking

Masks will be optional in this class. Please note that masks are an important tool in helping limit the spread of COVID-19 and other respiratory illnesses. We kindly ask you to wear a mask if you feel unwell, have sniffles, or think you may have been exposed to someone with COVID-19 or the flu. The instructor reserves the right to ask you to mask up or change policies on masking during the semester.

Please be respectful to members of our community (students, faculty, staff, and others) who choose at any point in time to wear or not to wear a face mask. Please refrain from making any judgments as masking may help reduce allergies, prevent the spread of respiratory illnesses, or protect immunocompromised individuals or their families.


Anonymous Feedback Form

Here is a form for providing anonymous feedback to the instructor. You must be logged in to a Wellesley account to use the form, however neither your email address nor any other identifying information will be recorded.


Disabilities and Accommodations

If you have a disability or condition, either long-term or temporary, and need reasonable academic adjustments in this course, please contact Accessibility and Disability Services (ADR) to get a letter outlining your accommodation needs, and submit that letter to me. You should request accommodations as early as possible in the semester, or before the semester begins, since some situations can require significant time for review and accommodation design. If you need immediate accommodations, please arrange to meet with me as soon as possible. If you are unsure but suspect you may have an undocumented need for accommodations, you are encouraged to contact ADR. They can provide assistance including screening and referral for assessments.

Disability Services can be reached at disabilityservices@wellesley.edu, at 781-283-2434, by scheduling an appointment online at their website www.Wellesley.edu/disability , or by visiting their offices on the 3rd floor of Clapp Library, rooms 316 and 315.


Faculty Responsibilities on Disclosures of Discrimination, Harassment, and Sexual Misconduct

Pursuant to Wellesley College policy, all employees, including faculty, are considered responsible employees. That means that any disclosure of discrimination, harassment, or sexual misconduct to a faculty member will need to be shared with the College's Director of Non-Discrimination Initiatives / Title IX and ADA / Section 504 Coordinator (781-283-2451; titleix@wellesley.edu). Students who do not wish to have these issues disclosed to the College should speak with confidential resources who are the only offices at the College that do not have this same reporting obligation. On campus, confidential resources include Health Services (781-283-2810 available 24/7), the Stone Center Counseling Services (781-283-2839 available 24/7) and the Office of Religious and Spiritual Life (781-283-2685). You should assume that any person employed on campus outside of these three confidential offices has an obligation to share information with Wellesley College through the Office of Non-Discrimination Initiatives.