This course introduces object-oriented programming, including class structure, inheritance and polymorphism. It will cover event-driven GUI programming. Other topics may include recursion, elementary data structures and algorithms, threads, file access, exceptions and intellectual property. Students will write programming projects to demonstrate their mastery of these concepts.
![](images/header_text_img.jpg)
Resources:
This is where I will post resources useful for the class and will from time to time post the lecture slides that I use in class as well.
Resources for class:
- Jetbrains student page If you didn't get a Jetbrains student account for comp151 you should do so now.
- I recommend managing your jetbrains IDEs through The Jetbrains toolbox It is so much easier to get the one you need and keep them updated.
- If you don't use the toolbox, you will need to get Intellij Idea IDE directly
- You will want to get the Java compiler. Get either version
16 or 17 if it is available (17 is better but scheduled to
come out in early September. I recommend getting it
from Microsoft openJDK
- windows users should get the MSI version,
- Mac users should get the pkg version
- linux users just use your
package manage (apt, snap, or rpm)
- you will need Git (download link) if you are on windows (Linux and maybe Mac has it already)
- we may add more later.
Class Lecture Slides:
from time to time I will post the lecture slides that I use as notes for what to discuss and present to the class here in this area.
- The intro slides from the first day (shows a longer way of hooking up github)
- the python to java transition slides
- The big long classes and
objects slides
- The slides for
inheritance and polymorphism
- The slides for abstract classes, enums and interfaces
- The slides for the intro to JavaFX and event driven programming
- The intro to JavaFX
- Error Handling: Dealing with Exceptions
- REST, JSON, APIs gson, and finally using them all with javaFX
- The teams slides, with the two window javaFX demo at the end.
- The slides for the standard libary classes we went over including ArrayLists and HashMaps
- The slides for Automated testing
- The
CS2 look at intellectual property