Class Lectures and Reading Assignments
CS 30900
Discrete Mathematical Structures
Spring, 2016

This page documents what we do in class. It contains reading assignments, homework assignments that you can work on for practice and exam preparation (not for credit), and links to other sources of information, etc.

IMPORTANT: Here is a homework assignment that replaces the fourth exam for this course. Download this Haskell file and follow the directions in the file. This is due Friday, May 6.

Today we will look at some examples of closures.

Today we will look at some examples of tail recursion.

The third midterm exam is today.

Read the following chapter on Haskell (from this book)

The third exam is this Thursday, April 21.

The exam will be about the following Haskell topics.

  1. recursion
  2. functions on lists
  3. curried functions
  4. partial application
  5. lambda expressions
  6. map and foldr

The exam is over the following two chapters (from this book)

Do the exercises in these two files.

Look at the code and the explanations in these zip files.

Remember that the third exam will be next Thursday, April 21.

Here are some Haskell exercises on "higher order functions".
The exercises use map, foldr, and lambda expressions.

Today we will go over some examples of "higher order functions".

Read the next chapter on Haskell (from this book)

The third exam will be two weeks from Thursday, on April 21.

Today we will go over the following examples of recursive functions.

Here are some Haskell exercises that you can work on. I may add new problems to this list, so keep checking it.

Here are Haskell (and Java) files with some examples of recursive functions.

Here is a file with extra examples of pattern matching.

Here are several explanations of recursion taken from several different textbooks.

Here is a Haskell file with a lot of examples of functions.

Here is a Java file that tries to define a shorter() method that is as generic as Haskell's shorter function (from the functions.hs file).

Read the next chapter on Haskell (from this book)

Read Section 12.1 from the following chapter (from this book).

Do the exercises on pages 200-201. (Solutions)

Spring break.

Spring break.

The second midterm exam is today.

Read the next chapter on Haskell (from this book)

Here are solutions to some of the Haskell exercises.

The second midterm exam is this Thursday, March 3.

For the exam, know the following material about sets.

For the exam, know the following material about Haskell.

No class today because of the snow.

Here are some Haskell exercises that you can work on. I will add new problems to this list, so keep checking it.

Read Section 4.1 from the following chapter (from this book).

Read the next chapter on Haskell (from this book)

Read Sections 1.4, 1.5, 1.6 and 1.7 (up to page 23) from the following chapter (from this book).

Do the odd exercises on pages 16, 18, 19, and 20. (Solutions)

Download and unzip this small version of the Haskell interpreter.

Read the following introduction to Haskell (from this book)

Read Sections 1.1, 1.2, and 1.3 (up to page 14) from the following chapter (from this book).

Do the odd exercises from blocks B, C and D on page 7.
Do the odd exercises on pages 10 and 14. (Solutions)

First midterm exam is today.

The first midterm exam is a next Thursday, February 4.

For the exam, know the following material.

Here are some notes about half and full adders.

Read Section 3.6 from the following chapter (from this book).

Read Section 2 from the following chapter (from this book).

Do Exercises 2.1, 2.2, 2.3, 2.4, 2.5, 2.7, 2.19 starting on page Lo-19. (Solutions)

Read Example 16 on pages BF-18 and BF-19.

Read Section 1 from the following chapter (from this book).

Do Exercises 1.2, 1.3, 1.4, 1.5, 1.8, 1.11, 1.12, 1.14, 1.18 starting on page Lo-9. (Solutions)

Read Sections 3.3, 3.4, and 3.5 from the following chapter (from this book).

Do Problems 3.8, 3.10, 3.11(a), 3.12, 3.13, 3.16 from pages 67-70.

Here are my notes for today's class.

Read Sections 3.1 and 3.2 from the following chapter (from this book).

Do Problems 3.1 - 3.4 from pages 61-63.

Read Section 1 from the following chapter (from this book).

Do the exercises on page BF-8. (Solutions)