Lecture Log - Semester 1
The following is a log of the material covered in the Semester 1 Lectures.
| Week Number | Lecture Content | Examples | Tutorial material |
|---|---|---|---|
| Week 1 | Pocket calculator type computations, simple strings, variablesIn the first lecture we briefly discussed different operating systems, discussed platform dependence vs platform independence, that a program has to be understandable to computers and humans. In order to write programs, we open in Linux a terminal, edit a file with an editor, save it, and then run it. More information on Linux can be found from https://www.cs.bham.ac.uk/internal/courses/java/msc/introshort/. On Friday we look first at the meaning of assignment. The second hour involves a lab session on an easy problem to be solved by everybody on their own with some support. |
Examples | |
| Week 2 | Classes and ObjectsOn Wednesday, we introduced Objects, Classes, Methods (in particular, constructor, getter, setter, and toString methods). Furthermore we learned about javadoc. On Friday, we started with a more involved example, the Amount class as a way to make exact computations of amounts in a bank account. |
Examples | |
| Week 3 | Basic types, conditionals, loops, JUnit testsOn Wednesday, we saw all basic types, the conditionals if and case, as well as for and while loops.On Friday we solve together a non-trivial example for an if-then-else statement. Furthermore we learn about JUnit tests. |
Examples | |
| Week 4 | Loop Invariants, Arrays, Array Lists, printf, scannerOn Wednesday, we stressed the importance to comment loops appropriately, in particular, to give a loop invariant capturing the meaning of the loop. Furthermore we saw arrays and arraylists.On Friday we will see in addition printf and the scanner for input. |
Examples | |
| Week 5 | EclipseOn Wednesday, we introduced Eclipse and started with a User Interface which has been extended in the example files.On Friday there was an in-class exercise to extend the bank account example by some I/O and a statement. |
Examples | |
| Week 6 | Exceptions, Patterns, File I/OOn Wednesday, we looked at exceptions and patterns and briefly looked at the revised bank account example. More on this on Friday. We also went through the module questionnaires and had the first in-class test. |
Examples | |
| Week 7 | InheritanceOn Wednesday, we revised the core idea of object oriented programming, introduced inheritance and looked at the bank account example again.On Friday you were to implement a simple library system. |
Examples | |
| Week 8 | Inheritance - An example, Packages, HashMapOn Wednesday, we discuss the example from last Friday and use packages. Because of a powercut we develop it on the whiteboard and finish the example on Friday. In addition, we introduce HashMap as an implementation of hash tables for efficient retrieval of data. |
Examples | |
| Week 9 | Abstract classes, InterfacesOn Wednesday, we introduced Interfaces and exemplified them with the Payable interface (from Deitel/Deitel). On Friday, we did something similar in the lab when students should implement a Measurable interface with use in the BankAccount and Country class. |
Examples | |
| Week 10 | Graphics and EventsOn Wednesday, we looked at Graphics (frame, panel, and how to put objects on a panel with the Graphics.java class. Furthermore we looked at the simple event of clicking a button. introduced Interfaces and exemplified them with the Payable interface (from Deitel/Deitel). |
Examples | |
| Week 11 | Test and RevisionOn Wednesday we mainly had the second in-class test. On Friday we had two hours of revision and discussed the answers to the in-class test, which was returned. In the revision part we looked in detail at an example of inheritance. We also discussed HashMap and Graphics briefly. |
Examples |