Skip to main content

Service Based Software Development (5cr)

Code: 5G00GC13-3001

General information


Enrolment period
15.04.2025 - 13.10.2025
Registration for the implementation has begun.
Timing
25.08.2025 - 21.12.2025
Implementation is running.
Credits
5 cr
Mode of delivery
Contact learning
Unit
Software Engineering
Campus
TAMK Main Campus
Teaching languages
English
Degree programmes
Bachelor's Degree Programme in Software Engineering
Teachers
Jussi Pohjolainen
Person in charge
Esa Kunnari
Groups
23I260EA
Degree Programme in Software Engineering
Course
5G00GC13

Objectives (course unit)

The student understands the concept of service-based software development, knows the common technologies, and has practical skills to create software services in cloud environment. Student knows how to use existing software interfaces and build service-based software systems and is aware of their challenges.

Content (course unit)

Different types and technologies of software services: APIs, microservices, REST, GraphQL. Developing software services to cloud, versioning, and documenting APIs. Developing and consuming services with a modern programming language.

Assessment criteria, satisfactory (1-2) (course unit)

The student knows about some technologies for software services like APIs, microservices, REST, GraphQL. The student can develop a software service to a cloud with an example. The student can produce versioning and a documentation for the APIs with an example. The student can develop a service with an example.

Assessment criteria, good (3-4) (course unit)

The student knows different technologies of software services: APIs, microservices, REST, GraphQL. The student can develop a software service to a cloud. The student can produce versioning and a documentation for the APIs. The student can develop and exploit services with a modern programming language in an application.

Assessment criteria, excellent (5) (course unit)

The student knows comprehensively the different technologies of software services: APIs, microservices, REST, GraphQL. The student can develop different software services to cloud. The student can produce versioning and a comprehensive documentation for the APIs. The student can develop and exploit services with a modern programming language in different applications.

Location and time

See the calendar.

Exam schedules

Week 51 (2025) to Week 04 (2026) in exam.tuni.fi

Assessment methods and criteria

Students study the course content independently in a virtual learning environment and complete weekly exercises based on it. Weekly support for the exercises is available at TAMK, but the exercises can also be completed independently. 40% of the exercises are mandatory. The course grade is based on an exam, which is taken in the exam.tuni.fi service.

Assessment scale

0-5

Teaching methods

The course combines online lectures, weekly home exercises, and an exam. The lectures cover key programming concepts and principles through practical examples. The course concludes with a programming exam that assesses the understanding of essential programming principles and practices.

Learning materials

The primary learning materials are online lecture and exercise materials provided during the course.

But if interested here are books that covers the concepts of the course:

“Spring Boot in Action” - Craig Walls
“Spring Start Here” - Laurentiu Spilca
“Full Stack GraphQL Applications” - William Lyon

Student workload

The course is worth 5 ECTS credits, and one credit corresponds to 27 hours of student work. This means the total workload for the course is:

5 ECTS × 27 hours = 135 hours

The course runs over 9 weeks, so the average weekly workload is:

135 hours ÷ 9 weeks = 15 hours per week

This workload includes watching online lectures, completing weekly assignments, studying independently and preparing for the final exam.

Content scheduling

Premilinary, my change:

Week 43:
Introduction to Service-Based Software Development & Gradle
Key topics: Introduction to Gradle, build automation, recap of Java

Week 44:
RESTful APIs and HTTP
Key topics: REST principles, HTTP methods, CRUD API, JSON and Java, Hello World Spring Boot

Week 45:
Spring Boot Basics
Key topics: Spring Boot dependency injection, RESTful API introduction with Spring Boot

Week 46:
Spring Boot RESTful API
Key topics: Error handling, meaningful HTTP status codes, logging, API versioning, validation

Week 47:
Databases
Key topics: Spring Boot and database connection

Week 48:
API Documentation & Versioning
Key topics: Swagger/OpenAPI, API versioning strategies, error handling, security basics

Week 49:
Introduction to GraphQL in Spring Boot
Key topics: GraphQL vs. REST, schema, queries, mutations, GraphQL implementation

Week 50:
Deploying Services to Render.com
Key topics: Dockerizing apps, cloud deployment, database configuration

Week 51: Exams

Completion alternatives

No optional completion methods available.

Practical training and working life cooperation

This course is designed for learning the fundamentals of programming and does not include actual work placement or direct collaboration with industry. However, the course content reflects current industry requirements. Lectures and home assignments focus on practical programming tasks that enhance students’ problem-solving skills and prepare them for further studies as well as real-world challenges. The instruction emphasizes industry best practices and programming concepts commonly used in professional environments, supporting a smooth transition into working life.

International connections

This course does not include specific international collaboration arrangements or opportunities for internships abroad. However, the course content is based on internationally recognized programming practices and standards, preparing students for the demands of modern work environments. Students are also encouraged to make use of international resources and networks to further expand their skills and knowledge.

Go back to top of page