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
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.
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;
Algorithms (4th Edition) by Robert Sedgewick and Kevin Wayne
ISBN-13: 978-0321573513 ISBN-10: 032157351X
|Exams (3 total lowest grade is dropped):||40%|
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.
I will only accept text (.txt,.java,.html, …) files or pdf files.
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.
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)
|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)