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:
Number of credits: 4
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: Computer Science 210
email: esmaili@cs.stonybrook.edu
phone: 631-632-1628
Office Hours: Tuesdays and Thursdays 9:30-10:30am or by appointment via Zoom using this link.
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:00-9:20am | Eng. 145 |
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.
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).
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:
- Your name
- Your SOLAR ID#
- Your Email Address
- The programming assignment number
- The course (CSE214), and
- Your recitation number and TAs Name. (See SECTIONS for your TA's name.)
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!
EXAM CONFLICTS
It is your responsibility to plan a program that avoids exam conflicts or too many final exams on the same day.
ONLINE EXAMS
You must take the exam using Respondus Lockdown Browser. Your exam will NOT be graded if you're flagged by Respondus. You're not allowed to leave your seat, take bathroom breaks, look around, etc.
The exam will be a single attempt and you can't go back to previous questions. If you try to bypass the lockdown or take any action that Respondus terminates your exam, you won't be able to resume or retake the test.
Your computer should be equipped with a webcam and microphone and they must work at all times during the exam.
You agree to the following terms and conditions:
- You certify that the calculations/data/answers in the exam were generated independently, using only the tools and resources defined in the course and that you did not receive any external help, coaching, or contributions during the production of this work.
- You will not share or distribute the exam questions during or after the exam.
- You understand that the instructor may use tools to check for plagiarism and cheating.
- You understand that during the exam, you should refrain from:
- Leaving your seat
- Talking or texting with others
- Using materials or sources not approved for use during this test
- Using headphones
- You understand the university's academic integrity and discipline policies and promise to uphold them.
COURSE GRADE
Your course grade is made up of the following items.
- Recitation Exercises = 8%
- 7 Programming Assignments (2.14% each) = 15%
- Midterm Exam = 32%
- Quiz = 7%
- Final Exam = 38%
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. 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.
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.
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.
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.
If you are concerned about resources related to your basic needs, including access to nutritious food and stable housing, please contact the Student Support Team. They will be able to listen to your story, connect you with possible resources, and provide stigma-free support.
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 may use the university's personal computing facilities. There are many locations throughout the campus where you may use PCs.
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.
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