MTH 325 course banner

About this course and the syllabus

Welcome to MTH 325, Discrete Structures for Computer Science 2. This document contains all the information you need to know about the course. Your job is to read this document carefully in the first week of class and familiarize yourself with how the course works and maintain that familiarity throughout the semester. Almost all questions about the course that you might ask can be answered by referencing the syllabus.

Course catalog description: Properties of relations, equivalence relations, partial orderings, fundamental concepts of graphs, trees, digraphs, networks, and associated algorithms; computer science applications. Offered fall and winter semesters. Prerequisite: MTH 225.

Course information

Textbook: Some content in the course will use the textbook Discrete Mathematics: An Open Introduction by Oscar Levin, which is available for free online at the link. If you prefer a paper copy, here are instructions on how to purchase a printed copy. The book is not sold in the GVSU bookstore. Content not found in the textbook will use homemade notes.

Technology: The course will use the following technology to promote learning:

Some class time will be spent during week 1 for installation and troubleshooting of all course software. Various class assignments during weeks 1---3 will guide you through learning how to use the technology. From week 1 onward, you will be expected to have fluency with the course technology and use it regularly.

In addition to the above, the course has a Blackboard site where you will be submitting work on Challenge Problems, and it also hosts the course calendar, this syllabus, and other documentation.

What will I learn?

MTH 325 is the second half of a year-long study of the mathematical tools and foundations for a university-level study of computer science. In the first half, MTH 225, you learned the basics: sets, functions, counting, logic, and proof. In MTH 325, we apply these basics to three important structures that are used extensively in computer science:

Additionally, proof -- especially proof using mathematical induction -- plays an important role in MTH 325, and we will spend time during the first part of the semester reviewing how to outline, analyze, and construct mathematical proofs.

In addition to content, you'll also be learning processes that are valuable to professional computer scientists such as effective communication in written and oral forms and the ability to self-assess your work and learn independently.

In particular, in MTH 325 we stress computational thinking as a framework for our work. Computational thinking is a problem-solving process that focuses on formulating problems in a way that enables us, or others, to use a computer and other tools to help solve them. Computational thinking about a problem involves four steps:

  1. Decomposing a problem down into manageable parts;
  2. Pattern-finding to look for connections between the parts;
  3. Abstraction to explain the observations of our patterns; and
  4. Algorithm/solution development to come up with a workable solution to the problem and explain why it works.

If you've made it this far in math and CS, you have all the skills in place for computational thinking. By the time you finish MTH 325, you will be an expert in computational thinking.

What does success look like in this course?

I want you to be successful in this course. I will do my utmost to help you do this, by creating and maintaining a learning environment based on challenge and support and giving my highest professional commitment to your success and well-being. But, but I cannot do success for you. This comes from cooperation with me, interaction with your classmates, and diligent effort throughout the course.

To be successful in the course, you need to make sure you are always giving an effort to do the following:

By enrolling in this section of MTH 325, you are agreeing to all of these expectations. During the first week of the course, you will be asked to sign an agreement that states this.

At the end of the course, you will receive a grade based on concrete evidence that you will provide that you have met the course goals outlined above. Here is what each of those grades means:

Grade Characteristics
A "A" students have not only understood but mastered the concepts, applications, and theory in the course, shown by a wide range of evidence. They are consistently actively engaged with the course by preparing for and being a leader in class activities and in participating on Slack and in office hours. They are ready to move on to further coursework without reservations.
B "B" students have shown evidence of strong understanding of the basic skills and applications of the course, with some evidence of mastery on some topics. They are consistently ready to work in class and are actively engaged in class activities. They are ready to move on to further coursework.
C "C" students have attained the baseline level of competency required by the course, but do not have consistent evidence of mastery or strong understanding. They may take further coursework but with some caution.
D "D" students have not attained the baseline level of competency required by the course, although there is some evidence of understanding. They are not yet ready to move on to further coursework in this area.
F A student with an "F" has not shown evidence of minimal understanding of the course concepts.

The grading system explained later gives specific form to these descriptions.

What will I do to learn?

Learning happens by doing, not just by listening. So to learn the concepts in this course, you'll be doing a wide variety of active learning tasks both in and outside of class.

