CMSC 2208 – Introduction to Machine Learning
Syllabus
Instructor(s): Joseph Silman Office: Online
E-mail: jsilman@sctcc.edu (PRIMARY COMMUNICATION METHOD) Phone: (320)308-6595
Office Hours: See Attached Course Schedule in D2L or on Course Page.
Credits: 3 (Lecture 2; Lab 1)
Prerequisites:
- CMSC 1203 - Structured Programming Logic (Minimum grade: 1.67 GPA Equivalent)
- CMSC 1236 - Advanced Python Programming (Minimum grade: 1.67 GPA Equivalent)
- CMSC 1217 - Introduction to Data Analytics (Minimum grade: 1.67 GPA Equivalent)
Course Description
This course introduces students to the fundamentals of machine learning using Python, equipping them with practical, hands-on skills that build on foundational data analytics and advanced programming proficiencies from CMSC1217 and CMSC1236. Students will explore key concepts including supervised and unsupervised learning, data preparation, model training, evaluation, and project structuring. Emphasizing a programming-focused approach, the course enables learners to create simple machine learning tools, ultimately preparing them for advanced technical roles and enhancing their employability in an AI-driven tech industry. By the end of the course, students will be able to design, implement, and evaluate basic machine learning models for real-world problem solving.
This online class requires extensive use of your webcam
Course Outcomes
Upon completion of this course the student will:
- Describe the fundamental programming-based concepts of machine learning, including supervised and unsupervised learning, and their practical programming applications using Python.
- Explain how programming tools automate and enhance machine learning processes for real- world datasets.
- Use Python to implement basic supervised learning models, such as linear regression or classification, on simple datasets.
- Compare different programming-based evaluation metrics to assess model performance effectively for machine learning tasks.
- Assess the effectiveness of data preparation techniques using Python for improving machine learning model outcomes.
- Develop a machine learning project using Python, integrating data preparation, a basic model, programming-based evaluation, and project structuring.
Course Content
- Introduction to Machine Learning Concepts
- Data Preparation for Machine Learning Using Python
- Basic Supervised Learning Using Python
- Basic Unsupervised Learning Using Python
- Programming-Focused Capstone Machine Learning Project
Required Materials
Introduction to Machine Learning with Python 1st Edition : Andreas C. Muller & Sarah Guido
Computer running current OS that supports Microsoft Office
Webcam Required
*** STUDENTS ARE REQUIRED TO HAVE THEIR MATERIALS AT THE START OF THE COURSE***
Methods of Instruction
Student Presentation Problem Solving Internet
Creative Projects Assigned Reading
Project Critiques Labs Lecture
Film/Slides/Videos Demonstrations
Grading/Evaluation
Tests, textbook problems, individual projects, video assignments, and performance will be graded. Grades will be updated in D2L and you are responsible for verifying that your grades are correct. Academic Progress reports will only be sent out to students earning a grade of a “D” or lower. Course Grades will be per the following criteria:
A = 100 – 90%
B = 89 – 80%
C = 79 – 70%
D = 69 – 60 %
F = Below 60 %
Grades are weighted as follows:
- Labs and Video Activities - 50%
- Final Projects – 20%
- D2L Quizzes/Tests – 30%
Some assignments will be based off a pass/fail criterion. Grading Rubrics will be assigned to most course activities. Some assignments are automatically graded. Activities may be assigned but not be graded, these are for self-review to prepare you for graded activities. ‘Proof’ files will be provided to you on occasion to help you identify any issues with your assignment. It is expected that you review these when you receive your rubric feedback. Extra credit assignments or additional assignments are not offered in this course.
Course Policies/Practices
Academic Integrity
Academic integrity is highly valued at St. Cloud Technical & Community College and throughout higher education. Maintaining academic integrity is the responsibility of every member of the college community: faculty, staff, administrators and students. Academic integrity requires students to refrain from engaging in or tolerating acts including, but not limited to, submitting false academic records, cheating, plagiarizing, altering, forging, or misusing a college academic record; acquiring or using test materials without faculty permission; acting alone or in cooperation with another to falsify records or to obtain dishonest grades, honors, or awards.
Any violation of the St. Cloud Technical & Community College’s Academic Integrity Policy S3.28 is considered a disciplinary offense and will be subject to the policies of this instructor, entrance into the Academic Integrity Database, and possible disciplinary action as outlined in the Academic Integrity Procedure S3.28.1. Students accused of academic dishonesty may appeal the decision. Students may review the Academic Integrity process and access the Academic Integrity Appeal Form at https://www.sctcc.edu/academic-integrity.
Class policy for Academic Integrity Violations will result in a reduction of your grade.
http://sctcc.edu/sites/default/files/policies/S3.24%20Complaint%20Grievance.pdf
Classroom Behavior
Attendance is a necessary part of this course. Refer to the attendance policy outlined later in the syllabus
Online discussions should be civilized and respectful to everyone and relevant to the topic we are discussing.
Disruptive behavior on any communication platform will not be tolerated.
You are expected to do your own work unless otherwise directed. Cheating, plagiarism, and any other form of academic dishonesty will not be tolerated. Please refer to the Code of Student Conduct and Academic Integrity policy for details.
Any indication of inebriation or being under the influence, and/or displaying of alcohol or use of paraphernalia that could be associated with drug usage during assignments/course activities will result in removal from the session and/or course. No smoking during any online sessions. My policy is to remove you from the course and leave it to you to file a grievance to return.
Meaningful and constructive dialogue is encouraged, but this also requires a degree of mutual respect, willingness to listen, and tolerance of opposing points of view. Respect for individual differences and alternative viewpoints will always be expected in this course. One’s words and use of language should be temperate and within acceptable bounds of civility and decency.
Disruptive behaviors, including excessive talking about off topic items, arriving late to the start of meetings or returning late from breaks, sleeping, reading, or watching media, or game playing is not permitted and will result in a grade penalty.
Extreme disruptive behavior, fighting (verbally), using repetitive profanity, personal or physical threats or insults, and angry outbursts, will result in your removal from the course in accordance with policies and procedures outlined in the SCTCC’s Code of Student Conduct.
If a student’s disruptive behavior causes them to miss an assignment, they will not receive credit for that assignment. If a student has been sanctioned due to disruptive behavior, they waive the right to a warning on a second occurrence.
Data Privacy and Student Course Progress
Students are encouraged to take ownership over their academic progress and communicate with faculty directly for any questions or concerns regarding their coursework. I am reachable at my listed contact information and office hours on this syllabus and happy to discuss your progress with you.
Per the College’s Student Data Practices policy, I am unable to share information about a student’s course progress to anyone other than the student, including third parties such as parents/guardians, unless a current Information Release is on file with the Records and Registration Office. Faculty are often unable to confirm if an Information Release is on file, so it is always preferred that the student speak with the faculty one-on-one.
Because of the items outlined above, should a third party contact me directly with a question or concern about your progress, I will defer my response to you and not the third party. Students shall also not invite third parties to attend class meetings (online), as this causes a disruption to the learning environment.
If a student would like their course progress information released to a third party, they may do so by contacting the Dean’s office to make a request for specific information to be shared with the third party.
Computer Requirements
A Computer meeting the program requirements and able to run multiple instances of Windows or Linux OS concurrently (using virtualization) is required for this class.
Computer requirements are outlined here:
D2L
A fundamental understanding of D2L is required for this course as it is the primary method to communicate course schedules, grade information, and class news. It is the student’s responsibility to learn to navigate and find information on D2L. SCTCC does offer information sessions on this tool.
Attendance/Participation:
Attendance is expected and monitored. You are responsible for monitoring your attendance and your absence count.
Attendance will be determined by up to two contributing factors, logging into your D2L Brightspace course, and submission of weekly assignments. Failure to log into class and/or submit assignments for a week will result in an absence. Failure to log into class during a week where an assignment is not due and is not a scheduled holiday/spring break week will result in an absence. I will check logins and assignment submission for the previous week every Monday.
You must log into your online class and complete an activity by 11:30 PM on the first Wednesday of the first week of class. Failure to log in will result in being dropped from the course.
Missing two consecutive weeks of class will result in being dropped from the course.
Missing two total weeks of class (non-consecutive and any combination of unexcused/excused) will result in a reduction of one letter grade (10% of total points). Missing three total weeks of class will result in an additional reduction of a letter grade. Any absence over three will result in a further reduction of a letter grade for each occurrence. Classes I teach are considered independent of each other with respect to attendance. You may meet attendance requirements in one of my classes but fail attendance requirements in another class.
Testing:
D2L tests are electronic quizzes. These may be scheduled ahead of time or given without warning. If a D2L test is password protected, sharing passwords with another student will constitute an integrity violation.
Tests are not restricted to a specific day for this course but must be completed by the assignment due date as scheduled. You may have multiple attempts at an Online D2L quiz. Time for each question is normally 45 seconds per question. If multiple attempts are allowed, you must score greater than 60% on your first attempt to be allowed a second attempt and you must score greater than an 80% on your second attempt to be allowed a third attempt (if there is a third attempt). If you exceed the time limit on the quiz, the grading engine will mark the test as a 0 and will not allow any further work on your quiz. Always be aware of the time remaining on your quiz. You may not leave a quiz once you start it.
Note on auto generated D2L Tests: You may not be able to backtrack through the questions on a D2L quiz. The Next Page and Submit Button are close to each other on the test page. It is possible to Submit a quiz inadvertently if you are not paying attention so ensure that you are reading the popup messages.
Tests and quizzes cannot be made up.
Schedule
Subject to change based on instructor and class needs.
Assignments/Projects
All assignments must be turned in by the due date. Due dates will be announced during class and posted on D2L . Late assignments will not be accepted. A late assignment is any assignment that is not in the dropbox by the due/end date. Sometimes assignments will consist of two parts, a video submission, and a file submission. Missing either portion of the assignment will make the assignment ineligible for grading. Video assignments that cannot be accessed by the instructor at the time of grading will also not be accepted. All projects and assignments should be archived and kept. Any group work assigned is also ineligible for makeup so make sure that you are a responsible, considerate groupmate.
Types of assignments you may encounter in this course:
Weekly practice assignments – are based on the week’s topics. You will normally receive 5 – 7 days to complete these types of assignment.
Projects – are longer assignments that are bigger in scope than a practice assignment and usually have a timeline with concrete checkpoints. These assignments may be done in a group setting or individually depending on the project.
Video Assignments – are assignments in which you will use your webcam and record your desktop to complete a specific activity. Some video assignments are group-based activities. Ensure that you review the assignment and the assignment rubric for specific instructions.
Dress
Students are expected to dress in a manner that is considerate of their classmates and the instructor for any online video assignments.
Standards for Materials Submitted
Specific standards for submitting assignments will be outlined by the instructor in the assignment instructions. Any assignment that does not follow these standards will not be accepted or subject to a significant grade penalty, this includes not submitting files in the correct file format and/or misnaming the file. If you have a question on a file submission, please ensure that you contact the instructor before the due date.
Student Email
Students will be expected to use email as the primary method of communication with the instructor. Students must use their college email account for all email communication with the instructor. Assignments will not be accepted via email. All students must abide by the following requirements:
If the subject line is missing, your email will not be accepted. The subject line MUST have your course name and course section/class time.
Students will check their email at least once per day.
Students will read all emails and attachments sent by the instructor.
Any attachments submitted via email must pertain to the course.
Email communication is encouraged, however only administrative items will be answered on the night homework is due. An example of an administrative item is informing me of the birth of a child. Technical questions regarding homework will not be addressed. The purpose behind this policy is to limit procrastination.
Expect email to be answered by the end of the next business day. Email sent on Friday will be answered the following Monday.
Student Responsibilities/Contributions
Attendance and participation is crucial to succeed in this class.
Every student will be required to produce projects based on professional standard for the industry.
Every student is expected to turn in all work as assigned.
Every student is expected to work cooperatively with classmates and the instructor.
Statement of Accomodations
St. Cloud Technical & Community College is committed to supporting students with disabilities in obtaining, understanding, and advocating for equitable and inclusive access in all aspects of their education and campus life. It is the role of Accessibility Services to provide and/or arrange reasonable accommodations to qualified students who have a disability (or have acquired a disability) during any point of their tenure at SCTCC. Accommodations are established through collaboration between students, Accessibility Services, faculty, and staff to empower students to pursue their academic goals free from barriers while upholding the integrity of the academic experience.
Disabilities take on several forms including but not limited to mental health, cognitive, learning, behavioral, chronic health/systemic, and physical.
If you have a disability (or think you may have a disability) contact Accessibility Services at 320-308-5064 or acc@sctcc.edu to establish an accommodation plan.
It is the responsibility of the student requesting accommodations to provide their instructor with their accommodation plan via email. It is encouraged that students with approved accommodations connect with their instructor as soon as they are able in order to proactively discuss how reasonable accommodation will be implemented in class and/or to address any concerns regarding emergency procedures. Students may submit their plan to faculty at any time during the semester, but accommodations cannot be retroactively applied.
More information and guidelines are available at www.sctcc.edu/accessibility.
This syllabus is available in alternate formats upon request by contacting Accessibility Services at 320-308-5757, 1-800-222-1009, or acc@sctcc.edu. TTY users may call MN Relay Service at 711 to contact the college. Discrimination against individuals on the grounds of disability is prohibited.
Statement of Diversity
The entire class will benefit from the wealth of diversity brought by each individual, so students are asked to extend every courtesy and respect that they, in turn, would expect from the class.
This college is committed to creating a positive, supportive environment that welcomes diversity of opinions and ideas for students. There will be no tolerance of race discrimination/harassment, sexual discrimination/harassment, or discrimination/harassment based on age, disability, color, creed, national origin, religion, sexual orientation, marital status, status with regard to public assistance, or membership in a local commission.
Course Calendar
See News and Content page on D2L. The Instructor may make adjustments or changes. Notification will be given in class prior to change.
| Week | Topics (with chapter/section anchors) | Deliverable | Reading (Müller & Guido) |
|---|---|---|---|
| 1 (Jan 12–Jan 18) | Course onboarding + “What is ML?” + environment setup + notebook workflow | Week 1 Verification Assignment (setup + screenshots + video) + D2L Quiz 1 | Ch. 1 |
| 2 (Jan 19–Jan 25) | First supervised model + scikit-learn workflow: kNN | Practice Notebook 1 (completion): “Classify player archetypes (kNN)” + D2L Quiz 2 | Ch. 2.1.1 (kNN) |
| 3 (Jan 26–Feb 01) | Linear models: classification + regression | Practice Notebook 2 (completion): “Predict player performance (linear/logistic)” + D2L Quiz 3 | Ch. 2.2 (Linear Models) |
| 4 (Feb 02–Feb 08) | Trees + ensembles: random forests / gradient boosting | Skill Check 1 (autograded): train + report results on game stats + D2L Quiz 4 | Ch. 2.3 (Decision Trees) + 2.3.2 (Ensembles) |
| 5 (Feb 09–Feb 15) | Classifier outputs and confidence: decision function vs predicted probabilities | Reflection 1 (video): “Using uncertainty to compare models” + D2L Quiz 5 | Ch. 2.4: Uncertainty Estimates from Classifiers |
| 6 (Feb 16–Feb 22) | Preprocessing & scaling workflow: transformations and applying them correctly | Practice Notebook 3 (completion): “Scale game stats correctly (train vs test)” + D2L Quiz 6 | Ch. 3.3.1–3.3.4 |
| 7 (Feb 23–Mar 01) | Dimensionality reduction + visualization: PCA and t-SNE (“player map”) | Practice Notebook 4 (completion): “Build a player map (PCA / t-SNE)” + D2L Quiz 7 | Ch. 3.4.1 (PCA) + 3.4.3 (t-SNE) (NMF optional) |
| 8 (Mar 02–Mar 08) | Clustering: k-means, agglomerative, DBSCAN, and how to compare clusters | Practice Notebook 5 (completion): “Cluster players by playstyle” + D2L Quiz 8 | Ch. 3.5.1–3.5.5 |
| 9 (Mar 09–Mar 15) | Spring Break (no due dates) | — | — |
| 10 (Mar 16–Mar 22) | Representing data + feature engineering (one-hot, binning, interactions) | Practice Notebook 6 (completion): “Engineer features for matchmaking” + D2L Quiz 9 | Ch. 4 |
| 11 (Mar 23–Mar 29) | Model evaluation: train/test vs cross-validation + metrics beyond accuracy | Practice Notebook 7 (completion): “Evaluate models beyond accuracy” + D2L Quiz 10 | Ch. 5 (evaluation + metrics) |
| 12 (Mar 30–Apr 05) | Model selection + tuning: grid search + CV workflow | Skill Check 2 (autograded): metrics + CV + grid search summary + D2L Quiz 11 | Ch. 5 (model selection / grid search) |
| 13 (Apr 06–Apr 12) | Pipelines: preprocessing + model as one reproducible workflow | Practice Notebook 8 (completion): “Build a full pipeline for prediction” + D2L Quiz 12 | Ch. 6 |
| 14 (Apr 13–Apr 19) | Pipelines + tuning together (grid search inside pipeline; avoid leakage) | Skill Check 3 (autograded): pipeline + grid search + report best parameters + D2L Quiz 13 | Ch. 6 |
| 15 (Apr 20–Apr 26) | Text data intro (chat/reviews) or capstone prep emphasis | Reflection 2 / Project Proposal (graded): dataset + goal + metric + plan + D2L Quiz 14 | Ch. 7 (+ Ch. 8 possible) |
| 16 (Apr 27–May 03) | Final project work time (milestone: clean data + baseline + evaluation plan) | — (work week) | As needed (review Ch. 4–6) |
| 17 (May 04–May 10) | Final project work time (milestone: tuned model + results + narrative + video) | — (work week) | As needed |