CSE214 - Data Structures
Fall 2022, SUNY Korea
Instructor: Byungkon Kang
Classes: T,Th 14:00 - 15:20 @ C105
Recitation: W 14:00 - 14:55 (Same room)
Prerequisites: A grade of 'C' or higher in CSE114
Office hours: M 13:00 - 15:00, W 10:00 - 12:00
TAs:
Joonkyu Han T,Th 12:00 - 14:00 (@ CS lounge, 4th floor Bldg. B)
Youngmu Yang M,W 15:00 - 16:00, F 09:00 - 11:00 (@ CS lounge, 4th floor Bldg. B)
Course Description
This is a course designed to introduce core concepts in data structures and their related algorithms.
We will go over some of the most fundamental and frequently-used programming constructs (known as data structures) that will help you store, manage, and manipulate your data.
In addition to the "major" data structures, we'll have a chance to take a look at some of the concepts and algorithms associated with them.
For the detailed list of topics, take a look at the schedule below.
Textbook
A textbook is not mandatory, but many of the materials will be based on the following book.
"Data structures and the Java collections framework" (3rd ed.), William J. Collins.
It's an old book, but not outdated in terms of the core idea.
Schedule
The following may be subject to change, so please check back regularly.
To access the lecture slides, you'll need your 'stonybrook.edu' account.
Week 1: Course introduction + Review of Java Ch. 1 & 2 (8/30 HW0 out, 9/1), Rec. 1 - Java setup (8/31)
Week 2: Object-oriented programming basics Ch. 1 & 2(9/6, 9/8 - HW1 out) , Rec. 2 - OOP practice (9/7)
Week 3: Complexity measures Ch. 3(9/13, 9/15 HW2 out), Rec. 3 - Run-time analysis practice (9/14) // 9/13: Last day to drop w/o a 'W'
Week 4: ArrayList Ch. 6 (9/20 HW2 due), Linked List Ch. 7 (9/22), Rec. 4 - ArrayList iterators (9/21)
Week 5: Linked List Ch. 7 (9/27), Stacks Ch. 8 (9/29 - HW3 out), Rec. 5 - Linked List continued (9/28)
Week 6: No class (10/4), Midterm 1 (10/6, HW3 due), Rec. 6 - Midterm review(10/5)
Week 7: Queues Ch. 8 (10/11) Recursion (10/13), Rec. 7 - Stack and queue practice (10/12, HW4 out) // Midterm report
Week 8: Recursion Ch. 5(10/18), Trees Ch. 9, 10 (10/20, HW5 out), Rec. 8 - Recursion (10/19, HW4 due)
Week 9: Trees Ch. 9, 10(10/25), Balanced BSTs Ch. 12.1 (10/27, HW5 due, HW6 out), Rec. 9 - Trees (10/26) // Last week to submit credit change/GPNC/W
Week 10: Balanced BSTs Ch. 12.1 (11/1), Midterm 2 (11/3 - HW6 due), Rec. 10 - Midterm review (11/2)
Week 11: Priority queues Ch. 13 (11/8), Sorting Ch. 11 (11/10), Rec. 11 - Priority queues (11/9, HW7 out)
Week 12: Sorting Ch. 11 (11/15), Maps and sets Ch. 12 (11/17), Rec. 12 - Sorting (11/16, HW7 due)
Week 13: Maps and sets Ch. 12 (11/22, HW8 out), Graphs Ch. 15 (11/24), Rec. 13 - Hashing (11/23)
Week 14: Graphs Ch. 15 (11/29, HW8 due), Dynamic programming (12/1 - HW9 &10 out), Rec. 14 - Graphs (11/30)
Week 15: Dynamic programming (12/6), No classes/recitation (12/7, 12/8)
Final exam 12/15, 12:30 - 15:00
Grading
For homework assignments and tests, you have exactly three (3) days since the release of the grades to make a petition for a regrade. However, keep in mind that everything in that assignment/test will be subject to a regrade (i.e., not just that specific problem you requested for).
Homework (30%)
Midterm exams (10% each x 2 = 20%)
Final exam (30%)
There will be one comprehensive final exam on the designated final date.
Recitation exercises (10%)
These include pop-quizzes, programming exercises, and attendance during the recitation sessions.
In-class participation (5%)
This score is reserved for those who actively participate in class discussion.
Asking and answering a lot of questions, making a lot of relevant comments, etc. are all good ways to earn this point.
In the past, there were several students who were able to push up their on-the-margin scores to a higher letter grade by actively participating in class.
Attendance (5%)
Missing more than 20% of the lectures will result in an automatic F grade.
Missing more than 20 minutes of class will be counted as an unexcused absence (abusing this 20-minute grace period will definitely result in a series of unexcused absences).
Up to 2 (two) excused absences will be ignored, but you must notify me via written notes at least two days prior.
In case of online classes:
You must remain in non-public quarters with your cameras on at all times during online lectures. Otherwise, your attendance will not count.
Midterm report
I will notify those who are not in good standing at around week 8. This will be a good time for you to decide if you wish to change your grade options for this course. However, such a midterm report will also be available whenever and to whoever request for it.
** A midterm report is not a report on your midterm exams. It's a report on your current standing in class.
Academic Integrity
Students should pursue their academic goals in an honest way that does not put you at an unfair advantage over other students. You are responsible for all work you submitted and representing other’s work as yours is always wrong. Faculty is required to report any suspected instance of academic dishonesty to the school. Regarding your homework, you are encouraged to discuss it with others, but you should write your own code. For more information please refer to http://www.stonybrook.edu/commcms/academic\_integrity/index.html.
Disability Support Services (DSS) Statement
If you have a physical, psychological, medical or learning disability that may impact your course work, please let the instructor know. Reasonable accommodation will be provided if necessary and appropriate. All information and documentation are confidential.
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 Judicial Affairs 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.