Course Syllabus

NOTE: Some links in this syllabus page may only be accessible to currently enrolled students.

Instructor Introduction

Hi everyone! My name is Yong Bakos, and I am your Instructor this term for CS 513 Applied Machine Learning.

This course was originally developed by Yong Bakos. Our goal is to teach graduate students pursuing a masters in data science and statistics about the vocabulary, concepts, algorithms, applications, tools and code that machine learning practitioners use. This is a technical course, but it is not a "hard core" programming course. Because machine learning is a broad, deep and rapidly-changing field, no single course will enable one to be a master of machine learning. We have chosen to equip each student with a strong foundation in machine learning, integrating both knowledge and skill-building, to support your future studies. If you do not know anything about machine learning, you are in the right place.

Based on our past experience, the two most important things to do in this course are:

  • Ask lots (lots!) of questions using the communication tools of the course
  • Schedule dedicated focus time to start the module content and assignments early

Remember, online does not mean alone. One component of value in this course is engaging with other people learning the same thing at the same time and having an instructor to help guide that learning. If you are not active on the Ed discussion board you will get much less out of the course. Students who engage with each other, the content and the teaching staff tend to do better in the course and have a more positive experience than those who don’t.

We are looking forward to working with you and supporting your success in this course!

 

Instructor: Yong Bakos

Teaching Assistants: Aniket Poojari

 

Communication

We are a community of learners. Connect with fellow students, the teaching assistants, and the instructor via the communication tools for the course. Our primary communication tools are Ed Discussions, Zoom, and email.

Questions & Answers: Ed Discussion Board

We will use Ed Discussion Board as our primary means of communication. Post lots and lots of questions! If your question is regarding an assignment, please describe what you are doing, and what error or result you are seeing. Including screenshots is extremely helpful.

You are welcome to post anonymously.

You should post a private message if your post includes a significant bit of a solution or code.

Live Student Help Sessions (Office Hours): Zoom

Student hours (office hours) are held via Zoom by the instructor and teaching assistants. We are looking forward to working with you. Please use the Zoom links below, and note that all times are in the Pacific time zone.

Who Day & Time Zoom Link
Yong Bakos By Appointment link
Aniket Poojari Tues & Thurs 4-6pm link

 

Email

Please do not email our teaching assistants. You are welcome to email the instructor. Please use CS513 in the subject line. You must use your ONID email, but you are welcome to use the Canvas Inbox email as well.

Help from the Instructor

Each student may expect instructor assistance with general course concerns, absence notifications, extension requests, and all issues related to the course. Please use Ed Discussion to ask questions about course content or assignment help. Join a scheduled live help session for immediate assistance. Please send personal matters via email.

Help from Teaching Assistants

Our GTA is responsible for answering questions and grading submitted work. Please do not email the GTA. If you have a question about your grade, please post it as a comment in your assignment submission in Canvas. Please use Ed Discussion to ask questions about course content or assignment help. Join a scheduled live help session for immediate assistance. Please do not send email to our GTA.

Expected Response Time

These times only apply to the weekday, Monday through Friday. The instructor is not available over the weekend.

Expected Response Time
Medium Time
Ed Discussion 24 Hours
Email 32 Hours
Grades 72 Hours

For example, if you post a message on Friday at 4pm, you might not get a response until Tuesday at 4pm. Typically, you will receive a response  much more quickly than these official response times.

We attempt to post all assignment grades and feedback within three business days of a due date.

Technical Assistance

If you experience any errors or problems while in your online course, contact 24-7 Canvas Support through the Help link within Canvas. If you experience computer difficulties, need help downloading a browser or plug-in, or need assistance logging into a course, contact the IS Service Desk for assistance. You can call (541) 737-8787 or visit the IS Service Desk online.

Accommodations

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Syllabus

You can download the full PDF version of this syllabus.

Course Name: Applied Machine Learning

Course Number: CS 513

Credits: 4 Credits

Instructor name: Yong Bakos

Instructor email: yong.bakos@oregonstate.edu

Graduate Teaching Assistant name: Aniket Poojari

Course Description

Explores machine learning basics (variance and bias, underfitting and overfitting, etc). Reviews linear algebra and numpy. Examines k-nearest neighbors, linear classification (perceptron and online learning), and linear and non-linear regression. Explores applications in housing price prediction (Kaggle contest) and text classification (sentiment analysis). This course is for Department of Statistics graduate students enrolled in MS and PhD degrees in Statistics.

Communication

Please post all course-related questions in the Ed Discussion forum so that all students may benefit from our conversation. Please contact me privately for matters of a personal nature. I will attempt to reply to course-related questions within 48 business hours. I will strive to return your assignments and grades for course activities to you within three days of the due date.

