Start here.

[CSE2] exposes students to basic elements of the Java language that are common to many imperative programming languages, including types, conditionals, loops, methods, and arrays.  The course follows a deliberate progression for each topic: first, lectures detail how each element of the language works alone and with others.  Next, students are exposed to the new element of the language in a lab session, where many student teaching assistants are available to help.  Students receive additional individualized practice using the language in homeworks that are assigned shortly after.  Subtle, complex or exotic variations are provided in exam preparation materials and the textbook.  Finally, student progress is evaluated in an exam.


Lecture 1

Lecture 2

Supp. Lecture

Lecture 3

Lecture 4

Lecture 5

Lecture 6

Lecture 7

Lecture 8

Lecture 9

Supp. Lecture

Lecture 10

Lecture 11

Lecture 12

Lecture 13

Lecture 14

Lecture 15

Lecture 16

Lecture 17

Lecture 18

Lecture 19

Lecture 20

Lecture 22

Lecture 23



Lectures developed for [CSE2] were developed by Brian Chen, Brian Davison, and Edwin Kay.  Lectures may be used for other courses by permission only (Contact Brian Chen).