Vi samler statistik ved hjælp af cookies

Vi begynder at bruge cookies, når du klikker dig videre til næste side. Du kan sige Nej tak til statistik ved at klikke her. Vi bruger en cookie, så systemet kan huske, at du har svaret "Nej tak".

Hvis du helt ønsker at undgå cookies, skal du slå dem fra i din browser. Du skal dog være opmærksom på, at hvis du slår cookies fra, kan du ikke bruge de funktioner, som forudsætter, at hjemmesiden kan huske dine valg.

Læs mere om IT-Universitetets brug af cookies.

Acceptér cookies

ITU

Kandidat i
Softwareudvikling: Advanced Computing-sporet

Om Uddannelsen

Advanced Computing-sporet på den 2-årige kandidatuddannelse i Softwareudvikling (Cand.It, Advanced Computing-sporet) er en uddannelse for dig, der har en it-relateret bachelor og ønsker at udvikle dine evner og viden inden for softwareudvikling på et højt, fagligt niveau baseret på international forskning.

Uddannelsen har fokus på erhvervslivets behov, og du kommer til at arbejde projektorienteret med udvikling og vedligeholdelse af software. Du lærer også om den organisatoriske og ledelsesmæssige del af en udviklingsproces. 

Når du læser Advanced Computing-sporet på Softwareudvikling får du indgående viden om moderne programmeringssprog, databaser, distribuerede systemer, IT-sikkerhed, algoritmer og datastrukturer, softwareudviklingsprocesser, kravspecifikation samt organisation og ledelse. Du kommer til at arbejde med alle dele af softwareudviklingsprocessen – analyse, design, udvikling, test og idriftsættelse.

Undervisningen, eksamener, opgaveskrivning m.m. foregår på engelsk.

Softwareudvikling: Advanced Computing-spor

Studiets opbygning: Advanced Computing

Advanced Computing-sporet er udviklet til at give studerende med en it-faglig baggrund inden for programmering og softwareudvikling mulighed for at designe deres egen studiestruktur, så det passer til den enkelte studerendes kvalifikationer og ønsker til faglig udvikling.

Dette spor forbereder og målretter dig til softwareindustrien til f.eks. at udvikle ny software, nye teknologier og nye værktøjer.

Se studieordning for Software Development.

 

 

Advanced Computing 
1. semester Software Design
 Elective Modules
Practical Concurrent and Parallel Programming
7,5 ECTS credits
Algorithm 
Design I
7,5 ECTS credits
Course or Project**
7,5 ECTS credits
Course or Project**
7,5 ECTS credits
2. semester Software Design Elective Modules Specialisation Part 1
Advanced Programming
7,5 ECTS credits
Software Architecture 
and Security 

7,5 ECTS credits
Course or Project** 
7,5 ECTS credits
Specialisation 
Course 1 
7,5 ECTS credits
3. semester Elective Modules Specialisation Part 2
Course or Project**
7,5 ECTS credits
Thesis Preparation
7,5 ECTS credits
Specialisation Course 2 (and 3) 
15 ECTS credits
4. semester Master Thesis
30 ECTS credits

Sporets obligatoriske indhold (30 ECTS) sigter mod at give dig relevante kvalifikationer ud i problemløsning, levering af softwareløsninger og samarbejde – kvalifikationer, der vil adskille dig fra størstedelen af andre softwareudviklere. Det obligatoriske indhold er kategoriseret i et overordnet modul:

  • Software Design (30 ECTS):  Modulet fokuserer på avancerede automatiske teknikker  og metoder fra forskning i både computer science og software engineering, hvilket omfatter problemløsningsteknikker, programmeringssprog, projektorganisering, softwarearkitektur og modeldrevet udvikling.

Kurserne på Advanced Computing-sporet er baseret på viden indenfor områder som grundlæggende diskret matematik, algoritmer og datastrukturer samt programmeringssprog. Læs mere om kurserne her.

Du bør have kendskab til følgende emner:

  • Propositions- og prædikat-logik
  • Kombinatorik og sansynlighed 
  • Sandsynligheder
  • Mængder og funktioner
  • Regulære udtryk, grammatikker og automat teori
  • Algoritmisk problem løsningsteknikker
  • Sortering
  • Træer og grafer
  • Hasing
  • Algoritmer til korteste rute 
  • Big-O notation 
  • Kompleksitetsanalyse
  • Syntaks og parsing teknikker for programmeringssprog 
  • Objektorienteret programmering (Java foretrækkes)
  • Indre klasser
  • Generiske typer
  • Kendskab til tråde og synkronisering

Specialiseringer og valgfrie kurser 
Uddannelsen tilbyder flere specialiseringer, og du skal mindst vælge en i løbet af dit studie. En specialisering er en organiseret samling af kurser, der giver dig mulighed for at arbejde med avancerede emner inden for et specifikt område, og forbereder dig til at skrive dit speciale. 

