COURSE INFORMATION


SPRING 2024


AN IMPORTANT NOTE ON ACADEMIC DISHONESTY

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.

Course Description: An extension of programming methodology to data storage and manipulation on complex data sets. Topics include: programming and applications of data structures; stacks, queues, lists, binary trees, heaps, priority queues, balanced trees and graphs. Recursive programming is heavily utilized. Fundamental sorting and searching algorithms are examined along with informal efficiency comparisons.

Learning Objectives:

  1. To provide students with additional programming experience using an object-oriented language, with emphasis on larger-scale programs that require the use of sophisticated data structures.
  2. To enhance student understanding of abstract data types, pointers, recursion, and algorithmic design.
  3. To introduce students to the importance of time and memory efficiency in algorithm design.

Number of credits: 4

PREREQUISITES/ENTRANCE REQUIREMENTS

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.)

INSTRUCTOR

Ahmad Esmaili
office: Computer Science 210
email:
esmaili@cs.stonybrook.edu
phone: 631-632-1628
Office Hours: Tuesdays and Thursdays 11:30am-12:30pm or by appointment via Zoom using this link.

LECTURE

Incomplete versions 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.

SECTION LECTURE TIME ROOM
1 Tu/Th 8:30-9:50am ONLINE

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.

COURSE TEXT

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

REFERENCE TEXT

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

COURSE WORK

RECITATION EXERCISES

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.

PROGRAMMING ASSIGNMENTS (HOMEWORK)

There will be 7 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!

EXAMS

There will be one 80-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, except for students who are very sick, injured or have a serious family problem (e.g. death in the immediate family). All makeup exams must be approved by the instructor and must include valid documentation of the incident. The instructor reserves the right to request additional documentation or investigate any documentation that is submitted before a makeup is graded.

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!

ONLINE EXAMS

COURSE GRADE

Your course grade is made up of the following items.

FINAL GRADE CALCULATION

Final grades will be calculated according to the scores posted on the CSE214 Grading Portal. You will get an email notification for each grade that is posted on the portal. It is your responsibility to check your SBU email account and report any grading disputes within one week after a grade is posted. If you do not submit a grade change request within one week, we will assume you are satisfied with your grade and we will not accept any request for grade changes.

Homework assignments and exam grades will NOT be available on Brightspace. Instead, we will post these grades on the CSE214 Grading Portal. Also, we will temporarily post the recitation grades on Brightspace during the semester and will transfer the average to the CSE214 Grading Portal at the end of the semester for final grade calculation.

GRADE CUTOFFS

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, F 0-62

PLEASE NOTE: If you find any grading errors in your work, you may request for a grade change within one week after your grade is posted on the Grading System. 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 exam grades are above the respective class averages, you're guaranteed to receive a grade of C or higher for this class.

ELECTRONIC COMMUNICATION STATEMENT

Email and especially email sent via Brightspace (http://mycourses.stonybrook.edu) 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 (http://www.stonybrook.edu/mycloud), but you may verify your official Electronic Post Office (EPO) address at http://it.stonybrook.edu/help/kb/checking-or-changing-your-mail-forwarding-address-in-the-epo. 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 http://it.stonybrook.edu/help/kb/setting-up-mail-forwarding-in-google-mail. If you need technical assistance, please contact Client Support at (631) 632-9800 or supportteam@stonybrook.edu.

ACADEMIC INTEGRITY STATEMENT

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Professions, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html.

CRITICAL INCIDENT MANAGEMENT

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Student Conduct and Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.

INCOMPLETES

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.

COMPUTER FACILITIES

You may use the university's personal computing facilities. There are many locations throughout the campus where you may use PCs.

STUDENT ACCESSIBILITY SUPPORT / DISABILITIES

If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, Stony Brook Union Suite 107, (631) 632-6748, or at sasc@stonybrook.edu. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.

HELPFUL HINTS

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.

Author: Ahmad Esmaili



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