This is the Advanced Java Class. The daily pages will contain the code being worked on that day in its finished state for the day.
- Course Syllabus and AP Information This is linked here. Other course outlines can also be viewed by clicking in the navigation area to the left. The file ap.php tells about taking and doing well on the AP Java exam. Note there is sibling AP course (400) for AP Computer Science Principles. You need to take the proper initiative to do well on either test.
- Canvas Canvas will be the administrative portal for this class. You will submit assignments and Lab Practicals via Canvas. Grades will be kept in Canvas. It's pretty good at producing the best estimate of your grade at any given time. It will contain the definitive means of computing your grade.
- Departmental Classroom PolicyIt's all here. You should read it all. It is all simple, straightforward, and driven by common sense.
- Academic Honesty PolicyIt's all here. Your first assignment is to print and read this page, then sign and date it and return it to me.
Tutorials Tutorials will begin during the second week of class. take place in the Library Mezzanine in the evening.
An Outline of What is to Come
- Part 0, Algorithmic Warmup
- Part I, Data Structures From the Inside. Here you learn how
to build a data structure and you see that the same structure can
be built with different internal mechanisms.
- Stacks: Two Implementations, one interface
- Implementing
Iterable
- Project: Two Implementations of A List
- Project: Building a Heap and HeapSort
- Part II, Introducing JavaFX
This is Java's modern GUI framework.
- Subclassing Application
- The
Application
life cycle - Buttons and Event Handling
- Making a
Scene
:javafx.scene.layout
- Making Menus and Handling Selections
- Case Study: the HiPPoPotamus Calculator, Stacks, and RPN logic.
We will use our
Stack
class for the calculator's logic.
- Part III, Interacting with the File System: Text Files
We will be using
java.nio.file
classes and we will learn how to trigger their action from a GUI. We will also learn about the serialization of object and how to save state in a file.- Writing a simple text editor
- Working with file choosers and dialogs
- Part IV: Graphics, the Canvas Object, and Serialization
- Drawing in the
Canvas
Object - Colors and Paint
- Sliders and Color Mixing
- Case study:: a paint program
- Saving graphical objects in a file
- Drawing in the
Weltanschauung for this Course By the time you straggle into this class, I expect you have signficant coding skill. You should be able to read the Java API guide and understand its contents.
We wil do some case studies in this class and I expect you to contribute to discussions on their design and implementation. You will see lots of highwire live coding and you will participate in the enterprise.
There will be two types of projects. One is an etude: these are small programs that ask you to solve a pretty specific probleem. The other is the building of some sort of working application. Forget tests and quizzes: everything depends on writing working code.
You will end up applying lots of things you learned in Procedural. This is where the rubber meets the road.
Driving Everyone will "drive." So, install the Airtame app on your lappy so you can have your day in at the rostrum! You can call on your classmates or me for assistance! You will learn about coding in front of others. It's an adventure. Only the foolish or the terminally insouciant will find it anything less than terrifying. When you drive, I will sit on your pod and bedevil your hapless classmates.