Kies de Nederlandse taal
Course module: 202200259
Data & Information
Course info
Course module202200259
Credits (ECTS)10
Course typeStudy Unit
Language of instructionEnglish
Contact persondr. F.A. Bukhsh
PreviousNext 4
dr. F. Ahmed
Y.d.C. Barrios Fleitas
N. Bouali
dr. F.A. Bukhsh
Contactperson for the course
dr. F.A. Bukhsh
Academic year2022
Starting block
RemarksThis course is only for double degree TCS-AM students. 10 EC variant of module 4 TCS.
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
Number of insufficient tests1
After successful completion of the module student is able to …(Agile software engineering)
E1.    …develop software following Agile principles: SCRUM meetings, task boards, burn-down charts, frameworks, etc.;
E2.    …apply requirements-based testing;

(Requirements engineering)
R1.    …identify business requirements and translate these to user stories;
R2.    …specify functional and non-functional requirements;
R3.    …prioritize requirements in collaboration with various stakeholders;
R4.    …design a UML class diagram;
R5.     …systematically design web based applications using UML;

(Structured data)
D1.    …derive a logical database schema from a UML class diagram;
D2.    …identify functional dependencies and use these to systematically normalize a database to BCNF;
D3.    …formulate questions and translate these to SQL queries;
D4.    …apply SQL triggers in simple cases;
D5.    …identify transactions and explain the effect of different isolation levels on concurrency;

(Web programming)
P1.    …design and implement complex multi-tier web applications;
P2.    …use repositories and version management;
P3.    …integrate web applications with existing (REST-ful) services;
P4.    …build user interfaces with frameworks for HTML, CSS, and javascript;
P5.    …explain the consequences of server-side vs. client-side scripting, servlets, Ajax, JSP, Web frameworks, etc.;

(Semi- and unstructured data)
U1 … apply basic techniques for handling XML/JSON data in an XML database using XML standards such as XPath and XQuery
U2 … apply basic techniques for handling XML/JSON data in a relational database using extensions to the SQL standard, such as SQL/XML and JSON types, functions and operators
U3 … understand the basic theoretical principles behind tree data structures and indexing of tree data
U4 … understand the basic theoretical principles behind information retrieval and apply basic full text querying support in XML and relational databases

S1.    …protect applications against unauthorized access;
S2.    …project applications against (SQL-)injection and cross-site scripting;

(Academic skills: Project skills)
A1… apply the Belbin team role model
A2… apply the core quality quadrant model of Daniel Ofman
A3... effectively give and receive feedback
A4... effectively resolve team conflicts
A5… explain the concepts of fraud and plagiarism and behave responsibly as a professional concerning these aspects
In the module “Software systems” students have learnt to solve complicated software problems by means of stand-alone applications. In this module they learn and get experience in the design, implementation, and testing of complex multi-tier systems, using standard tools like database management systems, scripting frameworks and existing services (RESTful services). In this module, data (structured and semi-structured) play an important role. This comprises classically structured data in databases as well as obtaining data from social media and other web resources. Security will be explicitly dealt with.
A project for a client will be carried out by means of agile methods. As a consequence, students will gain experience in dealing with various stakeholders. Team skills are explicitly addressed as Academic Skills.

Prerequisite knowledge
Programming: Core concepts of imperative programming and object-oriented programming; being able to write software of average size (around ten classes) in Java. If you have adequate programming experience, but not in Java, you should additionally familiarize yourself with Java syntax and a Java software development environment like Eclipse.
Computer networks: Understanding the basic working of internet applications and protocols like HTTP.
Databases: No prerequisite knowledge required, but if you have no experience with elementary database concepts and data modelling, some extra effort is required to catch up.
Mathematics: No prerequisite knowledge required, but elementary knowledge of Set Theory and Mathematical Logic is helpful for understanding query languages.
For further details please contact the module coordinator.
Assumed previous knowledge
See description of module contents
Participating study
Bachelor Technical Computer Science
Participating study
Bachelor Applied Mathematics
Required materials
Recommended materials
Course material
Study materials, such as parts of books and articles, as well as (references to) online materials will be made available on Canvas
Instructional modes

Lecture with lab

Presence dutyYes

Presence dutyYes

Project supervised
Presence dutyYes

Project unsupervised
Presence dutyYes

Self study without assistance

Web Programming and Requirements


Semi-structured Data / Security


Additional Requirements

Kies de Nederlandse taal