SPRING 2008 COURSES | ROBERT W MCGRAIL | COMPUTER SCIENCE | SCIENCE | BARD COLLEGE     

CMSC/MATH 235 Discrete Mathematics

Spring, 2008

Description:  This course will examine the field of discrete mathematics, especially the areas of importance in computer science, such as algorithms, combinatorics, logic, and graph theory.  Equal time will be given to theory, computation, and applications.  This course satisfies the functional programming requirement for moderation into the computer science program.
 
Professor: Robert W. McGrail.

Lectures:
Monday and Wednesday from 9:00 AM to 10:20 AM in RKC 100.

Text:
Computational Discrete Mathematics, by Sriram Pemmaraju and Steven Skiena.  New York:  Cambridge University Press.  2003.  ISBN:  0-521-80686-0.

Course Policies

Meetings:  These course will be a mixture of modern, multimedia presentation, group work, and occasional brief student presentation.  The running theme of this course is the use of computing to solve problems in discrete mathematics.  A general problem will be introduced and students will form groups in order to solve certain aspects of that problem.  All instructor presentations will be made available online as Mathematica presentation notebooks.

Software and Systems:   We will employ version 6.0 of the Mathematica symbolic computing system.  In particular, we will make use of the Combinatorica package.  Our official platform is Mac OS X, as installed on the RKC 100 machines.   An inexpensive student version of Mathematica is available for all platforms.

Homework:  There will be approximately 10 homework assignments.  Each assignment will be electronically submitted to me in the form of a Mathematica notebook or package attached to an email message.  Mathematica notebooks present allow one to mix programming code with formatted text, graphics, and tables.  The opportunities for creating fully "literate programs" is outstanding.  Hence students will be expected to carefully annotate their code.  That is correct:  Writing matters in this course.

The last few homework assignments will constitute one related course project on some area of discrete mathematics.

Exam:  Each student's journey will rely heavily upon the development of several technical skills.  Hence there is a certain amount of technical knowledge that each student must acquire.  My method for determining whether students are sufficiently absorbing such detail include two in-class exams, one at midterm and one at the end of the course.

Grading: The final grade will be computed according to the following breakdown.
  • Homework: 30%
  • Midterm Exam: 30%
  • Project: 40%

Syllabus

Discrete Mathematics Topics

  • Permutations and Combinations
  • Computational Complexity
  • Mathematical Induction
  • Propositional Logic
  • First-Order Logic
  • Finite Algebras
  • The Algebra of Permutations
  • Midterm Exam, Wednesday, March 26th
  • Knots and Quandles
  • Partitions and Congruences
  • Lattices and Order
  • Graphs and their Constructions
  • Graph Properties
  • Final Exam, Monday, May 19th 

Mathematica Programming

  • Basic Run Time Environment
  • Notebooks and Publishing
  • Lists and Matrices
  • Functions
  • Conditionals
  • Iteration and Recursion
  • Pattern Matching and Translation
  • File Input and Output
  • Graphics
  • Graphical User Interfaces

News

Course Project
5/3/08 - The course project is due Monday, May 19, 2008 at 9AM.

Homework Assignment 4
3/23/08 - Some exercises on subquandles and strictly simple quandles. Due: Wednesday April 16, 2008.

Homework Assignment 3
3/8/08 - Some exercises and programs concerning propositional logic. Due: Friday, March 14th.

Homework Assignment 2
2/23/08 - More permutations exercises and some run time function construction. Due: Monday, March 3, 2008.

Homework Assignment 1
2/1/08 - Please down load and complete this Mathematica notebook. Due: (New) Wednesday, February 13, 2008.

 
Top of page | Recommend page | Print version | Contact | Classic Version | Imprint