Syllabus
Overview
| Course Number | EN.601.226 |
|---|---|
| Course Title | Data Structures |
| Term | Fall 2026 |
| Instructor | Dr. Ali Madooei (email: madooei@jhu.edu) |
| Department | Computer Science |
| Level | Lower-Level Undergraduate |
| Credit | 4 |
| Location | Homewood Campus, Shaffer 306 |
| Instruction Method | In-Person |
Course Description
This course covers the design and implementation of fundamental data structures, including arrays, stacks, queues, linked lists, binary trees, heaps, balanced trees, hash tables, and graphs. Other topics include basic algorithms (sorting, balancing search trees, graph search algorithms), asymptotic analysis, and programming in Java (object-oriented programming, generics, unit testing).
-
Prerequisites [official]: A grade of C+ or better in
EN.500.112OREN.601.220OR AP Computer Science OREN.500.132. Students cannot register until grades for prerequisites are posted. -
Prerequisites [in plain English]: Object-oriented programming in Java (or C++)
Distribution & Foundational Abilities
- Distribution Area: Engineering (E), Quantitative Studies (Q)
- AS Foundational Abilities: Science and Data (FA2)
Course Learning Outcomes
Upon successfully completing this course, you should be able to:
- Explain, trace, analyze, and implement the operation of common data structures and algorithms.
- Use analysis techniques to choose the data structure/implementation appropriate for a given problem.
- Write advanced object-oriented solutions in Java to significant problems by implementing appropriate data structures and algorithms.
- Evaluate and compare the time complexity of functions using mathematical techniques.
- Design an algorithm that produces the correct results according to specified inputs and time or space complexity constraints.
This course will address the following Computer Science BS Program Student Outcomes:
- Analyze a complex computing problem and apply computing principles and other relevant disciplines to identify solutions. [SO1]
- Design, implement and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. [SO2]
- Apply computer science theory and software development fundamentals to produce computing-based solutions. [SO6]
Lectures
This course is delivered in person on the Homewood Campus. I am teaching two sections; you must attend the section you are registered for. Both sections meet in Shaffer 306, MWF, 08/31/2026 – 12/11/2026:
- Section 1: 12:00 PM – 01:15 PM Eastern
- Section 2: 01:30 PM – 02:45 PM Eastern
Sessions are not recorded (see Approach to Instruction for more details).
Readings
All readings are posted online on the course website. We call these the “coursebook” for Data Structures. You are expected to read and work through the relevant chapter(s) according to the schedule.
Logistics
Please refer to the logistics page for details.
Assessment and Grading
This course is assessed through periodic tests, a final exam, and class participation.
Each of the three tests is worth 20% of your course grade, and the final exam is worth 38%. The final exam is comprehensive. See the Exams page for the exam format and schedule.
The remaining 2% of your course grade comes from class participation: attending lecture and working through in-class worksheet activities. There are 40 scheduled lectures this semester. You earn the full 2% by attending 35 of them (about 12 weeks’ worth). The remaining 5 absences are built into the policy so you do not need to explain or document why you missed a lecture — illness, travel, interviews, anything — so please do not email asking for an excused absence.
Your course grade is the sum of your three test scores (20% each), your final exam score (38%), and your participation score (2%). Letter grades for the course are subject to the instructor’s evaluation of your overall class performance, generally based on the standard scale: 90s → A, 80s → B, 70s → C, 60s → D, below 60 → F; S/U follows the same ranges, with C and above counting as Satisfactory. The cutoff for assigning -/+ to each grade letter is further subject to the instructor’s evaluation of your overall class performance.
Homework
The coursebook chapters include worked examples, review, and practice problems for each topic. You are expected to work through these as you go. They are not collected or graded, but they are the best way to prepare for the exams.
Two additional homework assignments are also assigned during the semester, graded with feedback but not counted toward your course grade. See the Homework page for what these are and why homework grades do not count.
You may discuss coursebook problems and homework with classmates (see the Academic Integrity policy below).
Academic Integrity
The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful, abiding by the Computer Science Academic Integrity Policy and Homewood Undergraduate Ethics Policy; please carefully study these resources. In particular, consider the following examples of violations of Academic Integrity:
- Cheating
- Unauthorized collaboration with another individual on assignments, tests or examinations.
- Studying from an old test or examination whose circulation is prohibited by the faculty member.
- Copying content on an assignment, test or examination from another individual.
- Use or consultation of unauthorized materials (e.g., notes, books, etc.) on assignments, tests, or examinations.
- Unauthorized discussion of a test or exam during its administration.
- Plagiarism
- Submission of the same or substantially similar work of another person (e.g., an author, a classmate, etc.)
- Facilitating Academic Dishonesty
- Allowing another student to copy from one’s own assignment, test, or examination
- making available copies of course materials whose circulation is prohibited (e.g., old assignments, texts or examinations, etc.)
Please report any violations you witness to your instructor.
Getting Help
Please refer to the logistics page for details on how to get help in this course.
WSE Teaching Policies
The following statements were provided by the Whiting School of Engineering and are incorporated into all WSE course syllabi.
Mental Health Statement
Many students struggle at times with stress and mental health concerns. Johns Hopkins University Mental Health Services has a range of services to support students with their mental health. Beyond clinical services, JHU also has many resources available to support overall student well-being.
For 24/7 behavioral health support, The Johns Hopkins University Behavioral Health Crisis Support Team (BHCST) pairs experienced, compassionate crisis clinicians with specially trained public safety officers on every shift on and around the Homewood campus, seven days a week. The BHCST will provide immediate assistance to those who need it and link individuals in crisis to ongoing support services in the days and weeks that follow. BHCST can be reached directly at 410-516-9355 or by calling Public Safety, 410-516-4600 or 7777, and asking to be connected to a BHCST clinician.
If you have concerns about yourself or another student, please contact:
- For emergencies (threat to self or others): Public Safety 410-516-7777 or 911
- For 24/7 mental health support (mobile, access line and virtual): BHCST at 410-516-9355
- For undergraduate students who may benefit from Case Management services (1:1 support, coordination and connection to relevant campus resources): Student Outreach & Support at 410-516-7857 or
studentoutreach@jhu.edu - For KSAS Graduate Students: Jasmine Harris (
harris@jhu.edu), Director of Student Services – Graduate and Postdoctoral Affairs - For WSE Graduate Students: Megan Barrett (
mmcgui15@jh.edu), Assistant Dean for Engineering Student Affairs
Students with Disabilities – Accommodations and Accessibility
Johns Hopkins University is committed to providing welcoming, equitable, and accessible educational experiences for all students. If disability accommodations are needed for this course, students should request accommodations through Student Disability Services (SDS) as early as possible to provide time for effective communication and arrangements.
For further information about this process, please refer to the SDS Website.
Inclusivity
The following statement was provided by the Homewood Council on Inclusive Excellence and is incorporated into all WSE course syllabi.
Johns Hopkins University is committed to creating a classroom environment that values the diversity of experiences and perspectives that each student brings. Everyone deserves to be treated with dignity and respect. Fostering an inclusive climate is important because research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. We invite you to help create a welcoming, vibrant and intellectually engaging classroom climate. Note that you should expect to be challenged intellectually by the instructor, the TAs, and your peers, and at times this may feel uncomfortable. Indeed, growth often requires being pushed beyond your comfort zone. However, at no time in this learning process should someone be singled out or treated unequally based on any aspect of their identity (visible or invisible).
If you ever have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to your instructor or the TAs, who will take your communication seriously and seek mutually acceptable resolutions and accommodations. Reporting will never impact your course grade. You may also share concerns with the department chair, the Director of Undergraduate Studies (Joanne Selinski, joanne@cs.jhu.edu), the WSE Associate Dean of Outreach and Belonging (Darlene Saporu, dsaporu1@jhu.edu), the KSAS Assistant Dean for Diversity and Inclusion (Araceli Frias, afrias3@jhu.edu) or the Office of Institutional Equity (oie@jhu.edu).
In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g., sexual harassment).