Syllabus, CPSC 331, Winter 2008

home page -  news -  syllabus -  schedule -  assignments -  tutorials -  tests -  java -  references -  Mike Jacobson


about CPSC 331 -  learning goals -  CS background -  math background -  how to succeed -  what to avoid -  assessment

 Math Background

In Computer Science 331 mathematical language will be used to describe the problems that are to be solved in a reasonably precise and formal way. Mathematics will also be used to identify conditions that are expected to hold at various points during the execution of computer programs, and to state and prove claims about the correctness and efficiency of the algorithms and data structures that are being presented in the course.

A significant amount of the material that is presented in Mathematics 271 will be applied in Computer Science 331. Since the mathematics course is a “prerequisite or corequisite” rather than a prerequisite it certainly will not be assumed that students are already familiar with this material. Accordingly, this material will be applied in a gradual way and only after (or, occasionally, at the same time as) the time when it is introduced in the discrete mathematics course.

Mathematical logic is used whenever requirements for programs are specified in a formal way and whenever algorithms and programs are proved to be correct. It is therefore helpful (but not essential) if students have taken Philosophy 279 or 377 before taking Computer Science 331 or if they are taking Philosophy 279 or 377 at the same time as Computer Science 331.

Recommended References

Each of the following references could be used as a textbook for Mathematics 271 (indeed, one of these is commonly used as the textbook for this course) and includes a readable introduction to the material from mathematics and logic that will be used in Computer Science 331.

  1. Susanna S. Epp
    Discrete Mathematics with Applications, Third Edition
    Thomson, 2002

    This book has been used as the textbook for Mathematics 271 in recent years. Several copies of this book are available on reserve for short-term use at the University of Calgary library. Printed copies can be purchased at Amazon or Chapters.

  2. Kenneth H. Rosen
    Discrete Mathematics and Its Applications, Sixth Edition
    McGraw Hill, 2007

    This book is somewhat more advanced than Epp’s text but also provides a readable introduction to the material that will be used in Computer Science 331. Several copies of this are available on reserve for short-term use at the University of Calgary library. Printed copies can be purchased at Amazon or Chapters.

Note: Several other books have been used as textbooks for Mathematics 271 over the years. These are generally less suitable as references for Computer Science 331 than the ones listed above because they do not include material about proving correctness of algorithms.


This page last modified:
http://www.cpsc.ucalgary.ca/~jacobs/cpsc331/W08/syllabus/math_background.html