Skip to content
Matt L edited this page Nov 4, 2025 · 7 revisions

CSE 2500: Introduction to Discrete Systems

Welcome to the CSE 2500 wiki!
Here you’ll find key resources, guides, and notes related to our course.


Table of Contents


About This Repository

This repository contains:

  • Code used for demonstrations in class
  • Quizzes for test knowledge of topics
  • Selected notes from lecture

Getting Started

If you're new to Git and Github, no worries! Follow these steps:

  1. Go to the "Code" tab for this repo and find the Fork link near the top right corner. This will make a copy of my code_2600 repository into your Github account.
  2. Go to your Github homepage and navigate to the newly copied code_2500 repository. Click the green "Code" near the top right and copy the URL to clone.
Obtaining a URL to clone
  1. Open VS Code and click "Clone Git Repository" on the Welcome page. Paste the URL in the search bar at the top of the screen.
Cloning a repo in VS Code

How to Contribute

Proposing code changes:

  1. First be sure to commit any changes to your local repository (cloned onto your machine).
  2. You can then push these changes to your remote repository on Github (which should be a copy of my repo forked into your account).
  3. From your own account, navigate to Pull requests at the top.
  4. Click New Pull Request, and select the branches you'd like to merge. You will compare the branch from your account which contains only the changes you wish to share. The base should be the "dev" branch on my account.

This will allow me to review your changes, test them on a development branch (rather than the "main" user-facing branch), and provide any comments as needed.

Opening an issue:

  • If you think you found an error in a segment of the code in this repo, please feel free to open an issue and use the "bug" label. Describe the error(s) that you encounter and the name of the script containing it.
  • If you have an idea for a new tool or modification to the code but haven't had the chance to create these changes in your own repo, you can open an issue with the "enhancement" label.
  • If you have a question about something in this repo, you can open an issue with the "question" label. Be sure to scroll through open (and closed) issues first, because another person may have had the same question.

Be sure to tag me in an issue if you'd like a quick response.


Course Topics

Module 1: Counting Methods

  • Combinatorics; the Multiplication Principle
  • Sets; the Addition Principle
  • Functions
  • Probability

Module 2: Logic and Proof

  • Logical Arguments
  • Quantified Statements
  • Direct Proofs
  • Indirect Proofs

Module 3: Algorithms

  • Induction
  • Recursion
  • Relations
  • Number Theory and Cryptography