Here is an overview of all of the different types of assignments in the course. You can find the detailed directions for the assignments in the module where they are assigned.

Programming Assignments

The programming assignments will provide you with practical, hands-on experience in applying the concepts we learn in this course.


The discussion activities provide you with an opportunity to deeply reflect on the readings assigned to each module and apply them to a problem. They can prepare you for the projects and the proctored assessments. Online discussion allows time to weave your thoughts and reflect on the readings and your experiences. All of the posts on the discussion board are required to be thoughtful, reflective, and concise.


The quizzes will help assess your learning and prepare you to take the proctored assessments.


The labs in each module can help you practice what you learned and apply it to solve a problem. They can prepare you for the proctored assessments.

Proctored Assessments

The proctored assessments provide you with an opportunity to demonstrate your mastery of the course knowledge. You can find the information on how to take proctored assessments in the Taking Proctored Assessments section of the Syllabus.