Lectures -------- Lectures are in person (with a few possible pre-announced exceptions) and not recorded. Lecture notes are posted on the class website. Participation ------------- Attendance is not mandatory. However, class participation is important and therefore it will be part of your grade. By class participation I mean more than just being in class; you're expected to actively participate, either by asking questions (the easiest) or by answering my questions and my invitations to comment. Bonus participation points for selected answers on the discussion board may be awarded. We will also try the following in-class exercises, which will count for participation. Occasionally, we will hand out a sheet of paper with short exercises and questions. (Alternatively, we will seek ways to do this on-line).You will have 5-10 minutes to work on them. At the end of this period, you can hand in your work or not. If you hand it in, there are the following benefits: it is equivalent to answering or asking a question in class, hence it adds to your participation points AND (capacity permitting) you will get feedback on it. It does not matter if you are correct or not in your answers, since this work is counted for participation only. How much participation is enough? Once a week on average is plenty. Assignments ------------ Assignments will be posted on the web (usually) on Wednesdays and will be due by midnight (usually) the following Wednesday. The homework should be submitted as a single pdf file on Crowdmark, and one zip file for each problem for the coding part. Note that code is autograded; hence, answers that are expected to be in the pdf file will not be graded if they are in the code output. The homeworks will consist of problems and short programming assignments. It is important to turn in your homework timely. First, because homework is a component of learning the new material. New lectures will build on past lectures as well as past homework results. Second, fair grading requires fair conditions for everybody. You are allowed to be late with your homework twice with no penalty. Further late homework will be penalized by up to 50%. No late homeworks are accepted once the solutions are out or the graded homework returned (this happens typically one week after the homework due date). Programming assignments. The programming language is python, and you must submit python scripts that run. The output of these scripts will be auto-graded, so you must ensure that the formats are correct (we will provide code snippets for output in most cases). In this class, you **have to write the code for the algorithms that are the subject of the course yourselves**, but it is okay (and expected) to use library functions for the other tasks (such as plotting, numpy, etc). For example, you are not expected to implement your own random number generator, but you will have to write code (that will use the random numbers) to generate e.g.synthetic data, you will implement the formula for mean and standard deviation even if the software you are using has a built-in function for that, etc. There will be exceptions to this rule, which will be clearly specified. We will offer support and a tutorial for matplotlib, the python plotting library. Plotting data is an integral part of data science, which is fairly close to Machine Learning. Other homework problems will require calculus and easy arithmetic (in addition to what you learn in this class, of course). Both literal and numeric answers should be brought to their simplest form for full credit, and to allow you to fully appreciate the result. Math topics you should review are in the 480-math-bare-essentials.txt file. We will offer a refresher on these, and another refresher on basic probability and statistics. Solutions to homeworks ---------------------- We provide solutions **on paper only**. **DO NOT under any circumstances POST or SCAN these solutions**. You will be allowed to bring these printed solutions with you to the final exam (as well as a few more pages of notes; more details when final time is near). Collaboration, discussion board, and AI policy ----------------------------------------------- Students are encouraged to talk to each other, to the TAs, to the instructor, or to anyone else about any of the assignments. Any assistance, though, must be limited to discussion of the problem and sketching general approaches to a solution. Each student must write out her or his own solutions to the homework, including the code. We may use plagiarism detection software. Discussion board do's and don'ts: It is okay to ask clarifications about a homework question; i.e. "what does the question mean?" on the discussion board. It is not okay to ask "how do I solve this question?". For example, often we see "what do I plug into formula (5) to solve Problem 1, a?". Both asking and answering such a question is inappropriate collaboration and will be penalized. Use of AI tools. Treat AI as if it was a person and apply the rules above. If you can't ask a friend to do answer a question for you, then you can't ask AI. If you can ask somebody to explain a topic for you, then you can also ask AI. Regrading --------- If you have reason to believe your homework was not graded correctly, please bring it up with the TA no later than a week after the homework grade is posted. Quizzes and final ----------------- Quizzes will be all in person in class. Quizzes are always announced at least a week in advance. There will be no possibility to take a quiz at another time or date, except on the same day in the other section. (Students requiring accomodations -- discuss this with me individually). No electronics of any kind are allowed; you will required to remove all electronics and deposit them in your bag or on the floor next to your seat. Failure to remove all electronics will be considered cheating and will be treated according to the UW rules. Grading -------- CS480: XX% homework, XX% quizzes, XX% participation, and XX% final. CS680: XX% homework, XX% quizzes, XX% participation, and XX% final. The lowest homework or quiz score will be dropped. At final grade time we will calculate the most advantageous score for you to drop. If you miss a quiz you have the option to re-weigh the final exam. About half the homeworks will not be graded (but we will provide solutions). On the graded homeworks, there may be (easier) problems that are not graded. You are strongly encouraged to do those problems and homeworks at the time they are posted. We promise that 25% of the final exam problems will be very similar to problems from the ungraded homeworks.