1.1 CONTACT INFORMATION

Instructor: Alex Gerbessiotis E-mail: alexg+cs435@njit.edu
Office: GITC 4213, 4th floor Tel: (973)-596-3244
Office Hours:Tue 4:00-5:30pm and Wed 10:00-11:30am Else, by appointment Tue/Wed
Assistant: TBA on WEB (Room: See recitation)
Recitation: W 1-2pm @KUPF 203; Room might change
Class Hours: W 6:00-9:05pm, CKB 106
Web-Page:
http://www.cs.njit.edu/~alexg/courses/cs435/index.html
Web-Page:
http://web.njit.edu/~alexg/courses/cs435/index.html

Print Handout 1 (PDF) from Web-Page and compare it to this document! They must be identical (in content, if not in layout).

1.2 COURSE ADMINISTRATION

CourseWork: 

3 exams (including the final); MiniProject (aka MP) ; 5 Homeworks (HW).

 

Points: 1000 points = MP(160) + Ex1(99) + Ex2(333) + Ex3(333) + HW(75)

MP:  

A programming mini-project (MP) with 3 or more options each one worth 120 points. A student may submit one or two options in ONE archive per Handout 2 AND SUBMITTED VIA MOODLE BEFORE NOON-TIME of the date specified in the Calendar.

HW, PS:  

Approximately eight problem sets PS1-8 will be periodically posted along with their solutions. Five practice Homeworks (HW1-HW5) with one or two problems will be given out (SUBMISSION via moodle). PSes are not for credit; HWs are. Exams 1 and 2 may draw from these.

Exams:  

Dates in Course Calendar; all exams in classroom unless otherwise noted. Exam1 is closed-everything; if ’snow day’ it becomes Exam 2.5. Exam2 and Exam3 are open-textbook only; you may bring a hard-copy of the textbook but you are not allowed to borrow one during the exam. Exam1, 45min, Exam2, 120min, Exam3, 120min.

1.3 BASELINE COURSE SYLLABUS

Course:  

CS 435. Advanced Data Structures and Algorithm Design.

Credits:  

3 credits, 4 contact hours (3;1;0).

Prerequisites: 

CS 241 and CS 288.

Description:  

Advanced topics in data structures and algorithms, involving sequences, sets, and graphs such as searching, sorting, order statistics, balanced search tree operations, hash tables, graph traversals, graph connectivity and path problems. Algebraic and numeric algorithms. Performance measures, analysis techniques, and complexity of such algorithms.

Textbook(s):  

(a) [Recommended, designated] T.C.Cormen, C.E.Leiserson, R.L.Rivest, and C. Stein. “Introduction to Algorithms”, 3rd edition, MIT Press, ISBN-10 : 0262033844 (ISBN-13: 978-0262033848),
(b) [Alternative, optional] Algorithm Design: Foundations, analysis, and internet examples. M. T. Goodrich and R. Tamassia. Wiley, 2001, ISBN 0-471-38365-1.

Learning Outcomes:

SLO1. 

Be able to understand the input and output specifications of a problem, the relationship between input and output and identify, define, and describe the algorithmic requirements that formulate a solution for that problem. [ABET-1]

SLO2. 

Be able to asymptotically compare functions using o,O,ω,Ω,Θ, and be able to solve recurrences using the master, the iteration/recursion tree, and the substitution method.

SLO3. 

Be able to understand fundamental algorithms and data structures for problems such as sorting, searching, selection, operations on numbers, polynomials and matrices, and graphs, and be able to trace their operations.

SLO4. 

Be able to identify the performance characteristics of algorithms and data structures introduced in class, and be able to select among multiple solutions to meet desired needs. [ABET-1]

SLO5. 

Be able to derive and describe the asymptotic performance of algorithms and data structures. [ABET-1]

SLO6. 

Be able to design and implement some of the data structures and algorithms introduced in class or augmentations of them following a given set of provided requirements and specifications. [ABET-2], [ABET-6]

SLO7. 

Be able to communicate effectively and describe in writing algorithm operations and reason about their behavior and performance succinctly. [ABET-3]

SLO8. 

Be able to compose more complex algorithms and data structures using as building blocks the fundamental algorithms, data structures, or algorithmic design techniques introduced in class and be able to produce computing-based solutions by using them. [ABET-6]

Topics:

1.  

Introduction, Elementary Algorithm Design Techniques (Incremental, Divide-and-Conquer).

2.  

Brief Review on elementary data structures (Stacks,Queues,Trees,Lists).

3.  

Overview of Graph definitions; Graph representations; Maintaining disjoint sets of elements

4.  

Asymptotic growth of functions. Recurrence relations.

5.  

Elementary sorting algorithms (Best-case, Average-case, Worst-case performance); Searching

6.  

Priority Queues, BinaryHeaps, HeapSort, Huffman Coding and Greedy Algorithms.

7.  

Complexity of Sorting and Distribution-based sorting (CountSort, RadixSort, BucketSort).

8.  

Selection and Selection in Linear time.

9.  

Hash Tables

10.  

Graphs and their algorithms (DFS, BFS, Topological Sorting, Strong Connectivity).

11.  

Graphs and Path Problems. Minimum Cost Spanning Trees. Google’s PageRank.

12.  

(Balanced) Binary Search Trees (Red-black Trees).

