homework introduction syllabus textbook grading exams news excuses teaching staff
[WPI] [CS] [cs503]

cs503,   Summer  2004 Course Introduction

   This course, Foundation of Computer Science, is taught by the WPI Department of Computer Science. The material in this course comprises the fundamental mathematical properties of computer hardware, software and lays the foundation for various areas of computer science such as compiler design, text processing, complexity theory, lexical analysis, and more. The course focuses on three traditionally central area of the theory of computation: automata, computability, and complexity.

Note, the course will be online 05/24 -- 06/14

Because of its simplicity and its similarity to the modern computer, we will use the Turing machine and finite-state automata as our framework for the study of effective computation. The correspondence between generation of languages by grammars and acceptance by machines compels thorough study of language theory and its applications. Complexity analysis is a part of this course.

Expected Background

This course expects you to understand the following material, which can be acquired by taking the WPI graduate course cs501:
  • a knowledge of some higher-level programming language (commonly C, C++),
  • introductory data structures and algorithms (at the undergraduate level),
  • discrete structures  (such as graphs, arrays, lists, trees...),
  • and just as important -- a certain level of mathematical maturity is needed. More exactly: set theory, functions, relations, logic, and proof techniques.

Course Meetings:

The course meets every week
  • WPI Campus,   Mondays,  6:00--9:50pm.   Room # KH116.