PDF til print Find kalender

Master module 1&2: Responsive Applications, Web services and Databases (RAWDATA)

uddannelse Computer Science
sted Teorirum 08.2
Undervisningssprog English
Kursus starter 01-02-2017
Kursus slutter 31-08-2017
Indhold

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 applications, where the application draws on functionality made available through web services, which in turn draws on data from one or more databases and possibly other sources. An application is responsive if it can adapt to, in principle, any device (smartphone, tablet, desktop, etc.). The ambition is that the student will reach a level that allows him or her to take on this kind of (very timely) application development independently (for example, realizing a personal idea) or in development teams.

The course is divided in three sections. In each of these, the course and the related portfolio (see below) will be linked such that the course part dominates in the beginning while the project work will be in focus at the end. The three sections will form a coherent whole, and will provide insight into theory and practice related to 3 highly relevant aspects of application development.

The contents of the three sections are outlined below.

Section 1: Databases

In this section we will cover a number of key areas from database theory including the relational model, SQL, database design, normalization, indexing and transactions. We will also touch on other so-called non-relational technologies (NoSQL). The practical work will include design, implementation, optimization and use of a database for a specific purpose.

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 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.

mål

The purpose of this course is that the student should:

  • Obtain knowledge about the overall structure of database systems.
  • Become familiar with the design of databases by use of special notations like E/R and analysis through normalization.
  • Get an overview of the most important database models and a detailed knowledge about the most important model - the relational model as well as the language SQL.
  • Get an overview of database indexing and query processing
  • Obtain knowledge about application programming for database systems, including distributed databases and client/server architectures.
  • Obtain knowledge about transaction management.
  • Obtain knowledge about the design of graphical user interfaces to database (applications) and related aspects Human-Computer Interaction.
  • Get an overview of the object oriented programming language C# and use of the extension Linq for accessing a relational database form C#.
  • Obtain knowledge about network architecture and distributed systems
  • Obtain knowledge about web services
  • Get an overview ASP.NET for server-side Web application and Web service development.
  • Obtain knowledge about user interfaces for human-machine interaction
  • Obtain knowledge about responsive single-page applications (SPA) with HTML5, CSS and Javascript,
  • Obtain knowledge about asynchronous programming, event-driven programming and data binding.
forudsætninger

The recommended prerequisites are: Some experience with (object-oriented) programming, for example obtained by completing the Introduction to Programming. Basic knowledge about methods in Software Engineering, as can be obtained from for instance the course Modelling and Knowledge Management. Basic knowledge about algorithms.

litteratur
  • [DSC] Database System Concepts 6th Edition Abraham Silberschatz, Henry Korth, S. Sudarshan ISBN: 978-0073523323
  • [MSRM] MySQL Reference Manual 5.7 (html) http://dev.mysql.com/doc/refman/5.7/en/
  • [ASPMVC] ASP.NET MVC Succintly Nick Harrison https://www.syncfusion.com/resources/techportal/ebooks/aspnetmvc
  • [ASPWAPI] ASP.NET Web API Succinctly Emanuele DelBono https://www.syncfusion.com/resources/techportal/ebooks/webapi
  • [ICN] An Introduction to Computer Networks Peter L Dordal http://intronetworks.cs.luc.edu/current/ComputerNetworks.pdf
  • [HTTP] HTTP Succinctly Scott Allen
  • [C#5NC] C# 5.0 IN A NUTSHELL Joseph Albahari and Ben Albahari ISBN: 978-1-449-32010-2
  • [EFTUT] http://www.entityframeworktutorial.net/
  • [SDP] Service Design Patterns Robert Daigneau ISBN: 978-0-321-54420-9
  • [RestWSC] RESTful Web Services Cookbook Subbu Allamaraju ISBN: 978-0-596-80168-7
Undervisningsform

Lectures and exercises

Kursusdage

Monday and Thursday morning plus Thursday afternoon

Eksamensform

30 min. individual oral exam include grading.

External examiner and 7 step scale

bedømmelseskriterier

-

Eksamenstidspunkt

Examination will take place on Thursday 22nd of June or Friday 23rd of June 2017

Vurdering

The excellent performance: The student demonstrates

  • solid knowledge, insight and overview of the subject area;
  • demonstrates solid description, competent application, and critical reflection with respect to the command and application of theories and methods;
  • demonstrates certainty, conceptual accuracy, and independent and clear organization with respect to structuring and communication.

The good performance: The student demonstrates

  • knowledge of and insight into the subject area;
  • demonstrates clear description and relatively competent application with respect to the command and application of theories and methods;
  • demonstrates clear presentation and organization with respect to structuring and communication.

The performance meeting the minimum requirements: The student demonstrates

  • sufficient however limited knowledge of the subject area;
  • demonstrates a sufficient account of command and application of theories and methods;
  • demonstrates a sufficient, but uncertain presentation with regard to structuring and communication.
Reeksamensform

30 min. individual oral exam include grading.

External examiner and 7-step scale

reeksamenstidspunkt

Re-examination will take place in August 2017

Aktivitetsansvarlig Mads Rosendahl (madsr@ruc.dk )
Kursussekretær IMT Studieadministration (imt-studieadministration@ruc.dk )
Underviser Troels Andreasen (troels@ruc.dk )
Henrik Bulskov (bulskov@ruc.dk )
STADS stamdata
Obligatorisk kursus
belastning : 10 ECTS aktivitetskode : U40125
prøveform : mundtlig bedømmelse : 7-trinsskala censur : Ekstern censur