Print
            
            Code
            
                
                SW-PRO2
            
            Version
            
                
                2.0
            
            Offered by
            
                
                Software Ingeniør
            
            ECTS
            
            10
            
Prerequisites
            
                
                1. semester software ingeniør kursus "Programmering 1" (tidligere "Software udvikling med UML og Java 1") eller et lignende kursus skal være afsluttet.
            
            Main purpose
            
            Formålet er at kvalificere studerende til at forstå og mestre begreber og teknikker inden for objektorienteret systemudvikling og programmering, herunder klient/server-programmering og grundlæggende forståelse af computer netværk.
Knowledge
            
            Den studerende skal kunne:
- Redegøre for systemarkitektur, herunder klient/server-struktur og samtidig programmering
- Forklare centrale principper i objektorienteret systemudvikling, herunder udvalgte designmønstre og softwaretestmetoder
- Redegøre for grundlæggende netværksprincipper med relevans for klient/server-kommunikation, herunder lagdeling, adressering, navneopslag og faktorer, der påvirker netværksforsinkelse
Skills
            
            Den studerende skal kunne:
- Anvende designmønstre og udvikle objektorienteret kode i Java
- Udvikle trådsikre klasser og flertrådede programmer
- Udføre unit-test og systemtest ved brug af relevante testteknikker
- Udvikle klient/server-systemer ved hjælp af sockets i Java
- Analysere netværksforbindelser i socket-baserede klient/server-applikationer ved brug af pakkesniffer-software
Competences
            
            Den studerende skal kunne:
- Udvikle fleksibel og vedligeholdelsesvenlig Java-software ved brug af relevante arkitekturmønstre
- Planlægge og gennemføre teststrategier for objektorienterede systemer
- Udvikle komplette klient/server-løsninger med selvdefinerede applikationsprotokoller
- Inkorporere netværksovervejelser i design og implementering af socket-baserede klient/server-applikationer
Topics
            
            
            Teaching methods and study activities
            
            Semestret har 96 klasselektioner, der vil bestå af  øvelser og kursusopgaver. 
Resources
            
            Litteratur:
•	Kurose, J. F., & Ross, K. W. (2021). Computer Networking: A Top-Down Approach (8. ed.). Pearson.
Evaluation
            
            
            Examination
            
            Eksamensforudsætning: 
1. Fremmødekrav (≥ 75%) 
2. 3 kursusopgaver afleveret inden deadline. 
3. Bestået en skriftlig test i netværksteori. Testen dækker vidensmål om netværkslag, adressering, DNS og netværksforsinkelse – emner, som ikke indgår i den mundtlige eksamen.
4. Kun for Softwareingeniørstuderende: 
Gennemført eller meriteret WS2, Programmeringsworkshop 2
Hvis eksamensforudsætning ikke er opfyldt, skal den studerende gennemføre en skriftlig opgave i WISEflow for at blive indstillet til reeksamen. 
Denne opgave planlægges efter den ordinære eksamen. 
Eksamensform:
Individuel mundtlig eksamen, 20 minutter, uden forberedelse.
- Den studerende trækker et spørgsmål fra en pulje af tidligere kendte spørgsmål.
- Den studerende vil forklare koncepter og teorier fra kurset, gerne ved at benytte kursusopgaver som reference.
Bedømmelsen sker alene på baggrund af den studerendes mundtlige præstation.
Ekstern bedømmelse.
Tilladte hjælpemidler:
Alle
Reeksamen:
Samme format som ordinær eksamen.
Grading criteria
            
            Karakter efter 7-trinsskala.
Additional information
            
            
            Responsible
            
                
                Troels Mortensen (trmo)
            
            Valid from
            
                
                01-02-2026 00:00
            
            Course type
            
                
            
            Keywords
            
                
                Java, klient/server-systemer, systemarkitektur, designmønstre, computernetværk, internetprotokoller