Syllabus information (find it on canvas)

- Learning goals

Understand the basic idea of variables, flow controls, and memory models.

Be able to debug, test, and document a functional Java program.

Manipulate strings and files in Java

Describe and use some of Java's Abstract Data Types (ADTs) and Application Program Interfaces (APIs).

Implement algorithms to solve relatively complex problems.

Design, write and debug relatively complex classes.

Understand and use inheritance and polymorphism in your programs.

Implement recursive solutions to problems.

Design and use test cases to ensure the correctness of your programs.

Practice good documentation habits.

Be able to compile and run Java codes in the command line.

Gain independence and resourcefulness to solve problems and write programs on your own.

- Textbook

Introduction to Java Programming: Comprehensive Version, 10th Edition, by Y. Daniel Liang.


- Instructor and staff

Paul Cao, CSE 2102, , In person office hours Thu 9am - 11am

Staff: TA office hours and tutor hours,


- Components

Reading activities: 5% (drop 3 lowest)

Class participation: 5% (iclicker, drop 2 weeks)

Quizzes: 15% (allows makeup, highest one counts)

PA: 40% (allows resubmission and get up to 50% of autograded portion back)

Midterm: 15% (no makeup, no drop)

Final exam: 20% (no makeup, no drop)


Must pass 55% on final and overall PA to pass the class.

Reading, quizzes, PA, midterm and final are all accessed through


- Academic integrity

All work must be done individually

Only high-level discussions are allowed

No outside help other than staff from CSE 11

Sign honor pledge through the AI form linked from canvas


- Diversity and inclusion

Everyone should feel safe and comfortable to learn in CSE 11. We support academic freedom and freedom of speech. No discrimination or harassment on the basis of anything is tolerated.


- OSD students


- Basic needs and food insecurity