CSCI 246: Discrete Structures

Course schedule

Schedule subject to change. Find all lecture videos in this Panopto folder.

DateLecture Topic (notes written during class linked)Recommended ReadingHomework Due
Wednesday 8/23Course intro & syllabus  
Friday 8/25Direct proofs; disproof by counter-example4.3, 2.2.1-2.2.3, 2.2.6 
Monday 8/28Proof by cases4.3, 2.3 
Wednesday 8/30Proof by cases part 22.3 
Friday 9/1Intro to sets2.3 
Monday 9/4Labor Day—no class Homework 1
Wednesday 9/6Sets part 22.3, 9.2, 2.4 
Friday 9/8Sets part 3; full proof of De Morgan’s law to reference for HW22.3, 9.2, 2.4 
Monday 9/11Last bit of sets; proof by contradiction4.3; 3.1-3.3Homework 2 + LaTeX source; Optional: Homework 1 corrections
Wednesday 9/13Propositional logic3.1-3.3 
Friday 9/15Propositional logic3.1-3.3 
Monday 9/18Proofs by contrapositive + more proofs by contrapositive4.3Homework 3 + LaTeX source
Wednesday 9/20Introduction to predicate logic3.4-3.5 
Friday 9/22Theorems in predicate logic3.4-3.5 
Monday 9/25Introduction to functions2.5Homework 4 + LaTeX source
Wednesday 9/27Onto and one-to-one functions2.5 
Friday 9/29Proving that functions are onto or one-to-one2.5 
Monday 10/2Pigeonhole principle2.5, 9.3Homework 5 + LaTeX source
Wednesday 10/4Quiz review. practice quiz 1  
Friday 10/6Quiz in class  
Monday 10/9Introduction to relations8.1-8.3 
Wednesday 10/11More on relations8.4 
Friday 10/13Equivalence relations; partial and total orders8.4 
Monday 10/16Proofs by induction5.1-5.2Homework 6 + LaTeX source; mid-course survey
Wednesday 10/18More proofs by induction5.2; 5.4 
Friday 10/20Recursively defined structures and proofs by structural induction5.4 
Monday 10/23Introduction to graphs11.1-11.2Homework 7 + LaTeX source
Wednesday 10/25Proofs about graphs11.2 
Friday 10/27Special graphs11 
Monday 10/30More special graphs11Homework 8 + LaTeX source
Wednesday 11/1Paths, trees, and cycles9.2, 10.2 
Friday 11/3Lucy gone—no class  
Monday 11/6Introduction to probability and counting10.4Homework 9 + LaTeX source
Wednesday 11/8Tree diagrams and choosing10.4; 9.4 
Friday 11/10Veteran’s Day—no class  
Monday 11/13More on combinations and expected value10.4; 9.4Homework 10 + LaTeX source
Wednesday 11/15Quiz review–Practice Quiz  
Friday 11/17Quiz in class  
Monday 11/20–Friday 11/24Fall break—no class  
Monday 11/27Introduction to analysis of algorithms + in-class activity6.1 
Wednesday 11/29Proofs about big O6.2 
Friday 12/1Properties of big O6.3 
Monday 12/4Worst-case runtime analysis6.3Homework 11 + LaTeX source
Wednesday 12/6Analysis of recursive algorithms6.4 
Friday 12/8Review  
Monday 12/11, 4:00-5:50Final in lecture classroom–practice quiz Optional Homework 12 (to replace one previous HW) + LaTeX source

Catalog description

3 Credits. PREREQUISITE: M 171Q or M 165Q. COREQUISITE: CSCI 132. This course covers logic, discrete probability, recurrence relations, Boolean algebra, sets, relations, counting, functions, maps, Big-O notation, proof techniques including induction, and proof by contradiction.

Course Info

This course meets on Mondays, Wednesdays, and Fridays from 4:10pm-5pm in Reid Hall 105. Our course meetings will be a combination of lecture and in-class group and solo activities. We will use Discord as the primary method of course communication, and all course information will be posted on this website or on the Discord server; D2L will be used only for recording grades. Lectures will be recorded and available afterward if you would like to rewatch them; however, in-class activities make up 10% of your grade so it is in your best interest to attend class.

