B1 Informatics 1 SoSe 2022

Website of Prof. Dr. Barne Kleinen, Professor for Media Informatics (Bachelor/Master) at HTW Berlin

Kara

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-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

TitleTagTools
Conditional Statementinfo1-script, java
While Loopinfo1-script, java
Info1 Scriptinfo1-script, mermaid
Notes on Sketchnotessketchnotes
BlueJ Trick - Save your Object Bench using Test Fixturesbluej
ClockDisplay Example: Reflections and Improvementsbluej, karaclock
JUnit in BlueJbluej, 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/