Skip to main content

Degree programme in software engineering

Degree:
Bachelor of Engineering

Degree title:
Insinööri (AMK), Bachelor of Engineering

Credits:
240 ects

Software Engineering
Code
(OTMI24SP)
Software Engineering
Code
(OTMI23SP)
Software Engineering
Code
(OTMI22SP)
Software Engineering
Code
(OTMI21SP)
Enrollment

06.04.2023 - 21.04.2023

Timing

04.09.2023 - 17.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Yhteisten opintojen koulutusyksikkö

Campus

Mikkeli Campus

Teaching languages
  • Finnish
  • roo.sv
Seats

20 - 50

Degree programmes
  • Degree programme in software engineering
Teachers
  • Anna-Elina Hirvonen
Teacher in charge

Anna-Elina Hirvonen

Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You are able to communicate in spoken and written situations in your own field.
You are familiar with the terminology of your field and able to communicate in Swedish in professional situations.

The objectives are based on the Common European Framework of Languages, level B1 and Government Decree 1129/2014.

After completing the course with the grade of 3, you are able to:
- understand clear standard and work-related speech.
- use basic structures reasonably well both in spoken and written situations.
- speak relatively fluently so that occasional mistakes in pronunciation or prosody do not lead to misunderstanding.
- describe your education and work experience for example when applying for a job.
- describe and discuss key issues of your professional field (eg. the operation, products, processes or services of companies and/or organizations).

Content

How do you use Swedish vocabulary related to education, work environment and workplace duties?
How do you use Swedish in different communicative situations of working life, for example in emails, telephoning and meetings?
How do you use the basic professional vocabulary required in your field and operational environment?

Evaluation scale

1-5

Qualifications

If you have been instructed to participate in the Intensive course in Swedish, you must complete it or independently acquire the equivalent knowledge and skills before you can participate in this course.

Enrollment

06.04.2023 - 21.04.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Tuomas Reijonen
Teacher in charge

Tuomas Reijonen

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

You understand the application areas of data-analytics.
You are able to collect, pre-process, process, store, and visualize data.
You are able to implement a data-analytics application.

Content

What kind of problems can data-analytics solve?
What steps are there in data processing and analytics?
How do you implement a data-analytics application using libraries and interfaces in a programming language?
How do you utilize open databases and interfaces to collect data?

Evaluation scale

1-5

Enrollment

06.04.2023 - 21.04.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Heikki Brotkin
Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You know the distinct features of embedded programming.
You can write small programs using a low level programming language.
You know the features and requirements for building IoT devices.
You know IoT communications protocols and their features.
You can design and program IoT devices, and network services for IoT systems.

Content

How does embedded programming differ from high-level programming?
How do you write programs using a low-level language?
What distinct features does a low-level language have?
What is memory management?
How do you implement a linked list?
What do you need to take into account when programming IoT devices?
How do you implement service interfaces and clients for the interfaces?

Materials

Online material / Learn : Details in the beginning of the course

Related books:
McEwen & Cassimally: Designing the Internet of Things (1st. ed.). Wiley Publishing 2013.
Donat: Jumpstarting C. Maker Media Inc 2018.
Pfister: Getting started with the internet of things. O'Reilly Media 2011.

Teaching methods

Scheduled track: Teaching and guidance sessions as specified in the weekly schedule. You will complete course assignments and practical assignments, and complete a final exam.

Employer connections

No.

Evaluation scale

1-5

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.07.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Degree programmes
  • Degree programme in software engineering
Teachers
  • Tuomas Reijonen
Teacher in charge

Tuomas Reijonen

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

You can name and illustrate generic principles of software design.
You can explain the features of common software architectures.
You can choose a suitable architectural model in different contexts.
You can model software and parts of it.
You understand the concept of a software framework.
You can explain the most important features of a framework.

Content

What is software architecture?
How does architectural design affect the final software product?
How are architectures modelled using different techniques?
How is the architecture for a web application modelled?
Why do architectural plans and final products often differ in practice, and what solutions exists for this problem?

Evaluation scale

1-5

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.07.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Degree programmes
  • Degree programme in software engineering
Teachers
  • Tuomas Reijonen
Teacher in charge

Tuomas Reijonen

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

