Resources

all   open all close all

As mentioned on the calendar page, the textbooks for this course are optional and both can be found online for free either courtesy of Duke libraries or via a free pdf.

There are however several other books on Discrete Math, and you may benefit from reading excerpts from those. Here is a sample of what is available, in alphabetical order by first author. Since the following are not official textbooks, any materials used from these books must be cited.

  • K. Bogart, C. Stein, R. L. Drysdale, Discrete Mathematics for Computer Science, Key College Publishing, 2006.
  • G. Chartrand and P. Zhang, Discrete Mathematics, Waveland Press, 2011.
  • K. Ferland, Discrete Mathematics, Brooks/Cole, 2009.
  • D. J. Hunter, Essentials of Discrete Mathematics, Jones & Bartlett Learning, 2012.
  • K. H. Rosen, Discrete Mathematics and Its Applications, McGraw-Hill, 2007

These are expensive books, so you may want to try the library. If they don't have what you are looking for, they can arrange for an inter-library loan for you.

Due to the technical difficulties of the remote learning format, there will not be programming assignments during this summer session. That said, Racket is a great functional programming language, and provides a good way to get a feel for these concepts from a more application based standpoint. The resources below are included for your perusing convenience.

  • The place to start for an introduction to Racket is the official Racket documentation page. This page links to tutorials (of which the Quick Intro is required reading), a programming guide, which is meant to be read, and a language reference, which is meant to be consulted for detailed form syntax.
  • If you Google for programming help (not for solutions to the problems!), anything on Scheme will be close to what is needed in Racket, since the latter language is a variant of the former.
  • The online book Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, and Julie Sussman, MIT Press, 1996, is by no means a programming book. However, understanding the principles in that book will help you make sense of programming constructs as well. The book has also several examples in LISP, of which Racket is a variant.

  • LaTeX installation instructions for several platforms can be found in the class notes on LaTeX, as well as in Appendix A of George Grätzer's book More Math Into LaTeX, which is also a good text to read when you delve deeper into LaTeX.
  • Movie tutorials on LaTeX can be found in this zip file.
  • A quick LaTeX tutorial can be found here, and the quick start version on the same site is an even faster, one-page introduction, and is required reading.
  • The LaTeX Wikibook is an authoritative online reference to LaTeX.
  • Overleaf is an awesome online resource for LaTeX, and makes managing packages and organizing files easy. It also includes a series of easy tutorials, which we strongly recommend.

Please do come to office hours to ask questions and get clarifications. This is what we are here for.

The class contacts page has our office-hour schedule and contact information. If none of the times listed work for you, send us email to make an appointment.

COMPSCI , Duke University, Site based on Professor Carlo Tomasi's 230 website