Code: CS
610 J31
Semester: Summer 2021
Course Time and Location: Wednesday
05:30-10:00 pm
Mode: Convergent
Learning
Location: 101 Hudson Street, Suite 3610, Jersey
City
The course is also broadcasted online. Details can be found on Canvas.
Online Meeting Location: Webex
Classroom
Instructor:
Ioannis Koutis
Email: ikoutis+cs610@njit.edu
Office
Hours: Before class begins (4:30-5:30)
Appointment Slots: Google
Calendar: for other
times, please email me
Course
Assistant: Jingyi Gu
Email: jg95@njit.edu
Student-Friendly Course Description
From data organization and retrieval to social networks
and mapping solutions, algorithms have revolutionized software, which in turn
has changed the economy and our lives. This course introduces you to a core set
of ideas and techniques that underlie a multitude of existing algorithms and
are commonly used as building blocks in the design of new algorithms. You will
also gain exposure to issues of computational efficiency that are of paramount
importance in the development of software products and time-critical
applications. The course is centered around a hands-on project that helps you
acquire practical experience with algorithms for network analysis. Emphasis is
also given to boosting your computational problem-solving skills via
algorithmic problems that appear in programming interviews by top companies in
the tech and finance sectors. |
Catalog
Course Description
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. Programs are assigned to give students experience in
algorithms, data structure design, and implementation.
Textbook
Buying a textbook is not required. We will occasionally use
material from the following textbook and alternative readings.
Additional
material such as lecture slides and notes will be posted on Canvas.
Coursework and Evaluation
Homework Assignments [20%]. There will be 6-7 homework assignments.
Mini-Project-A [20%].
Mini-Project-B [20%].
Participation: [5%]
Midterm [20%].
Final [20%]. Cumulative.
The exam will be done
using LockDown Browser +
Webcam Monitor.
Letter Grades. The conversion of raw grades will
be based on grouping the raw grades into clusters and then assigning a letter
grade to each cluster. The letter grade assignment will be in accordance
with the graduate grade
legend.
Lateness Policy: We will adhere
strictly to the deadlines for assignments and mini-projects.
Important
Dates
June 23: Midterm (open books and notes)
Final: Last week of the semester
FYI: The NJIT academic calendar for Summer 2020.
History
of minor syllabus revisions:
05/22/21: current
Course Policies
Email
The use of your NJIT email is strongly encouraged to avoid delivery
problems.
Canvas Announcements
All course announcements will be posted on Canvas. So, check it regularly!
Canvas Discussion Forums
We will use Canvas to have informal and friendly conversations about topics
related to the course, including assignments, problems, ideas, etc. You are
encouraged to participate. Please be absolutely assured that any question or
idea is welcome; even if you are afraid it may be silly, it can lead to
interesting and beneficial discussions.
Assignment Delivery
Be careful to read and follow any formatting and delivery instructions that
come with each assignment.
Grading
Written work will be graded for conciseness and correctness. Use formal
arguments. Be brief and to the point and write clearly. The material covered in
class and appearing in the relevant notes and chapters of the designated
textbook can be used without proof.
Grade Corrections
Check the grades in coursework and report errors promptly. Please try and
resolve any issue within one week of the grade notification.
Absenteeism
If you miss a class, it’s up to you to make up for lost time. Missing two
exams leads to an automatic F in the course. If you miss one 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. If DOS approves, your missing exam grade will be
set equal to the average of the non-missing exam grades.
Incomplete
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 unexpected
absence for other serious reasons. A student needs to be in good standing (i.e.
passing the course before the absence) and receives a provisional I if there is
no time to make up for the documented lost time; a letter (or email) with a
timeline of what is needed to be done will be sent to the student. Note that
for most cases an I would be resolved within a few days, not months and not the
following semester! Not showing up in the final will probably get you an F
rather than an I.
Collaboration and External Resources for Assignments
Some homework assignment problems will be challenging. You are advised to
first try and solve all the problems on your own. For problems that persist you are welcome to talk to the course
assistant or the instructor. You are also allowed to collaborate with your
classmates and search for solutions online. But you should use such solutions
only if you understand them completely (admitting that you don’t understand
something is way better than copying things you don’t understand). Also make
sure to give the appropriate credit and citation.
Collaboration
in the mini-Project and Exams
Such collaboration is strictly prohibited. Any submitted code (even few
lines) obtained through the Internet or otherwise, or is a 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.
Academic Integrity
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/policies/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