All of the work you do in class is carefully designed to promote learning of the concepts of the course. Some of this work will be collected and graded and so it will directly contribute to your course grade. That subset of work can be divided into three basic types: work on basic skills, work on problem solving that extends the basic skills, and work focused on staying engaged in the course. Here are the details on those.

Basic skills: Learning Targets and the Final Exam

The basic skills you will learn in the course are given in a list of 20 Learning Targets. The list is appended to the end of the syllabus. During the course, you'll be expected to provide evidence that you can perform the tasks that are given in the Learning Targets By completing Learning Target Assessments. These are short quizzes, each of which addresses a single Learning Target. For example the Learning Target assessment for Learning Target G.3 ("I can represent a graph in different ways and change representations from one to another") may consist of 3---4 questions that will ask you to take a graph and change its representation.

Learning Target Assessments are graded either Satisfactory or Unsatisfactory. See the section below titled "Revision Process" for information on re-taking Learning Target assessment that are marked Unsatisfactory. What constitutes Satisfactory or Unsatisfactory work will be spelled out specifically for each Learning Target and made known to you in advance.

Your mastery of basic skills will also be assessed through a comprehensive final exam given during finals week. The final exam will consist of ten (10) randomly selected Learning Target assessments that have already been given in the course. See the section "Grading System" below for details. The exam periods for both sections 02 and 03 are on Tuesday, April 25. The exam for Section 02 is 12:00---1:50pm, and the exam for Section 03 is 8:00---9:50am.

Applications: Challenge Problems

Your ability to extend the basics to solve challenging problems is measured by completing Challenge Problems. Each Challenge Problem is a take-home assignment featuring a single challenging problem to solve. Challenge Problems require not only correct solutions but clear, correct, persuasive, and well-written solutions as well as professional-looking writeups.

Each Challenge Problem is graded using the EMRN rubric, a four-level rubric that marks the work with grades of E ("Excellent" or "Exemplary"), M ("Meets Expectations"), R ("Needs Revision"), or N ("Not assessable"). The visual below shows how these are assigned:

EMRN rubric

At least 12 Challenge Problems will be posted during the semester. Here are three things to know about these:

  1. You do not have to do all of the challenges that are posted. Instead, you will choose from among the ones posted and focus only on the ones you think you would enjoy doing.
  2. There are no fixed deadlines on Challenge Problems. Instead, once you choose a problem, simply work on it at your own pace until you believe it is ready to be assessed, then turn it in (see "Revision Process" below for how to turn in your work).
  3. You can revise any submission of a Challenge Problem if you want to improve your work. Your submissions will be given extensive verbal feedback to draw your attention to issues that can be corrected or improved, and you can resubmit work repeatedly until you are satisfied with the results. See "Revision Process" below for details.

Engagement Credits and Guided Practice

Engagement in the course means preparing well for class and participating productively both in and outside of class. The more engaged you are in the class, the better you will learn the material; conversely, students who disengage and try to complete the course from a distance generally have a hard time succeeding.

Your level of engagement in the course will be measured by earning engagement credits. An engagement credit may be awarded for such accomplishments as participating in a problem presentation or group activity in class, giving a particularly helpful comment in an online discussion in between classes, or even asking an insightful question in office hours. Some engagement credit opportunities may be announced in advance, but many will be unannounced, and you will need to be present in class and present online to earn them.

The primary means of earning engagement credits is through Guided Practice assignments. Guided Practice Assignments provide you with a structured introduction to the basic ideas of new material so that we don't have to spend time in class doing lectures on this material. They provide readings, videos to watch, and computer simulations that will help you acquire the new skills we will work with in class, along with exercises to build your basic skill fluency. The exercises are submitted online so that upcoming class time can be customized based on what students know and do not know.

Guided Practices are graded Satisfactory or Unsatisfactory. Each Guided Practice is graded Satisfactory if it meets the following three criteria:

  1. The assignment is submitted before the deadline, which is usually 11:59pm Eastern time the day before the class meeting. Submissions past this deadline will be automatically marked Unsatisfactory.
  2. Every exercise has a response attached that shows a good-faith effort to be right. Submissions that have exercises left blank will be automatically marked Unsatisfactory. Submissions that have exercises where a good-faith effort to be right is not evident --- for example if the response is "I don't know", "I don't understand", answered with a semantically incorrect statement, or answered with a random guess --- will be automatically marked Unsatisfactory. If you are truly stuck on a Guided Practice question, you are expected to give yourself enough advance time to ask a question about it in office hours, in group work with others, or on the #guidedpractice channel on Slack.

