CS 270, Spring 2015

Office: University Crossings 109

Office Hours: Monday, Wednesday, Friday 12:00 pm - 12:50 pm, University Crossings 109

e-mail: kn33@drexel.edu

Class meetings

Section 1: **MWF 3:00 pm - 3:50 pm, DXLPLZ GL 20
**Section 2:

On one hand the course presents basic mathematical structures and methods, which play a fundamental role in Computer Science. On the other hand it deals with three working methodologies of computing: theory, abstraction, design, and discusses conceptual and formal models and computational efficiency. It covers iteration, induction, recursion, the tree data model, finite automata, grammars, propositional and predicate calculi. The main goal of the course is to give computer science majors solid foundations for further study. The emphasis on abstraction and encapsulation provides a ground for subsequent courses oriented towards object-oriented programming. The course puts a strong stress on developing problem solving skills of students.

**Required Text**

Alfred V. Aho, Jeffrey D. Ullman, *Foundations of Computer Science, C
Edition,* Computer Science Press, New York, 1995.

http://infolab.stanford.edu/~ullman/focs.html

**Reference Texts
**David Gries, Fred B. Schneider,

Brian W. Kernighan, Dennis M. Ritchie,

Robert Sedgewick,

Stephen Simpson,

http://www.personal.psu.edu/t20/notes/logic.pdf

Syllabus

Week 1:

Week 7:

Week 8:

Week 9:

Week 10:

**Course Objectives
**To be able to provide and use recursive definitions of patterns and
data structures

To use induction and other proof techniques to prove properties of algorithms, data structures and programs

To use regular expressions and grammars to describe patterns and languages

To construct and use finite machines to accept patterns and to apply grammars to recognize languages and construct parse trees

To use logic to describe the state of systems and use logical deduction to prove properties of systems

**Course Grade and Exams**

We will have six quizzes (group work, individual submission; on Mondays, weeks
2-4, 6-7, 10), three in class tests (individual work; on Mondays, weeks 5, 8,
11), seven homework assignments (individual work; due on Mondays, weeks 3-5,
7-8, 10-11) and the final exam (individual work; during week 11). Final exam
will be comprehensive. The final grade will be computed with the following
weights: quizzes count for 15%, tests for 30%, homework assignments for 20%,
the final exam for 30%, and the attendance for 5%.

**Course Website**

http://www.cs.drexel.edu/~knowak/cs270_spring_2015/cs_270_links.htm