jackmyers.info
Class links
- Welcome to HOOPDA
- Syllabus is maintained in Canvas
- Class slides
- Lectures on my Youtube channel
- Rowan-specific videos
- Source code for each lecture
- Software (including VS Code instructions)
- Groups
- The semester project
- *** LAB FINAL ***
- Spring 2024 Class Schedule
Javadoc
- Javadoc example
- Generating Javadoc from Eclipse (required for all labs)
- Maze Javadoc (Javadoc from Eclipse for the maze assignment)
UML
- StarUML download site
- StarUML user manual
- UML Class Diagrams training video (22:30)
- UML Sequence Diagrams training video (11:15)
Logging
- Review of Logging courtesy of Professor Chien
Useful links
- Virtual Desktop
- The virtual desktop is a great way to access tools like Eclipse remotely. Also good if you are a Mac user and want to launch a PC desktop.
- Online Java Compiler
- Comile your programs online without an IDE!
- Eclipse tips
- Content assist, line numbers, end of line guide... Also, when you set up your workspace (or even after using it a while) you can store the workspace name, so that your title bar sees it. Windows --> Preferences --> General --> Workspace. Then type your workspace name in the textbox.
Notes
- Sometimes Strings don't behave like other objects...
- Some reasons why interfaces are very cool
- Java 8 introduces lambdas, and a new way to do enhanced for (aka for-each) loops using the forEach() method.
- Are checked exceptions evil? Interesting article here.
Supplemental Materials
- IOOP Glossary
- Terms and concepts you should already know from IOOP
- OOPDA Glossary
- Terms you should know at the conclusion of OOPDA. The most important terms are in this highlighted version.
- Textbook Videos
- Videos from your textbook authors on each chapter
- Regular Expressions
- Terms and concepts that will be covered in OOPDA
- Regular expressions are very powerful ways to validate patterns of strings, e.g. phone numbers, email addresses, social security numbers, product numbers and so on. Here's a good tutorial on the classes needed to implement regular expressions. Here's a link to some popular regular expressions that describe each example.
- Enums
- An enum type is a special data type that enables for a variable to be a set of predefined constants. The variable must be equal to one of the values that have been predefined for it. Common examples include compass directions (values of NORTH, SOUTH, EAST, and WEST) and the days of the week. Because they are constants, the names of an enum type's fields are in uppercase letters. In the Java programming language, you define an enum type by using the enum keyword. For example, you would specify a days-of-the-week enum type as:
public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
There is a presentation available on enums. - File IO
- IO in Java can be complex. This is a nice overarching tutorial and here is a good description of streams, files, and IO.
- BufferedReaders
- Curious as to how exactly a BufferedReader reads when the buffer is empty?
Design patterns
- The Decorator Pattern
- The Decorator pattern and its use in Java IO classes.
- The MVC Pattern
- A brief description of the MVC pattern and how it applies to Della's House of Bagels.
- The Strategy Pattern
- The Strategy pattern and how it applies to our ducks.
- How a BufferedReader works
- Curious as to how exactly a BufferedReader reads when the buffer is empty?
Less Useful Links
- What Java Exceptions Really Mean : This was just too amusing not to post.
- Inner classes are hard and confusing, but a student found this web site posting which actually does a decent job in going over inner classes (in probably more detail than you might want), but it makes for a good read.