This course goes beyond foundational computer science and basic programming concepts and introduces students to intermediate and advanced features of the Java programming language. Students will become familiar with object-oriented programming concepts, such as inheritance, interfaces, abstract classes, abstract methods, and polymorphism. They will learn how to write and read Java primitive types to and from files, how to serialize objects, and how to implement graphical user interfaces using JavaFX components. Typical assignments, exercises, and projects will involve using built-in and programmer-defined classes; implementing inheritance and runtime polymorphism; and creating graphical user interfaces with components like buttons, check boxes, scroll bars, and lists. At the end of the course, students submit a comprehensive final project suitable as a portfolio piece that demonstrates their mastery of advanced Java concepts.
You'll Walk Away with
- Knowledge of advanced concepts in object-oriented design (OOD) and object-oriented programming (OOP) in Java
- The skills to write robust, graphical user interface (GUI) applications and applets
- Practical familiarity with 2D graphics, multimedia, programming for concurrency, networking, and database connectivity
- The ability to work on larger, more complex projects by collaboratively designing and then individually implementing applications, in whole or in part, that exercise your competency with the core facilities of the Java APIs for feature-rich GUIs, animation, or multimedia, including components that distribute processing using the multithreading, networking, or JDBC APIs
- High school students in grades 9–12
- High school students who are interested in careers in computer science