Sprint 3: Sets, Relations, and Functions

Roadmap:

  • Team Assignments
  • Sprint Duration: Monday, March 5 - Friday, March 16
  • Quiz will be given on Friday, March 16 at the beginning of class.
  • Requirements due Wednesday, March 14 at the beginning of class.

Rationale:

People naturally like to categorize things. My cute little girl makes a game of putting all things Elmo into one big red pile and all things Cookie Monster into one big blue pile. We didn't tell her to do this, and we didn't need to teach her how. It comes naturally. Placing things in categories (sets) and then finding relationships between the sets (functions and relations) is something people want to do instinctively because it brings order to our world.

Mathematicians are great at defining and putting hard and fast logic rules around things that are intuitive abstract concepts. It is not enough for the mathematician to "feel" that something is true, they long to PROVE it is true. The language of sets, functions, and relations gives us a way to talk about our categories precisely and prove properties of them.

That's what you will learn in this sprint - the language of set theory. A lot of this sprint is spent learning vocabulary and definitions. It is these definitions that are the basis of our proofs about sets.

It should be clear that these concepts are central to computing. Languages like Python and Java have "Set" data structures with corresponding methods. Each method we write is a "function". Want to know why there are "Relational" databases? Because they work based on the relations between sets of data. Learning the vocabulary of set theory extends directly to knowing vocabulary for computer science.

Responsibilities (What you need to know):

  • Sets
    • Notation
        • Roster, Set Builder
        • Subset, Proper subset
    • Definitions:
        • Cardinality
        • Subset and proper subset
        • Empty and universal sets
        • Power set
        • Disjoint sets and partitions
    • Set Operations
        • Intersection, Union, Complement
        • Difference and Symmetric Difference
    • Set Laws of Equivalence
  • Functions
    • Ceiling and Floor functions
    • Properties of Functions - Definitions
        • One-to-one
        • Onto
        • Bijection
    • Function Operations
        • Inverse Functions
        • Function Composition
  • Relations
    • Reflexive, anti-reflexive, symmetric, anti-symmetric, transitive
    • Composition of relations
    • Hasse Diagrams
    • Partial Orders
    • Total and Strict orders
    • Minimal and maximal elements
    • Equivalence Relations

Requirements

Individual:

  • Understand each of the concepts in the Responsibilities list.

Team:

Resources:

Expert Request

Texts:

Lecture Notes:

Videos:

Reference Sheet:

Practice Problems:

Reality Check:

  • Monday: Sprint planning meeting
  • Homework for Wednesday: Read chapter 6 and try homework set.
  • Wednesday: Lecture review of chapter 6, do practice problems, get homework checked.
  • Homework for Friday: Read chapter 7 and try homework set.
  • Friday: Lecture review of chapter 7, do practice problems, get homework checked
  • Homework for Monday: Read chapter 8 and try homework set.
  • Monday: Lecture review of chapter 8, do practice problems, get homework checked
  • Homework for Wednesday: Finish all problem set corrections - come with questions.
  • Wednesday: Turn in homework, go over it, review for quiz.
  • Homework for Friday: Try the practice quiz. Ask Shannon questions.
  • Friday: Quiz