layout | title | nav_exclude | permalink | seo | ||||
---|---|---|---|---|---|---|---|---|
home |
CS 506 |
true |
index.html |
|
Supplemental material can be found on YouTube
<iframe width="600" height="340" src="https://www.youtube.com/embed/cQW_DV2nr-s?si=XM1x_0rAcMv15qTU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>- Join Piazza and Discord
- Create a GitHub account
- Create a Kaggle account
- Fill out this form (requires BU email) with your GitHub and Kaggle account username
- Install Python and Jupyter Notebook
The goal of this course is to provide students a hands-on understanding of classical data analysis techniques and to develop proficiency in applying these techniques in modern programming languages (Python).
The course introduces students to a wide range of techniques that are commonly used in the analysis of data such as clustering, classification, regression, and neural networks.
Note that this is not a Python (or an introduction to programming) course, so self-study will be necessary for those students who do not already know the language.
There is no textbook for this course, all material will be made available online.
Students taking this class must have some prior familiarity with programming at the level of CS 105, 108, or 111, or equivalent. CS 132 or equivalent (MA 242, MA 442) is required. CS 112 is also helpful.
There are a number of components to this course:
- Weekly assignments and labs
- A midterm
- A final project
- In class exercises
A programming assignment will be released every Monday and be due on Sunday at 11:59PM. These are individual assignments. The use of tools like chatGPT is encouraged.
The midterm will be a Kaggle Data Science competition among the students in the class with a live leaderboard. Students will need to submit predictions based on a training dataset and a report detailing the methods used and decisions made.
The final project can be done as an individual or a group of up to 5 students.
A project proposal will need to be submitted at the end of the first month of the semester. Details will be provided at the start of the semester.
You can select among a number of BU Spark curated projects or you can create your own. A list of example projects will be provided.
At the end of the semester, some teams will be selected to present a poster of their project on Demo Day (details to follow).
Every lecture will have in class exercises to complete and submit via in class polls.
Labs will be graded and attendance will be recorded.
- 30% assignments
- 15% labs
- 20% midterm
- 30% final project
- 5% participation
Letter | Grade |
---|---|
A | 95% + |
A- | 90% - 95% |
B+ | 87% - 90% |
B | 83% - 87% |
B- | 80% - 83% |
C+ | 77% - 80% |
C | 73% - 77% |
C- | 70% - 73% |
D | 60% - 70% |
F | below 60% |
Extra Credit can be earned by consistently:
- Asking and answering questions on Piazza/ Discord
- Contributing to our class repository or course website via PRs (e.g. by fixing typos, providing clarification edits, sharing class notes, etc.)
If you notice an issue with a grade you’ve received, please don't email the teaching staff. Instead, please submit a regrade on Gradescope within 48h of receiving the grade. Anything beyond 48h will not be accepted for a re-grade.
If emailing the CS506 staff, or creating a private Piazza post, please always CC or include the instructor, the TF, and all TAs.