CS 520 Computer Science Foundations - Syllabus

Term and Credits

Fall 2016-2017
3 Credits

Room and Time

Monday 6:00pm-8:50pm UC 149

Monday lecture will be recorded for online section

Instructor

Mark Boady
Electronic Mail Address: mwb33@drexel.edu
Office: University Crossings 138
Extention: 215-895-2347
Office Hours: Mon. 4-5pm, Tues. 2-4pm, Wed. 4-5pm

Teaching Assistant(s)

No One :-(

Course Description

Survey of basic mathematics concepts needed for the study of computer science at the graduate level: induction, iteration, recursion; analysis of program running time; graphs and trees; predicate logic; regular expressions, Context Free Grammars, and Turing Machines.

Course Objective and Goals

  1. Learn to analyze the running time of iterative and recursive algorithms.
  2. Learn to prove properties of algorithms and data structures using induction.
  3. Gain familiarity with basic data structures and algorithms related to them, such as trees and graphs.
  4. Learn the limits and applications of regular expressions, context free grammars, and turing machines.
  5. Learn relationships between languages and automata.
  6. Learn to use predicate logic to prove properties of algorithms.

Audience and Purpose within Plan of Study

This course is for graduate students with little or no prior knowledge of data structures and algorithms. It serves to give such students a firm foundation for future graduate study, and it is a requirement of the Computer Science Minor and Computer Science Post Bachelor Certificate degree programs.

Prerequisites
None

What Students Should Know Prior to this Course

  1. Ability to read and understand code.
  2. Basic understanding of program execution.

What Students will be able to do upon Successfully Completing this Course:

  1. Students will be able to analyze algorithms.
  2. Students will understand a set of fundamental algorithms and how to apply them.
  3. Students will be able to prove properties of algorithms using induction, proof by contradiction, and predicate logic.
  4. Students will be able to apply regular expressions and context free grammars to parse strings.
  5. Students will be able to determine the applications and limits of data structures, algorithms, and languages.

Textbook

Algorithms (4th Edition)
Robert Sedgewick, Kevin Wayne
ISBN-10: 032157351X
ISBN-13: 860-1400041420
See it on Amazon
Also available through the Drexel Bookstore

Supplemental Texts

Book of Proof (Second Edition)
Richard Hammack
Paperback: ISBN 978-0-9894721-0-4
Hardcover: ISBN 978-0-9894721-1-1
Available for Free online at: http://www.people.vcu.edu/~rhammack/BookOfProof/

Introduction to Theory of Computation
Anil Maheshwari and Michiel Smid
Available for Free online at: http://cglab.ca/~michiel/TheoryOfComputation/

Assignments

All homework assignments will be submitted electornically through learning.drexel.edu. The majority of assignments will be written. Some programming will be required late in the term. Written assignments must be submitted as PDFs. You may use any software to create a PDF, but the submitted file must be a PDF to be graded.

Tests

Tests will be completed through learning.drexel.edu. Tests will be posted online for approximately one week. A test will have a fixed time limit. The time limit will start when the student downloads the test. The answers much be submitted during the open period. The test may be started during the midterm week.

Lectures

Lectures will be recorded and posted to Echo360 Accessible through learning.drexel.edu.

Discussion Boards

A discussion board will be created in Piazza for students and linked in learning.drexel.edu. Students from both sectiosn will have access to the same discussion board.

Grading and Policies

Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.

Academic Honesty Policy

The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/ .

Submitting Assignments

Assignments will be submitted to learning.drexel.edu by 11:59PM on the date they are due. Grades will be reported via learning.drexel.edu.

Written Assignments must be submitted as PDFs. They may be typed or scanned, but only PDF files will be accepted.

Assignments and exams will be returned on a regular basis to provide feedback to students.

Assignments may be submitted late at 10% penalty per day UNTIL 6pm on the first Monday following the due date. Selected assignment answers will be reviewed in class. Once the answers have been shown in class, the homework may no longer be submitted.

Special Circumstances: If you have a documented reason why you cannot submit a homework by the cut-off deadline, a special exception may be made. The Professor may also wave the late submission penalty for documented special exceptions.

Computer/Software Help
iCommons: http://drexel.edu/cci/about/our-facilities/rush-building/iCommons/

University Policies
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:

Topics

  1. Graphs
  2. Searching
  3. Sorting
  4. Proof Methods
  5. Computational Models: DFA, CFG, Turing Machines

Tentative Course Schedule

Please see the appropriate assignment webpages for a detailed description of course deliverables.

Week Topic Reading Assignment
1 (9/19/16) Analysis of Algorithms Chapter 1.4
2 (9/26/16) Proofs by Induction and Boolean Algebra Chapter 2 and Chapter 10 from Book of Proof Second Edition by Richard Hammack. PDFs of both chapters are included in lectures area of learning.
3 (10/3/16) String Matching and Regular Expressions Chapter 5.4 HW1 Due Monday 11:59PM
4 (10/10/16) No Lecture - Columbus Day HW2 Due Monday 11:59PM
5 (10/17/16) Context Free Grammars Introduction to Theory of Computation
Chapter 2 2.1-2.5 pg 21-47
Chapter 3 3.1-3.3 pg 91-103
HW3 Due Monday 11:59PM
6 (10/24/16) Midterm Online - No Class
7 (10/31/16) Turing Machines Chapter 4 pg 137-152
Chapter 5 5.1.5 - pg 162-164
8 (11/7/16) Mergesort and Quicksort Chapters 1.3-1.4 HW4 Due Thursday 11:59PM
9 (11/14/16) Trees - Binary Search Trees and Heaps Chapter 3.2 and 2.4
10 (11/21/16) Graphs - Undirected and MST Pages: 518-52, 524-525, 530-537, 604-609, 616-619, 624-629 HW5 Due Monday 11:59PM
11 (11/28/16) Graphs - Directed and Shortest Paths Pages: 538-542, 566-575, 638-640, 646-648, 652-657 No HW for Thanksgiving!
12 (12/5/16) Final Online - No In Class Events this week HW6 Due Monday 11:59PM