Derudover har du god mulighed for at skabe din egen profil gennem valgfrie kurser. Du kan vælge mellem alle IT-Universitetets udbudte kurser på kandidatniveau, samt tage valgfrie kurser på et andet universitet. Se alle udbudte kurser i kursusoversigten.

Mere

Skjul

Specialiseringer

Uddannelsen tilbyder flere specialiseringer, og du skal mindst vælge en i løbet af dit studie. En specialisering er en organiseret samling af kurser, der giver dig mulighed for at arbejde med avancerede emner inden for et specifikt område, og forbereder dig til at skrive dit speciale. Se oversigt og beskrivelse af de forskellige specialiseringer.

Se beskrivelser af de enkelte specialiseringer nedenfor. Vær opmærksom på, at ikke alle kurser og specialiseringer udbydes både forår og efterår.

Specialisering: Business Analytics

This specialisation enables you to:

  • Design database systems for analysis of big data. Perform data mining using classification and prediction algorithms as well as clustering and rule association approaches 
  • Model and optimise business decisions using AI techniques, mathematical programming, constraint programming and meta heuristics 
Courses: Big Data Management, Data Mining & Intelligent Systems Programming 
Prerequisites: Basic programming skills (for example by having followed Introductory programming and Programming Workshop), Discrete mathematics.
Available on both tracks. Starts every semester (courses can be taken out of order)

Specialisering: Databases

The specialisation in Databases enables you to:

  • Structure and model data in order to design databases 
  • Implement database designs, and program complex database queries, triggers, and stored procedures, in widely used relational DBMSs 
  • Perform database tuning for improving the efficiency of large-scale databases 
  • Understand the concept of non-relational data (XML, geographic, textual) and use of simple indexing techniques and query languages for such data 
  • Architecting large scale distributed database systems Perform large-scale data analysis and data mining 

These skills are desirably for main stream jobs like software developer and database architect, in domains like business software, administrative software and web applications. 

Courses: Big Data Management, Database Tuning & Database Tuning Project
Prerequistes: Requires foundational programming skills (Introductory Programming and Programming Workshop, Foundations of Computing). 

Available on Advanced Computing. Starts every semester (courses can be taken out of order)

Specialisering: Algorithms

The specialisation in Scalable Computing enables you to:

  • Deal with computational problems where efficiency and scalability is crucial 
  • Formulate real-world problems as algorithmic ones, analyze the time complexity of algorithms, and predict their performance in a large scale setting 
  • Recognize computationally hard problems and apply techniques for dealing with them in practice 
  • Devise and implement new, efficient data structures and algorithms for problems based on known algorithms for related problems and on general techniques for designing algorithms 
  • Suggest suitable computing architectures for large-scale computations 
  • Algorithmic skills are typically sought by large multinational IT brands, and by small innovative start-ups developing new technologies. 

Courses: Design track: Intelligent Systems Programming, Algorithm Design, and Applied Algorithms 
Prerequisites: Intermediate Programming Skills, Discrete mathematics, and basic algorithms and data structures (Introductory Programming, Programming Workshop, Foundations of Computing) 

Courses: Advanced Computing track: Intelligent Systems Programming, Algorithm Design Project & Algorithms Seminar. 
Prerequisites: Programming Skills, Discrete mathematics, and basic algorithms and data structures (Introductory Programming, Programming Workshop, Foundations of Computing, Algorithm Design) Available on both tracks (different courses). Starts every semester (courses can be taken out of order).

Specialisering: Software Engineering

This specialisation enables you to:

  • Evaluate and select software engineering methods and processes based on current research to address software engineering challenges encountered in practice. 
  • Systematically evaluate the application of methods, tools and techniques. 
  • Design and implement the architecture of software applications answering both functional and non-functional requirements. 
  • Relate the individual project to the overall IT strategy of an organisation. 
  • Develop and implement an IT governance structure for an organisation. 

The specialisation is designed to enable you to work as a software engineer and, after gaining industrial experience, provide the base to take over roles as project manager or technical lead. You will read the courses together with students studying our part time Master in Software Engineering who already now work in these areas.

Courses: Software Architecture, Advanced Software Engineering and Enterprise Architecture. 
Prerequisites: Introductory Software Engineering, intermediate programming skills (note that you may need to take the introdcutory software engineering as an elective to satisfy these prerequisites).

Available on both tracks. Starts every semester (courses can be taken out of order). 

Specialisering: Programming Languages

By following this specialisation you will learn to:

  • Use formal and semi-formal modelling notations such as automata, abstract syntax and grammars, and tools for automatic processing such as lexing and parsing tools, simple code generators and verification 
  • Understand the concepts of byte code, abstract machines, interpretation, compilation, and simple static checking of programs, in order to design domain specific interpreters, develop software productivity tools or debug problems in projects using these technologies 
  • Utilize at least one declarative programming notation besides SQL 
  • Discuss and evaluate new technologies and tools in programming languages 
  • Compare and discuss programming languages. Efficiently learn new languages 

