Title |
Complex IT Systems – Theory
|
Semester |
E2022
|
Master programme in |
Computer Science
|
Type of activity |
Course |
Teaching language |
English
|
Study regulation |
Read about the Master Programme and find the Study Regulations at ruc.dk |
REGISTRATION AND STUDY ADMINISTRATIVE | |
Registration |
Sign up for study activities at STADS Online Student Service within the announced registration period, as you can see on the Study administration homepage. When signing up for study activities, please be aware of potential conflicts between study activities or exam dates. The planning of activities at Roskilde University is based on the recommended study programs which do not overlap. However, if you choose optional courses and/or study plans that goes beyond the recommended study programs, an overlap of lectures or exam dates may occur depending on which courses you choose |
Number of participants |
|
ECTS |
15
|
Responsible for the activity |
Troels Andreasen (troels@ruc.dk)
|
Head of study |
Henrik Bulskov (bulskov@ruc.dk)
|
Teachers |
|
Study administration |
IMT Studyadministration (imt-studyadministration@ruc.dk)
|
Exam code(s) |
U60056
|
ACADEMIC CONTENT | |
Overall objective |
Software engineering methods and principles, machine architecture and operating systems, distributed systems, databases and human to machine interactions. The course includes a presentation and critical discussion as well as testing of knowledge and understanding of the core areas in each of these subjects. |
Detailed description of content |
This course will cover selected topics from theory on databases, networks and user interfaces and will in addition involve hands-on practical experience with special emphasis on development of responsive applications in a distributed environment. Focus will be on client-server environments, a responsive application draws on functionality made available through web services, which in turn draws on data from one or more databases and possibly other sources. The course is divided in three sections. In each of these, the theory and the related practice (covered in the Complex IT Systems – Practice course) will be linked such that the theory dominates in the beginning while the practice related work will be in focus at the end. The three sections will form a coherent whole. The content of the three sections is outlined below. Section 1: Data and Databases In this section we will cover a number of key topics from database theory including the relational model, the relational language SQL, database design, normalisation theory, database indexing and query optimization as well as transaction management. We will also cover database programming, basically by two different approaches. One approach concerns implementation of functions, procedures and triggers to be stored directly in the database. The other approach concerns development of applications and services using the database – either through a simple database interface or by means of so-called Object Relational Mapping (ORM). In addition the database section will cover approaches to deal with unstructured data, more specifically noSQL databases. We will compare these to the relational approach and discuss strengths and weaknesses. Section 2: Data communication and network with focus on web services This section will include a general introduction to network architecture and distributed systems. There will be a special focus on web services, including context, technology, communications, languages, protocols and architecture related to these. The main development language for server programming will be the object-oriented language c# (similar to java). For the connection to the database we will look at an ORM framework and linq, which is an extension of c# specifically directed at simplifying the processing of relational data in an object-oriented context, and for the web services we will use asp.net web api, which is a framework specific for supporting restful web services interfaces. Section 3: Development of responsive applications Here we touch on general theory and practice related to user interfaces for human-machine interaction and the development of user interfaces. We will, as far as target applications are concerned, focus on so-called single-page applications (spa) with html5, css and javascript, and with emphasis on responsive applications that can adapt to a wide range of devices, including smartphones, tablets and desktops. In this context we will cover various aspects of advanced scripting, including asynchronous programming, event-driven programming and data binding. We will also introduce "hybrid apps" (mixture between native and web-based) and present approaches that, given an html5, css and javascript-based web app, can create dedicated (and thereby app-store-publishable) versions for devices such as smartphones and tablets. |
Course material and Reading list |
Key references are the following:
Additional course literature can be found on the Moodle page for the course |
Overall plan and expected work effort |
The course will have a total workload of 412 hours with 135 hours of lectures and exercises, 232 hours of preparation over a 15-week course period and 45 hours for the exam and preparation before the course. The activity’s major teaching and learning activities are fleshed out • In class teaching • Exercises • Mandatory assignments on course topics • Homework individually/in study groups and these may be further developed with description of the processes involved, links to files with descriptions, etc. |
Format |
|
Evaluation and feedback |
Evaluation form to be filled out (anonymously) plus open discussion on the last course day. |
Programme |
|
ASSESSMENT | |
Overall learning outcomes |
After completing this activity, students will be able to:
|
Form of examination |
Individual oral exam without time for preparation.
Time allowed for exam including time used for assessment: 30 minutes. Permitted support and preparation materials: All. Assessment: 7-point grading scale. Moderation: External examiner. |
Form of Re-examination |
Samme som ordinær eksamen / same form as ordinary exam
|
Type of examination in special cases |
|
Examination and assessment criteria |
It will be assessed to which degree the student demonstrates knowledge and understanding of key theories in the core subject areas of the three sections (outlined above). Before the exam students will know the exam questions for each of the three sections. At the exam the student will pick a set of three questions, one from each section. |
Exam code(s) | |
Last changed | 24/05/2022 |