Introduction to Machine Learning

10-301 + 10-601, Spring 2026
School of Computer Science
Carnegie Mellon University


Example slides

Course Info

Syllabus

1. Course Description

Machine Learning is concerned with computer programs that automatically improve their performance through experience (e.g., programs that answer questions, diagnose diseases, recommend music and movies, drive autonomous robots). This course covers the theory and practical algorithms for machine learning from a variety of perspectives. We cover topics such as decision tree learning, neural networks, deep learning, statistical learning methods, unsupervised learning, large language models, and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, and Occam’s Razor. Programming assignments include hands-on experiments with various learning algorithms. This course is designed to give an undergraduate or graduate student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.

10-301 and 10-601 are identical. Undergraduates must register for 10-301 and graduate students must register for 10-601.

Learning Outcomes: By the end of the course, students should be able to:

  • Implement and analyze existing learning algorithms, including well-studied methods for classification, regression, structured prediction, clustering, and representation learning
  • Integrate multiple facets of practical machine learning in a single system: data preprocessing, learning, regularization and model selection
  • Describe the the formal properties of models and algorithms for learning and explain the practical implications of those results
  • Compare and contrast different paradigms for learning (supervised, unsupervised, etc.)
  • Design experiments to evaluate and compare different machine learning techniques on real-world problems
  • Employ probability, statistics, calculus, linear algebra, and optimization in order to develop new predictive models or learning methods
  • Given a description of a ML technique, analyze it to identify (1) the expressive power of the formalism; (2) the inductive bias implicit in the algorithm; (3) the size and complexity of the search space; (4) the computational properties of the algorithm: (5) any guarantees (or lack thereof) regarding termination, convergence, correctness, accuracy or generalization power.

For more details about topics covered, see the Schedule page.

2. Prerequisites

