NOTE: This old web site is out of date. This is the course web site from a past quarter, 21su (Summer 2021). If you are a current student taking the course, this is not your class web site, and you should visit the current class website instead.
This course provides an introduction to programming using the Java programming language. We will explore common computational problem-solving techniques useful to computer scientists, as well as anyone with other needs for computation; working with large data sets, repetitive processes, etc.
No prior programming experience is assumed, although students should know the basics of using a computer (e.g., using a web browser and a text editor) and should be comfortable with math through Algebra 1.
Students with significant prior programming experience should consider skipping CSE 142 and taking CSE 143. (No special permission is required.)
By the end of this course, students will be able to do the following:
- write functionally correct Java programs that solve a specified problem and/or meet a provided specification
- break down problems into subproblems that are modular and reusable, and define methods to represent those subproblems
- select and apply control structures (e.g. methods, loops, conditionals) to manage the flow of control and information in programs
- select and apply basic data abstractions (e.g. variables, parameters, arrays, classes) to manage and manipulate data in programs
- define programs that are well-written, readable, maintainable, and conform to established standards
- identify and fix bugs and errors that occur during the development process
- identify and utilize resources to help overcome difficulties or resolve errors in developing programs
CSE 142 is a course that has been built by many people over many years here at UW. Credit for much of the current format of this course goes to Brett Wortzman and Stuart Reges. The course site has been developed using Just the Docs, with some illustrations taken from Freepik Storyset.