I am teaching Principles of Programming (CSE110) this Summer (2019). I have taught this course for two years –Summer 2019, Summer 2018, and Summer 2017.
CSE110 is an introductory course to programming using the Java programming language. It requires no previous background in programming and concentrates on problem solving using Java, algorithm design, structured programming, fundamental algorithms and techniques, and computer systems concepts.
This course includes 34 lectures and the following topics are covered: classes, methods, and variables; data types; math class; input and formatted output; if statement; nested if-else; switch statement and operator ?; while loop; for loop; object-oriented programming; classes and objects; methods; methods: constructor, toString, getter, and setter; keywords null and this; arrays; references: parameters and arrays of objects; arrays as parameters; searching algorithms; searching and sorting; sorting; searching and sorting in arrays of objects; 2D arrays; multidimensional arrays; and recursion.
My slides for each lecture are available below: