Advanced Programming

Academic year: 2015/2016, 2nd semester

Goal of the course: This course will provide students with advanced techniques in Java. In particular, students will acquire knowledge in the overall architecture and components of Java SDK and JRE, use of advanced programming techniques (e.g., multi-threads, reading/writing streams, XML writing and reading, generics, regular expressions, exception handling and testing) and code documentation (e.g. generate API) of the software developed.

Prerequisites
Students are familiar with basic knowledge of object oriented programming and Java. This material is taught in the following undergraduate courses:
Introduction to Programming

More details are in the course presentation form.

Schedule: Lectures -  Barbara Russo - TU: 8:30 - 10:30,  TH: 10:30 - 12:30, Room: E221 Lecture room, Ser-E
                  Labs       - Markus Gritsch and Marko Tkalcic -  FR: 14:00-16:00 and 16:00- 18:00, Room: E331 Computer room, Ser-E, E231 Computer room, Ser-E

Office hours: TU: 14:00-16:00, POS 116, POS building

For updated information check the RIS online timetable


News: The course starts on March, 1st

Lectures


Slides 1 Slides 2
#
Time
Topic Quiz Slides Code/
Exercises
1
TU, 01.03.2016 LECT Introduction to the course; the Java architecture   Slides/Notes
DatesBuggy.java
2
TH, 03.03.2016 LECT The Java environment and basic shell commands
Slides/Notes Code
3
TU, 08.03.2016 LECT Memory management in Java   Slides/Notes Code comments
4
TH, 10.03.2016 LECT Memory management in Java Q1 link to quiz page
Quiz.answers
5
TU, 15.03.2016 LECT I/O & serialisation    Slides Code.zip
6
TH, 17.03.2016 LECT
  Slides
Code.zip
7
TU, 22.03.2016 LECT  Regular expressions - searching in text

   
8
TU, 29.03.2016 LECT XML data - saving data in XML files - DOM  Q2 Slides Code.zip 
9
TH, 31.03.2016 LECT XML searching
 

10
TU, 05.04.2016 LECT Midterm on topics until 29.03

 
11
TH, 07.04.2016 LECT XML creation
 Q3
 
12
TU, 12.04.2016 LECT Exception Handling
  Slides
Code.zip
13
TH, 14.04.2016 LECT Testing and debugging -Test with annotation -  Test Driven Development
Slides
Code.zip
14
TU, 19.04.2016 LECT Run Time Type Identification Q4
Slides  
15
TH, 21.04.2016 LECT Collections and Generics
   Slides Code.zip
16
TU, 26.04.2016 LECT Advanced Inheritance - the Liskov principle - Virtual Functions
  Slides 1 Slides2 Code.zip
17
TH, 28.04.2016 LECT TDD, debug, test case examples
 Q5 Slides
TDDExample.pdf
18
TU, 03.05.2016 LECT

Multithreaded applications - and race conditions    Slides Code.zip
19
TH, 05.05.2016 LECT Coding when I need it: anonymous classes, lambda expressions
Slides  
20
TU, 10.05.2016 LECT Make your code cleaner: design patterns; Model view controller & wrapper I
 Q6  Slides  
21
TU, 24.05.2016 LECT Officina Arduino workshop   Program
 
22
TH, 26.05.2016 LECT Officina Arduino workshop      
23
TH, 26.05.2016 LECT Officina Arduino workshop
   
24
TH, 01.06.2016 LECT Course recap Q_Arduino
   
pd
FR, 10.06.2016 PD Project delivery

   
ex
WE, 06.07.2016 EXAM Exam 14:00 - 18:00 E
   




ARDUINO Workshop

Program

Please register here *** registration are closed

Have fun watching ...

Reading List