Skip to main content
Building Closure

The Silicon Valley Campus will be closed Sunday, Jan. 19 for maintenance and Monday, Jan. 20 in honor of Martin Luther King, Jr. See you Tuesday!

two women looking at computer screen with code

Java Programming II | CMPR.X413


Java is the premier development language for web servers, enterprise servers, network applications, embedded devices, appliances and wireless applications.

This course, which covers Java 21+, teaches students to apply object-oriented concepts, design and develop Java applications, and use Java libraries. You’ll learn to write, maintain and debug applications, and make effective use of standard packages. You’ll also learn key design concepts and implementation skills needed for professional Java programming. Additionally, you'll explore leveraging AI tools to enhance coding efficiency and debugging.


Learning Outcomes
At the conclusion of the course, you should be able to

  • Describe the core features and syntax of Java language
  • Develop Java applications that correctly apply the principles of object oriented design
  • Use Java class libraries
  • Apply generic, multi-threaded, network, database and GUI programming techniques using java
  • Understand functional programming using lambda expressions
  • Demonstrate proficiency in utilizing AI tools to enhance learning, improve code and debug programs

Topics Include

  • Object-Oriented concepts
  • * Defining classes and methods, constructors, access modifiers, inheritance, overriding, overloading, polymorphism, constructor chaining, super keyword, abstract classes, static fields and methods, final keyword, MVC design pattern
  • Arrays and Strings
  • * Creating arrays, multidimensional arrays, strings, StringBuilder class, primitive wrapper classes
  • Interfaces, Nested classes
  • * Creating interfaces, difference between interfaces and nested classes, predefined interfaces, nested interfaces, static nested classes, inner classes, anonymous classes, records, sealed classes and interfaces, pattern matching for instance
  • Input/output programming
  • * Reading and writing text and binary files, random file access, serializations
  • Exception handling
  • * Try and catch blocks, exception class, creating custom exception classes, multiple catch blocks, run-time exceptions, the finally block
  • Multithreaded programming
  • * The Thread class, interface runnable, creating threads, interrupting threads, thread synchronization, problems with threads
  • Collections framework
  • * Generics, interfaces set, map and list and their implementations, iterators, set operations, wildcards, comparable and comparator interfaces
  • JDBC
  • * JDBC API with driver managers, result sets, cached row sets, prepared statements
  • Functional programming
  • * Functional interfaces, lambda expressions, streams
  • AI-Enhanced Development
  • * Introduction to AI-powered coding tools for code improvement, debugging and optimization

Skills Needed:

"Java Programming I" is recommended for those new to Java. Experience in a programming language such as C or C++ may also help with learning Java.

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!
This course is related to the following programs:

Prerequisite(s):

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us

Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu