Object-Oriented Programming and Data Structures

I am teaching  Object-Oriented Programming and Data Structures(CSE 205) in Spring 2022. I have taught this course for a year since Fall 2021.

This course focuses on problem-solving by programming with an object-oriented programming language. It introduces data structures, the development of Graphical User Interfaces using the Java Swing library, and powerful object-oriented concepts (including inheritance, polymorphism, overloading, overriding, streams, and serialization).

Syllabus

version Fall 2021

Lectures

This course includes 26 lectures as follows:

  1. Course Presentation
  2. Java Fundamentals
  3. Object-Oriented Programming with Java
  4. Classes, Interfaces, Abstract classes
  5. Fundamentals of UML
  6. Inheritance
  7. Overriding and Overloading
  8. Interfaces
  9. Polymorphism
  10. Java Swing
  11. Panels and Menus
  12. Widgets
  13. Listeners
  14. Midterm Review
  15. Connecting the Dots
  16. Data Structures
  17. Linked List
  18. Generic Data Types
  19. Stack and Queue
  20. Java Collections
  21. Binary trees
  22. Binary tree traversals
  23. Connecting the Dots: Paint App
  24. Streams and Exceptions
  25. Serialization
  26. Final Review