Computer Science 351 — Introduction and Discrete Mathematics Review

Welcome to CPSC 351!

Introduction to Course and Review of Prerequisite Material

Overview

You have to start somewhere! This introductory material includes brief introductions to the major topics of this course and associated learning goals — along with information about how the course will be organized and administered. Material from prerequisite courses, that will be used heavily in this course, is reviewed. Finally, a small amount of material that will be used heavily — and that might be new — is introduced.

Mathematics Review

None of the material, here, should be new — you should have seen all of it in a discrete mathematics prerequisite (either CPSC 251 or MATH 271 for most of the students in this class). Please skim through the following material — to make sure your remember it — and return to it later, as needed.

You should not need any reference material, for this, that is not provided on the course web site. However, a recent CPSC 251 or MATH 271 textbook might be useful. The following books have recently been used in textbooks in these courses.

The following might also be of interest.

Lecture #1: Introduction to CPSC 351 (Tuesday, September 1)

Preparatory Viewing and Reading

This first set of material introduces topics and learning goals for this course. It also includes a little bit of information about course administration. The material is provided in several different ways — because different students like different things. There is a single, long, video that covers everything. You can probably understand it if play it at double speed. There is also a sequence of shorter videos, covering the same material, for students who do not like long videos.

The videos show the instructor speaking while PDF slides are displayed. The PDF slides are probably not as useful as the videos, but they are also provided as a PDF file.

Alphabets, strings, and languages will be used to model computational problems throughout this course. The first (reasonably short) document introduces, these and gives important examples along with a small amount of useful notation. The second “key concepts” document is a shortened version of the first document that only includes important definitions and notation.

Lecture Presentation

A Few Odds and Ends

It is expected that students will attend — and participate in — lectures, taking notes as needed. Several note-taking strategies, that some people have found to be useful, are described at the web page that is linked to, below.

Years ago, every student in this course knew many of the letters of the Greek alphabet because these symbols were used as names for variables in mathematical writing. It seems that — more recently — many students have not seen these symbols at all. Since they still get used, a brief introduction to them is being supplied.


University of Calgary Extension of Logo
Department of Computer Science

cpsc 351 computer science faculty of science u of c

cpsc 351 course outline intro and review finite automata and regular languages turing machines and computability discrete probability for computer science course admin assignments tests