Please note that correctness is not factored into the grade, so you should feel free to give your best effort on each one without fear of being counted off for wrong answers. In fact, misconceptions about the material are part of what Guided Practice assignments are set up to collect so we can work on them.

Aside from Guided Practice, in-class work, and between-class work, you can earn engagement credits by meeting Incentive Checkpoints set up in three places on the course calendar, in February, March and April. These are set up to reward students who are staying on track with finishing course work. Details on what will be required for incentive checkpoints will be given in class.

Grading system

Your course grade is determined by the quality and quantity of the work that you submit in the class that is judged to be of an acceptable level of quality. There is a two-step process for determining your grade at the end of the semester:

  1. Using your Learning Target assessments and Problem Solving Challenges, determine your "base grade", which is A,B,C,D, or F.
  2. Then, using your engagement credits and final exam results, determine if your base grade should have a "plus" or "minus" on it and any other modifications that need to be made to the base grade.

Details on each step of the process are below.

Step 1: Determine the base grade. To determine the base grade, look up your accomplishments in the following table:

To earn this grade: Accomplish the following:
A Earn Satisfactory marks on 19 Learning Targets; and complete 10 Challenge Problems with at least an M mark, including at least five "E" marks.
B Earn Satisfactory marks on 17 Learning Targets; and complete 7 Challenge Problems with at least an M mark, including at least three "E" marks.
C Earn Satisfactory marks on 15 Learning Targets; and complete 5 Challenge Problems with at least an M mark. (No "E" marks required.)
D Earn Satisfactory marks on 13 Learning Targets. (No Challenge Problems required.)

Additionally: Students intending to earn an A or B in the course must complete at least one Challenge Problem that is designated as a Theory problem. Failure to complete this requirement will result in the final grade after modifications (see below) being lowered by one half letter (A to A-, B- to C+, etc.). The Theory requirement only applies to base grades of A or B.

Please note that all requirements for a base grade must be met in order to earn that grade. The base grade earned is the lowest grade for which all requirements are met. For example, a student who completes 10 Learning Targets with all E grades, but who earns Satisfactory ratings on only 15 Learning Targets, will receive a base grade of "C". A grade of "F" is awarded if the requirements for a "D" are not met.

Step 2: Determine modifications to the base grade. The base grade can be raised by a plus, lowered by a minus, or lowered by an entire letter as follows:

(If you end the course with at least 40 engagement credits and earn at least 70% on the final exam, you will incur no penalty on your base grade.)

Note the "and" in the first item and the "or" in the second two. Also, please note that due to potential changes in the schedule and calendar, the amounts of engagement credits above may change. To be safe, always strive to earn as many engagement credits as possible, and note that since around 20 of the engagement credits from Guided Practice, being consistent about completing Guided Practice assignments is the simplest way to maintain or improve your base grade.

Exceptions to the above rule: GVSU doesn't award grades of A+ or D-. Therefore, the rule for plus grades does not apply to grades of "A", and the rule for minus grades does not apply to grades of "D". However, both A and D grades can be lowered by a minus or a full letter, and D grades can earn a plus.

To help you grasp the grading system, a flowchart for the system will be provided along with a checklist for keeping track of your accomplishments. We will take time during class and on Guided Practice assignments to practice the system, and progress reports will occasionally be released to you to show you how you are faring and how much more you need to accomplish to earn the grade you are targeting.

Revision process

At the heart of the learning process in MTH 325 is a system of submission and revision of your work that will allow you make improvements to your work based on instructor feedback. Most grades on work are not final; you will have the chance on almost every submitted item to revise and resubmit to improve its quality. First let's detail how to submit your work in the first place.

Submission of work

Submission of Learning Target assessments is easy: These are done on paper in class meetings on alternate Fridays listed on the course calendar, so you simply turn in your work when done in class. Similarly easy is submission of Guided Practice: These are done online using Google Forms that are linked to the assignments.

