| Specialisering | Kurser og ECTS | Semester | Retning |
|
Databases
|
Building Database Systems (7,5)
Database Tuning I (7,5) Database Tuning II (7,5)
|
Efterår |
Development Technology
Software Engineering |
|
Models and programs
|
Programme Language Concepts and Implementation (7,5) Avancerede modeller og programmer (15)
|
Efterår |
Development Technology |
|
Mobile og distribuerede systemer
|
Pervasive Computing (7,5) Pervasive Computing Lab (7,5) Avancerede mobile og distribuerede systemer (7,5)
|
Forår |
Software Engineering |
|
Scalable Computing DT Scalable Computing SE |
Intelligent Systems Programming (7,5) Algorithm Design I (7,5) Algorithm Design II (7,5)
Intelligent Systems Programming (7,5) Algorithm Design II (7,5) Algorithms Seminar (7,5) |
Hvert semester |
Development Technology
Software Engineering |
|
Modern Artificial Intelligence
|
Intelligent Systems programmering (7,5)
Modern AI for Games(15)
|
Hvert semester
|
Development Technology
Software Engineering |
|
Data Processing
|
Algorithm Design II (7,5) Algorithms Seminar (7,5) Database Tuning I (7,5) Database Tuning II (7,5) |
Hvert semester |
Software Engineering
|
|
Pervasive Computing
|
Mobile and Distributed Systems (7,5)
Pervasive Computing (7,5) Pervasive Computing Lab (7,5) |
Efterår |
Development Technology
|
|
Software Engineering
|
Global Software Engineering (15)
Advanced Software Engineering (7,5)
|
Forår |
Development Technology
|
|
Programmerings sprog
|
Advanced Models and Programs (15)
Programmeringssprog seminar (7,5)
|
Forår |
Software Engineering
|
|
Architecture
|
System Architecture and Security (7,5)
2 ud af følgende kurser:
IT-Strategy (7,5)
Business IT Alignment (7,5)
Software Architecture (7,5)
Enterprise Architecture (7,5)
Anskaffelse af kravspecifikation (7,5) Cloud Computing (7,5) |
Hvert semester |
Development Technology
Software Engineering |
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, og at der kan være specialiseringer, der kun udbydes til Development Technology-studerende eller Software Engineering-studerende.
Specialiseringsmoduler
Specialisation in 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: Building Database Systems Database Tuning I & Database Tuning II
Prerequistes: Requires foundational programming skills (Introductory Programming and Programming Workshop, Foundations of Computing).
Available on both tracks. Starts every Autumn.
Til toppen
Specialisation in Models and Programmes
The specialisation in Models and Programs will enable you to:
- Work with software in an abstract and semi-automated fashion, when the program code itself is subject to manipulation by development tools
- Use formal and semi-formal modeling notations such as UML, 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
- Design domain specific languages and efficiently prototype, editors, code generators and interpreters for them in order to manipulate structured data
- Architect software following the model-driven software development paradigm
- Implement end-user interfaces using the Eclipse platform
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).
Courses: Programming Language Concepts and Implementation & Advanced Models and Programs
Prerequisites: Fluent programming in Java, UML class diagrams (can be obtained by following Introductory Programming, Programming Workshop, and Introduction to Database design). Foundations of Computing.
Available only on Development Technology Track. Starts every Autumn.
Til toppen
Specialisation in Mobile and Distributed Systems
The specialisation in Mobile and Distributed Systems enables you to:
These competences are selected as important and useful for mobile application developers in various domains (for example mobile phone software, healthcare IT).
Courses: Pervasive Computing, Pervasive Computing Lab & Advanced Mobile and Distributed Systems
Prerequisites: Intermediate level programming skills and a prior introductory course in Distributed Systems or concurrent programming. (at IT University this is either the bachelor course or Msc course on Mobile and Distributed Systems).
Available only on the Software Engineering Track. In 2011 the specialisation starts in Autumn. From 2012 it starts every Spring.
Til toppen
Specialisation in Scalable Computing
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 thought by large mutinational IT brands, and by small innovative start-ups developing new technologies.
Courses: DT: Intelligent Systems Programming, Algorithm Design I & Algorithm Design II
Prerequisites: Intermediate Programming Skills, Discrete mathematics, and basic algorithms and data structures (Introductory Programming, Programming Workshop, Foundations of Computing)
Courses: SE: Intelligent Systems Programming, Algorithm Design II & Algorithms Seminar
Prerequisites: Programming Skills, Discrete mathematics, and basic algorithms and data structures (Introductory Programming, Programming Workshop, Foundations of Computing, Algorithm Design I)
Available on both tracks. Can be started every semester.
Til toppen
Specialisation in Modern Artificial Intelligence
The specialisation in Modern Artificial Intelligence enables you to:
- Identify business opportunities to analyze and act on data using AI algorithms for optimization, reasoning, data mining, configuration, learning, and game playing
- Design and implement efficient AI algorithms
- Evaluate implemented algorithms in theory and practice
These competences are of interest in the game development, in business intelligence, in logistics, and other specialized industries.
Courses: Intelligent Systems Programming, Advanced AI in Games
Prerequisites: intermediate programming skills, algorithms and data strucutres, basic discrete mathematics (Introductory Programming, Programming workshop, Foundations of Computing)
Available on both tracks. Can be started every semester.
Til toppen
Specialisation in Data Processing
This specialisation enables you to:
- Formulate real-world problems as algorithmic ones, analyze the time complexity of algorithms, and predict their performance in a large scale setting
- 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
- Perform database tuning for improving the efficiency of large-scale databases
- Perform large-scale data analysis and data mining
The specialisation is targetted at students with prior knowledge in database systems and algorithms. It combines our most advanced Msc courses on algorithms and databases, aiming at giving you skills necessary to process massive amounts of data to extract information not available by applying simple means. Algorithmic skills are typically thought by large mutinational IT brands, and by small innovative start-ups developing new technologies.
Courses: Algorithm Design, Database Tuning I & Database Tuning II
Prerequisites: Intermediate Programming Skills, Discrete mathematics, and basic algorithms and data structures,design of databases, and design of database systems (Introductory Programming, Programming Workshop, Foundations of Computing, Introduction to Database Design, Building Database Systems.)
Available on Software Engineering Track. Can be started every semester.
Til toppen
Specialisation in 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: Advanced Models and Programs, Programming Language Seminar
Prerequisites: Intermediate level programming in Java, basics of discrete mathematics (Foundations of Computing).
Available only on Software Engineering Track. Starts every Spring.
Til toppen
Specialisation in Pervasive Computing
This specialisation enables you to:
- Design multi-threaded, distributed and mobile systems
- Use fundamental principles used in designing and constructing concurrent, distributed and mobile systems
- Develop designed multi-threaded and distributed systems in a state-of-the art programming language using state of the art communication platoforms (for example Bluetooth)
- Evaluate and develop applications for distributed system architectures, such as SOA and mobile, ubiquitous and peer-to-peer systems
- Design pervasive computing systems using state of the art design principles
Courses: Mobile and Distributed Systems, Pervasive Computing & Pervasive Computing Lab
Prerequistes: Basic programming skills in Java (for example by having followed Introductory Programming and Programming Workshop). Available to the Technology Track only. Starts every Autumn.
Til toppen
Specialisation in Architecture
This specialisation gives you a set of high level skills in architecting IT systems from business perspective, operations perspective and development perspective.
Courses: You create it yourself by following System Architecture and Security, and two of the following courses: IT-Strategy (7,5) , Business IT Alignment (7,5), Software Architecture (7,5)
Enterprise Architecture (7,5) , Purchase and Specification requirement (Anskaffelse og kravspecifikation) (7,5), Cloud Computing (7,5)
Note that many of these courses are only available in Danish. You can start the specialisation every semester, depending on your choice of courses.
Available on both tracks.
Til toppen
Specialisation in Software Engineering
In this specialisation you will learn to:
- Design and develop software in a globally distributed team
- Select, evaluate, discuss, and adjust software development processes in your projects
- Apply basic project management principles
- Apply basic quality assurance mechanism (from process perspective)
- Select, evaluate and discuss collaboration technologies
- Reflect on reasons of success and failure of development projects.
The specialisation gives good skills for mainstream software developer positions, especially when supplemented with good technical training.
Courses: Global Software Development, Advanced Software Engineering
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). Distributed Development and Collaboration (available as an elective).
Available only to students on the Technology track. Both courses run in Spring, and are designed to be taken in parallel.
Til toppen