Java Programming IV : Advanced Java Programming Structures
CSE-X404.82
Building on "Java Programming III: Intermediate Java Programming
you will attain many of the specific topics in the Oracle Certified Professional Java Programmer (OCPJP) exam, including the Java runtime environment, generic collections, thread handling and synchronization, native methods, standard file IO (java.io), socket-based network programming and serialization (java.net), and Java Remote Method Invocation (RMI). You will apply object-oriented techniques (interfaces, abstract classes, inner classes, etc.) to create applications using Swing components (javax.swing) and appropriate Javadoc comments. Additional topics include new I/O, JNI, and unit testing with JUnit.
Course Highlights:
- The Java Virtual Machine (JVM) - managing object creation, execution and garbage collection
- Reflection
- Annotations
- Test driven developments
- Java 9 modulatiry
- Concurrent programming - thread handling and synchronization
- Functional programming
- REST-based web services
- Java networking with sockets
- Distributed Java applications
- Java security
Course Learning Outcomes:
- Understand how to be a more effective Java developer
- Acquire an understanding of advanced Java concepts and apply them in the real world
- Deploy the latest Java features
- Gain the knowledge to prepare yourself for the Oracle Java certification exam
Hardware: Access to a computer and a Java compiler required.
Optional Reading: Core Java, Volume II-Advanced Features - 11th ed. Author - Cay S. Horstmann - Publisher - Prentice Hall - ISBN-13: 978-0135166314 and Core Java SE 9 for the Impatient - 2nd ed. - Author - Cay S. Horstmann - Publisher - Prentice Hall - ISBN-13: 978-0134694726
Course Typically Offered: Online in Winter, Summer, and Fall quarters.
Prerequisite: CSE-40481 Java Programming III: Intermediate Java Programming or equivalent knowledge and experience.
Next Step: After completing this course consider taking CSE-41321 Data Structures and Algorithms in Java to continue building your skills.
Contact: For more information about this course, please email infotech@ucsd.edu.
Course Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
Withdrawal End Date:
Schedule:
Instructor:
Kent Yang, B.A., Sun Certified Java Developer
Computer Software Consultant; Sr. Technical Manager G2 Software Systems; Independent Contractor, SPAWAR
Kent Yang has an M.S. in Cyber Security Operations and Leadership from USD. Kent is a software engineering professional and a Sun Certified Java developer. Kent has over 30 years of experience in the industry, currently serving as a senior technical manager/principal architect with a San Diego consulting firm. A proven track record of teaching programming and software development courses for UC San Diego Extended Studies for 25+ years, including Introduction to Programming, Java Programming I, II, III, IV, Java Security and Cryptography, and Java Database Programming. His passion for programming and dedication to teaching is evident in his commitment to fostering the next generation of software engineers.
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
Withdrawal End Date:
Schedule:
Instructors:
Kent Yang, B.A., Sun Certified Java Developer
Computer Software Consultant; Sr. Technical Manager G2 Software Systems; Independent Contractor, SPAWAR
Kent Yang has an M.S. in Cyber Security Operations and Leadership from USD. Kent is a software engineering professional and a Sun Certified Java developer. Kent has over 30 years of experience in the industry, currently serving as a senior technical manager/principal architect with a San Diego consulting firm. A proven track record of teaching programming and software development courses for UC San Diego Extended Studies for 25+ years, including Introduction to Programming, Java Programming I, II, III, IV, Java Security and Cryptography, and Java Database Programming. His passion for programming and dedication to teaching is evident in his commitment to fostering the next generation of software engineers.
James Gappy, M.S.
Senior Software Engineer, Sony
James Gappy earned his master’s degree in Computer Science from Wayne State University, specializing in Software Engineering. He is a computer science professor with over 15 years of teaching experience, dedicated to fostering engaging and practical learning experiences for his students.
Before transitioning to academia, James worked as a Senior Software Engineer at Sony Interactive Entertainment, where he architected AWS infrastructure and developed analytics and licensing systems for PlayStation projects. He also served as a content author at ZyBooks (Wiley Publishing), creating and refining interactive programming textbooks and lab materials in Java, Python, C/C++, and database systems.
James is passionate about delivering hands-on, inclusive computer science education that bridges the gap between academic learning and real-world industry practice.
Section ID:
Class type:
Textbooks:
All course materials are included unless otherwise stated.
Policies:
Withdrawal End Date:
Schedule:
| Date | Day | Start | End |
|---|---|---|---|
| 10/8/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 10/13/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 10/15/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 10/20/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 10/22/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 10/24/2026 | Saturday | 08:00 a.m. | 10:00 a.m. |
| 10/27/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 10/29/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 11/3/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 11/5/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 11/10/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 11/12/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 11/17/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 11/19/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 11/24/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 11/26/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 12/1/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 12/3/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
| 12/8/2026 | Tuesday | 10:00 a.m. | 01:00 p.m. |
| 12/10/2026 | Thursday | 10:00 a.m. | 01:00 p.m. |
Section ID:
Class type:
All class meetings held in-person according to published location, dates and times. Students may be expected to engage with course content online during the published course dates.
Textbooks:
All course materials are included unless otherwise stated.
Policies:
Withdrawal End Date:
Schedule:
| Date | Day | Start | End |
|---|---|---|---|
| 10/13/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 10/15/2026 | Thursday | 06:00 p.m. | 09:00 p.m. |
| 10/20/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 10/27/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 11/3/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 11/10/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 11/17/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 12/1/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 12/8/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |
| 12/15/2026 | Tuesday | 06:00 p.m. | 09:00 p.m. |