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.

Syllabus Piazza

Course Information

  • This quarter (Winter 2019), CS230 meets for in-class lecture Tue 10:30 AM - 11:50 AM, NVIDIA Auditorium.
  • All class communication happens on the CS230 Piazza forum. 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.

Course Staff

On Campus Course Assistants

Off Campus Course Assistants

Logistics

Before the first class

If you are enrolled in CS230, you will receive an email from Coursera the day before the first day of class to join a private session of the course “Neural Networks and Deep Learning”. Follow the instructions to setup your Coursera account with your Stanford email.

The flipped classroom format

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.

Prerequisites

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 (any one of Math 104, Math 113, or CS 205)

Grading

Here’s more information about the class grade:

Breakdown

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, only the following four meetings are mandatory for attendance:

  • The first occurrence
  • The occurrence after the project proposal
  • The occurrence after the project milestone
  • The occurrence before the final submission

Submitting Assignments

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.

Late assignments

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 (which could be a programming assignment, a quiz or a project submission.)

For example, if one quiz and one programming assignment are submitted 3 hours after the deadline, this results in 2 late days being used.

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.

Honor code

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.