Course Resources

Textbook

The content in this course is based off of Connecting Discrete Mathematics and Computer Science by David Liben-Nowell. A free PDF version of the book is available here. The physical book is about $80 and is available in the bookstore if you prefer that.

Problem solving tips

Check out this document for tips on how to come up with your proofs, specific tips for homework assignments in this class, and strategies for getting the homework assignments done. This document is a work in progress and may be updated throughout the semester.

Course assistants

Braeden is our course assistant. His office hours are Friday 1-4 in the CS Success Center, Barnard 259. You can contact him at braedensopp@msu.montana.edu.

Lecture videos

Lectures are recorded and available to watch after class. However, if there are technical difficulties recording a lecture, it will not be re-recorded, so come to class when you can to make sure that you do not miss course content or announcements. Videos can be found in the Panopto folder.

Instructor office hours

My office hours are 5:10-6:30pm (right after class) on Mondays and 9:30-11am on Thursdays in the CS Success Center (Barnard 259). You can also contact me on Discord to set up a different meeting time, make an appointment via my calendar, or drop by my office (Barnard 359) if my door is open. You can find office hours for all CS faculty here.

Computer Science Success Center

There are free tutors available in Barnard 259. More information here.

SmartyCats tutoring

We have a SmartyCats tutor for this course! Visit the SmartyCats website to book a tutoring appointment or see more info on drop-in hours.

Discord server

All course communication will be through our course Discord server. See D2L announcement for link. Please change your nickname to your full name (first and last). Additionally, I suggest managing your notification settings. Check out Discord’s Notification Settings 101 page to get started. You may also need to manage the application notification settings on your device.

Course outcomes

By engaging with this course through attending lectures and completing assignments, at the end of this course, students should:

  • be comfortable reading and using mathematical terminology around sets, functions, propositional and predicate logic, asymptotic notation, recursion, and graphs;
  • be comfortable reading and writing mathematical proofs using the following methods: direct proofs, proofs by counterexample, proofs by construction, proofs by contradiction, proofs by contrapositive, and proofs by induction;
  • have improved their problem solving and critical thinking skills, such as:
    • using examples, counter-examples, diagrams, simpler cases, similar problems, etc., to better understand a mathematical statement,
    • recognizing a broken proof or a false start and using it to find a new result or approach,
    • thinking critically about which proof paradigm is most appropriate.

Grading

You will be graded on the following:

  • 11 homework assignments (lowest score dropped): 50%
  • 3 quizzes (including final): 40%
  • In-class assignments (1 point for participating in each one, for up to 10 points total; there will be at least 15 total): 10%

After any curving, your grade will be determined by your total score as follows: 93+: A; 90+: A-; 87+: B+; 83+: B; 80+: B-; 77+: C+; 73+: C; 70+: C-; 67+: D+; 63: D; 60: D-.

Bonus

There are three ways to earn bonus points in this class.

Catch errors in course materials

If you find an error in any of the course materials (typo, incorrect statement, etc.), post in the #errors-in-course-material channel on Discord. I will decide whether it’s truly an error and not a duplicate. If it is really an error, you get a quarter of a point. Only the first person to post about an error gets the points. You can earn a max of 1 total point toward your 100 for the course (for four errors).

Participation in additional in-class assignments

Because the max score you can receive for the in-class assignment category is 10, but there will be at least 15 in-class assignments, any additional in-class assignment will be added as a half point to your score at the end of the semester. The max points you can earn from this bonus is 2.

Course survey and evaluation

If 75% or more of the class completes the mid-semester course survey, the whole class gets 1 bonus point. Same goes for the course evaluation at the end of the semester.

Late assignment policies

