CS 496: Mathematical Structures for Computer Science

Summer 2014

Meeting Times: 8:00 am - 9:10 pm, Mon. - Thur., HB 204
Jun. 23 - Jul. 31
Instructor: Dr. Jim Schwing
Office: HB 219-C
Phone: 963 - 1432
Web Page:
Office hours: 2:00 pm - 3:00 pm
and by appointment.
Text: Mathematical Structures for Computer Science: A Modern Approach to Discrete Mathematics, 6th ed.
Judith L. Gersting
WH Freeman & Co.

Exams (2 - 25% each) 50%
HWs (N - 50/N% each) 50%

Grading Scale
95 - 100 A
90 - 94 A -
87 - 89 B +
83 - 86 B
80 - 82 B -
77 - 79 C +
73 - 76 C
70 - 72 C -
60 - 69 D

Objectives: Mathematical Structures for Computer Science is to provide students with the tools necessary for the critical evaluation of existing and future programming languages and constructs. A secondary goal is to prepare students for the study of compiler design and construction.

The class provides a wide-ranging and in-depth discussion of programming language concepts. Fundamental concepts of programming languages are presented through the design issues of the various language constructs, by examining the design choices for these constructs in a few common languages, and critically comparing the design alternatives. The class also covers the most widely used methods of syntax description and introduces the most common approaches to describing the semantics of programming languages. Discussions of implementation methods and issues are integrated throughout the class.

Honor Code:
All work turned in for credit, including exams and all components of the project, are to be the work of the student whose name is on the exam or project. For all project components, the student can receive assistance from individuals other than the instructor only to ascertain the cause of errors. Thus you can get help if you need it to figure out why something doesn't work. You just can't get help from anyone, other than the instructor or TA, to figure out how to make something work. All solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's.

The following text should appear on all assignments:
I pledge that I have neither given nor received help from anyone other than the instructor for all program components included here.

Any deviation from this policy is an honor code violation and will be treated as such if detected. It should be included as a comment in your source code and part of your written report.

Class Attendance:
Class attendance is expected.

ADA Statement:
Students who have documented disabilities that may affect their ability to access information and/or material presented in this course are encouraged to contact the Disability Support Services (DSS) office so that appropriate academic adjustments and accommodations can be provided. Students who have contacted the DSS office should give me a copy of their Confirmed Eligibility for Academic Adjustments form as soon as possible so that we can discuss how the approved adjustments will be implemented for this class. Students who have not documented their disabilities and wish to arrange for academic adjustments and accommodations, as well as students who require additional information should contact Disability Support Services in Bouillon Hall, Room 205 or by email at or by telephone at 963-2171.

The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.

Course Schedule

Day Date Topic Readings - Item Due
1 Jun 23 Formal Logic Reading: Ch. 1.1 - 1.2
2 Jun 24 Formal Logic (cont.) Reading: Ch. 1.3
3 Jun 25 Formal Logic (cont.) & Prolog Reading: Ch. 1.4 & 1.5 handout
4 Jun 26 Prolog (cont.) Reading: Handout
5 Jun 30 Proofs, Recursion & Analysis of Algorithms Reading: Ch. 2.1 & 2.2
6 Jul 1 Proofs, Recursion & Analysis of Algorithms (cont.) Reading: Ch. 2.4
7 Jul 2 Recurrence Relations Reading: Handout
8 Jul 3 Recurrence Relations (cont.) Reading: Handout
9 Jul 7 Recurrence Relations (cont.) Reading: Handout
10 Jul 8 Sets Combinatorics & Probability Reading: Ch. 3.1 & 3.2
11 Jul 9 Sets Combinatorics & Probability (cont.) Reading: Ch. 3.3 & 3.4
12 Jul 10 Sets Combinatorics & Probability (cont.) Reading: Ch. 3.5 & 3.6
13 Jul 14 Relations, Functions & Matrices Reading: Ch. 4.1 & 4.2
14 Jul 15 Catch-up Day  
15 Jul 16 Exam 1
16 Jul 17 Relations, Functions & Matrices Reading: Ch. 4.1 & 4.2
17 Jul 21 Relations, Functions & Matrices (cont.) Reading: Ch. 4.3 & 4.4
18 Jul 22 Relations, Functions & Matrices (cont.) Reading: Ch. 4.5 & 4.6
19 Jul 23 Graphs & Trees Reading: Ch. 5.1 & 5.2
20 Jul 24 Graphs & Trees (cont.) Reading: Ch. 5.3 & 5.4
21 Jul 28 Graph Algorithms Reading: Ch. 6.1
22 Jul 29 Graph Algorithms (cont.) Reading: Ch. 6.2 & 6.3
23 Jul 30 Graph Algorithms Reading: Ch. 6.4
24 Jul 31 Exam 2  


Last updated: Jun 20, 2014

JL Schwing
Department of Computer Science

All images and text are ©2014 Central Washington University
This material is subject to copyright and unauthorized use or copying is prohibited.