Course Information


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

Instructor

Assistant Professor Sael Lee
Office: Academic Bldg. B422
Email: sael at sunykorea dot ac dot kr
Phone: +82 (32) 626-1215

Meeting Time

[lecture] Tu Th 9:30~10:50 Academic Bldg. B204
[recitation] Tu 11:00~11:50 Academic Bldg. A313

Office Hours

Prof. Lee's Office Hours (Lecture content): Mo 16:30~17:30 Th 11:00~12:00 (or send emails for appointments) at B422
Dr. Thomas's Office Hour (Recitation): Mo 13:30~15:30 at C409
Ray Vo's (TA) Office Hour (HW Grading): Fr 13:00~14:00 at A313.

Prerequisites

C or higher in CSE 114

TextBook

Required:
Data Structures and Algorithms in Java 6/e International Student Version by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser (2014).
* You can buy it from anywhere you like. I found one here after extensive searching.

Optional:
Data Structures: Abstraction and Design Using Java, Second Edition by Elliot B. Koffman, Paul A. T. Wolfgang (2010).

Grading

Recitation will be worth 10% of the grade.
Homework will be worth 20% of the grade.
Midterm I will be worth 20% of your grade.
Midterm II will be worth 20% of your grade.
Final will be worth 30% of your grade and will cover all materials.

Assignments

There will be total of 5~6 assignments one every two or so weeks.




Notice




This is how your final grade will be calculated:

Your_Final_Score = (Homework_total/(140))*20+(Exam_total/(350))*70+(Lab/10)*10

If you are interested in figuring out your current status. Please, find the current score in the Blackboard and plug them in the above equation.



Course Materials




Recitation Schedule: here

# DATE('15) CONTENT (READING) SLIDES ASSIGNMENTS & LABS
1 3/3 Java - Review (Ch01) slides01 lab01
3/5 OOP (Ch02) slides02
2 3/10 Analysis of Algorithms (Ch04) slides03 lab02
3/12 Array (Ch03.1) slides04
3 3/17 Linked List (Ch03.2-6) slides05 lab03
3/19 Lists and Iterators slides06 HW1(in Blackboard) due 04/02
4 3/24 Recursion slides07 lab04
3/26 Stack slides08
5 3/31 Queue slides09 lab05
4/2 Midterm I Review Practice Questions in the Blackboard
6 4/7 MIDTERM I
4/9 Iterator & Sets slides10
7 4/14 Maps slides11 lab06; HW2 out (due April 23rd)
4/16 Maps cont.
8 4/21 Hash Tables (Ch10.2) slides12 lab07
4/23 Hash Tables cont.
9 4/28 Tree Basics (Ch08.1-3) slides13 lab08
4/30 Trees Traversal Algorithms (Ch08.4) HW3 out (due May 9th)
10 5/5 NO CLASS: Children's Day
5/7 Tree cont. & Midterm II Review
11 5/12 MIDTERM II lab09
5/14 Priority Queue & Priority Queue Sort (Ch09) slides14
12 5/19 Heaps and Heap Sort (Ch09) slides15 lab10
5/21 Search Tree (Ch11.1-2) slides16
13 5/26 AVL Tree (Ch11.3) & Sorting Algorithms (Ch13) slides17 slides18 lab11
5/28 Sorting Algorithms cont. slides19
14 6/2 Graphs (Ch14) slides20 lab12
6/4 Graphs cont.
15 6/9 Finals Review review
F TBD FINALS (Cumulative)


* Slides are modified from those provided by the publisher. The original files can be found here.
* Useful Math Fasts provided by the publisher.
* Source code provided by the publisher.




Course Policy


Attendance policy

Everyone is strongly urged to attend class regularly and actively participate. You will be responsible for learning all the materials covered in class. Notes and supplementary handouts will cover most of the material; however, in-class participation through engaging in discussions and asking questions should be valued learning activity.

Assignments grading policy

Assignment will be handed out in class and are due in class of the due date. Total points of each assignment will be different depending on the difficulty of the problems. However, the maximum total point of an assignment will be less than or equal to two times the minimum total point of an assignment. Expect to see difficult problems towards the end of semester.

You have budget of 6 days that you may submit your assignments late in total throughout the semester. Spend them as you will. There will be 10% late penalty for each day late exceeding the 5 day grace. There are no extensions given to individuals unless it is an extreme case of a proven emergency (this does not include family emergencies).

Academic misconduct policy

There is no excuse in cheating. Cheating will be considered as an academic misconduct and handled according to the Stony Brook regulations. If cheating has occurred during exam or is evident in submitted assignments, your will get a grade of F. Discussion of assignments is acceptable, however, returned assignments must show originality. This means near duplicate assignments with your peers or duplications of materials found on the web will be considered cheating. All involved personals in cheating will be penalized.




University Policy


Americans with Disabilities Act

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Disability Support Services, ECC(Educational Communications Center) Building, Room 128, (631)632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.Disability Support Services.

Academic Integrity

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 Technology & Management, 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 Academic Judiciary

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