Challenge Problems are a little more involved. Each Challenge Problem is posted to the course Blackboard site in the Challenge Problem area as an "Assignment". At the place where the Challenge Problem is posted, there will be a file to download that contains the tasks to be completed and any special instructions or grading criteria that pertain to it. Your work on the Challenge Problem is to be typed up, saved as a Word or PDF document, and then uploaded to the place at the "Assignment" where you can upload files. Once uploaded, feedback is left on the submission itself in the form of margin and text notes.


You can revise any Learning Target assessment and any Problem Solving Challenge as often as you need (with some restrictions; see below) until you are satisfied with the results. The process for doing these revisions is different for the two kinds of work.

Revising Learning Target Assessments: All Learning Target assessments must be attempted during a designated assessment period first. Once this has been done, if the grade is Unsatisfactory, you can retake the Learning Target assessment in one of two ways.

  1. You can retake it during a later assessment period in class by filling out an Assessment Request Form on the Blackboard site prior to the assessment period. A new version of the Learning Target assessment will be written up and made available to you at that period.
  2. You can schedule a 15-minute session during office or appointment hours to retake up to two (2) Learning Target assessments orally. Please note the restriction on both the time (15 minutes) and number of assessments (2) that can be done orally. Appointment slots are available on a first-come first-served basis.

Please note that oral assessments are only for retakes. You must first attempt a Learning Target assessment on paper in class and receive Unsatisfactory ratings on it to be eligible for an oral retake.

Revising Challenge Problems: Challenge Problem submissions can be revised and resubmitted by addressing the issues pointed out in the instructor feedback, then writing up a new draft and submitting to the same location on Blackboard as the original submission. The new work will be regraded and given feedback, and you may revise again if needed.

In all retake/revision situations, the highest grade attained so far will be the one recorded in Blackboard.

Definition of a "week": For the purposes of this class, each "week" begins at 12:01am Eastern time on Mondays and ends at 11:59pm Eastern time the following Sunday.

The following restrictions apply to Challenge Problems:

The following restrictions apply to Learning Target assessments:

Finally, there are two important dates for your work:


Tokens are a "currency" in the course that you can use to purchase exceptions to the course rules, especially the rules for revisions. Each student begins the course with five tokens, and tokens can purchase any of the following:

Opportunities to earn more tokens may be made available during the semester.

Academic integrity and collaboration

Academic integrity refers to the concept that the work that you do for GVSU courses should accurately reflect your own efforts and not come significantly from the work of another. Academic integrity means that your work is "integrated" with your understanding and that you are using personal integrity when doing your work.

If you are encountering so much pressure or stress in your life that you are tempted to break one of these policies, STOP AND GET HELP from me (the professor). I am committed to helping you succeed in the course through your legitimate hard work, and I am available and willing to work with you. And remember that most work in the course can be revised and resubmitted to improve your grade, which means that academic dishonesty really isn't necessary to do well.

The university’s academic integrity policy is described in the GVSU Student Code, Section 3.1 which you can read online here: Additionally, the Computer Science major has additional guidelines for academic integrity here: Every student has the responsibility of reading and understanding these policies, especially the consequences for engaging in academically dishonest activities.

In MTH 325, we will adopt the following specific policies to ensure academic integrity in your work. It is each student's responsibility to understand these policies and abide by them all semester.

For all work in the class, you may not look up solutions to any problems on the Internet or in other resources without prior instructor permission. Any submitted solution that is substantially similar to one that appears on the internet will be considered evidence of academic dishonesty.

On any assignment that bears your name, if there is doubt that you were solely responsible for the final solution (or significantly responsible for the code in a programming problem), you may be called upon to explain your reasoning on the entire solution to the professor in a one-on-one interview. In such cases, you are individually responsible for understanding and being able to explain the entire submitted solution without the assistance of others, even if collaboration on the assignment is allowed. If, following this interview, I determine that you have overstepped the boundary for collaboration because you cannot explain the work, it will be taken as a sign of academic dishonesty and will be reported.