Course Credits

On average this course combines approximately 150 hours of instruction, online activities and assignments for 4 credits.  The majority of the time will be spent completing the activities and assignments. Assignments can be challenging, start early and if you have questions ask them on the Ed Discussion board.  Waiting until the last minute is not an effective strategy. 

Measurable Student Learning Outcomes

  1. Formulate the components of a machine learning algorithm
  2. Contrast training, test and generalization errors to identify and interpret underfitting and overfitting, and to use methods to cope with underfitting and overfitting.
  3. Formulate and implement a k-NN classifier.
  4. Formulate and implement the average perceptron classifier.
  5. Interpret and extend the perceptron convergence proof.
  6. Use linear regression in a real-world prediction task.
  7. Use support vector machines and kernels in a real-world classification task.
  8. Use linear classifiers in real-world text classification and sentiment analysis tasks.

Learning Resources

There is no required course textbook, and we provide all learning materials within the Canvas modules of this course. Each exploration and assignment provides additional external learning resources.

Evaluation of Student Performance

  • Homework 30%
  • Quizzes 10%
  • Midterm Exam 30%
  • Final Exam 30%

Module Availability

Each module will generally be available at 8 am on Monday. We limit module availability to keep students focused on the similar topics and work each week of the course. We will provide access to the following week's module approximately one week in advance.

Letter Grade

Grade and Percent Range
Grade Percent Range
A 93
A- 90
B+ 87
B 83
B- 80
C+ 73
C 73
C- 70
D+ 67
D 63
D- 60
F 0

Course Content

CS 512 Course Schedule
Week
Topic Learning Materials Assessed Work
1 Introduction to Machine Learning

Explorations

Quiz 1

Notebook 1

2 Data Pre-Processing

Explorations

Quiz 2

Notebook 2

3 Classification with k-Nearest Neighbors

Explorations

Quiz 3

Notebook 3

4 Classification with Perceptrons

Explorations

Quiz 4

Notebook 4

5 Midterm, Survey of Deep Learning

Explorations

Quiz 5

Practice Midterm Exam

Midterm Exam

6 Linear Regression with Gradient Descent

Explorations

Quiz 6

Notebook 6

7 Classification with Logistic Regression

Explorations

Quiz 7

Notebook 7

8 Classification with Support Vector Machines

Explorations

Quiz 8

Notebook 8

9 Text Classification & Sentiment Analysis

Explorations

Quiz 9

Notebook 9

10 Reflection & Further Learning

Explorations

Quiz 10

11 Final Exam

 

 

Practice Final Exam

Final Exam

Assessed Work

After completing the learning materials for each module, we will complete a quiz, to demonstrate our knowledge and understanding, and a Notebook, to demonstrate an application of knowledge and skill. There is both a midterm exam and a final exam in this course.

Quizzes

Quizzes are taken online within Canvas, and are timed, so once you begin, be prepared to complete the quiz in one sitting. You may take each quiz twice. These are not a huge part of your grade, so do not stress out over them. Rather use the quizzes to assess your knowledge and understanding of the course material. Please ask questions about any incorrect answers or confusing topics in the quiz.

Notebooks

Data scientists and machine learning practitioners often employ Jupyter Notebooks to craft interactive, runnable machine learning experiments on data. Each notebook in this course provides some boilerplate code, a problem statement, a mix of text and code, and room for you to implement and demonstrate your solution. See the Tools tab in the syllabus for more information.

Each Notebook assignment has a rubric with the criteria we use for assessment.

You are encouraged to complete your notebooks before the assignment deadline, and post a comment in Canvas to request an early review of your work. That way, you can incorporate feedback into a revision, and resubmit prior to the deadline for additional credit, if any was missed.

Exams

There is a midterm in this course in Module 5. The midterm is an unproctored, timed, online quiz within Canvas. A practice midterm exam is available. You may take the midterm exam any time before its due date. You may only take the midterm exam once.

There is a final exam in this course during Final Exam Week. The final exam is an unproctored, timed, online quiz within Canvas. A practice final exam is available. You must take the final exam before its due date.

Expectations: Programming and Mathematics

This course is for data science students who have completed CS 511 or have equivalent experience in Python programming. In addition, students should have completed CS 512 prior to this course, but it is not mandatory. You are expected to write programs in Python without guidance on basic syntax. The emphasis of this course is on solving applied problems in machine learning through programming - the course does not teach you how to program.

In addition, this course expects students to have at least an undergraduate-level mathematics background in statistics, algebra, geometry, and trigonometry. Intimacy with linear algebra and basic calculus is helpful, but not mandatory.

