CS A272: Java Programming 2
| Item | Value |
|---|---|
| Eff Term | Fall 2026 |
| Curriculum Committee Approval Date | 11/28/2018 |
| Top Code | 070710 - Computer Programming (CTE) |
| Units | 4 Total Units |
| Hours | 90 Total Hours (Lecture Hours 63; Lab Hours 27) |
| Total Outside of Class Hours | 126 |
| Total Student Learning Hours | 216 |
| Course Credit Status | Credit: Degree Applicable (D) |
| Material Fee | No |
| Basic Skills | Not Basic Skills (N) |
| Repeatable | No |
| Open Entry/Open Exit | No |
| Grading Policy | Standard Letter (S),
|
Course Description
A second course in Java programming language. Topics include object-oriented design, inheritance, interfaces, abstract and anonymous inner classes, I/O & exceptions, generics, regular expressions, databases, XML, GUI construction, graphics and multimedia, Java collections, data structures, lambda expressions and multithreading. PREREQUISITE: CS A170. Transfer Credit: CSU; UC.
Course Level Student Learning Outcome(s)
- Write programs that make appropriate use of each of the Java Collections classes and that correctly use Java's generics facility.
- Demonstrate an understanding of recursive methods and write recursive functions to solve different programming problems.
- Write programs that implement linked lists, array lists, stacks and queues. Apply those data structures to solving different kinds of programming problems.
Course Objectives
- 1. Design, implement, test and debug simple programs using classes and objects.
- 2. Implement, test and debug simple recursive functions and procedures.
- 3. Understand and utilize the basic Java I/O libraries.
- 4. Write programs that make appropriate use of each of the Java Collections classes.
- 5. Write programs that use arrays, records, strings, linked lists, stacks, queues and hash tables.
- 6. Use object-oriented analysis and design to apply inheritance, interfaces and composition where appropriate.
- 7. Apply different abstraction methods, such as Java generics to support the creation of reusable software components.
- 8. Design an abstract class and an appropriate set of instantiable child classes to solve a software requirement.
- 9. Design and use error handling classes employing try, catch, throw and finally.
- 10. Create an application with a Graphical User Interface
Lecture Content
Lab Content
Lab 1 The Eclipse IDE
Lab 2 The Command Line
Lab 3 1/0 Redirection and Character Encodings
Lab 4 Input/Output and Exception Handling Lab 5 Recursion
Lab 6 Unit Testing and Shell Commands
Lab 7 Version Control
Lab 8 Big-Oh
Lab 9 Pseudocode Bootcamp
Lab 10 Using Collections
Lab 11 Debugging Linked Structures
Lab 12 Scripts
Lab 13 Trees
Method(s) of Instruction
- Lecture (02)
- DE Online Lecture (02X)
- Lab (04)
- DE Online Lab (04X)
Instructional Techniques
Lecture, demonstrations, and guided, hands-on exercises
Reading Assignments
Students will spend a minimum of 3 hours per week reading the textbook and/or other reading material assigned. Students will be expected to follow along with the exercises in the reading material.
Writing Assignments
Out of class assignments are all writing assignments.
Out-of-class Assignments
Students will spend a minimum of 5 hours per week completing weekly programming assignments.
Study Non-Contact Hours Recommended
126
Methods of Student Evaluation
- Midterm Exam
- Final Exam
- Short Quizzes
- Written Assignments
- Objective Examinations
- Problem Solving Exercises
- Skills Demonstration
Demonstration of Critical Thinking
Written quizzes and examinations; weekly programming exercises
Required Writing, Problem Solving, Skills Demonstration
Weekly homework assignments will be evaluated.
Eligible Disciplines
Computer science: Master's degree in computer science or computer engineering OR bachelor's degree in either of the above AND master's degree in mathematics, cybernetics, business administration, accounting or engineering OR bachelor's degree in engineering AND master's degree in cybernetics, engineering mathematics, or business administration OR bachelor's degree in mathematics AND master's degree in cybernetics, engineering mathematics, or business administration OR bachelor's degree in any of the above AND a master's degree in information science, computer information systems, or information systems OR the equivalent. Note: Courses in the use of computer programs for application to a particular discipline may be classified, for the minimum qualification purposes, under the discipline of the application. Master's degree required.
Textbooks Resources
1. Required Horstmann, C.. Big Java, 7th ed. Hoboken, NJ: Wiley, 2018
Other Resources
1. The Java Tutorials online at https://docs.oracle.com/javase/tutorial/