This specialisation aims to prepare you to take software developer and software architect jobs in mainstream software houses and consultancies (business software, administrative software, etc), as well as it serves as a potential entry point to research in programming languages.

Courses: Domain Specific Languages and Automated Software Analysis & Programming Language Seminar
Prerequisites: Intermediate level programming in Java, basics of discrete mathematics (Foundations of Computing). In general the specialization requires willingness to work with mathematical concepts.

Available only on Advanced Computing Track. Starts every Autumn.

Mere

Skjul

Specialisering: Pervasive Computing

This specialisation enables you to:

  • Design mobile applications on the Android Platform, including use of basic distributed service architecture 
  • Design pervasive computing systemsusing state of the art design principles 

Courses: Mobile App Development, Pervasive Computing & Pervasive Computing Project 

Pre-requisites: Basic Programming skills in Java and object-oriented programming in general (e.g. by having followed Introductory Programming and Programming Workshop and OOP). 

Available on both tracks. Starts every Spring semester.

Specialisering: Critical Systems

The specialisation in Critical Systems enables you to:

  • Formally model, design and implement correct complex process-aware distributed systems 
  • Specify compliance rules (e.g. for security policies) formally using temporal logic and graphical formalisms 
  • Explain the principles of formal verification (model-checking) and apply model-checking tools 
  • Explain the principles of behavioural types and their application for robust implementation of complex distributed systems 

This specialisation aims to prepare you to take software developer and software architect jobs in software houses and consultancies taking part in development of distributed, service-oriented and process-aware information systems for which correctness and security plays a critical role (such as electronic patient records and other healthcare software, financial software, e-voting, aministrative systems, embedded software in safety-critical devices such transportation etc), as well as it serves as a potential entry point to research in model-based design, process-aware information systems, formal methods, programming, logic and semantics.

Courses: Business Process Modelling and Analysis (Spring), Critical Systems Seminar (Autumn), Critical Systems Project (Autumn) 
Prerequisites: Discrete Mathematics and Distributed Systems in Java (the latter only for the Critical Systems Seminar and Project)

Available only on Advanced Computing track. Starts every semester (courses can be taken out of order).

Mere

Skjul

cand.it

Karrieremuligheder

Kompetenceområderne i Softwareudvikling og softwareteknologi samt uddannelsens globale perspektiv ruster dig til karrieremuligheder i både danske og globale sammenhænge, hvor du bl.a. kan få job som:

  • Systemudvikler 
  • Programmør 
  • IT-arkitekt
  • IT-ekspert
  • Software-arkitekt 
  • Database Manager 
  • Softwareingeniør 
  • Kvalitetsingeniør 
  • Projektleder/-chef 
  • Systemkonsulent 

Er du interesseret i at læse en PhD på IT-Universitetet, kan du læse mere om forskningsområderne her.

Udveksling

Det kan være både fagligt udviklende og se godt ud på CV’et at læse en del af sin uddannelse på et udenlandsk universitet. IT-Universitetet har udvekslingsaftaler med universiteter rundt omkring i verden, og for studerende med faglighed inden for softwareudvikling vil vi fremhæve:

EPITA, Paris
ETH, Swiss Federal Institute of Technology, Zurich
Technische Universität, München

Undervisningen

På Softwareudvikling, Advanced Computing-sporet, foregår undervisningen, eksamener, opgaveskrivning m.m. på engelsk. Undervisningsformen veksler mellem projektarbejde, almindelig auditorieundervisning og at studere litteratur, hvilket inkluderer både bøger og forskningsartikler. Dine undervisere er de bedste inden for faget, og der bliver derfor også stillet krav til dine evner og dit engagement.


Softwareudvikling er udviklet i tæt samarbejde med erhvervslivet, og uddannelsen er tilrettelagt, så du får mulighed for at samarbejde med private virksomheder. På den måde arbejder du altid med aktuelle udfordringer, og du kan skabe kontakt til erhvervslivet allerede under studierne. Desuden integreres ITU's forskningsprojekter i undervisningen, hvilket giver uddannelsens bedste kandidater mulighed for at tage de første skridt ud i en karriere inden for forskning og fortsætte på Ph.d.-uddannelsen.

#lifeatitu

Studievejledning

Er du interesseret i at læse på en af IT-Universitetets uddannelser, er du velkommen til at kontakte Studie- og Karrierevejledningen.

Lokale 3D05 og 3D07
Rued Langgaards Vej 7
DK-2300 København S

Tlf: +45 7218 5240

Email: studievejledningen@itu.dk

Top