You are encouraged to work and study with your classmates. You can discuss homework problems with your classmates in order to understand what you are being asked to do. HOWEVER, you must work on the actual solution on your own. All work you submit for homework or exams MUST be your own work. This is the only way you will strengthen your skills of programming and program design. You cannot submit any program code or exam answers obtained from another person without authorization as your own. You also cannot use unauthorized sources for your answers to programs or exams. If you are unsure whether a source is acceptable, you must ask your instructor. If you cheat or aid someone in cheating knowingly, you can automatically fail this course and be brought up on charges of academic dishonesty without warning.

CSE214 is an introduction to data structures and algorithms. Data structures are means of organizing data in unique ways in order to solve complex computational problems. Algorithms are the means of developing solutions to various computational problems. In this course, you will focus on the major data structures used in most programming systems: lists, stacks, queues, trees and graphs. In addition, you will study fundamental algorithms for data searching and for data sorting and learn how to evaluate these (and other) algorithms for their efficiency.  It is assumed that you have knowledge of programming in Java at the start of this course.


The following course is required for entrance into CSE214 for this semester:

Students that do not meet the prerequisites will not be permitted to take CSE214. (Students already registered for CSE214 that do not meet the prerequisites will be deregistered by the CS department.)


Ahmad Esmaili
office: New Computer Science 210
phone: 631-632-1628
Office Hours: Mondays and Wednesdays 11:45am-12:45pm or by appointment


Incomplete version of lecture notes are available online . You should complete the notes during class--do not rely on the posted slides as your only source of information for the course. Additional discussion and explanation is given in class which does not appear on the slides.

1 MW 9:30-11:45am JAVITS LECTR 102

Attendance in recitation is mandatory. Recitation provides students with a problem-solving session to review material covered in lecture. During each recitation, there will be practice problems that must be completed in order to get credit for that recitation. See SECTIONS for individual times, room assignments and TA.

1 Tu 9:30-11:45am OLD CS 2120


Data Structures & Other Objects Using Java
by Michael Main (Addison Wesley, Fourth Edition 2012).


Data Abstraction and Problem Solving with Java, Walls and Mirrors
by Frank Carrano & Janet Prichard (Addison Wesley, Second Edition 2006).



During recitation, you will be given problems to solve in groups. Your group will be responsible for coming up with solutions. You may be asked to explain your work to the rest of the class. Participation in your assigned group is essential to receive credit.


There will be 5 programming assignments which must be submitted electronically by the announced due date and time. You may not submit any programming assignment late. Late programming work will not be graded.

All program code that is submitted electronically must have the following information listed clearly in documentation (comments in your program code) at the beginning of each file:

PLEASE NOTE: All submitted programs will be checked using online tools for similarity in design and documentation. Remember, all programming work MUST be your own work. It should not be somebody else's design or a team-work effort. Students submitting programs that are identical or nearly identical in syntactic and algorithmic structure will receive zero for the assignment and can fail this course immediately without warning. DON'T DO IT!


There will one 120-minute midterm and one 150-minute final in this class. All exams are mandatory. Students must arrive on time for each exam; students arriving late will be given the remaining time only to complete the exam. All exam answers must be written in ink without using "White Out". Students should bring their SBU ID to each exam for verification of enrollment in the course.

Makeup exams are NOT ALLOWED.

PLEASE NOTE: Cheating of any kind is not tolerated during exams. Any student caught cheating (giving or receiving unauthorized assistance during an exam) will fail this course immediately and will face disciplinary action by the University. No warning is given. DON'T DO IT!


Your course grade is made up of the following items.


A 94-100, A- 90-93, B+ 87-89, B 83-86, B- 80-82, C+ 77-79, C 73-76, C- 70-72, D+ 67-69, D 63-66, D- 60-62, F 0-59

PLEASE NOTE: If you find any grading errors in your work, you may resubmit your assignment or exam for regrading up to  one week after the homework grade is sent to you or the exam is handed back to you. After this period, no grade changes will be considered. Your instructor reserves the right to review your entire work during a reevaluation. Be sure you are in class when an exam is handed back to you. If you pick up your work late, you will lose the ability to correct any grading errors.

SPECIAL RULE: If all your grades, including homework assignments, quizzes, recitation and your three exam grades are above the respective class averages, you're guaranteed to receive a grade of C or higher for this class.


Email and especially email sent via Blackboard ( is one of the ways the faculty officially communicates with you for this course. It is your responsibility to make sure that you read your email in your official University email account. For most students that is Google Apps for Education (, but you may verify your official Electronic Post Office (EPO) address at If you choose to forward your official University email to another off-campus account, faculty are not responsible for any undeliverable messages to your alternative personal accounts. You can set up Google Mail forwarding using these DoIT-provided instructions found at If you need technical assistance, please contact Client Support at (631) 632-9800 or


Incomplete grades will NOT be given except in extreme situations (e.g. extended illness or family tragedy). If you have an emergency, please speak with your instructor as soon as possible. You should plan your schedules accordingly in order to keep up with the class material.


You will be using the university's personal computing facilities. There are many locations throughout the campus where you may use PCs to access the UNIX system. You should pick up a handout from Instructional Computing which explains where these labs are and what their hours are. You may also work on a PC at home or in your dorm room for any project. However, we must be able to compile and run your submitted programs on the UNIX system for you to receive credit. No exceptions.


If you have a physical, psychiatric/emotional, medical or learning disability that may impact on your ability to carry out assigned course work, you are strongly urged to contact the staff in the Disabled Students Services (DSS) office, ECC Building (phone: 633-6748/TTY). DSS will review your concerns and determine, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.


Developing good study habits is one of the keys to success in CSE214, and most other courses. Read over assignments when you first receive them. Don't wait until the night before an assignment is due to begin work. Starting early on assignments is especially important. Assignments are designed to reinforce the course material, and to improve your problem solving capabilities. Maximum benefit can only be achieved by devoting adequate thinking time, and time to experiment with different approaches to understanding and writing programs. Prepare yourself by planning a reasonable academic schedule, and learning to use your time and other available resources wisely.

Best of luck in CSE214 this semester, and in your future career-oriented endeavors.

Course Info | Schedule | Sections | Announcements | Homework | Exams | Help/FAQ | Grades | HOME