Advanced Java: Standard Edition

Introduces advanced Java language features and packages that are essential for building Java Standard Edition applications. Topics include object-oriented design, updated Java features, file input and output, exception handling, collections, generics, graphical user interfaces (GUIs), functional programming, reflection, and multithreading. Helps prepare students for industry certification in Java programming.

Advanced Java: Enterprise

Advanced Java Enterprise Edition covers features of the Java language essential for building network- and web-oriented applications. Topics include networking, Java Database Connectivity (JDBC), Servlets, JavaBeans, JavaServer Pages (JSP), Remote Method Invocation (RMI), JavaScript Object Notation (JSON), and Extensible Markup Language (XML).

Android Programming

An advanced course in the design and development of applications for mobile devices running the Android operating system. Use the Android SDK and Android Studio to craft user interfaces (UIs) and create applications that make use of web services, long-term storage, user location, and media.

Independent Study

Large-scale individual projects in computer science to be defined in cooperation with an instructor/supervisor. The project must be in in an area not covered by other course offerings. The student is responsible for the project definition and completion under the guidance of an instructor/supervisor.

Industry Internship

Provides students with the opportunity to earn course and certificate credit for working in
the field, in a supervised setting in the ICT/Computer Science industry. Internships
include software quality assurance (QA), junior developer, database programmer or
administrator, Linux system administrator, etc. One unit of credit is earned for 54 hours of unpaid or paid work.

Software Development Practicum

Integrate and apply knowledge gained through CCSF coursework in a team-based environment, collaborating with students in Visual Media Design's VMD 200A/B: Design Studio Practicum. Work on realistic projects with input invited from local employers. Develop, design and program a professional software project in a team environment.

XR: Games, Virtual and Augmented Reality using Unity

Develops fundamental skills in the use of the Unity 3D game engine to develop games and X Reality (XR or Cross Reality), including virtual reality, augmented reality and simulations or 'experiences'. Students will design independently and as part of a team. Also covers workflow itself - time and resource management, planning and production strategies for entertainment products.

Exploring Game Worlds

Utilizing the Unity game engine and a range of additional tools, this course is an introduction to the career opportunities in the games industry. Students will learn how individual games are made, distributed, and sold via both physical media and online. Virtual reality and augmented reality will also be examined.