CS 610-103 - Data Structure & Algorithm
CS 610-103 - Data Structure & Algorithm
CS 610-103 - Data Structure & Algorithm
Fall 2020
Recommended Citation
Gerbessiotis, Alex, "CS 610-103: Data Structure & Algorithm" (2020). Computer Science Syllabi. 136.
https://digitalcommons.njit.edu/cs-syllabi/136
This Syllabus is brought to you for free and open access by the NJIT Syllabi at Digital Commons @ NJIT. It has
been accepted for inclusion in Computer Science Syllabi by an authorized administrator of Digital Commons @
NJIT. For more information, please contact [email protected].
A. V. GERBESSIOTIS
CS610
Fall 2020 August 18, 2020
Course Syllabus: General Information
Page 1 Handout 1
Learning Outcomes:
1. 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).
2. 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.
3. 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.
4. Learn how they operate and be able to understand fundamental algorithms and data-structures, and un-
derstand their characteristics for problems related to searching, sorting, selection, operations on num-
bers and polynmials and matrices and graphs. Be able to choose among a variety of similar ones based
on problem/program specification and requirements.
5. Learn how and be able to compose more complex algorithms using as building blocks the fundamental
algorithms introduced in class.
6. Learn how and be able to compose more complex algorithms using the algorithmic design techniques
introduced in class.
7. Learn how and be able to compose advanced data structures using as building blocks the elementary
data structures introduced in class.
8. 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.
9. 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.
1.4 CALENDAR
Any modification/deviation from the calendar and its items will be done in consultation with the at-
tending 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.
The NJIT Academic Integrity (Honor) Code will be upheld; violations will be reported to the Dean of
Students (DOS). Read this handout carefully! .