CloseHelpPrint
Kies de Nederlandse taal
Course module: 202001066
202001066
Programming
Course info
Course module202001066
Credits (ECTS)8
Course typeStudy Unit
Language of instructionEnglish
Contact persondr. W. Corbo Ugulino
E-mailw.corbougulino@utwente.nl
Lecturer(s)
PreviousNext 3
Examiner
dr. W. Corbo Ugulino
Contactperson for the course
dr. W. Corbo Ugulino
Lecturer
dr. W. Corbo Ugulino
Lecturer
dr.ing. M. Elhajj
Lecturer
dr. L. Ferreira Pires
Academic year2023
Starting block
1B
RemarksBIT/AT students register in Osiris; others contact modulesupport-bit@utwente.nl.
Minor students: register for the min
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
Aims
  • 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.
Content
Following this Learning Unit requires following also the Academic Skills Unit.


Students from AT who are doing the module as an Elective can register for the mandatory courses System Design (4 EC) and Programming (8EC) and have to follow both courses. It is not allowed to follow only one of the courses. Students who are doing this module as a minor will be enrolled via the Minor coordinator.

 
Assumed previous knowledge
Proficiency in Functional Programming (content offered in Module 1 provides the minimum requirements)
Module
Module 2
Module
Module 6D
Participating study
Bachelor Business & IT
Participating study
Bachelor Advanced Technology
Required materials
Book
David J. Eck. Introduction to Programming Using Java. Version 8.1, July 2019. Available for free at: http://math.hws.edu/javanotes/
Course guide
The manual of the module contains all exercises. The manual also points to books and alternative online material. The manual is available on Canvas.
Book
Chapter 5 from Ross Anderson, Security Engineering.Wiley, 2nd edition, 2008. Available for free at: http://www.cl.cam.ac.uk/~rja14/book.html
Recommended materials
Book
C.S. Horstmann and G. Cornell, Core Java, volume I: Fundamentals. Prentice Hall, 9th edition, 2012.
Book
C.S. Horstmann and G. Cornell, Core Java, volume II: Advanced Features. Prentice Hall, 9th edition, 2012.
Instructional modes
Assignment
Presence dutyYes

Lecture
Presence dutyYes

Practical
Presence dutyYes

Project supervised
Presence dutyYes

Tests
Exam

Project Report

Additional Requirements

CloseHelpPrint
Kies de Nederlandse taal