Computer Science 225

Advanced Programming

Spring 2022, Siena College

Agenda

- Announcements
- Lab 4: More Java Swing (in Canvas and GitHub) due the day before your labs this week
- Grading updates: Problem Set 2
- Problem Set 3: groups and repositories today, the whole thing is due Friday evening

- Exam 1 info
- topics: up to today's class, Problem Set 3, and Lab 4.
- come to RB 328 on Monday evening, 2/28, start any time between 6 and 8, take up to 2 hours
- will make specific arrangements with the few who can't make it any time on Monday evening
- in exchange for your 2 hours to take the exam, we will not have lab on March 2 and 3
- part 1: closed book written section on paper
- data structure efficiencies from lab 1
- memory diagram
- terminology
- interfaces, inheritance, overriding, polymorphism, dynamic binding

- turn in part 1 to get part 2: practical programs, where all
class resources are available (notes, lecture pages, labs, problem
sets, examples), submit through GitHub
- iterators, comparators, generic methods
- Java Swing and event handlers

- (Finally) wrapping up In-class 6.
- Inheritance case studies from Bailey's structure package
- lists
- graphs

Terminology

- graph
- vertex
- edge
- weighted graph
- adjacent vertices
- path of vertices
- simple path
- cycle
- directed graph/digraph
- undirected graph
- vertex degree, in-degree, out-degree
- connected vertices
- subgraph
- connected component
- acyclic graph
- complete graph
- adjacency matrix
- adjacency list

Examples