Print
Code
IT-PRO2
Version
2.0
Offered by
ICT Engineering
ECTS
10
Prerequisites
Completed the 1st semester Software Engineering course “Programming 1” (formerly "Software Development with Java 1") or a similar course.
Main purpose
The purpose is to qualify the student to understand and master the concepts and techniques of object-oriented system development and programming, including Client/Server programming and basic understanding of computer networks.
Knowledge
The student must be able to:
- Explain system architecture, including client/server structure and concurrent programming
- Explain key principles of object-oriented system development, including selected design patterns and software testing methods
- Explain basic network principles relevant to client/server communication, including layering, addressing, name systems and factors that affect network latency.
Skills
The student must be able to:
- Apply design patterns and develop object-oriented code in Java
- Develop thread-safe classes and multi-threaded programs
- Perform unit tests and system tests using relevant test techniques
- Develop client/server systems using sockets in Java
- Analyse network connections in socket-based client/server applications using packet sniffer software.
Competences
The student must be able to:
- Develop flexible and maintainable Java software using relevant architecture patterns
- Plan and implement test strategies for object-oriented systems
- Develop complete client/server solutions with self-defined application protocols
- Incorporate network considerations into the design and implementation of socket-based client/server applications.
Topics
Teaching methods and study activities
The semester has 96 classroom lessons. These lessons will consist of teacher presentations and exercises.
The course will include a number of course assignments.
Resources
Kurose, James F. and Ross, Keith W.: Computer Networking, A Top-Down Approach (8th edition, Global edition). Pearson Education Limited. ISBN-978-1-292-40546-9
Evaluation
Examination
Exam prerequisites:
1. Attendance (≥ 75%)
2. Three or four course assignments handed in before deadline.
3. Passed a written test in network theory. The test covers the third knowledge objective on network layers, addressing, DNS and network latency - topics that are not included in the oral exam.
4. For Software Engineering students only: Completed or achieved credit transfer for WS2, Programming Workshop 2
If the exam prerequisites are not met, the student must complete a written assignment in WISEflow to qualify for the re-exam. This assignment will be scheduled after the ordinary exam.
Type of exam:
Individual 20 minutes oral examination without preparation.
- The student will draw from a pool of previously known questions.
- The student will explain concepts and theories from the course, preferably using the course work as reference.
External assessment.
Allowed tools:
All
Re-exam:
Conducted as the ordinary exam.
Grading criteria
Grading based on the Danish 7-point scale.
Additional information
Responsible
Troels Mortensen (trmo)
Valid from
2/1/2026 12:00 AM
Course type
Compulsory Course for all ICT Engineering<br/>2. semester<br/>
Keywords
Java, client/server systems, system architecture, design patterns, computer networks, internet protocols