Wednesday, February 26, 2020

Active Applied Discrete Structures - Notes for a Flipped Class

This spring, I decided to take the plunge and attempt teaching our Discrete Structures I course in a flipped class format. I'm almost half way through the semester and it seems to going pretty well.  We had our first hour exam a while ago and grades were higher than in comparable exams from previous semesters. Also, students generally seem to be enjoying the format.

At this point, I've written up all the assignments that students are asked to do before each class meeting and the problems they work on in class.  They comprise 24 "chapters" - one for each class.

Download the first draft of Part 1.

In the past, I've gotten requests for an instructor's manual for Applied Discrete Structures and have procrastinated on doing it, but this may be just as valuable.
A TEAL classroom being set up at UML

We have a few new Technology Enhanced Active Learning  (TEAL) classrooms at UMass Lowell and I've been scheduled in them this year.  Having students in "pods" helps with  the flipped format, although the technology isn't really necessary.

Monday, December 30, 2019

Sage Cell Server has migrated to Python 3

I recently discovered that many of the SageMath cells in the web version of Applied Discrete Structures (ADS) were no longer working as they had in the past. Then I found out why.  Apparently, 2020 is the Y2K of the Python Universe.  ... and I was oblivious to it!

The Python 2 language, i.e. Python 2.7.x, is officially being discontinued on January 1, 2020 (first planned for 2015) after which security patches and other improvements will not be released for it.[29][30] With Python 2's end-of-life, only Python 3.5.x[31] and later will be supported.
Due to differences in the two versions of Python, there are two main impacts on the code on the current web version of ADS.

  • "print expr" produces an error and needs to be replaced with "print(expr)"
  • map produces an iterator instead of a list.  This is fixed by wrapping  list( ) around the map expression if the original output is as desired.  More about iterators.
  • keys of a dictionary are are also an iterator and using list is the fix in this situation too.
Fortunately the PreTeXt project has my back and an automated system has been developed to identify all the problems.   I hope to have an updated web version ready for the spring semester.

Wednesday, September 11, 2019

Logic Design & Boolean Algebra

The original 1980's version of Applied Discrete Structures had a section on Logic Design, but when I reworked the book starting around 10 years ago, I didn't include that section.  The main reason was that I never could find a good application for drawing gate diagrams.  I still haven't found one that is exactly what I want, but Inkscape comes close. I was able to draw some basic diagrams. Although I'm still not perfectly satisfied with what I have, I think they are good for a draft.

So after a delay of several years, here is a draft version of Section 13.7 A Brief Introduction to Switching Theory and Logic Design.  I developed it as single-section PreTeXt book, so the numbering is 1.1.x instead of 13.7.x.   I intend to add this to the next version of Applied Discrete Structures, in spring 2020.

I'd be interested in whether many users would plan on covering this section in their courses.

Friday, August 30, 2019

Professor Al Doerr Memorial Scholarship Fund

One October 14, 2018, Prof. Al Doerr passed away. He was coauthor of Applied Discrete Structures He was on the faculty at UMass Lowell for 50 years. In his honor, the Mathematical Sciences Department has established an endowed scholarship fund in his name. If you or your students want to thank us for the book, you could donate even a few dollars to the Prof. Alan Doerr Scholarship Fund at All proceeds go to a scholarship endowment for our math majors.

Wednesday, January 2, 2019

Appendix on Determinants

Determinator Comic:
from Courtney Gibbon's
Brown Sharpie (CC: BY-NC-NA)
In our original 1980's text, we had an 11 page appendix on determinants.  That was probably overkill since our inclusion of matrix diagonalization isn't really mainstream discrete math, but back then the exact content of a discrete math course wasn't so well defined.   When I revived Applied Discrete Structures, I never got around to converting the determinant appendix.  We still have diagonalization in chapter 12 and for completeness I've put together a more compact appendix.  Right now, a draft is available as a pdf at  

I haven't decided whether to integrate it into the text or just leave it as a supplement. I'm concerned that the full print version is getting a bit unwieldy.  I'm hoping to find a way to automatically exclude it from the print version but include it in the web version, where length isn't an issue.