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