You understand software development work during launch and maintenance.
You know software delivery and software maintenance methods.
You know the principles of licensing software.

Content

What steps and procedures are related to the launch of software?
What tasks are related to the maintenance and upkeep phase of software lifecycle?
How do you license a software product?
How do you use cloud platforms in the development of software and services?

Evaluation scale

1-5

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.07.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Miika Reijonen
Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You know the typical life cycle of a software project.
You know the software engineering models and their features.
You know the most common uses for UML. You can use UML to model small programs or software components.

Content

What are the phases of software development?
What are software engineering processes, models and methods?
How do you elicit requirements?
What is UML, and how can you model software using it?
What does software architecture mean?
How is a software project carried out?

Evaluation scale

1-5

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.07.2024

Number of ECTS credits allocated

10 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Miika Reijonen
Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You take part in a software project as a member of a team.
You learn teamworking skills.
You know how to design and implement software components using modern technologies.
You know the tools, methods, and practices used in software projects.

Content

How are real software development problems solved for clients?
How does a software development team split tasks?
How to produce and add software code in a large software project?
How to make work time estimates?
What is the role of testing and quality assurance in software development?

Evaluation scale

1-5

Enrollment

06.04.2023 - 21.04.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Juha Ojala
Teacher in charge

Juha Ojala

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

You know how to design and implement games, and how to gamify different applications.
You can use a game engine. You are able to do games programming and manage game assets.
You can commercialize games and game-like applications in different platforms.

Content

How do you design and implement games? How do you gamify applications?
How do game engines work, and how do you implement games and game-like applications by combining programming and assets?
How to commercialize games and game-like applications to different platforms.

Evaluation scale

1-5

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.07.2024

Number of ECTS credits allocated

10 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Degree programmes
  • Degree programme in software engineering
Teachers
  • Tuomas Reijonen
Teacher in charge

Tuomas Reijonen

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

You take part in a software development project independently or as part of a group.
You deepen your knowledge in programming and software engineering.

Content

How is a software project carried out in practice?
How can you develop your professional skills in programming and software engineering?

Evaluation scale

1-5

Enrollment

06.04.2023 - 21.04.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Juha Ojala
Teacher in charge

Juha Ojala

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

You know application areas of artificial intelligence and machine learning.
You are able to choose a suitable method to implement an artificial intelligence application.
You understand the operating principles and limitations of artificial intelligence.

Content

What is artificial intelligence, machine learning, and deep learning?
What type of machine learning methods exist and what kind of problems can they solve?
How do you implement an artificial intelligence application?

Evaluation scale

1-5

Enrollment

06.04.2023 - 21.04.2023

Timing

01.08.2023 - 31.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

1 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Jari Kortelainen
Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You know how to analyze time and space requirements for algorithms, and choose a suitable algorithm for a given problem.
You know the classic algorithms: Queue, stack, and list.
You know different sorting algorithms.
You can implement classic algorithms using a programming language.

Content

How to measure the performance of an algorithm?
How do search trees, lists and hash tables work?
What is dynamic programming and recursion?
How to solve graph and shortest path problems? What does optimization and search for optimal solution mean?

Materials

To be settled at the course kick off.

Teaching methods

Scheduled track:
You participate in lectures and exercises according to the weekly schedule.

Independent track:
You can show your competence e.g. by a certificate. To be settled at the course kick off.

Employer connections

To be settled later on.

Exam schedules

To be settled later on.

Student workload

135 h

Evaluation scale

1-5

Assessment methods and criteria

To be settled at the course kick off.

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.05.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

1 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Jari Kortelainen
Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You are able to define probability spaces and to utilise probability theory in decision making.
You are able to describe data using statistics.
You are able to define random variables and make decisions using different kinds of distributions.

Content

How are probability spaces defined?
How is probability theory utilised in decision making?
What type of statistics may be used in data description?
How are random variables defined?
Which type of distributions do random variables have?

Materials

To be settled at the course kick off.

Teaching methods

Scheduled track:
You participate in lectures and exercises according to the weekly schedule.

Independent track:
You can show your competence e.g. by a certificate. To be settled at the course kick off.

Employer connections

To be settled later on.

Exam schedules

To be settled later on.

Student workload

135 h

