Number CS210, Section: 01Q

Semester: Summer 2014

Pre-requisites: CS110 or CS115L

Start-End Dates: 5/27 – 7/24

Instructor: Joseph Paul Cohen ( joecohen -at- cs.umb.edu )

Teaching Assistant: Carla Aravena ( caravena -at- cs.umb.edu )

Office Location: KDLab S-3-159 Map

Office Hours: Tuesday 4-5pm

Course Room: M-2-417 ( NOT ROOM M-3-201 )

Meeting Time: MoTuTh 6:00PM – 7:30PM

Lab/Recitation Location: Web Lab S-3-28

Lab/Recitation Hours: Thursday 5-6pm

##### DESCRIPTION

The design and implementation of computer programs in a high-level language, with emphasis on proper design principles and advanced programming concepts, including dynamic data structures and recursion. Efficient design, implementation and debugging techniques are stressed. The assignments are designed to introduce the student to a variety of topics in computing: data structures and ADTs, Lists, Stacks, Queues, Ordered Lists, Binary Trees, and searching and sorting techniques. The language of instruction is Java.

##### COURSE OUTCOMES

Students successfully completing this course will:

Be able to use data structures in conjunction with the algorithms required for an efficient program;

Be able to use both recursion and iteration in solutions for problems involving repetition;

##### TEXTBOOK

Algorithms (4th Edition) by Robert Sedgewick and Kevin Wayne

ISBN-13: 978-0321573513 ISBN-10: 032157351X

http://algs4.cs.princeton.edu/home/

##### GRADING POLICIES

Exams (3 total lowest grade is dropped): | 40% |

Homeworks/Projects: | 50% |

Class participation/attendance/contribution: | 10% |

##### TURNING IN WORK

Turn in work by ssh-ing into users.cs.umb.edu and entering your cs210 directory. You can scp your work as well. Any issues email operator -at- cs.umb.edu from your cs.umb.edu account. For an account go to the UNIX/Linux lab (S-3-159) and ask for the operator.

##### FILE FORMATS

I will only accept text (.txt,.java,.html, …) files or pdf files.

##### LATE HOMEWORK

I will only allow one late homework. This homework can be turned in one class late.

##### COLLABORATION ON HOMEWORKS

You are encouraged to discuss homeworks with other students.

Please only assist other students in finding the answer. Do not give answers to anyone.

If you discussed a homework with someone document this on your homework.

##### ACADEMIC DISHONESTY

The penalty for cheating is extremely severe. It can result in an F in this course. Cheating consists of, but not limited to:

– Using or copying a person’s work (outside class or class member) on an exam or assignment in any fashion.

– Allowing your own work to be copied or used by another person.

– Submitting as your own work something that has been written by another person.

– Using any unauthorized reference on an exam or assignment.

– Not acknowledging in writing on an assignment any help you have received.

##### SCHEDULE (Subject to change)

Week | Section | Topic | Homework/Exam |
---|---|---|---|

5/26 | 1.1,1.2,1.3 | Review, Recursion, Programming Model, Data Abstraction, Stacks And Queues | HW1 (Due 6/2 @5pm) |

6/2 | 1.4, 2.1 | Analysis of Algorithms (Runtime) | HW2 (Due 6/9 @5:30pm) Project1 (Due 6/16 @5:30pm) |

6/9 | 2.2, 2.3, 2.4 | Elementary Sorts, Mergesort | EXAM 1 (6/12) |

6/16 | 3.1, 3.2 | QuickSort, QuickSelect | HW3 (Due 6/23/14 @6pm) |

6/23 | 3.3, 3.4 | Heaps, Priority Queues, Binary Search Trees | HW4 (Due 6/26/14 @5:30pm), HW5 (Due 7/1/14 @5:30pm) |

6/30 | 3.5 | Balanced Search Trees, Hash Tables | HW6 (Due 7/7/14 @5:30pm) |

7/7 | 4.1, 4.2 | (Un)directed Graphs, DFS, BFS, Connected components, Topological sort | HW7 (Due 7/14/14 @5:30pm), HW8 (Due 7/15/14 @5:30pm) |

7/14 | 4.3, 4.4, 1.5 | Shortest Paths, Minimum Spanning Trees | EXAM 2 (7/14) |

7/21 | 5.3 | UnionFind, Substring Search | HW9 (Due 7/24/14 @6:00pm), FINAL EXAM (7/24) |