Software and Programming I

Lecturers: Roman Kontchakov and Carsten Fuhs
Programmes: BSc Computing, BSc IS&M and FdSc
Time: Thursday 2pm - 5pm and 6pm - 9pm
Room: MAL B04 and UCL Malet Place Eng 1.03
Lab: MAL 109
Code: COIY018H5


[Java for Everyone, 2nd ed.]

Cay S. Horstmann
Java for Everyone
2nd edition, John Wiley & Sons, 2013

Companion Web Site (including worked examples and screencasts)

Schedule and Slides

12 Jan
Introduction. Basic Elements of Java.
Lab: HelloWorld and InterestCalculator.
19 Jan
Conditional Statements. Method call stack walk-through.
Lab: InterestCalculator2 and InterestCalculator2ErrorFree.
Marked Exercise 1 (deadline: 2 Feb)
26 Jan
Loops and Expressions.
Lab: InterestCalculator3, InterestCalculator3Advanced and InterestCalculator4.
Marked Exercises 2 & 3 (deadline: 9 Feb)
2 Feb
Arrays and Basic Algorithms.
Lab: ArrayExercises.
Marked Exercise 4 (deadline: 16 Feb).
9 Feb
Test 1.1, Test 1.2 (answers 1.1, answers 1.2). Example (answers).
Lab: FibonacciSequence.
16 Feb
Objects and Classes.
23 Feb
More on Objects and Classes.
Lab: CurrencyExamples.
2 Mar
More on Arrays.
9 Mar
Inheritance and Interfaces.
16 Mar
Collections and Maps.
Test 2 (answers).
23 Mar
Input-Output and Exception Handling.
?? May
Revision Lecture.
Exam Papers: SP1-2012, SP1-2013, SP1-2014 and SP1-2015
Java code for selected questions:
?? May
Revision Lecture 2
Java code for selected questions:
?? May


Coursework: 25%

Examination: 75% (past exam papers can be found at Birkbeck eLibrary)


Labs: MAL 109

Teaching Assistants: Tobi Brodie, Ping Brennan, Dilek Celik, Suneel Kingrani and Martin O'Shea

Software and Links

Virtual Machine and development tools (compiler, etc.)
Integrated Development Environment (BlueJ tutorial)
Educational software designed to make learning programming easy and fun
A website has coding puzzles and games
Java tutorials
Practical guides for programmers by Oracle
Java API specification
A list of all packages and classes with descriptions of their methods