Evaluation scale

1-5

Assessment methods and criteria

To be settled at the course kick off.

Qualifications

Discrete mathematics 2, Calculus

Enrollment

06.11.2023 - 17.11.2023

Timing

08.01.2024 - 28.04.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Reijo Vuohelainen
  • Paula Ronkainen
Teacher in charge

Reijo Vuohelainen

Groups
  • OTMI21SP
    Software Engineering, full-time studies

Objective

Common learning outcomes (as implemented in degree programmes) 2 ECTS credits:

You know the general stages in a research and development process.
You are able to search for information in the key information environments of your own field.
You are able to read, critically evaluate and utilize the literature and research publications of your own field.
You are familiar with and able to apply the principles of research ethics and reliability.
You are able to compose a literature review based on the materials published in your field of study and your own bachelor’s thesis following the principles of scientific communication.

Degree programme specific learning outcomes for research and development methods, 3 ECTS credits

You are familiar with the current research subjects and development needs of your own field.
You are familiar with and able to apply the key development approaches and/or research methods and ethical principles of your own field.
You are able to report on a research or development process following the principles of professional and scientific communication.

Content

Content of common learning outcomes, 2 ECTS credits:

What are the phases into which a research and development process can be divided?
How do you find, read and critically evaluate the research data of your own field?
How do you write a literature review that utilizes reliable research data and is linked to your own field and bachelor’s thesis following the principles of ethical scientific communication?

Degree programme specific content, 3 ECTS credits

What are the key research subjects and development needs in your own field?
What are the development approaches and/or research methods in your own field and how do you apply them in practice based on the development needs of your own field?
How do you report a research or development process following the principles of ethical professional and scientific communication in your own field?

Materials

Online self-study material (in Finnish), online resources and literature. Course study book (in Finnish):

Kananen, J. 2019. Opinnäytetyön ja pro gradun pikaopas: Avain opinnäytetyön ja pro gradun kirjoittamiseen. Jyväskylä: Jyväskylän ammattikorkeakoulu. E-kirja. Saatavissa: https://kaakkuri.finna.fi

Teaching methods

Scheduled track:
You participate into scheduled contact lessons. You studies are progressing in the pace of the group schedule and self paced learning activities.

Blended and Independent tracks:
You study the topics by yourself and execute required learning activities. In this case contact your responsible teacher in the beginning of the studies to agree on the required activities and demonstration of your skills.

Employer connections

No

Student workload

Achieving the learning outcomes requires 135 hours of work of which about third is contact lessons and laboratory exercises and the rest is self study, practise exams and remote laboratory exercises.

Content scheduling

-

Further information

All returns in this course must be submitted in Finnish. For other languages contact your degree programme co-ordinator for alternative courses.

Evaluation scale

Approved/Failed

Assessment methods and criteria

Assessment is based on mini thesis.

Enrollment

06.11.2023 - 17.11.2023

Timing

01.01.2024 - 31.07.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Miika Reijonen
Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You know how to design and implement web applications.
You understand the different architectural models for web applications.
You know how to integrate a database into a web application.
You understand what modern web development frameworks are used for, and how to create web applications using them.
You understand how to take security into account in web applications.

Content

How do you implement a large web application?
What are the architectural parts of web applications, and how are they implemented?
How do you implement views for web applications using UI libraries?
How do you exchange information between the views and the web server?
How do you integrate a database into a web application?

Employer connections

No

Evaluation scale

1-5

Enrollment

06.04.2023 - 21.04.2023

Timing

04.09.2023 - 15.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Campus

Mikkeli Campus

Teaching languages
  • Finnish
Seats

20 - 40

Degree programmes
  • Degree programme in software engineering
Teachers
  • Miika Reijonen
Teacher in charge

Miika Reijonen

Groups
  • OTMI22SP
    Software Engineering, full-time studies

Objective

You know how to create web pages.
You can implement user interfaces for web applications.
You understand the working principles for web applications. You understand how the client-server model works.
You know the difference between front end and back end development. You can create a small full stack web application.

Content

How do you create static and dynamic web pages?
How do you create a simple website?
How are modern web development frameworks different from creating simple web pages?
What does the client-server model mean for web applications?

Evaluation scale

1-5