Principles of Programming (with Java)


I am teaching CSE110 Principles of Programming this Summer. CSE 110 is an introductory course to programming using Java language. The course requires no previous background in programming. It concentrates on concepts of problem solving using Java, algorithm design, structured programming, fundamental algorithms and techniques, and computer systems concepts.

Syllabus

Summer 2017 version

Lessons

  1. Course Presentation
  2. Introduction
  3. Classes, methods, and variables
  4. Data types
  5. Math class
  6. Input and formatted output
  7. if statement
  8. Nested if-else
  9. Review (midterm 1)
  10. Switch statement and operator ?
  11. While loop
  12. For loop
  13. Practice: loops and conditional statements
  14. Object-Oriented Programming
  15. Classes and Objects
  16. Methods
  17. Review (midterm 2)
  18. Feedback for midterm 1 and midterm 2
  19. Methods: constructor, toString, getter, and setter
  20. Keywords: null and this
  21. Practice: classes and objects
  22. Arrays I
  23. Arrays II
  24. References: parameters and arrays of objects
  25. Arrays as parameters
  26. Review (midterm 3)
  27. Searching algorithms
  28. Searching and sorting
  29. Sorting
  30. Searching and sorting – arrays of objects
  31. 2D arrays
  32. Multidimensional arrays
  33. Recursion
  34. Final review