Gettysburg College |
CS112 Intro to Computer Science II
Lecture Notes
Week 15: Dec-2 intro to Data Structures, Wrap-up
- Mon: complete Downloader basic functionality (wget-like program)
- Downloader.java
Week 14: Nov-25
- Mon: intro to Stack, hw9 discussion (undo/redo)
Week 13: Nov-18 Network/Socket Programming
- Mon: hw7-9 discussion, intro to Sockets and Network Programming
- DateServer.java (setup)
- Wed: server-client model
- DateServer.java
- DateClient.java
- Fri: complete Date Client/Server, start Downloader w/ URL connection
- DateServer.java
- DateClient.java
- Downloader.java (setup)
Week 12: Nov-11 Threads
- Mon: intro to Threads (vs. Processes)
- CountThread.java (setup, quick test)
- SumThread.java (setup, test code + timing missing)
- Wed: more Threads
- SumThread.java (mostly complete w/ test code)
- Fri: finish SumThreads, overriding equals method
- SumThread.java (command-line arguments)
Week 11: Nov-04
- Mon:
- Wed: Exam 2 review
- Thu: Exam 2
- Fri: Spinner, switch statement
- TestGUI (Spinner, switch-case)
Week 10: Oct-27 Exeption, Animation in JavaFX using Transition
- Mon: File IO, setup for Binary IO
- MyCanvas.java (openTextFile)
- PaintApp.java (setupMenu)
- Wed: File IO, Serializable, transient, customizing Serialization/Deserialization
- summary notes on Exceptions, binary file IO (PaintApp binary file saving/loading)
- Fri: Cloning
- summary notes on Cloning
Week 9: Oct-21 Interface, Event Handlers, Java Exceptions, Serializable
- JavFX summary (setup, event handlers, button, slider, color picker)
- Mon: ComboBox, ColorPicker, VBox, MenuBar/Menu/MenuItem, FileChooser
- PaintApp.java (stroke type, color)
- Stroke.java (color: private ==> protected)
- CircularStroke.java (setFill, setStroke)
- SquareStroke.java (setFill, setStroke)
- Wed: EventHandler models, inner/outer class, named/anonymous class/objects
- PaintApp.java (various bnClear event handler models)
- Fri: Java interface, exceptions, plaintext (ASCII) file
- Stroke.java (toString)
- CircularStroke.java (toString)
- SquareStroke.java (toString)
- MyCanvas.java (saveTextFile)
- PaintApp.java (setupMenu)
Week 8: Oct-14 JavaFX Canvas
- Mon: Fall Break
- Wed: intro to Canvas/drawing in JavaFX, Mouse events
- MyCanvas.java (minimally functional: addStroke, clearCanvas, paint)
- PaintApp.java (minimally functional but missing one line)
- Fri: drawing in JavaFX, Mouse events, Slider, RadioButton, ToggleGroup
- PaintApp.java (size)
Week 7: Oct-7 JavaFX
- Mon: GridPane, WhackAMouse
- WhackAMouse.java (somewhat functional)
- Wed: finish WhackAMouse, 2nd Timeline
- WhackAMouse.java (mostly functional)
- Fri: finish WhackAMouse, 2nd Timeline for count down; Canvas, GraphicsContext
- WhackAMouse.java (mostly functional)
- Stroke.java (mostly functional)
- CircularStroke.java (mostly functional)
- SquareStroke.java (mostly functional)
Week 6: Sep-30 JavaFX, Exam 1
- Mon: Timeline/KeyFrame/Duration/Animation, inheritance (constructors, dynamic binding)
- GalleryApp.java (Timeline)
- GParent.java
- Parent.java
- Child.java
- Wed: Exam 1 review
- Fri: Timeline, Game, GridPane
- WhackAMouse.java code frame (A)
Week 5: Sep-23 Basic JavaFX GUI
- Mon: hw3 Q & A, intro to JavaFX, Stage, Scene, Button
- DemoFX.java
- Wed: hw3 Q & A, Button, ActionEvent, Event Listener, HBox
- DemoFX.java
- Fri: BorderPane, Label, Image, ImageView
- GalleryApp.java
Week 4: Sep-16 inheritance, abstract, generic class
- brief notes on inheritance
- Mon: abstract method, abstract class; array vs. arraylist; terms: polymorphism, dynamic binding
- Stroke.java (notes on abstract)
- CircularStroke.java
- DrawApp.java (notes on polymorphism)
- Wed: overriding vs. overloading, abstract, widening/narrowing conversion
- Fri: generic class, String.format(.., ....)
- Pair.java (A)
Week 3: Sep-09 OOP, inheritance
- Mon: readability/efficiency/compact, Math.power(x, 2) vs. x * x, ternary operator, intro to inheritance, this
- SquareStroke.java
- CircularStroke.java (reuse constructor using this(..))
- DrawApp.java (canvas.promptChar, SquareStrokes 1st try)
- Wed: new keywords (extends, super, this); new term parent/child, super/sub, base/derived
- Stroke.java (parent class)
- SquareStroke.java
- CircularStroke.java
- DrawApp.java (Stroke array)
- Fri: JavaFX setup/demo
Week 2: Sep-02 brief notes on object oriented programming
- Mon: == vs. equals, abstraction, Java class review
- CircularStroke.java
- DrawApp.java (initial drawing, clear, redrawing)
- Wed: static vs. non-static, array review, random access vs. sequential access, hw0 Q & A, submission
- CircularStroke.java (notes on static)
- Fri: basic vs. wrapper class, generic methods
- Generics.java (notes as comments)
Week 1: Aug-26 admin., Java review
- Mon: administrivia, syllabus, Java review, basic vs. object type
- Wed: equals vs. ==, abstraction, eclipse, account setup, oop review
- Fri: class composition, syntax, JavaDoc comments
- CircularStroke.java (A)
- DrawApp.java (before oop)
- DrawApp.java (after oop)