Skip to content

Instantly share code, notes, and snippets.


Robert Talbert RobertTalbert

View GitHub Profile
View How MTH 325 grading

How Assessment and Grading Work in MTH 325

As with any academic course you take, you will be asked to do various kinds of work in MTH 325 and submit them to me for assessment. I then apply my best professional judgment to your work and assess its quality, and eventually you will receive a course grade based on a composite of those professional judgments. This is a big responsibility for me. In designing this course, it is imperative that I make sure the assessment system you have in MTH 325 satsfies some important requirements:

  1. Your grade in the course should reflect the amount of mastery you have attained on the course material and the work that you put into the course.
  2. Your grade in the course should send a clear message about what you have and have not mastered in the course. Two students with the same course grade should have the same level of content mastery.
  3. Your course grade should not be a "false negative". That is, you should not receive a low
View MTH 325 Learning Objectives

Learning Objectives for MTH 325: Discrete Mathematics for Computer Science 2


  • CC = Learning objectives to be assessed through Concept Checks. These are mainly stating definitions and important mathematical results, and performing simple calculations or example constructions.
  • M = Learning objectives to be assessed through Modules (both timed and untimed).

Chapter 8: Relations

View MTH 325 Learning

Learning Objectives for MTH 325: Discrete Mathematics for Computer Science 2

This document can also be found online:


View MTH 325 Specifications for Student
View MTH 410 Learning
View MTH 410 Specifications for Student

Specifications for Student Work in MTH 410

Specifications for mathematical proofs

A mathematical proof that represents professionally acceptable work follows all of the following specifications with only minimal deviations. These are taken from Appendix A: Guidelines for Writing Mathematical Proofs from Ted Sundstrom's Mathematical Reasoning: Writing and Proof provided on the Blackboard site. This is the textbook used in MTH 210, and these guidelines are the standard specifications for proof writing used in all proof-based courses at GVSU.

  1. The proof is written at a level that is appropriate for an audience for MTH 410. We will assume that this "standard audience" is a peer in MTH 410 who is knowledgeable of the content of the course but who may not be familiar with what you are writing about.
  2. The proof is preceded by a carefully worded statement of the theorem or result to be proven.
  3. The proof begins with a statement of your assumptions.
View MTH 325 Application Project

MTH 325 Application Projects: Overview and initial information

Purpose and overview

The Application Project for MTH 325 will give you a chance to apply what you have learned/are learning/will learn about relations, graphs, and trees to a real-world problem. In your application project, the fundamental goal is the following:

Solve a real-world problem or provide a real-world service that uses relations, graphs, and/or trees in a significant way.

This is a very broad criterion, and it's meant to allow a wide variety of interpretations, problems, and approaches. The idea is to combine your knowledge of the course material, your creativity, and your curiosity into bringing the course content to life.


Guided Practice for MTH 325: Section 9.3


Having introducted graphs, the language of graphs, and several examples of important graphs, we look at two ideas in this section. First we will look at different ways to represent graphs: as adjacency lists, adjacency matrices, incidence matrices, and as dictionaries. Second, with these different means of representing graphs we will look at graph isomorphism which is a way of saying whether two graphs are "the same" even if they are laid out differently.

Learning Objectives in this section

RobertTalbert /
Created Feb 13, 2015
Relations: Problems and Proofs input-output pairs

Here are some sample input-output pairs for you to try out and compare your work on the Relations: Proofs and Programs learning module.

Option 1: Relation Properties

relation1 = [(0,0), (0,1), (1,1), (2,1), (2,2)]
{0: [0, 1], 1:[1], 2: [1, 2]}

relation2 = {0: [1, 2], 1: [3, 4], 2: [2,3], 3: [ ], 4: [ ]}
relation3 = {'Jerry': ['George', 'Elaine'], 'Elaine':['Kramer']} 
RobertTalbert /
Last active Oct 16, 2020
Sage code for generating random weighted undirected graph
## Generates a random weighted undirected graph.
## n = number of nodes
## p = probability that two nodes are adjacent; must be between 0 and 1.
## lower_weight and upper_weight = lower and upper edge weights, respectively. If left out, the defaults are 1 and 100.
## Examples of usage:
## g = random_weighted_graph(20, 0.5) <-- Uses default lower and upper weights of 1 and 100.
## h = random_weighted_graph(10, 0.35, 5, 50) <-- Weights will be integers between 5 and 50.
## = True) <-- Include the argument to display the weights
## <-- leave the argument out to hide the weights