- Applying the core concepts of imperative programming, such as variables, data types, structured programming statements, recursion, lists, arrays, methods, parameters and exceptions.
- Applying the core concepts of object-orientation, such as object, class, value, type, object reference, interface, specialisation / inheritance, and composition.
- Implementing interactive applications using the Model/View/Controller pattern.
- Applying basic synchronisation mechanisms, such as monitors, locks and wait sets, to the problems of concurrent threads (race-conditions).
- Implementing client-server programs using basic network mechanisms such as Java sockets.
- Applying the basic concepts and techniques of security engineering to address the challenges of producing secure software.
- Implementing software of average size (10-20 classes) in Java by using the core concepts of imperative programming and object-orientation.
- Documenting software of average size (10-20 classes) by defining preconditions, postconditions and (class) invariants. Defining and performing a test plan for software of average size (10-20 classes) with appropriate test coverage.
Following this Learning Unit requires following also the Academic Skills Unit.
|It is required proficiency on Functional Programming (content offered in Module 1 provides the minimum requirements)|
|Bachelor Bedrijfsinformatietechnologie||Verplicht materiaal|
|David J. Eck. Introduction to Programming Using Java. Version 8.1, July 2019. Available for free at: http://math.hws.edu/javanotes/|
|The manual of the module contains all exercises. The manual also points to books and alternative online material. The manual is available on Canvas.|
|Chapter 5 from Ross Anderson, Security Engineering.Wiley, 2nd edition, 2008. Available for free at: http://www.cl.cam.ac.uk/~rja14/book.html|
|C.S. Horstmann and G. Cornell, Core Java, volume I: Fundamentals. Prentice Hall, 9th edition, 2012.|
|C.S. Horstmann and G. Cornell, Core Java, volume II: Advanced Features. Prentice Hall, 9th edition, 2012.|