Finally, please note that GVSU’s academic honesty policy is vigorously enforced. The minimum penalty for academic dishonesty is to receive an “N” or “Unsatisfactory” mark on the assignment (depending on the kind of work) with no opportunity for future revision, and a report is filed with the Mathematics Department head, the Dean of Students, the Dean of the College of Liberal Arts and Sciences, and the Dean of the College of Engineering. More severe infractions of this policy, or if an infraction is not your first, could result in failure of the course or even suspension from the university.

Where to get help

For general help: The best way to get help in the course is to use the resources that are closest to you and which you have already paid for, namely office hours and Slack. Take a "both/and" approach and seek out help whenever you need it through a combination of these and other resources.

For students with special learning needs: Any student who requires accommodation because of a physical or learning disability must contact Disability Support Resources ( at 616-331-2490 as soon as possible. After you have documented your disability, please make an appointment or see me to discuss your specific needs.

For help with prerequisite mathematics: The Math Center, located on the second floor of Mackinac Hall near the Mathematics Department office, provides a workspace for students to work on mathematics course assignments and on-demand help from trained student workers. The student workers in the Math Center are not trained to provide specific help with MTH 325, but they are able to help with any concepts that are in the prerequisites for the course, such as algebra questions. Information on hours of operation will be given during week 1.

For help with technology: If you encounter issues with Blackboard, your email, or any other technology that is "owned" by GVSU, you can contact GVSU's IT help desk at or email or phone 616-331-2101 for technical support. If you are encountering issues with any other class technology, please either use the #tech channel on Slack, or search the Internet for help, or both. Make sure to try to resolve the issue yourself before asking others; and please do not simply email me (the professor) because I am often unable to provide tech support. Instead, a public message to the #tech channel will be seen not only by me but also your classmates, and this will give you more chances for help.

For help with writing: The Fred Meijer Center for Writing, with locations at the Allendale and Pew/ Downtown Grand Rapids campuses, is available to assist you with writing for any of your classes. Writing consultants, who are fellow GVSU students, are trained to help you with all stages of your writing process, from brainstorming to organizing to editing your papers. Simply bring a draft of your paper, the assignment sheet, and your questions/concerns to any of the Center's locations. Also, through your Gmail account, you have access to online consultations through Google Docs. The Center's services are free and you can drop in and work with a consultant or make an appointment, either through our website or by calling the Center (331-2922). For more information about our services and locations, please visit our website: Please note that seeking help from the Writing Center does not violate academic integrity policies.

Course schedule and important dates

All date-related information for the course is housed in the course calendar, which is a Google calendar that you can access on Blackboard under the "Calendar" link in the sidebar. This includes due dates, important university dates, and more. Please subscribe to this calendar and check it at least once per day. To see a list of class activities and due dates, go to the calendar and select the "Agenda" view.


Changes to this syllabus may occur during the semester. In those cases, the changes will be announced in class and online, and if appropriate, students will be given a voice on how the changes will be implemented. Again it is your responsibility to attend class and process all the information passed along in course announcements so that you will be aware of any changes that take place.

About the instructor

I'm Robert Talbert and I am an Associate Professor here in the Mathematics Department at GVSU. I grew up in Dickson County, Tennessee (near Nashville) where I was surrounded by engineers (my dad, my oldest sister, her husband and my other sister's husband) and hundreds of acres of pristine Tennessee forest where I would spend the afternoons hiking after finishing my homework.

I was a B/C student in math through high school until I had a teacher for Calculus in my senior year who stopped trying to cram things into my head and let me figure things out on my own instead. After a two-year stint as a Psychology major in college, I changed my major to Mathematics on a dare from my roommate (long story), and it’s been love ever since. I went to Vanderbilt University for a Master’s and Ph.D. in Mathematics, doing my dissertation on an obscure area at the intersection of abstract algebra and geometry. I went on to spend 14 years teaching in small liberal arts colleges before coming to GVSU in 2011. Now I teach computer scientists how to think like mathematicians, and I do research on how to make teaching and learning better with technology and active learning techniques, while trying to improve my Python and Haskell skills, which is easy since I know so little.

I live in Allendale with an amazing wife and three kids ages 8, 11, and 13 along with six animals of various species. I enjoy cooking, reading, bicycling, and Reddit. Feel free to connect with me on Twitter at @RobertTalbert and @rtalbert on Instagram, or at my blog at

MTH 325 Learning Targets