An advanced-level course which examines advanced Java features including advanced graphical user interfaces (GUI), data structures, file I/O, database connectivity, multithreading, generics, recursion, efficiency of algorithms, Java Server Pages (JSP), and Java Frameworks.
Goals, Topics, and Objectives
- Advanced Graphical User Interfaces (GUI), e.g. Swing, JavaFX
- Data Structures (Lists, stacks, queues, hashmaps, treemaps)
- File I/O
- Database Connectivity
- Efficiency of Algorithms
- Java Server Pages (JSP)
- Java Frameworks
- Test Driven Development
- Explain the difference between Swing and JavaFX.
- Create GUI applications using advanced techniques such as anonymous classes and lambda expressions.
- Create data structures.
- Perform file input/output (I/O).
- Access a database using Java.
- Explain Big-O notation and how to determine the efficiency of an algorithm.
- Create a dynamic web (HTTP) page using a Java Server Page.
- Explain when to use multithreading.
- Create a multithreaded program.
- Implement Java Generics.
- Create Java methods using recursion.
- Describe various Java frameworks, such as Struts, Spring/MVC, and JSF.
Assessment and Requirements
Assessment of academic achievement may include (but is not limited to) exams, quizzes, homework, and laboratory assignments.
Credit for Prior College-Level Learning
Student will present CIS Department with a portfolio of Java development work related to the course learning outcomes. The portfolio will be evaluated using a rubric.
Student posses a recent (among the two most recent editions) Oracle Certified Professional or Oracle Certified Expert in Java Development (Developer). Credential will be reviewed by CIS Department.