13.  

Arithmetic Problems, Word and Bit model of computation, Binary exponentiation.

14.  

Polynomials and Matrices. Chained matrix multiplication and Dynamic Programming.

15.  

NP-completeness. (String matching, time permitting.)

1.4 CALENDAR

Spring 2019








Week
Wed
Item Out
Item In




W1 01/23PS1, HW1, MP outNo recitation; just class
W2 01/30PS2, HW2 HW1 in before noon
W3 02/06PS3 HW2 in before noon
W4 02/13Exam1
W5 02/20PS4, HW3
W6 02/27PS5 HW3 in before noon
W7 03/06Exam2
W8 03/13
W- 03/20 Spring Break
W9 03/27PS6 HW4
W10 04/03PS7 HW4 in before noon
W11 04/10Exam2.5 HW5 Apr 8 is Witdrawal deadline
W12 04/17PS8 HW5 in before noon
W13 04/24 MP is due BEFORE NOON
W14 05/01
W– 05/08 NO class; Reading Day 1




W15 05/15Exam3 Final Exam is Exam3




Any modification/deviation from the calendar and its items will be done in consultation with the attending a class students and be posted on the course web-page. It is imperative that students check the course web-page regularly and frequently. Exceptions are as announced by the Provost’s Office.

1.5 COURSE POLICIES

DSS:  

If you need accommodations due to a disability please contact Disability Support Services, Kupfrian Hall 201, to discuss your specific needs. A Letter of Accommodation Eligibility from the Disability Support Services office authorizing your accommodations will be required.

MISSING:  

If you miss a class, you make up for lost time. No MP extensions for any reason, medical or otherwise; you have 3 months to submit it: submit EARLY. If you miss an exam you MUST CONTACT the Dean of Students (DOS) within 2 working days from the day the reason for the absence is lifted with all necessary documentation. The maximum accommodation period will be the number of missing days to the exam date: it is imperative then that you contact DOS even before the 2 working day period has expired if the accommodation period would be shorter. For Exam1, a DOS approval will get you a scaled Exam2 grade for Exam1. Likewise for Exam2. A makeup for Exam 2 will be given in the rarest of cases that the procedure above is completed early on and the makeup is to be completed before end-of-day Friday, i.e. within two days.

Devices:  

Power down and switch off (not just silence) mobile and other devices before class and place them in a bag or backpack or on the floor screen facing down. IF A STUDENT GETS CAUGHT HAVING A DEVICE (on or off) ON HIM/HER DURING an exam, the exam receives a 0. DEVICES MUST BE OFF and NOT ON YOU.

1.5 COURSE POLICIES (continued)

Grading:  

Written work will be graded for conciseness and correctness. Use formal arguments. Be brief and to the point and write clearly. Material covered in class and appearing in the relevant notes and chapters of the designated textbook can be used without proof. DO NOT USE PENCILS to write down your solutions; if you do use a pencil do not complain about grading after an exam.

MP-Grading:  

See Handout 2 for details (section Testing and Grading). On the sum of the grades of the options submitted lateness points are applied. 30 lateness points deducted at noon-time of due date and every noon-time thereafter. A 0-60 grade for the resulting grade is accounted as 0; an over-60 grade is cut-off at 160 points. Over-160 points are excess points.

Grades:  

Check the marks in written work and report errors promptly. Resolve any issues WITHIN 2 CALENDAR WEEKS and definitely before the first Reading Day from the day an exam is returned in class or homework graded in moodle; for MP or Exam3, within 5 calendar days from the day grades were emailed or posted on Banner respectively. Talk to the grader first and then to the instructor (if different). The final grade is decided based on a 0 to 1000 point scale. A 25% or less in the final exam will get you an F. If you get more than 25% in the final and collect at least 500 points you should expect a C or better. 850 points or more are usually needed for an A but this threshold can be lower. If you score less than 500 points the only way to avoid a D or F is to do well in the cumulative final (say more than half of the points) or to have more than 500 points including excess programming points and a final more than 25% . (All these assuming no violation of the Collaboration policy.)

Incomplete:  

A grade of I(incomplete) is given in rare cases where work cannot be completed during the semester due to a documented long-term illness or absence (e.g. unexpected national guard duty). A student needs to be in good standing (i.e. passing the course before the absence). An email with a timeline of what is needed to be done will be sent to the student and the Department Chairperson. Not showing up in the final will probably get you an F rather than an I.

Collaboration: 

Collaboration of any kind is PROHIBITED in the exams, HWs, and the MP. Students must turn in code or work that has fully been written by him/her and no-one else. Any submitted code (even few lines) obtained through the Internet or otherwise, or is product of someone else’s work or is common with another student submission, in the same or other section/course, risks severe punishment, as outlined by the University; all parties of such interaction receive automatically 0 and grade is lowered by one or two levels. Likewise for HWs and Exams, if applicable. The work you submit must be the result of your own mental effort and you must safeguard it from other parties; if you can’t protect your home computer, use a Lab (AFS) machine.

Email/SPAM:  

Use an NJIT email address or your email might not reach us. Send email to the designated course email address per Handout 0 instructions!

The NJIT Academic Integrity (Honor) Code will be upheld; violations will be reported to the Dean of Students (DOS). Read this handout carefully! ___