Difference with On Campus Courses

In an on campus course about 12 to 13 of the class time would consist of instructor-led lecture. The rest of the time would be used to do in-class examples and work in small groups. This is where you would test your understanding of the topics and ask your group mates for help. It is also where you would help your fellow students. If you were totally stuck, the instructor would help.

In principle, online learning should be about the same. But instead of a classroom, you have a discussion board. You should be active on the discussion board to help and get help from your classmates. When everyone gets stuck the instructor can help get the class unstuck. But the value of the course comes in your ability to get help from other people learning the same thing at the same time and having an instructor to help guide that learning. If you are not active on the discussion board you will get much less out of the course. Ask lots of questions.

Tools

This primary tools in this course include algorithms, the Python 3 language, Python libraries, and Jupyter Notebooks. Rather than setting up our own individual Jupyter Notebook servers and development environments, we will rely on Kaggle, the world's home for machine learning.

To get started with Kaggle, please register and use the Register with Email option. Please use your oregonstate.edu email address.

Each Notebook assignment in Canvas provides you with instructions on what to do next.

Getting Help With Tools

When you get stuck, please ask for assistance using the Ed Discussion forum. Please describe:

  • What Notebook you are working on
  • What you are trying to do
  • The steps you have taken
  • The last thing you did that seemed to work correctly
  • The full error message and/or a screenshot

Per the Expectations in mathematics and programming for the course, we will not prioritize debugging assistance or help with Python syntax errors. Try using google to investigate your problem, but if you feel stuck, please ask for assistance.

Course Policies

Learning, Inquiry & Course Communication

This is a graduate level course in computer science, and each of us is expected to be an independent learner, engaging with the content, fellow students, and the learning staff. Ask lots of questions. We are all expected to participate a lot on the discussion board to get help from, and give help to, your fellow classmates. If you are not active on the discussion board you will get much less out of the course.

Each student is responsible for reading all Canvas course Announcements.

Late Work Policy

Assessed work, such as quizzes and notebooks,  are generally due on Sundays. Each assignment will remain open for two days after the due date. We will review and score late work, but late submissions will receive a 50% score reduction.

If you would like an extension for any reason, please email the instructor at least 48 hours in advance of a due date.

Quality of Work

We expect students to care, and take pride in their submitted work, and present work of professional quality. This includes the lack of spelling errors, appropriate grammar, reasonable formatting, readability, and relatively clean code. We may request that you revise and resubmit a Notebook, if the quality of work does not exhibit care.

Students are encouraged to submit incomplete, high quality work rather than grasping for a poorly written, haphazardly complete or error-prone Notebook. In other words, ensure that your Notebook runs without error, even if it is only partially complete. We can best provide feedback on partial but functioning work, rather than non-functioning work.

Statement Regarding Religious Accommodation

Oregon State University is required to provide reasonable accommodations for employee and student sincerely held religious beliefs. It is incumbent on the student making the request to make the faculty member aware of the request as soon as possible prior to the need for the accommodation. See the Religious Accommodation Process for Students.

Guidelines for a Productive and Effective Online Classroom

(Adapted from Dr. Susan Shaw, Oregon State University)

Students are expected to conduct themselves in the course (e.g., on discussion boards, email) in compliance with the university’s regulations regarding civility. Civility is an essential ingredient for academic discourse. All communications for this course should be conducted constructively, civilly, and respectfully. Differences in beliefs, opinions, and approaches are to be expected. In all you say and do for this course, be professional. Please bring any communications you believe to be in violation of this course policy to the attention of your instructor.

Active interaction with peers and your instructor is essential to success in this online course, paying particular attention to the following:

  • Unless indicated otherwise, please complete the readings and view other instructional materials for each week before participating in the discussion board.
  • Read your posts carefully before submitting them.
  • Be respectful of others and their opinions, valuing diversity in backgrounds, abilities, and experiences.
  • Challenging the ideas held by others is an integral aspect of critical thinking and the academic process. Please word your responses carefully, and recognize that others are expected to challenge your ideas. A positive atmosphere of healthy debate is encouraged.

Establishing a Positive Community

It is important you feel safe and welcome in this course. If somebody is making discriminatory comments against you, sexually harassing you, or excluding you in other ways, contact the instructor, your academic advisor, and/or report what happened at https://studentlife.oregonstate.edu/studentconduct/reporting so we can connect you with resources.

Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Conduct Code. Students are expected to conduct themselves in the course (e.g., on discussion boards, email postings) in compliance with the university's regulations regarding civility.

Academic Integrity

