Term and Credits
Spring 2018-2019
3 Credits
Room and Time
Monday 6:00pm-8:50pm 3675 Market Street Room 1052
Videos lectures will be provided for online section.
Instructor
Mark Boady
Electronic Mail Address:
mwb33@drexel.edu
Office: 3675 Market Street Room 1058
Extention: 215-895-2347
Office Hours:
Tuesday 2-5PM, Wed 3-4PM
Teaching Assistant(s)
Adit Gupta
Electronic Mail Address:
ag3338@drexel.edu
Office: Drexel CLC (Room 1066 First Floor 3675 Market Street)
Office Hours:See CLC Website
https://www.cs.drexel.edu/clc
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
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
What Students will be able to do upon Successfully Completing this Course:
Textbook
We will use only free/library resources for this class.
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/
Supplemental Texts
If you want a textbook about the Algorithms we will be studying, I recommend this one. It is not required. I just think its a great resource.
Algorithms (4th Edition)
Robert Sedgewick, Kevin Wayne
ISBN-10: 032157351X
ISBN-13: 860-1400041420
See it on Amazon
Lectures
Labs
Homeworks
Presentatations
Reflections
Midterm/Final Exam
Slack Channel
Late Submissions
Special Circumstances
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/.
Academic Honesty Violations will be reported to the University. Punishment will be determined by the severity of the incident. Punishments include, but are not limited to,
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.
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
Please see the appropriate assignment webpages for a detailed description of course deliverables.
Week | Topic | Reading | In Class | Homework |
1 (4/1/19) | Binary Numbers, Boolean Logic |
Chapter 2 for Book of Proof Binary Numbers Two's Complement Logic Circuits Binary Addition Number Representations |
Lab 1 and Lab 2 | |
2 (4/8/19) | DFA and Languages |
Chapter 2.1-2.4 of Theory of Computation |
Lab 3 and Lab 4 | |
3 (4/15/19) | NFA and Regular Expressions |
Chapter 2.5-2.9 of Theory of Computation DFA/NFA Simulator |
Lab 5 | Homework 1 - Due April 15, 2019 at 11:59PM |
4 (4/22/19) | Context Free Grammars |
Chapter 3.1-3.3 of Theory of Computation |
Lab 6 | Homework 2 - Due April 22, 2019 at 11:59PM |
5 (4/29/19) | Turing Machines |
Church-Turing Thesis Chapter 4 from Theory of Computation Turing Machine Simulator |
Lab 7 |
Homework 3 - Due April 29, 2019 at 11:59PM Presentation 1 Due April 29, 2019 at 11:59PM |
6 (5/6/19) | Introduction to Algorithms and Induction |
Algorithmic Thinking: The Key for Understanding Computer Science
How to write a Pseudo Code? Linear Search Binary Search Big Oh Notation Complexity Asymptotic Notations |
Lab 8 |
Homework 4 - Due May 6, 2019 at 11:59PM Reflection 1 - Due May 6, 2019 at 11:59PM Midterm - Online |
7 (5/13/19) | Sorting Algorithms |
Merge Sort Quick Sort Insertion Sort Tower of Hanoi |
Lab 9 | Midterm - Due May 15, 2019 at 11:59PM |
8 (5/20/19) | Intro to Trees |
Binary Search Trees |
Lab 10 |
Homework 5 - Due May 20, 2019 at 11:59PM Presentation 2 - Due May 20, 2019 at 11:59PM |
9 (5/27/17) - No Monday Class | Intro to Graphs and Shortest Paths |
Graph Representations Depth First Search A* and Dijkstra Dijkstra |
Lab 11 |
Homework 6 - Due May 27, 2019 at 11:59PM Reflection 2 - Due May 27, 2019 at 11:59PM |
10 (6/3/19) | Induction |
Chapter 10 (Induction) from Book of Proof Minimum Spanning Trees will not be included but you might still find the below links interesting. Prim's Algorithm Kruskal's Algorithm |
Lab 12 |
Homework 7 - Due June 3, 2019 at 11:59PM Presentation 3 Due June 3, 2019 at 11:59PM |
11 (6/10/19) | Final Online Due June 14th 11:59PM - No In Class Events this week |
Homework 8 - Due June 10, 2019 at 11:59pm Reflection 3 - Due June 10, 2019 at 11:59PM |