CSE 260 Back to CSE Courses

Course CSE260
Title Computer Science B: Honors
Credits 3
Course Coordinator Eugene W. Stark
Current Catalog Description

Second part of a two-semester sequence, CSE 160 and CSE 260. Further development of the object-oriented design strategies presented in CSE 160. Continues with introductions to event-driven programming, graphical user interfaces, and design patterns. Includes an extended design and programming project.

Prerequisite

CSE 160

Course Outcomes
  • An ability to apply techniques of object-oriented programming in the context of large-scale programs.
  • An understanding of the importance of time and memory efficiency in algorithm and data structure design.
  • An ability to use recursion to solve programming problems.
  • An ability to use programming tools such as syntax-directed editors, debuggers, execution profilers, documentation generators, and revision-control systems.
Textbook
  • Horstmann, Object-Oriented Design and Patterns, Wiley, 2006 (ISBN 0-471-74487-5).
  • Budd, Classic Data Structures in Java, Addison Wesley, 2000 (ISBN 0-201-70002-6).
Major Topics Covered in Course
  • Software development process, specifications and requirements, object-oriented design, version management.
  • Event-driven programming, applets.
  • Graphical user interfaces.
  • Design Patterns, Threads and synchronization.
  • Abstract data types, collection types, mapping types.
  • Linked lists, iterators.
  • Stacks and applications.
  • Queues and applications.
  • Recursion.
  • Trees, binary search trees, heaps and balanced trees.
  • Searching, binary search, hash tables, complexity, big-O notation, using profiling tools to assess program performance.
  • Sorting, mergesort, heapsort, quicksort.
Laboratory Projects
  • Software development process, specifications and requirements, object-oriented design, version management.
  • Event-driven programming, applets.
  • Graphical user interfaces.
  • Design Patterns, Threads and synchronization.
  • Abstract data types, collection types, mapping types.
  • Linked lists, iterators.
  • Stacks and applications.
  • Queues and applications.
  • Recursion.
  • Trees, binary search trees, heaps and balanced trees.
  • Searching, binary search, hash tables, complexity, big-O notation, using profiling tools to assess program performance.
  • Sorting, mergesort, heapsort, quicksort.
Course Webpage /~cse260
Department of Computer Science • Stony Brook University, Stony Brook, NY 11794-4400 • 631-632-8470 or 631-632-8471