CS 304, Section 2, Data Structures, Summer 2020

College of Arts & Sciences Syllabus


Credit Hours: 3.0

Meetings: The class will be asynchronous; Lecture videos will be posted weekly on
Monday by 9:00 am.
A virtual class meeting on Wednesdays, 6:00 p.m. – 7:30 p.m. via Zoom. The meeting is used for discussions and Q&A.

Course Description: This course provides experience implementing and manipulating basic data structures, as well as analyzing their applications in Computer Science. Topics covered will include: Stacks, Queues, Linked Lists, Binary Tree Structures, Heaps, Graphs, and Sorting Algorithms. 

Course Prerequisites: CS201 minimum grade of ‘C’ AND CS207 minimum grade of ‘C’.


Instructor: Akkady Tchaba.

Office: Virtual Office Via Zoom

Phone: (773) 442-4719

E-mail: atchaba@neiu.edu

Office Hours:

Day Time Location
Wednesday 7:30 p.m. – 8:30 p.m. Zoom
Thursday 5:00 p.m. – 6:00 p.m. Zoom
Or by appointment


Textbook: Object-Oriented Data Structures Using Java, 4th Edition, ISBN-13: 9781284089097
No access code required.

- Class Materials, Lectures, Homework: https://www.atchaba.com
- Grades and Homework Submission: D2L
- Discussions Forum: Piazza


- Object Oriented Programming review

- Abstract data types

- Linked lists

- Stacks 

- Queues

- Graphs

- Heaps

- Priority queues

- Binary search trees

- Searching algorithms: linear search, binary search, and hash table

- Sorting algorithms: selection sort, bubble sort, insertion sort, merge sort, quick sort, and heap sort


- Be able to implement the following data structures using arrays: Stacks, Queues, Lists, Heaps, and Graphs.

- Be able to implement the following data structures using a linked representation: Stacks, Queues, Lists, Trees, and Graphs.

- Be able to use Stacks, Queues, Lists, Heaps, Trees, and Graphs for various applications, such as Depth-First Searches and Breadth-First Searches.

- Understand how to use recursion to implement Binary Search Trees.

- Know the different types of tree traversals.

- Know how to analyze running time of algorithms using Big-O notation.

- Know how to implement Merge sort, Quick sort, and Heap sort.


Grading: There will be several homework assignments, one project, two quizzes and two exams.
Item Weight
Homework Average (HW) 20%
Project (P) 10%
Quiz (Q) 10%
Exam #1 (E1) 30%
Final Exam (FE) 30%

Your Weighted Average (WA) is the weighted average of all items above, and is defined by:

WA = (0.2)(HW) + (0.1)(P) + (0.1)(Q) + (0.3)(E1) + (0.3)(FE)

Weighted Average Course Grade
90.00% or higher A
80.00% – 89.99999% B
70.00% – 79.99999% C
60.00% – 69.99999% D
0% – 59.99999% F

I don’t round up grades, nor I negotiate decimal points. For example: 89.99999% is a solid ‘B’ not a debatable ‘A’.

Programming Assignments:

- There will be several homework’s assigned, while working on homework assignments in groups is encouraged, plagiarism is NOT tolerated. All your work should be unique and done by yourself, you are not allowed to share code with anyone but me, If two or more people turn in identical or essentially identical programs, they will receive a ‘0’ for that assignment.

NEIU Student Code of Conduct

- Homework assignments will be turned in electronically through D2L and to the appropriate Dropbox folder. Include all files (all .java files, input files, and output files, but NO .class files) in a folder with your name, and create a zip file.

- There will be no makeup homework assignments, but the lowest homework grade will be dropped — so if you didn’t submit one, that is the one dropped.

- Assignments will be due on Wednesdays by 11:59 p.m.

- Late homework assignments should be submitted within 24 hours of the original due date, and will be worth no more than half credit, NO EXCEPTIONS.

Quizzes and Exams:

- There is one exam, two quizzes and one final exam during the semester.

- You may not give assistance to anyone or receive assistance from anyone during exams.

NEIU Student Code of Conduct

- Each exam and quiz will be posted at 7:00 am on the date it’s scheduled and will be due at 7:00 am the next day. The length of each quiz is 45 minutes and the length of each exam is 90 minutes.

- Exam and quiz dates are in the course outline.

Grade Scale:

Percent Range Letter Grade Description
90-100% A Up to two errors in performance
80-89% B More than two errors in performance
70-79% C One or two relatively minor errors in competence
60-69% D One or two serious errors in competence
0-59% F Three or more errors in competence

Generally speaking, performance errors are those where it’s apparent the student knew what to do and how to do it but made a mistake in the process of putting it on paper, such as: minor typographical errors, minor one-off syntax errors, etc. All other errors are those of competence, that is, they indicate either a lack of understanding the course material or an inability to apply that understanding to the given problem. The relative seriousness of errors will be determined by the instructor.


- If you cannot attend a quiz, an exam or the final exam because of religious reasons or because of a previously scheduled conflict of a serious nature, you must send me an e-mail by June 5th telling me the date and the reason you cannot attend in order to be eligible for a makeup.

- If you miss a quiz, or an exam due to a serious medical emergency, you must submit adequate medical documentation from your doctor in order to be eligible for a makeup.


- If you are not satisfied with any of your grades, you may request a regrade.

- All regrade requests must be submitted within 48 hours after the grade was posted on D2L.

- When you request a regrade, you agree that you may receive the same grade, a higher grade, or a lower grade if more errors are found.

- To request a regrade, send me an email telling me the reason why you think your grade is incorrect.

- ONLY emails from your NEIU account will be considered, if you email me from your personal or work email, or any account other than your NEIU email, your request will be rejected.

- If you fail to follow the instructions, your request will be rejected.


- If my office hours don’t work with your schedule, please send me an e-mail to set up an appointment.

- You are responsible to check online for assignments, solutions, and announcements.

- No extra credit will be given.

- No "I" grade (Incomplete) will be given.

- Last day to drop the class and receive a “W” is Tuesday, July 14th, 2020

Course Outline:

See Course Outline page for tentative course outline.


Absence Policy:

Attendance is required, if you miss a class, you are responsible to check online for assignments, solutions and announcements.

Academic Integrity Statement:

By enrolling in this course, you are bound by the NEIU Student Code of Conduct: http://www.neiu.edu/university-life/student-rights-and-responsibilities/student-code-conduct. You will be informed by your instructor of any additional policy specific to your course regarding plagiarism, class disruptions, etc.

Campus Safety Statement:

It is recognized that a safe university environment is a shared responsibility of faculty, staff, and students, all of whom are expected to familiarize themselves with and cooperate with emergency procedures. Emergency procedures and safety information can be found at neiu.edu/police. Download the CampusShield app on Google Play or the App Store for enhanced public safety services, including emergency text notifications via Northeastern's N-Safe system.

ADA Statement:

Northeastern Illinois University (NEIU) complies with the Americans with Disabilities Act (ADA) in making reasonable accommodations for qualified students with disabilities. To request accommodations, students with special needs should make arrangements with the Student Disability Services (SDS) office, located on the main campus in room D104. Contact SDS via (773) 442-4595 or http://www.neiu.edu/university-life/student-disability-services.

Post Date: 5-15-2020
Copyright © 2016-2020 Akkady Tchaba