Computer Laboratory

Course material 2010–11

Programming in Java

Alastair BeresfordAndrew Rice

Principal lecturers: Dr Alastair Beresford, Dr Andrew Rice
Taken by: Part IA CST, Part IA NST, Part I PPS
Past exam questions

Undergraduate summer project opportunities
Put your Java skills to use over the summer working with us on research (related) projects developing mobile phone applications for Google Android.
more information

Practical classes

Students are expected to attend one practical session per week. The dates and times of the practical sessions associated with this course are as follows:

Thursday 20th January2pm — 4pmA & B
4pm — 6pmC & D
Thursday 27th January2pm — 4pmA & B
4pm — 6pmC & D
Thursday 3rd February2pm — 4pmA & B
4pm — 6pmC & D
Thursday 10th February2pm — 4pmA & B
4pm — 6pmC & D
Thursday 17th February2pm — 4pmA & B
4pm — 6pmC & D
Thursday 24th February2pm — 4pmA & B
4pm — 6pmC & D
Thursday 3rd March2pm — 4pmA & B
4pm — 6pmC & D
Thursday 10th March2pm — 4pmA & B
4pm — 6pmC & D

Game of Life Animations (Tick3*)

The submissions for Tick3* can be viewed here

Audio representations of the Game of Life (Tick 5*)


You may find the restart guide helpful if you need to reboot your PWF workstation from Windows into Linux.

Workbook Errata

The printed workbooks contain (at the very least!) the following errors. Errors are indexed by workbook (W), page (P) and line (L), which may be negative, indicating that the reader should count upwards from the bottom of the page. These errors have been corrected in the on-line versions of the workbooks shown above. If you find any further errors, please email ticks1a-admin[at]

11413b >= a+2a >= b+2dm547
237your third Java Tickyour second Java Tickmb809
697stepSlider = createNewSlider(1,10,0,Strings.CONTROL_STEP);stepSlider = createNewSlider(0,10,0,Strings.CONTROL_STEP);fh291

Bit visualisation programs

You can download three bit visualisation programs from this website:

  • b2d.jar (exploring binary to decimal conversion)
  • d2b.jar (exploring decimal to binary conversion)
  • bitwise.jar (exploring bitwise operators)

To use the programs, download them to your home directory, start a new shell, and run the jar file as described in the workbook. For example, to run bitwise.jar you would type the following:

java -jar bitwise.jar

Each program will print out a helpful usage message which you can use to work out what additional options to give the program. Ask a demonstrator for help if you get stuck.

Seating assignments

Students have been assigned the following seats for the practical classes. Please email the Principal Lecturers without delay if your name is not on this list and you are a Part IA CST student or otherwise due to offer Paper 1 of Part IA CST.

