Print

Programming 2

Code

IT-PRO2

Version

1.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 should be able to understand:
- System architecture
- Various methods for testing
- Concurrent programming
- Design patterns
- Client/server structure
- Layered abstractions in protocol stacks
- The Internet’s naming system
- Addressing in the Internet

Skills

The student should achieve the skills:

- Implement design patterns in Java
- Test software using different testing techniques, including (but not limited to) JUnit testing, System testing, etc.
- Implement thread-safe classes and multi-threaded programs
- Make programs communicate using client-server technologies
- Calculate and measure delays in a network
- Analyse network traffic using packet sniffer software

Competences

​The student should be able to:
- Implement programs in Java using design patterns, and evaluate which to use
- Test software using relevant testing techniques
- Develop flexible java code using interfaces
- Implement thread-safe classes and multi-threaded programs
- Implement client-server systems
- Create application layer protocols for distributed systems

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. 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/2025 12:00:00 AM

Course type

Compulsory Course for all ICT Engineering
2. semester

Keywords

Java, client/server systems, system architecture, design patterns, computer networks, internet protocols