Students entering the class are expected to have a pre-existing working knowledge of probability, calculus, linear algebra, and algorithms, though the class has been designed to allow students with a strong numerate background to catch up and fully participate. In addition, recitation sessions will be held to review some basic concepts.

  1. You need to have, before starting this course, significant experience programming in a general programming language. Specifically, you need to have written from scratch programs consisting of several hundred lines of code. For undergraduate students, this will be satisfied for example by having passed 15-121 or 15-122 with a grade of ‘C’ or higher, or comparable courses or experience elsewhere.

    Note: For each programming assignment, you will be required to use Python. You will be expected to know, or be able to quickly pick up, that programming language.

  2. You need to have, before starting this course, basic familiarity with probability and statistics, as can be achieved at CMU by having passed 36217 or 36235 or 15359 or 36218 or 21325 or 36220 or 15259 or 36219 or 36225, or comparable courses elsewhere, with a grade of ‘C’ or higher.

  3. You need to have, before starting this course, college-level mathematical maturity as can be achieved at CMU by having passed a course in {discrete mathematics (21-127, 15-151), OR linear algebra (21240, 21241) OR calculus (21259, 21254), with a grade of ‘C’ or higher.

You must strictly adhere to these pre-requisites! Even if CMU’s registration system does not prevent you from registering for this course, it is still your responsibility to make sure you have all of these prerequisites before you register.

(Adapted from Roni Rosenfeld’s 10-601 Spring 2016 Course Policies.)

The core content of this course does not exactly follow any one textbook. However, several of the readings will come from the Murphy book (available free online via the library) and Daumé book (only available online). Some of the readings will include new chapters (available as free online PDFs) for the Mitchell book.

The textbook below is a great resource for those hoping to brush up on the prerequisite mathematics background for this course.

4. Course Components

Grading

The requirements of this course consist of participating in lectures, midterm and final exams, homework assignments, and readings. The grading breakdown is the following:

  • 35% Homework Assignments
  • 5% Coding Labs
  • 10% Quizzes (3 total, focused on programming)
  • 15% Exam 1
  • 15% Exam 2
  • 15% Exam 3 (during Final Exam week)
  • 5% Participation
  • On Piazza, the Top Student “Endorsed Answer” Answerers can earn bonus points

Grade cutoffs:

  • ≥ 97% A+
  • ≥ 93% A
  • ≥ 90% A-
  • ≥ 87% B+
  • ≥ 83% B
  • ≥ 80% B-
  • ≥ 77% C+
  • ≥ 73% C
  • ≥ 70% C-
  • ≥ 67% D+
  • ≥ 63% D
  • otherwise R

Each individual component (e.g. an exam) may be curved upwards at the end. As well, the cutoffs above are merely an upper bound, at the end they may be adjusted down. We expect that the number of students that receive A’s (including A+, A, A-) is at least half the number of students that take the midterm exam(s), and the number of B’s (including B+, B, B-) will be around two-thirds the number of A’s.

Homework

The homeworks will divide into two types: programming and written. The programming assignments will ask you to implement ML algorithms from scratch; they emphasize understanding of real-world applications of ML, building end-to-end systems, and experimental design. The written assignments will focus on core concepts, “on-paper” implementations of classic learning algorithms, derivations, and understanding of theory.

More details are listed on the Coursework page.

LaTeX is a valuable tool for communicating machine learning concepts to others. We expect you to typeset your homeworks in LaTeX. We always release a LaTeX starter template. You will lose 1 point on any homework that you handwrite an answer.

Gradescope Alignment: You are required to check that the PDF you upload to Gradescope matches the provided template. If your PDF is misaligned, you will receive a 2% penalty on that assignment. You may not insert additional pages into the homework template under any circumstances.

Human Work (Slot A) and AI Assisted Work (Slot B) The most important learning you do in this course will happen by struggling through challenging problems on the homework. The following system creates every incentive to (1) do human work in order to learn in a first pass, then (2) to correct your misunderstandings through feedback, and finally (3) to practice using AI efficiently and effectively in a second, distinct pass.

For every homework there will be two deadlines: a first called Slot A (for human work), then some feedback, then a second called Slot B (for AI assisted work).

  • Slot A (Human work only, limited collaboration): Submit only pure human work to Slot A, no AI assistance is permitted. We will grade your submission and inform you which questions you got incorrect.
  • Slot B (AI assisted work and full collaboration permitted): Submit AI assisted work to Slot B, three days after you receive feedback on your Slot A submission. The timing is set so that you can review your mistakes and correct them (possibly with AI or human collaboration). For your Slot B submission, we will only grade the questions that were incorrect in your Slot A submission.
  • For each homework problem, your score is the maximum of the Slot A and Slot B submission scores. Additional points will be awarded for getting more than 50% of the available points in Slot A. More specifically: Let \(s_{A,q}\) and \(s_{B,q}\) be the score you received for question $q$ in slot A and B respectively, and \(s_{A}\) be the total score for slot A. Let \(\mathbb{1}(\cdot)\) be the indicator function. Your final homework score will be: \(s = 0.95 \times ( \sum_{q \in HW} \max(s_{A,q}, s_{B,q}) ) + 0.05 \times \mathbb{1}(s_{A} > 0.50)\)
  • If you claim that AI assisted work is pure human work (by submitting it to Slot A), you will be penalized with an Academic Integrity Violation (AIV) and a penalty, e.g. failure in the course.
  • The course staff will only offer office hours and answer questions about the homework while the Slot A submission is open. We trust you won’t need us during the Slot B submission period since you can collaborate with others.
  • No grace days may be used for the Slot A submission.

As a rule, we never release PDF solutions for any homework. Instead, we will include the correct answer in the Gradescope rubric.

Coding Labs

For each homework with a programming portion, we will have a required Coding Lab. These will typically occur on Fridays and are designed to be a low-stakes, hands-on complement to the homeworks. Because of room capacity, each Friday will offer two short lab sessions; students will attend one session and work primarily in pairs (submitting jointly). Labs are typically participation-based rather than correctness-based: the goal is engagement and learning, not finishing every task. Activities will focus on implementing or exploring core machine learning ideas related to (but possibly distinct from) the homework. We will often help you get set up with concepts or code structure that you will later extend on your own. Labs are intentionally low pressure, with significant TA interaction and an emphasis on collaboration, experimentation, and understanding.

You are never allowed to use an AI assistant during the coding lab. However, all forms of human collaboration both within and across teams (i.e. pairs) is permitted and encouraged during Coding Labs.

Additional Coding Lab Policies:

  • If you have an emergency or university approved travel, you may request an extension on a coding lab following the procedure outlined below.
  • To cover other situations, we will simply drop your lowest coding lab when computing your final grade. 
  • Grace days cannot be used for coding labs.
  • Should you really need to, you may submit a coding lab late with a penalty: you can submit 24 hours late for 75% credit, 48 hours late for 50% credit, 72 hours late for 25% credit. No submissions will be accepted after 72 hours late, except in the case of an extension.
  • Everyone at the in-person coding lab will be working with another person. So if you work alone, your submission will not receive full credit. (This does apply to those submitting late. So you may receive multiple penalties for missing the in-person session. The only exception to this is if you receive an extension due to an emergency or other university approved reason.)

(Programming) Quizzes

The quizzes are focused on programming skills for machine learning. Unlike our exams, which are comprehensive, each quiz will focus on the programming skills you developed in the corresponding homeworks (i.e. Quiz 1 for HW1/HW2, Quiz 2 for HW4/HW5, Quiz 3 for HW7/HW8).

Unless otherwise noted, all quizzes are closed-book.

You are required to attend all quizzes. All quizzes will take place in-class on either Monday, Wednesday, or Friday. The exact dates are announced on the course schedule.

Midterm and Final Exams

Unless otherwise noted, all exams are closed-book.

You are required to attend all the exams. The midterm exam(s) will be given in the evening – not in class. The final exam will be scheduled by the registrar sometime during the official final exams period. Please plan your travel accordingly as we will not be able accommodate individual travel needs (e.g. by offering the exam early).

If you have an unavoidable conflict with an exam (e.g. an exam in another course), notify us by filling out “exam conflict” form. These Exam Conflict Forms are announced on Piazza before each exam.

If your conflict is with an exam in another course, please promptly email the following people to let them know of the exam conflict:

  • the instructor(s) for this course
  • the education associate(s) for this course
  • the instructor(s) for the other course

In the case of exam conflicts, we will discuss with the other course and suggest a resolution. One possible resolution is that we will accommodate you and will ask you to fill out the exam conflict form above. Please note that email should ONLY be used to address conflicts with an exam in another course. The definition of a final exam conflict and the standard procedures are described here: https://www.cmu.edu/hub/registrar/exams-and-grading/conflict-guidelines.html

Participation

In-Class Polls

We will be using Google Forms for in-class polls. Here’s how it will work:

  1. Sometime before the lecture, we will post a Google Form containing a few questions. In order to access it, you must sign into Google using your Andrew Email – all students are automatically given access to G Suite, which allows such a sign-in. The link to each poll will appear on the Schedule page.
  2. You will always be allowed to submit multiple times. So if there are multiple questions during a lecture, you should submit multiple times. You can do so by clicking the “Edit Your Response” link after each submission.
  3. If you do not have a smartphone or tablet, please pick up a poll card at the front of class as you enter and hand in a paper copy at the end of class. (Do not submit a paper copy if you have a wireless device as it will create a mountain of paperwork for us.)

Here are some important notes regarding grading of these polls:

  • Each question will include a toxic option which if chosen will give you negative points. If you were to answer the polls randomly without learning the toxic option in class, you would receive negative points in expectation.
  • If you answer any non-toxic option for each question during class, you will receive full credit. If you answer any non-toxic option for each question after class within 24 hours of the end of the lecture, you will receive partial credit (50% credit).
  • Everyone receives 8 “free poll points” – meaning that you can skip up to 8 polls (~25% of lectures) and still get 100% for the in-class polls. As a result, you should never come to us asking for points because, e.g. your dog ate your smartphone. You cannot use more than 3 free polls consecutively! (Note that negative toxic points will consume multiple free polls.) Note that hitting a toxic option could easily wipe out 3 or more of your free poll points.
Exit Polls

Your submission of our various exit polls (out-of-class polls) will also count towards your participation grade. We sometimes include exit poll after homework assignments or exams. You will receive full credit for any exit poll filled in within one week of the release of the poll.

Practice Problems

Practice Problems are optional. These problems will be released as a PDF. We will include the solutions for them as well. Some of these problems are exam-style and some are homework-style. The latter type are longer in form than we would typically include on an exam, but are still good practice.

Lectures

Attendance at lectures is expected except for those with explicit approval to miss lectures due to course conflicts. At least one section will be livestreamed and recorded for later viewing.

Recitations

Attendance at recitations (Friday sessions) is not required, but strongly encouraged. These sessions will be interactive and focus on problem solving; we strongly encourage you to actively participate. The recitations for at least one section will be livestreamed so you will be able to attend remotely. A problem sheet will usually be released prior to the recitation. If you are unable to attend one or you missed an important detail, feel free to stop by office hours to ask the TAs about the content that was covered. Of course, we also encourage you to exchange notes with your peers.

Office Hours

The schedule for Office Hours will always appear on the Google Calendar on the Office Hours page.

Office Hours Locations:

All TA Office Hours will be held in-person. The location of each office hour is listed on the Google Calendar.

Join the office hours queue and wait for a TA to accept your question.

Instructor office hours will (usually) be held immediately after class in-person just outside the lecture hall.

We encourage you to stick around and ask any questions you have about lecture material, homework problems, exam prepation, course logistics, etc.

TA Office Hours Protocols:

  • Join the office hours queue (link above) and enter a detailed description of their question and mention (1) a concept and (2) the homework problem number (if applicable). If you don’t put a homework problem number, we’ll assume you have no questions about the homework. If you do not follow this format, your question may be frozen by the TAs (returned to the queue) so that you can correct it.
  • When it is your turn, you will be notified on the office hours queue, the line ‘TA [name of a TA] is on the way’. Once you see this message, please find the TA and pose your question.
  • The TA will determine whether or not your question would be best addressed publicly (i.e. to anyone who wants to listen in) or privately.
  • 10 Minute Rule: Each student’s question will be addressed by the TA for at most 10 minutes. The only exception to this will be if a TA is answering a question publicly that has broad interest to many other students.
  • The Pseudo Code Rule: This is not a programming course; you are expected to know how to debug code. As such, if your question is of the form “Could you help me to debug my code?”, you must bring with you detailed pseudo code that describes your implementation design. If you do not have pseudo code, the TA will not look at your code, but instead ask you to sketch out pseudo code at the chalkboard and discuss there instead. After discussing at a high-level if your 10 minutes have not expired, the TA may have time to look at your code.
  • While your awaiting your turn, we encourage you to listen in to the answers to any publicly answered questions. Please be courteous and allow the student who posed the question to primarily direct the discussion with the TA. We also encourage you to collaborate with others (following our collaboration policies below) while waiting.
  • The TAs will usually close the office hours queue 30–60 minutes before the end of office hours in order to avoid going overtime.

Readings

The purpose of the readings is to provide a broader and deeper foundation than just the lectures and assessments. The readings for this course are required. We recommend you read them after the lecture. Sometimes the readings include whole topics that are not mentioned in lecture; such topics will (in general) not appear on the exams, but we still encourage you to skim those portions.

5. Technologies

We use a variety of technologies:

Piazza

We will use Piazza for all course discussion. Questions about homeworks, course content, logistics, etc. should all be directed to Piazza. If you have a question, chances are several others had the same question. By posting your question publicly on Piazza, the course staff can answer once and everyone benefits. If you have a private question, you should also use Piazza as it will likely receive a faster response.

Gradescope

We use Gradescope to collect PDF submissions of open-ended questions on the homework (e.g. mathematical derivations, plots, short answers). The course staff will manually grade your submission, and you’ll receive personalized feedback explaining your final marks.

You will also submit your code for programming questions on the homework to Gradescope. After uploading your code, our grading scripts will autograde your assignment by running your program on a VM. This provides you with immediate feedback on the performance of your submission.

Exams will have a scheduled time and a fixed time limit, and will be live proctored in-person.

Regrade Requests: If you believe an error was made during manual grading, you’ll be able to submit a regrade request on Gradescope. For each Gradescope artifact (e.g. homework, exam), regrade requests will be open for only 1 week after the grades have been published. This is to encourage you to check the feedback you’ve received early!

Manual Grading of Code: A major issue with autograders is that some submissions receive close to zero points after a student has invested heavily in a homework assignment, but failed to get points due to some small bug. For all of our programming homework assignments, we are going to give partial credit (through hand grading) to those submissions which received fewer than 75% of the available points on the autograder. The total number of points that such a submission will receive will not exceed 75% of the autograder points – so those assignments that we do not hand-grade will remain unaffected by this policy.

Zoom

Lectures and recitations for at least one section will be livestreamed via Zoom.

Panopto

Lecture recordings for at least one section will be available on Panopto. The link to the Video Recordings is available in the “Links” dropdown.

Cloud Storage

According to SquareTrade, one in three laptops fail over three years. That means your laptop is about to malfunction, perhaps catastrophically. As such, all of your work for this class must be backed up in the cloud. For example, everyone at CMU has unlimited storage on Google Drive and so your code can be backed up there. If you do your writeups in Overleaf, you’re already set. But, if you use a tablet, make sure your app is backing up your inked PDF. If you do your work on physical paper, snap an occasional (cloud stored) photo of it.

6. General Policies

Late homework policy

Late Slot A submissions will not be accepted. These late submission policies only apply to Slot B submissions.

Late homework submissions will receive partial credit based on the number of days late (one day is a 24-hour period):

  • 1 day late: 75% credit
  • 2 days late: 50% credit
  • 3 days late: 25% credit

You receive 6 total grace days for use on any homework assignment except HW1. We will automatically keep a tally of these grace days for you; they will be applied greedily. No assignment will be accepted more than 3 days after the deadline. This has two important implications: (1) you may not use more than 3 graces days on any single assignment (2) you may not combine grace days with the late policy above to submit more than 3 days late.

All homework submissions are electronic (see Technologies section below). As such, lateness will be determined by the latest timestamp of any part of your submission. For example, suppose the homework requires two submission uploads – if you submit the first upload on time but the second upload 1 minute late, you entire homework will be penalized for the full 24-hour period.

Extensions

In general, we do not grant extensions on assignments. There are several exceptions:

  • Medical Emergencies: If you are sick and unable to complete an assignment or attend class, please go to University Health Services. For minor illnesses, we expect grace days or our late penalties to provide sufficient accommodation. For medical emergencies (e.g. prolonged hospitalization), students may request an extension afterwards.
  • Family/Personal Emergencies: If you have a family emergency (e.g. death in the family) or a personal emergency (e.g. mental health crisis), please contact your academic adviser and/or Counseling and Psychological Services (CaPS).
  • University-Approved Travel: If you are traveling out-of-town to a university approved event or an academic conference, you may request an extension for any time lost due to traveling. For university approved absences, you must provide confirmation of attendance, usually from a faculty or staff organizer of the event or via travel/conference receipts.

For any of the above situations, you may request an extension by emailing the Education Associate(s) at eas-10-601@cs.cmu.edu – do not email the instructor or TAs. Please be specific about which assessment(s) you are requesting an extension for and the number of hours requested. The email should be sent as soon as you are aware of the conflict and at least 5 days prior to the deadline. In the case of an emergency, no notice is needed.

If this is a medical emergency or mental health crisis, you must also CC your CMU College Liaison and your academic advisor. Do not submit any medical documentation to the course staff. If necessary, your College Liaison and The Division of Student Affairs (DoSA) will request such documentation and they will view the health documentation and conclude whether a retroactive extension is appropriate. (If you haven’t interacted with your college liaison before, they are experienced Student Affairs staff who work in partnership with students, housefellows, advisors, faculty, and associate deans in each college to assure support for students regarding their overall Carnegie Mellon experience.)

Audit Policy

Formal auditing of this course is permitted. However, we give priority to students taking the course for a letter grade.

You must follow the official procedures for a Course Audit as outlined by the HUB / registrar. Please do not email the instructor requesting permission to audit. Instead, you should first register for the appropriate section. Next fill out the Course Audit Approval form and obtain the instructor’s signature in-person (either at office hours or immediately after class).

Auditors are required to:

  1. Attend or watch all of the lectures.
  2. Receive a 95% participation grade or higher.
  3. Submit at least 3 of the 9 homework assignments.

Auditors are encouraged to sit for the exams, but should only do so if they plan to put forth actual effort in solving them.

Auditors should not attend the coding labs in-person. Generally, we do not want auditors doing any work that involves a team; and coding labs are inherently a team activity.

Pass/Fail Policy

We allow you take the course as Pass/Fail. Instructor permission is not required. What letter grade is the cutoff for a Pass will depend on your specific program; we do not specify whether or not you Pass but rather we compute your letter grade the same as everyone else in the class (i.e. using the cutoffs listed above) and your program converts that letter grade to a Pass or Fail depending on their cutoff. Be sure to check with your program / department as to whether you can count a Pass/Fail course towards your degree requirements.

Accommodations for Students with Disabilities:

If you have a disability and have an accommodations letter from the Disability Resources office, please email the Education Associate(s) at eas-10-601@cs.cmu.edu requesting to set up a meeting with them to discuss your accommodations and needs as early in the semester as possible. The EAs will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.

7. Collaboration, AI Use, and Academic Integrity

Read this section carefully. The rules below are designed to support learning while making expectations unambiguous.

Overview: Slot A vs. Slot B

Each homework has two submissions with different collaboration rules:

  • Slot A (Human Work Only):
    Individual work with limited collaboration and no AI assistance of any kind.
  • Slot B (AI-Assisted & Collaborative Work):
    Full collaboration and AI assistance are permitted only to correct mistakes identified in Slot A.

The rules below apply differently depending on the slot. Violating Slot A rules is treated as an Academic Integrity Violation.

Slot A: Human Work Only (Limited Collaboration, No AI)

General Principles
  • Slot A is where the primary learning happens.
  • You must submit your own human-generated work.
  • No generative AI tools may be used (e.g., ChatGPT, GitHub Copilot, Gemini, Claude, Cursor, code agents, etc.).
  • Collaboration is encouraged and intended to support learning, not circumvent it. You may discuss homework problems with other students following the rules below.
AI Use (Slot A)

Allowed:

  • An important subtlety: You may ask high-level questions to an AI tool in order to understand the concepts, but you may not directly ask an AI tool to answer a homework problem. This is a slippery slope. For this reason, although we give you this freedom, we strongly advise against learning from AI tools during the Slot A submission period.

Not allowed:

  • Asking AI tools for answers to homework problems.
  • Using an IDE with an AI assistant enabled (e.g. Cursor, GitHub Copilot in VSCode).
  • Using a code agent (e.g. Claude Code, Codex).
Collaboration on Written Problems (Slot A)

You are encouraged to discuss ideas, but not exchange solutions.

Allowed:

  • Discussing concepts and approaches at a whiteboard or chalkboard, while talking through reasoning steps to ensure mutual understanding.
  • Arriving at a solution during the whiteboard/chalkboard discussion.
  • Taking notes after the discussion.

Not allowed:

  • Showing or sharing complete written or electronic solutions.
  • Copying another student’s derivation or final answer.
Collaboration on Programming Problems (Slot A)

You are encouraged to discuss code, but not copy code.

Allowed:

  • Debugging or design discussions around one open laptop.
  • High-level discussion of logic, structure, or algorithmic ideas.

Not allowed:

  • Two laptops open side-by-side.
  • Copying, transcribing, or closely paraphrasing another student’s code.
  • Taking notes while viewing someone else’s code.
Disclosure Requirement (Slot A)
  • You must list all collaborators for each problem in the homework’s collaboration section.
  • Failure to disclose collaboration is itself a violation.

Slot B: AI-Assisted Work and Full Collaboration Permitted

Slot B exists so you can fix mistakes and deepen understanding after receiving feedback on Slot A.

Allowed in Slot B:

  • Use of generative AI tools for code, explanations, or debugging.
  • Working with other students in any format (shared code, pair programming, etc.).
  • Comparing solutions directly.

Restrictions:

  • Slot B submissions are only graded on questions you missed in Slot A.
  • Slot B work must be submitted to Slot B, not Slot A.

Important:
Submitting AI-assisted work to Slot A, or claiming AI-assisted work is human-only work, will be treated as an Academic Integrity Violation and may result in severe penalties, including failure in the course.

Timing of Slot A and Slot B Work

For the sake of everyone in the course and the course staff, please follow these timing rules:

  • You must do Slot A style work during the Slot A submission period.
  • You must do Slot B style work only after the Slot A submission deadline.

We have no power to enforce that you follow the above timing rules. Yet, we believe you have the self-discipline required to follow them. In order to support the learning community in this course, if you notice a peer violating these timing rules, provide them a friendly reminder of these rules and ask them to do their best to adhere to them.

Found Code and External Sources (Slot A)

You may read textbooks, lecture notes, and instructional materials to understand concepts.

  • During Slot A, you must write all code and solutions from scratch, without using external code (including online code, prior solutions, or AI-generated code).
  • During Slot B, external code and AI assistance are allowed.

If you encounter code relevant to an assignment during Slot A, you must disclose this in your collaboration statement.

Self-Plagiarism

  • Work completed for another course may not be reused.
  • If you previously took this course, you may reuse your own prior work.

Duty to Protect Your Work

Do not post homework solutions publicly, during or after the course, to protect future students.

Penalties for Violations

All Academic Integrity Violations are reported to the university.

  • First violation: −100% on the assignment.
  • Second violation: Failure in the course and possible dismissal from the university.

If you are ever unsure whether something is allowed, assume it is not and ask course staff before submitting.

8. Support

Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

  • CaPS: 412-268-2922
  • Re:solve Crisis Network: 888-796-8226
  • If the situation is life threatening, call the police:
    • On campus: CMU Police: 412-268-2323
    • Off campus: 911.

If you have questions about this or your coursework, please let the instructors know.

9. Diversity

We must treat every individual with respect. We are diverse in many ways, and this diversity is fundamental to building and maintaining an equitable and inclusive campus community. Diversity can refer to multiple ways that we identify ourselves, including but not limited to race, color, national origin, language, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. Each of these diverse identities, along with many others not mentioned here, shape the perspectives our students, faculty, and staff bring to our campus. We, at CMU, will work to promote diversity, equity and inclusion not only because diversity fuels excellence and innovation, but because we want to pursue justice. We acknowledge our imperfections while we also fully commit to the work, inside and outside of our classrooms, of building and sustaining a campus community that increasingly embraces these core values.

Each of us is responsible for creating a safer, more inclusive environment.

Unfortunately, incidents of bias or discrimination do occur, whether intentional or unintentional. They contribute to creating an unwelcoming environment for individuals and groups at the university. Therefore, the university encourages anyone who experiences or observes unfair or hostile treatment on the basis of identity to speak out for justice and support, within the moment of the incident or after the incident has passed. Anyone can share these experiences using the following resources:

  • Center for Student Diversity and Inclusion: csdi@andrew.cmu.edu, (412) 268-2150
  • Report-It online anonymous reporting platform: reportit.net username: tartans password: plaid

All reports will be documented and deliberated to determine if there should be any following actions. Regardless of incident type, the university will use all shared experiences to transform our campus climate to be more equitable and just.

Contents