Data Modelling and Back-end Development (5 cr)
Code: YTSP0200-3004
General information
Enrollment
20.11.2023 - 04.01.2024
Timing
08.01.2024 - 30.04.2024
Number of ECTS credits allocated
5 op
Virtual portion
5 op
RDI portion
3 op
Mode of delivery
Online learning
Unit
School of Technology
Teaching languages
- English
Seats
20 - 35
Degree programmes
- Master's Degree Programme in Information Technology, Full Stack Software Development
Teachers
- Jouni Huotari
- Pasi Manninen
Groups
-
YTS23S1Master of Engineering, Degree Programme in Information Technology, Full Stack Software Development
Objectives
You are able to design, document, and implement a database, server-side software, and related application programming interface for a scalable application.
Content
- Advanced data modelling (conceptual and logical data model)
- Back-end architecture
- Back-end frameworks
- Server-side programming languages
- Scalability
- Application programming interfaces and integration
- Security settings and hack prevents
Learning materials and recommended literature
There is no public learning material (books, articles, videos, etc.) that are required for passing the course (‘must know’). Course material is located in the GitLab / LabraNet service.
Teaching methods
Project-based learning and online pedagogy: lectures/online lectures, exercises/learning assignments, various methods of online pedagogy (flipped learning)
Alternative completion methods
RPL is in use: the student can show an existing solution made by him- or herself.
Student workload
One ECTS ~ 27 hours of work. Lectures: 23 h, exercises and assignments: 110 h, data model and code review: 1 + 1 h. Total: 135 h.
Content scheduling
The course is held during every spring.
Further information for students
The assessment is based on the code and data model review.
Evaluation scale
0-5
Evaluation criteria, satisfactory (1-2)
The assessment is based on 1) Data modelling assignment (20%) and 2) Back-end assignment (80%). The assessment focuses on the following:
1) Data modelling: you can design a conceptual and logical data model (comprising approximately five entities/tables) by applying standard data modelling and design techniques based upon an understanding of requirements (the models may contain some errors, omissions, and/or inconsistencies)
2) Back-end development
- complexity: only a simple back-end solution is presented
- knowledge base and the structure of the implementation: only knowledge base is presented
- choice of framework and libraries: only the core framework is used
- realisation of the project contains errors, omissions, and/or inconsistencies
- results and their analysis are vague or missing
- reporting and presentation: incomplete (no presentation)
Evaluation criteria, good (3-4)
The assessment is based on 1) Data modelling assignment (20%), and 2) Back-end assignment (80%). The assessment focuses on the following:
1) Data modelling:
- you can design a conceptual and logical data model comprising of at least five entities (tables)
- the models are clear, contain metadata, but may contain minor errors, omissions, and/or inconsistencies
2) Back-end development
- complexity: back-end solution contains several endpoints
- choice of framework and libraries: more than one framework or software library is used
- knowledge base and the structure of the implementation shows more than just basic knowledge
- realisation of project work is nearly error-free
- results are reported shortly and their analysis is missing or incomplete
- reporting and presentation may be short and/or quick
Evaluation criteria, excellent (5)
The assessment is based on 1) Data modelling assignment (20%), and 2) Back-end assignment (80%). The assessment focuses on the following:
1) Data modelling:
- you can design a conceptual and logical data model comprising of at least 5 entities (tables)
- the models are detailed, clear, complete, error-free, and contain metadata
2) Back-end development
- complexity: back-end solution contains several endpoints
- well-argumented choice of framework(s) and libraries
- knowledge base and the structure of the implementation is clear
- realisation of the project work: complete, error-free, consistent
- results and their analysis: in-depth and thorough
- reporting and presentation are excellent
Evaluation criteria, pass/failed
Pass: you demonstrate skills and knowledge of designing and implementing a back-end solution containing a database, server-side software, and related application programming interface. The results are evaluated during a code and data model review.
Prerequisites
Basics of databases
Basics of JavaScript programming