Kara
- Worksheet 1
- Worksheet 2
- Testareas for manual walkthroughs
- Kara Sourcecode for the Worksheets:https://github.com/htw-imi-info1/kara
- Solutions: https://github.com/htw-imi-info1/kara/tree/public-solution
- Kara Tutorial
- Greenfoot Tutorial - YouTube
Textbook
We will be using the Textbook Objects First with Java - A Practical Introduction using BlueJ, Pearson Education, 2016, 6th edition by David Barnes and Michael Kölling. See the publishers Pearson Book Page.
There is a German translation available: Barnes, David J., Kölling, Michael: Java lernen mit BlueJ. Pearson, 2017, 6. Auflage. Pearson Book Page.
There are copies available in the library, and you can also obtain an older edition - examples and chapter order vary, but the general content is mostly the same apart from the newer chapters on lambdas and streams. More material and info on the chapter order can be found on the book’s web page: https://www.bluej.org/objects-first/
The autors have recorded videos for most lectures: Complete Video Playlist, Older Video Notes (with previous edition chapter numbers)
Textbook Chapters
Chapter 01
- Chapter 01 - Objects and Classes Objects, Classes, Methods, BlueJ, Parameters, Compiler | Video Part 1 , 2 |
- Greenfoot and thus Greenfoot Kara as well builds on top of BlueJ; this videos shows working with Objects and Classes in Greenfoot: Greenfoot Tutorial Teil 1 - Grundbegriffe Klasse und Objekt, Parameter - YouTube
Chapter 01-14
- Chapter 02 - Understanding Class Definitions - Class Definitions, Fields, Constructors, Methods, Parameters, Assignment, Getters and Setter, Printing to the command line, Conditional, Local Variables, Expressions | Video Part 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 |
- Chapter 03 - Object Interaction - Abstraction, Modularization, Object Interaction, Object Creation, Object and Class Diagrams, Primitive Types, Object Types, Multiple Constructors, Debugger | Video Part 1 , 2 |
- Chapter 04 - Grouping Objects Collections, Generics, for-each, While Loops, More Loops, Iterators, Arrays, For Loops | Video Part 1 , 2 , 3 , 4 , 5 |
- Chapter 05 - Functional Processing of Collections (Advanced) Lambda Functions, Filter, Map, Reduce | Video Part 1 , 2 |
- Chapter 06 - More-Sophisticated Behavior - Library Classes, Reading Class Documentation, Random, Packages, (Hash)Maps, Public vs. Private, Interfaces, Class Variables, Writing Class Documentation | Video Part 1 , 2 , 3 |
- Chapter 07 - Fixed-Size Collections Arrays | Video Part 1 , 2 |
- Chapter 08 - Designing Classes - Designing Classes, Coupling, Cohesion, Refactoring, Using the main method | Video Part 1 , 2 , 3 , 4 |
- Chapter 09 - Well-Behaved Objects - Modularization, Interfaces, Debugging, Walkthroughs, Testing and Interfaces, Unit Testing, Test Automation | Video Part 1 , 2 , 3 |
- Chapter 10 - Improving Structure with Inheritance - Inheritance, Subtyping, Polymorphism, Protected, Casting, Polymorphism, Static vs. dynamic typing, Overriding, Object equality | Video Part 1 , 2 , 3 |
- Chapter 11 - More about Inheritance - Abstract Classes, Interfaces | Video Part 1 , 2 , 3 |
- Chapter 12 - Further Abstraction Techniques - Abstract Classes, Abstract Methods, Multiple inheritance, Interfaces | Video Part 1 , 2 |
- Chapter 13 - Building Graphical User Interfaces - Graphical User Interfaces | Video |
- Chapter 14 - Handling Errors - Handling Errors, Exceptions, Assertions, File-based IO, Files, Command Line | |
Other Material
On this Website
Title | Tag | Tools |
---|---|---|
Conditional Statement | info1-script, java | |
While Loop | info1-script, java | |
Info1 Script | info1-script, mermaid | |
Notes on Sketchnotes | sketchnotes | |
BlueJ Trick - Save your Object Bench using Test Fixtures | bluej | |
ClockDisplay Example: Reflections and Improvements | bluej, karaclock | |
JUnit in BlueJ | bluej, junit, testing |
Java Tutorials
There are many Java Tutorials out there on the web on the topics we cover. Many will prove useful, however, do use them as practice to gauge the quality and applicability of your findings before relying on them.
A comprehensive resource for the Java language are the Tutorials by Sun/now Oracle; especially the Trail “Learning the Java Language”.
Terms Crosswords - Rather old, you need to install an Applet Runner in your browser for them to work, like e.g. this one for Chrome - https://cse.taylor.edu/~sbrandle/bluej/