Software and Programming I
Lecturers: Roman Kontchakov and Carsten Fuhs
Programmes: BSc Computing, BSc IS&M, BSc Data Science and FdSc
Time: Thursday 2pm - 5pm and 6pm - 9pm (additional optional tutorials 5pm - 6pm)
Room: MAL B04 (A-H: 2-3.30pm, I-Z: 3.30-5pm) and MAL B20 (A-L: 6-7.30pm, M-Z: 7.30-9pm)
Lab: MAL 109 (2-5pm) and MAL 414/415 (6-9pm)
Code: COIY018H5
Textbook
Cay S. Horstmann
Java for Everyone
2nd edition,
John Wiley & Sons, 2013
Companion Web Site (including worked examples and screencasts)
Electronic version (via Birkbeck Library)
Schedule and Slides
- 16 Jan
- Introduction. Basic Elements of Java: HelloWorld and PrintSquares
Lab: InterestCalculator.
- 23 Jan
- Conditional Statements. Method call stack walk-through.
Lab: InterestCalculator2, RomanNumber and RomanNumber2.
Marked Exercise 1: LeapYear (deadline: 6 Feb)
- 30 Jan
- Loops and Expressions.
Lab: PrintHelloWorldWhile, PrintHelloWorld, InterestCalculator3 and InterestCalculator4.
Marked Exercises 2 & 3: Powers & BalancedParentheses (deadline: 13 Feb)
- 6 Feb
- Arrays and Basic Algorithms.
Lab.
Marked Exercise 4: ArrayExercises (deadline: 20 Feb).
- 13 Feb
- Test 1.1, Test 1.2. (answers 1.1, answers 1.2).
Example (answers).
Lab.
- 20 Feb
- Objects and Classes.
Lab.
- 27 Feb
- More on Objects and Classes.
Lab.
Marked Exercise 5: CashRegisterP816 and CashRegisterP816Test (deadline: 12 Mar).
- 5 Mar
- Inheritance and Subclasses.
Lab.
Marked Exercise 6: Team, Game and GameTest (deadline: 19 Mar).
- 12 Mar
- Classes and Arrays.
Lab: Student and StudentTest; with subclasses:
Person, StudentR, Tutor and PeopleTest.
- 19 Mar
- Object-Oriented Design.
Lab.
- 26 Mar
- Input-Output and Exception Handling.
Test 2 (answers).
- 14 May
- Revision Lecture.
Exam Papers: SP1-2016, SP1-2017, SP1-2018 and SP1-2019.
- 21 May
- Revision Lecture 2.
- ?? June
- Exam
Assessment
Coursework: 25%
- Test 1 (13 Feb, open-book test, 80 minutes): 10%
- 6 Lab Exercises (the exercises are a pre-requisite for Test 2): 5%
- Test 2 (26 Mar, open-book test, 80 minutes): 10%
Examination: 75% (past exam papers can be found at Birkbeck eLibrary)
Labs
Lab: MAL 109
Teaching Assistants: Tobi Brodie, Ping Brennan
Software and Links
- Java SE SDK
- Virtual Machine and development tools (compiler, etc.)
- BlueJ
- Integrated Development Environment (BlueJ tutorial)
- Greenfoot
- Educational software designed to make learning programming easy and fun
- CodinGame
- A website has coding puzzles and games
- Java tutorials
- Practical guides for programmers by Oracle
- Java 8 API specification
- A list of all packages and classes with descriptions of their methods