DSC 340: Machine Learning and Neural Networks Syllabus

MWF 8:45am - 9:50am in Bracy 06

Instructor Information

Course Description and Learning Objectives

Machine learning is a fast-growing field that is starting to invade all academic disciplines and daily life. This course aims to answer two main questions: "What is machine learning?" and "How can machine learning be used to solve different types of problems?".  We will investigate some foundational machine learning algorithms and current machine learning trends, such as neural networks and ChatGTP. Note that this course is not meant to be a deep dive into machine learning.  Rather, this course will introduce you to various machine learning topics and give you the tools and resources to explore these interesting topics further and apply them to problems you find interesting.

By the end of this course, you should be able to:

Topics Covered by Week

There will not be a final exam for this course and the final exam period will not be used.

Course Policies

Textbook and Course Websites

The required textbook for this course is Hands-On Machine Learning with Scikit-Learn, Keras, and Tensorflow, 3rd Edition by Aurélien Géron.  Occasionally other articles will be provided as supplemental reading.  The main course website is juliebutler.org/classes/dsc340, but assignments will be submitted through the course D2L page, and lecture notes are located butler-julie.github.io.DSC340LectureNotes. 

Technology Requirements

A laptop with an internet connection is required in class and for all out-of-class assignments. All programming assignments will be done on Google’s Colab software, a cloud-based Python notebook software that comes will all popular libraries.  This means that all of the machine learning assignments can be run on any computer, regardless of its specifications.  Google Colab requires a Google account, which can be created for free if you do not already have one.  If you have trouble accessing the Google Colab on your device or do not have a laptop, please talk to me.

Pre-Class Homework

The goal of pre-class homework is to get you familiar with the material we will be covering during the week.  Pre-class homework should take no more than 1.5 hours to complete.  They will be released on Thursday the week before and are due before class on Monday.  The exact due dates are given in the table at the end of this document.

In-Class Projects

In-class projects will be worked on during class on Fridays (and sometimes started on Wednesday, time permitting) and can be completed after class as long as they are submitted by the start of the next Monday’s class. For example, the Week 1 in-class project will be started in class on Wednesday of Week 1, worked on during the class period on Friday, and submitted before Monday’s class on Week 2.  See the table at the end of this document for exact deadlines.

In-class projects aim to reinforce the concepts and skills discussed during the week’s lecture.  Since machine learning is a type of data analysis involving programming, the best way to learn machine learning is to do it.  In-class projects will be Google Colab notebooks; the link can be found on the course website. These in-class projects can be completed individually or in groups of up to three students.  If completed in groups, all group members can submit the same notebook as long as all names are in the notebook.  

Post-Class Homework

Post-class homework assignments are released after class on Friday and are due the following Wednesday. Completing a post-class homework assignment should take no more than three hours.  

Final Project (Report + Presentation)

More details on the final project are available here. 

Late Policy

Everyone has ten late days to apply to turn in any pre-class homework, in-class project, or post-class homework.  You can apply as many days as you want, but you only get ten late days in total for the entire semester.  You must email me if you plan on using the late days and how many before the due date on the assignment.

For example, you can apply two late days to pre-class homework #3, so you turn it in on Wednesday instead of Monday.  You now have 8 late days remaining to use on other assignments.

Other extensions will not be given on assignments, and late work will not be accepted EXCEPT in very special circumstances such as extended illness or family emergencies (talk to me).

Note late days cannot be used to turn in the final report, final code, or presentation.

Grading Policy

Pre-Class Homework: 10%

In-Class Projects: 20%

Post-Class Homework: 30%

Final Project (Report + Presentation): 40%

Assignments that are not turned in will receive a grade of zero.  The lowest two pre-class homework, in-class project, and post-class homework grades will be dropped from the final grade (six dropped grades total).


Percentage grades can be converted to an A-B scale using the following:

Suggested Reading and Important Dates

Please note that the suggested readings are not required readings. Rather they are here to help you find the information that is being covered in a particular week if you need to look up a question. 

Week 1 (August 21 - 25)

Week 2 (August 28 - September 1)

Week 3 (September 4 - 8)

Week 4 (September 11 - 15)

Week 5 (September 18 - 22)

Week 6 (September 25 - 29)

Week 7 (October 2 - 6)

Week 8 (October 9 - 13)

Week 9 (October 16 - 20)

Week 10 (October 23 - 27)

Week 11 (October 30 - November 3)

Week 12 (November 6 - November 10)

Week 13 (November 13 - November 17)

Week 14 (November 20 - November 24)

Week 15 (November 27 - December 1) 

Week 16 (December 4 - 8)