Adeyefa, Paulpaa36APCCL001
Andrade, Ollyoa235APCCL002
Arran, Chriscda25APCCL003
Baker, Ianicb26APCCL004
Barker, Daviddjb218APCCL005
Barley, Alexab914APCCL006
Barry, Robrtb33APCCL007
Benfold, Williamwjb42APCCL008
Bosman, Sarahseib2APCCL011
Brazdeikis, Matasmb809APCCL012
Honzakova, Katekh486APCCL013
Brigg, Robertrcb52APCCL014
Brown, Lewislab61APCCL015
Burton, Jonathanjpb73APCCL016
Kirk, Matthewmjk58APCCL017
Manton, Ashleyajdm2APCCL018
Marnerides, Demetris D.dm547APCCL019
Millington, Tomtam49APCCL021
Morley, Jamesjwm40APCCL022
Moss, Joeljmm208APCCL023
Moulang, Katieklm65APCCL024
Moussa, Tariktm428APCCL025
Munoz, Eduardoem487APCCL026
Newson, Georgegn243APCCL027
Ngorok, Nicholasnn256APCCL028
Ni, haohn263APCCL029
O'Sullivan, Amyafo22APCCL030
Oram, Willwjto2APCCL031
Selvi, Marcoms959APCCL032
Chambers, Nicknrc39BPCCL033
Chan, Wingwyc29BPCCL034
Cheetham, Matthewmjc240BPCCL035
Chetwin, Thomastec38BPCCL036
Cochrane, Rachelrkc29BPCCL037
Cole, Nathannlc31BPCCL038
Collins, Hughhc365BPCCL039
Cook, Edwardeec35BPCCL041
Crawford, Opheliaoc251BPCCL042
d'Souza, Joaquimjwd38BPCCL043
Dagys, Andriusad584BPCCL044
Eadie, Calumcje46BPCCL045
Ede, Dylandje38BPCCL046
Gare, Marcusmg585BPCCL047
Glotnis, Rolandrg428BPCCL048
Goh, Timothytg319BPCCL049
Grant, Jamesjg595BPCCL051
Ouldridge, Williamwro20BPCCL052
Palyutina, Karinakp368BPCCL053
Pattuzzi, Samsp598BPCCL054
Perera, Noelnap35BPCCL055
Prankerd-Smith, Jamestjap3BPCCL056
Ragan, Harryhr309BPCCL057
Ramsay, Benbr320BPCCL058
Rolph, Andrewar578BPCCL059
Rothwell, Colincr437BPCCL061
Saban, Edwardejs81BPCCL062
Sanduleac, Danods22BPCCL063
Scheps, Raphaelrs658BPCCL064
Shepherd, Charliecs648BPCCL065
Sidor, Simonss958BPCCL066
Smith, Tomtcs40BPCCL067
Sparrow, Tomtps30BPCCL068
Spencer, Maxms955BPCCL069
Spooner, Nickns507BPCCL070
Blessenohl, Simonsb814CPCCL001
Brashko, Jamesjb705CPCCL002
Diestel, Olivercod24CPCCL003
Emerson, Hughhfte2CPCCL004
Farkas, Martonmbf23CPCCL005
Farrell, Gideongtf21CPCCL006
French, Jonjf451CPCCL007
Gadd, Matthewmg541CPCCL008
George, Ashleyag645CPCCL011
Gibson, Louislg401CPCCL012
Green, Dandg374CPCCL013
Gwillim, Alexag647CPCCL014
Hadjimichael, Mariosmh620CPCCL015
Harpole, Aliceah631CPCCL016
Heath-Renn, Frederickfh291CPCCL017
Mrksic, Nikolanm480CPCCL018
Osmjans, Olegoo238CPCCL019
Park, Sunoosp590CPCCL021
Phillips, Lizerp39CPCCL022
Pritchard, Daviddap45CPCCL023
Seth, Rishirs655CPCCL024
Solari, Catherinecs641CPCCL025
Staples, Aidanass37CPCCL026
Sutcliffe, Thomtls31CPCCL027
Szczypinski, Filipfts21CPCCL028
Taebipour, Monamt519CPCCL029
Takacs, Peterpt332CPCCL030
Tangpanitanon, Tiewjt467CPCCL031
Thomas, Danieldt365CPCCL032
Thomson, Mattmt521CPCCL033
Thorner, Benbjt38CPCCL034
Brazdil, Daviddb538DPCCL035
Horsman, Alexajh239DPCCL036
Howard, Heidihh360DPCCL037
Iremonger, Simonsmi29DPCCL038
Ivkovic, Ognjenoi212DPCCL039
Jennings, Williamwj240DPCCL041
Khan, Samisk644DPCCL042
King, Jamesjk509DPCCL043
Knox, Johnjk510DPCCL044
Kovalev, Vladvk283DPCCL045
Li, Ranrl419DPCCL046
Lindesay, Forbesfpfl2DPCCL047
Liu, Yolandayl431DPCCL048
Makris, Christoscm630DPCCL049
Sweeney, Chriscs649DPCCL050
McCann, Roryrsm54DPCCL051
Mitra, Shreediptasm859DPCCL052
Thornton, Michaelmt518DPCCL053
Turc, Ralucairt24DPCCL054
Tykarski, Michaelmt515DPCCL055
Ursulis, Antanasau231DPCCL056
Wang, Qiandw394DPCCL057
Warrington, Chriscw471DPCCL058
Whyte, Jackjbw30DPCCL059
Winter, Clemenscw470DPCCL061
Wood, Ssw557DPCCL062
Woods, Jennyjlw70DPCCL063
Wright, Shaunspw38DPCCL064
Wu, Yongyw311DPCCL065
Yuan, Kevinhky22DPCCL066
Zhang, Jasonjcz20DPCCL067
Zhao, Yifanyz369DPCCL068
Nowack, Peterpjn35DPCCL069