Final Exam Topics
The exam is open book and open notes and you are free to use a calculator or whatever other computing devices you feel may aid you, but it is not open-neighbor. You can use a computing device and the Internet to access Blackboard/online books/notes/course website, but not to compile/run programs or to communicate with others online.
Cumulative Final
- This is a cumulative final! Anything from the entire class could be on the exam. See the Exam 1 and Exam 2 topics for more information.
- A slight emphasis will be on new material since exam #2
- A question from exam 1 or 2 will reappear on the final!
Threads
- Reasons to use threads, applications that can benefit from threads
- How to create a thread by implementing Runnable or extending Thread
- How to start a thread
- Problems with race conditions, avoid using synchronized
- How to make a thread wait until notified, wait until threads are done
Focus, JAR Files, Sockets
- How to make a component request focus
- Benefits of a JAR file
- Purpose of the manifest file
- Concept of ports in the context of network socket programming
- Be able to write a client or server that sends/receives data over a socket
JavaFX
- Advantages of JavaFX over Swing
- Purpose of FXML vs. Controller code
- Using the Scene Builder
- Be able to write a short JavaFX program with buttons/labels/textfields
Functional Programming
- Concept of lambda, a nameless function
- Performance enhancements possible using streams and functional programming
- Be able to write an event handler for a GUI using functional programming