Skip to content Kandidat i Softwareudvikling og teknologi

Kandidat i Softwareudvikling og teknologi

Sidst opdateret afMette Holm Smithden14-05-2012Uddannelser > Kandidatuddannelser > Softwareudvikling og -teknologi > Specialiseringer

Del på FacebookGem som PDFTip en ven

Specialiseringer 

Nedenunder finder du en oversigt over alle 10 specialiseringer, der udbydes på kandidatuddannelsen i Softwareudvikling og -teknologi. Skemaet viser hvilke kurser, der hører under specialiseringerne, hvilket semester specialiseringerne udbydes og hvilken retning (Development Technology eller Software Engineering) de er målrettet.

SpecialiseringKurser og ECTSSemesterRetning
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:

  • Model multi-threaded, distributed and mobile systems and formally argue about their correctness, security and scalability
  • Develop correct, secure and scalable multi-threaded and distributed systems in a state-of-the art programming language, using modelling techniques when appropriate
  • Develop bridges between systems and develop domain-specific communication protocols
  • 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

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

 

 

Find this page Online

http://212.97.130.100/da/Uddannelser/Kandidatuddannelsen/Softwareudvikling-og-teknologi/Specialiseringer