Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language. No prior programming experience required.
CS 106A has no prerequisites. Please read notes below regarding enrollment.
- Most students interested in learning computer programming will start with CS 106A, including most future CS majors. This course focuses on fundamental concepts in computer programming (if statements, methods, arrays, etc.) that arise in many different programming languages. Although CS 106A is taught using the Java programming language, it is not designed as a class in standard Java programming.
- Enrollment in a mandatory discussion section is done in class the first week, not in Axess.
- Matriculated Stanford graduate students may enroll for 3, 4 or 5 units; everyone else must take the course for 5 units. All students do 5 units worth of work, including Stanford graduate student enrolled for 3 or 4 units.
- This course is cross-listed as ENGR 70A.