To run a course of this size we cannot accommodate individual requests for extensions on assignments; therefore, we have strict rules for when assignments are due, but have some leeway built in. Please read the bullet points below carefully, respect the policy, and get help early if you are having any problems. We want you to succeed!

  • You are responsible for any announcements about assignments made in class, on Discord, on D2L, and here on the course website.
  • All assignments are due on their due date by the Anywhere on Earth (AoE) timezone, which is 6 hours behind Bozeman (Actually, it’s only 5 hours behind during standard time, but we’ll go with 6 hours behind at all times). This means that the real due date is 6am the following day. If you submit within 24 hours of the due date, you get 25% off of whatever score you earn. If you submit within two days of the due date you get 50% off. Otherwise, no points are possible.
  • You can submit as many times as you would like; only your last submission will be graded.

Missed quiz policy

Any conflicts with a quiz must be discussed with me prior to missing the quiz. I follow University policy on makeups, which allows that serious illness or a serious family emergency are valid reasons requiring an accommodation. Most other reasons (employment conflict, travel plans) are not valid.

Missed in-class assignment policy

If you know that you will miss class consistently, please come talk to me or send me a Discord message ASAP and we will work something out.

Collaboration policy

On all homework assignments, you may:

  • Discuss problems and approaches with your peers.

You may not:

  • Copy your peers’ proofs or write-ups of solutions to homework problems, even if you worked together to develop solutions.
  • Use the internet to search for or solicit approaches or ideas to assigned homework problems.
  • Use generative AI (e.g., ChatGPT) to search for approaches or ideas to assigned homework problems.
  • Post the assignments or quizzes for this course on the internet.

Academic misconduct

In line with the MSU student code of conduct, if I or the teaching assistants suspect that you have committed academic misconduct, we will schedule a meeting with you to discuss. If, after the meeting, we believe that you did commit academic misconduct, you will receive a 0 on the assignment and I will submit a report to the Dean of Students. It’s just not worth it to cheat in this course.

Important dates

The last day to drop the course online (with no instructor or advisor approval) is September 6th. The last day to drop without a W grade (instructor or advisor approval required) is September 13th. The last day to drop with a W grade (instructor and advisor approval required) is November 15th. See the full add/drop schedule for more information.

Diversity statement

Montana State University’s campuses are committed to providing an environment that emphasizes the dignity and worth of every member of its community and that is free from harassment and discrimination based upon race, color, religion, national origin, creed, service in the uniformed services (as defined in state and federal law), veteran’s status, sex, age, political ideas, marital or family status, pregnancy, physical or mental disability, genetic information, gender identity, gender expression, or sexual orientation. Such an environment is necessary to a healthy learning, working, and living atmosphere because discrimination and harassment undermine human dignity and the positive connection among all people at our University. Acts of discrimination, harassment, sexual misconduct, dating violence, domestic violence, stalking, and retaliation will be addressed consistent with this policy.

Accommodations

If you have a documented disability for which you are or may be requesting an accommodation(s), please contact me and the Office of Disability Services as soon as possible.

How to succeed in this class

What you can do:

  • Keep up with the course by attending class, checking Discord, being aware of the course schedule, and doing all assignments on time.
  • Be an active participant in class. This means asking and answering questions in class and on Discord, seeking help when needed, and contacting the instructor or the course assistants using Discord if you have any questions outside of class time.
  • Be respectful of your classmates, your instructor, and the course assistants.
  • Do your own work.

What I can do:

  • Grade assignments and quizzes promptly (exact guarantees TBD).
  • Respond to all Discord messages within one business day.
  • Create a course atmosphere conducive to learning by respecting all of my students and being enthusiastic about course material and my role in helping you learn.

This syllabus, course lectures and presentations, and any course materials provided throughout this term are protected by U.S. copyright laws. Students enrolled in the course may use them for their own research and educational purposes. However, reproducing, selling or otherwise distributing these materials without written permission of the copyright owner is expressly prohibited, including providing materials to commercial platforms such as Chegg or CourseHero. Doing so may constitute a violation of U.S. copyright law as well as MSU’s Code of Student Conduct.

Instructors are welcome to use this content in their courses without permission.