DM844: Web development with Groovy and Grails (10 ECTS)

STADS: 15016401

Level
Master's level course

Teaching period
The course is offered in the spring semester.

Teacher responsible
Email: jamik@imada.sdu.dk

Timetable
Group Type Day Time Classroom Weeks Comment
Common I Monday 16-18 U24 06-08,10-13,16-21
Common I Monday 16-18 U24a 23
Common I Tuesday 16-18 U49 06-07,10-13,15-17,19-23
Common I Wednesday 16-18 U49 08,18
Common I Thursday 16-18 U24 22
Show entire timetable
Show personal time table for this course.

Comment:
Ubegrænset deltagerantal.

Prerequisites:
None

Academic preconditions:
DM507 Algorithms and Datastructures must be known.

Course introduction
This course will be a training in the use of good craftmanship for software development. The remedy is web development, but the techniques are the same whether one focuses exclusively on the backend, frontend, testing, security analysis or dev-ops. In the course, all stages developing a web-application is performed, from setting up server and hosting environment, design of the data model, integration with one or more database types, MVC framework structure, front-end and UI and user experience.

Qualifications
The students will by completing all phases of developing and deploying a web application, be better prepared for a professional job with software development. More specifically, the student is expected to be able to work efficiently with modern tools like continous integration, automated testing and deploy, webframeworks, different methods of testing software and tools to document the quality of source code.

Expected learning outcome
At the end of the course the student is expected to be able to:

  • Design an application in an MVC web framework, including the separation of logic and presentation
  • Apply and demonstrate the use of tools for static code analysis
  • Apply and demonstrate the use of tools for test coverage
  • Evaluate and comment on code quality, for example. by code review
  • Use version control and semantic versioning with a group of other developers
  • Analyze and test the security in web applications
  • Configure a cloud based hosting server for a webapplikation with database access
  • Use continous integration and automate the proces of testing and deploying
  • Implement the designed webapplication, with support for multiple languages, responsive design and asynchronous updates (one-page-app)
Subject overview
Programming in a dynamic language (Groovy), implementation in web framework (Grails), static code analysis (Codenarc), practical software testing and types thereof (Spock, Geb), testcoverage (Cobertura), basic Web technologies (HTML, CSS, Javascript / JQuery)
Note: The expected technology is parenthesis.

Literature
    Meddeles ved kursets start.


Website
This course uses e-learn (blackboard).

Prerequisites for participating in the exam
None

Assessment and marking:
  1. Report based on a project assignment and an oral defense. Evaluated by external censorship by the Danish 7-mark scale. (15016402)
Expected working hours
The teaching method is based on three phase model.
Intro phase: 42 hours
Skills training phase: 14 hours, hereof:
 - Tutorials: 14 hours

Educational activities Study phase: 28 hours

The course is somewhat practical and programming projects will be a part of both lectures as well as exercises.

Language
This course is taught in Danish or English, depending on the lecturer. However, if international students participate, the teaching language will always be English.

Remarks
Expect expences for a cloud based virtual server as part of the materials for the course.

Course enrollment
See deadline of enrolment.

Tuition fees for single courses
See fees for single courses.