CSE 260/CSE261 - Fall 2023

Computer Science B: Honors

Data Structures and Programming Abstractions

http://www.cs.stonybrook.edu/~cse260


Course Description

Second part of a two-semester sequence, CSE 160 and CSE 260. Applies object-oriented programming methodology to data storage and manipulation on complex data sets, such as, 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. Intermediate-level programming language concepts and paradigms, including functional programming, basics of type systems, event-driven programming, program and data abstractions, and modularity.(https://www.stonybrook.edu/sb/bulletin/current/courses/cse/#260)

See Syllabus here (or in the above menu).


Youtube channel for a past semesters:https://www.youtube.com/playlist?list=PLRvJ_2dlxL9GmBr5cqA7N7oIhtAf_J3aW

Staff

Instructor: Dr. Paul Fodor
214 New Computer Science Department, Stony Brook University
Office hours: Mondays and Wednesdays 9:30-11AM on Google Meet only: https://meet.google.com/xyu-jhqc-bdx
Email: paul.fodor@stonybrook.edu
Phone: 1 (631) 632-9820


Class Time and Place

  • Lectures: TuTh 10:00AM - 11:20AM, Computer Science 2120.
  • Labs:TuTh 11:30AM - 12:50AM, Computer Science 2120.

Lecture Notes and Reading Assignments

The following schedule is tentative and subject to change. The homework assignments and labs are posted on Brightspace: http://blackboard.stonybrook.edu

Week Date Lecture Topics/Notes Readings
1 Tu. 8/29 Administrative (course information) n/a
Thu. 8/31 Generics Read Liang ch. 19
2 Tu. 9/5 Generics (cont.) n/a
Thu. 9/7 Lists, Stacks, Queues, and Priority Queues Read Liang ch. 20
3 Tu. 9/12 Lists, Stacks, Queues, and Priority Queues (cont.) n/a
Thu. 9/14 Sets and Maps Read Liang ch. 21, Collections and Aggregates in Java 8
4 Tu. 9/19 Developing Efficient Algorithms Read Liang ch. 22
Thu. 9/21 Developing Efficient Algorithms (cont.) n/a
5 Tu. 9/26 Developing Efficient Algorithms (cont.) n/a
Thu. 9/28 Midterm 1 Review See Brightspace here:http://blackboard.stonybrook.edu
6 Tu. 10/3 MIDTERM EXAM 1: closed book in-person exam, in classroom, during class time (80 minutes) n/a
Thu. 10/5 Developing Efficient Algorithms (cont.) n/a
7 Tu. 10/10 Fall break (no class) n/a
Thu. 10/12 Sorting Read Liang ch. 23
8 Tu. 10/17 Implementing Lists, Stacks, Queues, and Priority Queues Read Liang ch. 24
Thu. 10/19 Implementing Lists, Stacks, Queues, and Priority Queues (cont.)  n/a
9 Tu. 10/24 Binary Search Trees Read Liang ch. 25, Binary Search Trees Visualization
Thu. 10/26 AVL Trees Read Liang ch. 26
10 Tu. 10/31 Hashing Read Liang ch. 27
Thu. 11/2 Graphs Read Liang ch. 28, Graphs Visualization
11 Tu. 11/7 Midterm 2 Review See Brightspace here:http://blackboard.stonybrook.edu
Thu. 11/9 MIDTERM EXAM 2: closed book in-person exam, in classroom, during class time (80 minutes) n/a
12 Tu. 11/14 Weighted Graphs Read Liang ch. 29
Thu. 11/16 Weighted Graphs (cont.) n/a
13 Tu. 11/21 Classification of Programming Languages Read Scott. ch. 1
Thu. 11/23 Thanksgiving Break - No classes in Session See Stony Brook Calendars here
14 Tu. 11/28 Functional Programming in SML n/a
Thu. 11/30 Functional Programming in SML (cont.)  n/a
15 Tu. 12/5 Functional Programming in SML (cont.)  n/a
Thu. 12/7 Optional topics (if time permits): Names, Scopes, and Bindings , Parsing , Semantics , Logic Programming Read Scott. chs. 2,3,4
Final exam   FINAL EXAM: Thursday, December 14, 2023, closed book in-person exam, in classroom, 11:15-1:15 PM (120 minutes) n/a

Page maintained by Paul Fodor