Syllabus
Syllabus
ALEC 16118 - Mon. / Wed. 9:30 AM - 10:50 PM Dibner Hall, Room LC400
BLEC 16119 - Mon. / Wed. 11:00 AM - 12:20 PM Jacobs Hall, Room 475
CLEC 16120 - Mon. / Wed. 3:30 PM - 4:50 PM Jacobs Hall, Room 474
DLEC 16246 - Mon. / Wed. 5:00 PM - 6:20 PM Rogers Hall, Room 315
Office hours:
Office Hours
Tal By appointment
1
Wednesdays: 1pm - 1:45pm (in-person and via Zoom)
To participate in my office hours (in-person or via Zoom), please book a 30 minute
appointment via my scheduling system. A 24-hour advance notice is kindly
requested to ensure I'm in my office or in front of my computer for Zoom meetings.
If these times do not work with your schedule, please email me and suggest times
you are available to meet and I will check my schedule and get back to you on an
agreeable time.
Course Description This course covers abstract data types and the implementation and
use of standard data structures along with fundamental algorithms and the basics of
algorithm analysis.
In addition to the lectures, you must be registered for one of the mandatory lab sections
that correspond to your lecture.
Course Structure
Most of the material will be presented in lectures. Reading assignments from the
textbook, programming and other exercises in the lab, and weekly homework
assignments will reinforce this material. You should expect to spend a substantial time
outside the class working on the homework assignments.
2
Readings
The textbook for the course is: Data Structures and Algorithms in Python ,1st Edition,
Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser. ISBN-13:
978-1118290279. ISBN-10: 1118290275.
There is also an electronic version of the textbook, which is less expensive. Copies are
available in the NYU bookstore, as well as other book vendors. Several copies are on
reserve in the Dibner Library.
Course requirements
Tests: There will be a midterm exam and a final exam. These exams will include some
short answer and/or multiple choice questions, as well as programming problems.
Homework assignments: Will reinforce the material covered in the lectures and in the
textbook. Although these count for a relatively small percentage of your grade, it is
essential that you do them and understand the solutions. It is unlikely that you will do
well on the exams if you do not understand how to solve problems like the homework
exercises.
Labs: You are expected to come on time to all labs, complete the required work, and
help others if you finish early. Your lab grade will mostly reflect the effort you made to
solve the problems during the lab time.
Grading
Grades will be computed roughly as follows (we may tweak the formula a little):
Course Topics
● Python review and additional topics (Chapters 1-2)
● Asymptotic analysis (Chapter 3)
● Recursion (Chapter 4)
● Dynamic Arrays and Amortization (Chapter 5)
● Stacks and Queues (Chapter 6)
● Linked lists (Chapter 7)
● Binary Trees (Chapter 8)
● Search trees (Chapter 11)
● Hash tables (Chapter 10)
● Priority queues (Chapter 9)
● Sorting and selection (Chapter 12)
3
● Graph algorithms (Chapter 14)
Important Dates
● Mon. 1/23: Spring 2023 Classes Begin
● Sun. 2/5: Add/Drop Deadline
● Mon 2/20: President's Day, No Class
● Tue 3/7: Midterm 1
● Mon 3/13 - Fri 3/17: Spring Break, No Class
● Tue 4/18: Midterm 2
● Mon 5/8: Last Day of Spring 2023 Classes
● Tue 5/9: Reading Day
● Wed 5/10 - Tue 5/16: Final Exams
The final exam could be any time during the specified period. Do not buy plane tickets
or make any other travel arrangements that involve leaving before 5/16!!!
4
talking with fellow students or looking at another person’s work during
an exam; submitting work prepared in advance for an in-class
examination; having someone take an exam for you or taking an exam
for someone else; violating other rules governing the administration of
examinations.
2. Fabrication: including but not limited to, falsifying experimental data
and/or citations.
3. Plagiarism: intentionally or knowingly representing the words or ideas
of another as one’s own in any academic exercise; failure to attribute
direct quotations, paraphrases, or borrowed facts or information.
4. Unauthorized collaboration: working together on work meant to be
done individually.
5. Duplicating work: presenting for grading the same work for more than
one project or in more than one class, unless express and prior
permission has been received from the course instructor(s) or research
adviser involved.
6. Forgery: altering any academic document, including, but not limited to,
academic records, admissions materials, or medical excuses.
NYU School of Engineering Policies and Procedures on Excused Absences –
complete policy here.
A. Introduction: An absence can be excused if you have missed no more than 10
days of school. If an illness or special circumstances cause you to miss
more than two weeks of school, please refer to the section labeled Medical
Leave of Absence.
B. Students may request special accommodations for an absence to be excused
in the following cases:
1. Medical reasons
2. Death in immediate family
3. Personal qualified emergencies (documentation must be provided)
4. Religious expression or practice
The office of the Coordinator of Student Advocacy, Compliance and Student Affairs
handles excused absences. Should it become necessary to obtain an excused
absence, please email eng.studentadvocate@nyu.edu.