layout | keywords | title | description | buttons | micro_nav | ||||
---|---|---|---|---|---|---|---|---|---|
default |
CS230 Deep Learning |
Deep Learning is one of the most highly sought after skills in AI. In this course, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. |
|
true |
- This quarter ({{ site.course.quarter }}), CS230 meets for in-class lecture {{ site.course.time}}, {{ site.course.venue }}.
- All class communication happens on the [CS230 Piazza forum]({{ site.course.piazza }}). For private matters, please make a private note visible only to the course instructors. For longer discussions with TAs and to get help in person, we strongly encourage you to come to office hours. If you need to contact us via email, please email individual TAs.
- The course content and deadlines for all assignments are listed in our syllabus.
{% include staff.html %}
All course announcements take place through the [class Piazza forum]({{ site.course.piazza }}). Please make sure to join!
CS230 has the following components:
- In class lecture - once a week
- Video lectures, programming assignments, and quizzes on Coursera
- The final project
- Weekly TA-led sections
CS230 follows a flipped-classroom format, every week you will have:
- In-class lectures on Tuesdays: these lectures will be a mix of advanced lectures on a specific subject that hasn't been treated in depth in the videos or guest lectures from industry experts. If you are an SCPD student, you can access the in-class lecture videos on Canvas.
- Two modules from the deeplearning.ai Deep Learning Specialization on Coursera. You will watch videos at home, solve quizzes and programming assignments hosted on online notebooks.
- TA-led sections on Fridays: Teaching Assistants will teach you hands-on tips and tricks to succeed in your projects, but also theorethical foundations of deep learning.
- Project meeting with your TA mentor: CS230 is a project-based class. Through personalized guidance, TAs will help you succeed in implementing a successful deep learning project within a quarter.
One module of the deeplearning.ai Deep Learning Specialization on Coursera includes:
- Lecture videos which are organized in "weeks". You will have to watch around 10 videos (more or less 10min each) every week.
- Quizzes (≈10-30min to complete) at the end of every week to assess your understanding of the material.
- Programming assignments (≈2h per week to complete). The programming assignments will usually lead you to build concrete algorithms, you will get to see your own result after you've completed all the code. It's gonna be fun! For both assignment and quizzes, follow the deadlines on the Syllabus page, not on Coursera.
Students are expected to have the following background:
- Knowledge of basic computer science principles and skills, at a level sufficient to write a reasonably non-trivial computer program.
- Familiarity with the probability theory. (CS 109 or STATS 116)
- Familiarity with linear algebra (MATH 51)
Here's more information about the class grade:
UPDATE: due to rapid developments with covid-19, all final project deliverables (poster, report, and video) are now optional. Please read this piazza announcement for more details.
Below is the breakdown of the class grade:
- 40%: Final project
- 25%: Midterm
- 25%: Programming assignment
- 8%: Quizzes
- 2%: Attendance (e.g. in-class lectures --if not SCPD-- and project mentorship meetings.)
Note: For project meetings, every group must meet 3 times throughout the quarter:
- Before the project proposal deadline to discuss and validate the project idea. This can be with any TA.
- Before the milestone deadline, with your assigned project TA.
- Before the final report deadline, again with your assigned project TA.
Every student is allowed to and encouraged to meet more with the TAs, but only the 3 meetings above count towards the final participation grade.
From the Coursera sessions (accessible from the invite you receive by email), you will be able to watch videos, solve quizzes and complete programming assignments. Each quiz and programming assignment can be submitted directly from the session and will be graded by our autograders.
You will submit your project deliverables on Gradescope.
Each student will have a total of ten free late (calendar) days to use for programming assignments, quizzes, project proposal and project milestone. Each late day is bound to only one assignment and is per student.
For example, if one quiz and one programming assignment are submitted 3 hours after the deadline, this results in 2 late days being used.
For example, if a group submitted their project proposal 23 hours after the deadline, this results in 1 late day being used per student.
Once these late days are exhausted, any assignments turned in late will be penalized 20% per late day. However, no assignment will be accepted more than three days after its due date, and late days cannot be used for the final project and final presentation. Each 24 hours or part thereof that a homework is late uses up one full late day. Also, note that if you submit an assignment multiple times, only the last one will be taken into account, in which case the number of late days will be calculated based on the last submission.
Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty. Unless the student has a temporary disability, Accommodation letters are issued for the entire academic year. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066).
We strongly encourage students to form study groups. Students may discuss and work on programming assignments and quizzes in groups. However, each student must write down the solutions independently, and without referring to written notes from the joint session. In other words, each student must understand the solution well enough in order to reconstruct it by him/herself. In addition, each student should submit his/her own code and mention anyone he/she collaborated with.