Note: All assignments are checked for plagiarism and originality, and compared to solutions found on typical cheating sites (Chegg, etc), other student work, and assessed for AI-generated work. Violations of the university's policies shall result in an F grade in this course.

Integrity is a character-driven commitment to honesty, doing what is right, and guiding others to do what is right. Oregon State University Ecampus students and faculty have a responsibility to act with integrity in all of our educational work, and that integrity enables this community of learners to interact in the spirit of trust, honesty, and fairness across the globe.

Academic misconduct, or violations of academic integrity, can fall into seven broad areas, including but not limited to: cheating; plagiarism; falsification; assisting; tampering; multiple submissions of work; and unauthorized recording and use.

It is important that you understand what student actions are defined as academic misconduct at Oregon State University. The OSU Libraries offer a tutorial on academic misconduct, and you can also refer to the OSU Student Code of Conduct and the Office of Student Conduct and Community Standard’s website for more information. More importantly, if you are unsure if something will violate our academic integrity policy, ask your professors, GTAs, academic advisors, or academic integrity officers.

Plagiarism

Note: All assignments are checked for plagiarism and originality, and compared to solutions found on typical cheating sites (Chegg, etc), other student work, and assessed for AI-generated work. Violations of the university's policies shall result in an F grade in this course.

Keeping with the idea of needing to communicate with your classmates, you will need to share code with each other to communicate ideas and to explain problems. That said, you should only share what is needed. This is good practice in general. Having to look through an entire file to find a single function is not helpful when you could have just posted the functions.

You will also get great help from your classmates. If you use a code fix or suggestion from them you need to do two things.

  1. You need to cite who it came from, that means you need to, in your code, add a comment saying that the code was not your original code and say what student or 3rd party provided it.
  2. You need to document what the code is doing. So you should write roughly a sentence per line of code explaining what the snippet is doing. So if you were to say, use an entire 100 line file provided by a student you would need to write something around a 2,000 word essay describing what the code is doing.

When giving help, don’t give more help than is needed. Try to keep answers deep in depth but narrow in focus. Address the problem the student is asking about and address it well, but keep from giving away too much about topics they might not have run into yet.

TurnItIn

Your instructor may ask you to submit one or more of your writings to Turnitin, a plagiarism prevention service. Your assignment content will be checked for potential plagiarism against Internet sources, academic journal articles, and the papers of other OSU students, for common or borrowed content. Turnitin generates a report that highlights any potentially unoriginal text in your paper. The report may be submitted directly to your instructor or your instructor may elect to have you submit initial drafts through Turnitin, and you will receive the report allowing you the opportunity to make adjustments and ensure that all source material has been properly cited. Papers you submit through Turnitin for this or any course will be added to the OSU Turnitin database and may be checked against other OSU paper submissions. You will retain all rights to your written work. For further information, visit Academic Integrity for Students: Turnitin – What is it?

Statement Regarding Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval, please contact DAS immediately at 541-737-4098 or at the DAS website. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.

Accessibility of Course Materials

All materials used in this course are accessible. If you require accommodations please contact Disability Access Services (DAS).

Additionally, Canvas, the learning management system through which this course is offered, provides a vendor statement certifying how the platform is accessible to students with disabilities.

Ecampus Reach Out for Success

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success.

Ecampus students are always encouraged to discuss issues that impact your academic success with the Ecampus Success Team. Email ecampus.success@oregonstate.edu to identify strategies and resources that can support you in your educational goals.

  • For mental health

Learn about counseling and psychological resources for Ecampus students. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).

  • For financial hardship

Any student whose academic performance is impacted due to financial stress or the inability to afford groceries, housing, and other necessities for any reason is urged to contact the Director of Care for support (541-737-8748).

Academic Calendar

All students are subject to the registration and refund deadlines as stated in the Academic Calendar.

Student Bill of Rights

OSU has twelve established student rights. They include due process in all university disciplinary processes, an equal opportunity to learn, and grading in accordance with the course syllabus.

Student Evaluation of Courses

During Fall, Winter, and Spring term the online Student Evaluation of Teaching system opens to students the Wednesday of Week 8 and closes the Sunday before Finals Week. Students receive notification, instructions and the link through their ONID. They may also log into the system via Online Services. Course evaluation results are extremely important and used to help improve courses and the hybrid learning experience for future students. Responses are anonymous (unless a student chooses to “sign” their comments, agreeing to relinquish anonymity) and unavailable to instructors until after grades have been posted. The results of scaled questions and signed comments go to both the instructor and their unit head/supervisor. Anonymous (unsigned) comments go to the instructor only.

Return to Modules

Course Summary:

Date Details Due