1.1 CONTACT INFORMATION
Instructor: | Alex Gerbessiotis | |
E-mail: | alexg+cs610@njit.edu | |
Tel: | (973)-596-3244 | |
Office: | GITC 4213, 4th floor | |
@NJIT ”Office” Hours: | Mon/Wed 11:00-12:00, Wed 16:10-17:30 | |
Assistant: | Check course web-page | |
LMS: | Learning Management System to be used is canvas.njit.edu | |
Course WebPage: | http://www.cs.njit.edu/~alexg/courses/cs610/index.html
| |
1.2 COURSE ADMINISTRATION
3 exams, 5 Homeworks (HW), Programming project (PrP);
Points: 1000points=PrP(120)+Ex1(100)+Ex2(360)+ Ex3(360)+HW(60)
Three homeworks, 3×20 = 60pt, Canvas submission per Appendix 1 information BEFORE 12 o’clock noon, a 12PM for Canvas; date specificed in the Calendar.
A programming project, 120pt. Canvas submission per Document 3 guidelines BEFORE 12-o’clock noon (canvas calls it 12PM); date specified in the Calendar.
See Appendix D.2 and also Document P in canvas Announcements. Dates in Calendar 1.4.
All in paper. Exam 1 (short quiz) in classroom, 50min, Exam 2 (midterm) in classroom,
120min, Exam 3 (final) where and when as specified by the Registrar, 120min. All closed
everything and cumulative. A math calculator is allowed. A student who leaves the exam
room before the preannounced departure time and without explicit permission by the
instructor gets a 0 in the exam. In case NJIT declares an emergency (e.g. Covid), an exam
will become, time permitting, a canvas exam using ProctorU Record+ for proctoring. You
are thus expected before 18:00 of the 3rd Friday of the semester to either acquire ProctorU
credentials or check that your existing credentials still work with NJIT, and also test that your
equipment still works with the ProctorU setup. Hopefully this option will not be exercised,
but we need to be prepared. Read DocumentP about canvas and ProctorU.
NJIT computer policies: https://ist.njit.edu/student-computers.
1.3 BASELINE COURSE SYLLABUS
CS610. Data structures and algorithms.
3 credits.
(CS114 and CS241) or equivalently (CS505 and CS506) or equivalent.
Intensive study of the fundamentals of data structures and algorithms. Presents the definitions, representations, processing algorithms for data structures, general design and analysis techniques for algorithms. Covers a broad variety of data structures, algorithms and their applications including linked lists, various tree organizations, hash tables, strings, storage allocation, algorithms for searching and sorting, and a selected collection of other algorithms.
[Recommended, designated] Algorithm Design and applications. M. T. Goodrich and R.
Tamassia. Wiley, 2014, ISBN 978-1-118-33591-8
Referred to hereafter as GT.
Learning Outcomes:
Learn how and be able to understand and formulate the input-output relationship of computational problems, and formulate the requirements, data and operations of abstract data types (ADT).
Learn how and be able to asymptotically compare functions using o,O,ω,Ω,Θ, and be able to solve recurrences using the master, iteration/recursion tree, and the substitution methods.
Learn how and be able to describe, derive and determine, the asymptotic performance of algorithms for computational problems and operations on elementary and more advanced data structures.
Learn how they operate and be able to understand fundamental algorithms and data-structures, and understand their characteristics for problems related to searching, sorting, selection, operations on numbers and polynmials and matrices and graphs. Be able to choose among a variety of similar ones based on problem/program specification and requirements.
Learn how and be able to compose more complex algorithms using as building blocks the fundamental algorithms introduced in class.
Learn how and be able to compose more complex algorithms using the algorithmic design techniques introduced in class.
Learn how and be able to compose advanced data structures using as building blocks the elementary data structures introduced in class.
Learn how and be able to implement in a high-level imperative language some of the algorithms and data structures introduced in class in the form of a programming project of considerable complexity.
Learn how and be able to understand and possibly identify that some problems are complex and are not susceptible to ’easy’ solutions. Learn how and be able to understand the benefits and complexities of using randomness in computation.
Topics (with references to chapters of the designated textbook):
Ch1-1.1.4,1.2-1.3,2.1-2.3,12.2-12.3:Introduction.Algorithm Analysis. Asymptotic notation. Sorting.Algorithm Design Techniques. Elementary data structures.
Ch1.1.4-1.1.6, 11.1:Asymptotic growth of functions; Recurrence relations.
Ch1.4,2.3-2.4,7.1-7.2:Graphs and their representation. Traversals.UnionFind.
Not in GT:Web-page Ranking: Google’s PageRank, Kleinberg’s HITS algorithm.
Ch6-6.3: Hashing (by chaining and open-addressing).Google Example.
Ch 5-5.5: Heaps and Priority Queues.Greedy Method.Huffman codes.
Ch8.2-8.3,9.1, 10.3: QuickSort. Complexity of sorting. Linear-time sorting.
Ch 9.2, 9.3: Selection; Order statistics
Ch 13, 14, 15: Graph Searching (DFS, BFS). Strong connectivity. Topological sorting. Shortest paths on graphs. Minimum cost spanning trees.
Ch 11.2-11.3, 12.1: Integers, Polynomials, Matrices. Complexity issues: WORD, BIT, SLP models.
Ch3-3.1, 4-4.2: Binary Search Trees (BST) and Balanced BSTs: search trees of bounded height.
Ch20-20.3: Search Trees of Bounded Depth (and height)
Ch23-23.4: String and Pattern matching algorithms (if time permits).
Ch17.1-17.2.1: Theory of NP-completeness: P, NP, co-NP, NPC, NP-hard.
1.4 CALENDAR
Week | Wed | Out | In/Comments
|
W01 | 09/06 | PrP out | |
W02 | 09/13 | HW1 out | |
W03 | 09/20 | ||
W04 | 09/27 | HW1 in before noon 9/27 | |
W05 | 10/04 | Exam 1 (quiz) | |
W06 | 10/11 | HW2 out | |
W07 | 10/18 | ||
W08 | 10/25 | HW2 in before noon 10/25 | |
W09 | 11/01 | Exam 2 (midterm) | |
W10 | 11/08 | HW3 out | |
W11 | 11/15 | ||
W12 | 11/22 | Hw3 in before noon 11/22 | |
W13 | 11/27 | It is Wednesday! | PrP in before noon 11/27 |
W14 | 12/06 | ||
W15 | 12/xx | Exam 3 | Check Registrar |
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
If you need special accommodations, contact the Office of Accessibility Resources and Services, KUPF 201, to discuss your specific needs. A Letter of Accommodation Eligibility from OARS authorizing your accommodations will be required and should be received by us at least two weeks plus two days before the first exam, if it also relates to a ProctorU exam, otherwise seven days before the first non ProctorU exam.
If you miss a class, you make up for lost time. No PrP extensions for any reason, medical or otherwise; 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 and send an email of your intent and absence. Do not submit documentation to the instructor: it is a private matter between you and the Dean of Students. 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. No makeup exam for a ProctorU exam.
Canvas assigns points to non CourseWork. Ignore canvas grade aggregations. Because canvas has synchronization issues, point-assigned material released through canvas will be of limited availability and visibility. Make backups if needed (e.g. take screenshots).
1.5 COURSE POLICIES (continued)
For paper exams if you use pencils to write down your answers do not complain about grading AFTER the EXAM. No Scratch paper. Work submitted will be graded for clarity, conciseness and correctness: be brief and to the point. Material covered in class and appearing in the relevant notes and chapters of the designated textbook can be used without proof. Everything else requires a proof (justification). For PrP-grading see Document 3 (Testing and Grading).
Check marks and report errors promptly. Resolve any issues WITHIN 2 CALENDAR WEEKS and before the first Reading Day starting from the day an exam or homework is released or returned. For PrP or the final, within 3 calendar days from the day grades are posted on canvas or Banner. Talk to the grader first, and then to the instructor. The final grade is decided on a 0 to 1000 point scale (VOP pts are additive). Assuming no violation of the Collaboration policy: 820-850 points or more is an A, less than 500 points is F, and thus 500 points or more is C or better.
A grade of I(incomplete) is given in rare cases where work cannot be completed during the semester due to 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 (in lieu of a written letter) 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 of any kind (in HW, Exams, PrP) is PROHIBITED. Students must turn in work that has fully been composed and written by them and no-one else. Finding an answer on the Internet, Web, on a piece of paper, or otherwise, or it is product of someone else’s work, or it is (partly or fully) common with another student submission, in the same or other section/course risks punishment as outlined by the University. All parties of such interaction receive a 0 and letter grade is lowered by one or two levels. The work you submit must be the result of your own mental effort.
Power down (equivalent to removing battery) and switch off (not just silence) mobile and other devices including wearables (e.g. iwatch) and place them in a zippered bag or zippered backpack or on the floor screen facing down. (See article XI, student contact code.) IF A STUDENT GETS CAUGHT TOUCHING SUCH A DEVICE (on or off) during an exam, the exam receives a 0. DEVICES MUST BE OFF and NOT ON YOU. For ProctorU exams ”ON YOU” means anywhere viewable including at a distance of less than 6ft. A not completely powered down device of yours is assumed to be ”ON YOU” independently of proximity. Note that the use of a device without the express permission of the instructor is considered cheating (Article XI).
Use an NJIT e-address to send email to the course email address (Appendix G).
Provost statement: ”Academic Integrity is the cornerstone of higher education and is central to the ideals of this course and the university. Cheating is strictly prohibited and devalues the degree that you are
working on. As a member of the NJIT community, it is your responsibility to protect your educational investment by knowing and following the academic code of integrity policy that is found at:
http://www5.njit.edu/poli cies/sites/policies/files/academic-integrity-code.pdf. Please note that it is my professional obligation and responsibility to report any academic misconduct
to the Dean of Students Office. Any student found in violation of the code by cheating, plagiarizing or using any online software inappropriately will result in disciplinary action.
This may include a failing grade of F, and/ or suspension or dismissal from the university. If you have any questions about the code of Academic Integrity, please contact the Dean of
Students Office at dos@njit.edu.” Also, the following link is provided http://www5.njit.edu/provost/sites/provost/files/lcms/docs/Best_Practices_related_to_Academic_Integrity.pdf
The NJIT Academic Integrity Code will be upheld with violations reported to the Dean of Students. _____.