Skip to main content

Software Engineering

Credits:
27 ects

Software engineering

Enrollment

13.11.2023 - 17.01.2024

Timing

08.01.2024 - 26.05.2024

Credits

5 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
  • Master's Degree Programme in Automation Engineering
Teachers
  • Petteri Mäkelä
  • Matti Panula
Student groups
  • YAUTE23
    Master of Engineering, Automation Engineering
  • OHSU23
    Software Engineering

Objective

After the course student can design and implement distributed information systems for the field of industrial automation.

Content

- Principles of distributed computing
- REST API
- MQTT
- OPC UA
- Databases
- Integration of industrial information systems

Materials

Material provided by the lecturer

Teaching methods

Lectures, exercises

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

Student knows the basics of information systems in manufacturing industry.

Assessment criteria, good (3)

Student knows the basics of information systems in manufacturing industry. Student can develop a web-based application, which collects data from manufacturing system and sends that data to a server for further processing.

Assessment criteria, excellent (5)

Student knows the basics of information systems in manufacturing industry. Student can develop a web-based application, which collects data from manufacturing system and sends that data to a server for further processing. Student can utilize various web-based technologies.

Assessment methods and criteria

Assignments
Exam

Enrollment

13.11.2023 - 17.01.2024

Timing

08.01.2024 - 28.04.2024

Credits

3 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
Teachers
  • Mikko Kulmala
Student groups
  • OHSU23
    Software Engineering

Objective

The student understands the importance of business intelligence in today's business. The student knows the basic concepts and methods of data analytics, such as Big Data, data mining and business data analysis. The student understands the different stages of the Business Intelligence implementation process and is able to apply them to a limited problem. The student is able to utilize some of the existing BI tools for analyzing business data.

Content

- the importance of business information management in business
- basic concepts and methods of data analytics
- steps for using and applying BI
- use of an existing BI tool

Materials

Material provided by lecturer and online materials

Teaching methods

Lectures and workshops

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

The student understands the importance of data analytics in today’s business. The student is familiar with the basic concepts and methods of data analytics and BI. The student is able to utilize some BI tool in analyzing business data.

Assessment criteria, good (3)

The student understands the importance of data analytics as a competitive advantage in today’s business. The student knows the basic concepts and methods of data analytics and BI. The student is able to utilize some BI tool in analyzing business data.

Assessment criteria, excellent (5)

The student understands the importance of data analytics as a competitive advantage in today’s business. The student is familiar with the basic concepts and methods of data analytics and BI. The student is able to utilize and apply some BI tool in analyzing business data.

Enrollment

13.11.2023 - 17.01.2024

Timing

08.01.2024 - 28.04.2024

Credits

3 op

Teaching languages
  • English
Degree programmes
  • Software Engineering
Teachers
  • Pasi Mikkonen
Student groups
  • OHSU23
    Software Engineering

Objective

Students will be competent in using the mathematical methods described in the course contents to solve practical mathematical problems.

Content

Minimization by gradient descent
Linear regression
Logistic regression
Neural networks

Materials

to be announced at the beginning of the course

Teaching methods

lectures and exercises

Student workload

81h

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

satisfactory (1-2): The student knows and understands to a satisfactory extent the basic concepts and methods discussed in the course, and is able to apply them to usual problems.

Assessment criteria, good (3)

good (3-4): The student is familiar with the concepts and methods discussed in the course, and is able to apply them to different types of problems. The student is able to combine the accumulated knowledge and skills with previous experiences in the subject.

Assessment criteria, excellent (5)

excellent (5): The student is familiar with the concepts and methods discussed in the course, and is able to apply them to a variety of different problems. The student has demonstrated creativity and innovation, and is able to find new meanings when applying what they have learned

Assessment methods and criteria

assignments

Qualifications

Algebra and geometry, Vectors and matrices, Differential and integral calculus, Automation technology mathematics

Enrollment

17.04.2023 - 06.09.2023

Timing

23.10.2023 - 17.12.2023

Credits

3 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
Teachers
  • Raine Kauppinen
Student groups
  • OHSU23
    Software Engineering

Objective

Student knows the basics of business process modelling and robotic process automation (RPA). Student knows how to automate business processes using the tools of RPA. Student can automate tasks by using RPA tools.

Content

- Modelling business processes
- RPA development tools
- RPA programming
- Task automatisation with RPA
- Process-level automation

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

Student knows the basics of business process modelling and robotic process automation (RPA). Student can automate simple tasks by using RPA tools.

Assessment criteria, good (3)

Student knows the basics of business process modelling and robotic process automation (RPA). Student knows how to automate business processes using the tools of RPA. Student can automate tasks by using RPA tools.

Assessment criteria, excellent (5)

Student knows the basics of business process modelling and robotic process automation (RPA). Student can automate business processes using the tools of RPA. Student can automate complex tasks by using RPA tools.

Qualifications

Basics of programming

Enrollment

17.04.2023 - 06.09.2023

Timing

28.08.2023 - 17.12.2023

Credits

5 op

Virtual proportion (cr)

3 op

Teaching languages
  • Finnish
Degree programmes
  • Master of Engineering, Technology Competence Management
  • Software Engineering
  • Master's Degree Programme in Automation Engineering
Teachers
  • Aapo Koski
Student groups
  • YAUTE23
    Master of Engineering, Automation Engineering
  • YTOJ23
    Master of Engineering, Technology Competence Management
  • OHSU23
    Software Engineering

Objective

After completing this course, student knows the common methods and tools of software engineering. Student can use the version control systems (git). Student understands the principles of software testing and can develop software, which can be tested well. Student knows the principles of Devops and can utilize the container technology in system development (Docker).

Content

- Methods and tools of software engineering
- Version control systems
- Software testing
- Continuous integration, continuous deployment, Devops
- Containers (Docker)

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

Student knows the common methods and tools of software engineering. Student can use the version control systems.

Assessment criteria, good (3)

Student knows the common methods and tools of software engineering. Student can use the version control systems. Student understands the principles of software testing and can develop software, which can be tested well. Student knows the principles of Devops and can utilize the container technology in system development.

Assessment criteria, excellent (5)

Student can utilize the methods and tools of software engineering. Student masters the use of the version control systems. Student understands the principles of software testing and can develop software, which can be tested well. Student knows the principles of Devops and can utilize the container technology in system development.

Qualifications

Basics of software engineering

Enrollment

17.04.2023 - 06.09.2023

Timing

14.08.2023 - 17.12.2023

Credits

3 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
Teachers
  • Juha Yli-Hemminki
Student groups
  • OHSU23
    Software Engineering

Objective

Student knows the software development process and life-cycle models. Student can model architecture and behavior of a simple information system with UML. Student can use the basic features of the version control system and design testable software.

Content

- Software development process and life cycle models
- Requirement analysis
- Modeling information system with UML
- Software testing
- Basics of version control systems

Materials

Lecture material

Teaching methods

Lectures and exercises

Student workload

Lectures 24h, exercises and assignments 57h, total 81h

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

Student knows the software development process and life-cycle models. Student can use the basic features of the version control system.

Assessment criteria, good (3)

Student knows the software development process and life-cycle models. Student can model architecture and behavior of a simple information system with UML. Student can use the basic features of the version control system and design testable software.

Assessment criteria, excellent (5)

Student knows the software development process and life-cycle models well. Student can model architecture and behavior of an information system with UML. Student can use the basic features of the version control system and design testable software.

Assessment methods and criteria

Exam and/or practical work

Enrollment

17.04.2023 - 06.09.2023

Timing

14.08.2023 - 17.12.2023

Credits

5 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
Teachers
  • Matti Panula
Student groups
  • OHSU23
    Software Engineering

Objective

The student knows the concepts and theory of object-oriented programming. The student is able to design and implement object-oriented programs.

Content

- Class and object
- Encapsulation
- Inheritance and polymorphism
- Exceptions
- Abstract classes
- Delegates
- File management
- Attributes

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

The student knows the basics of object-oriented programming.

Assessment criteria, good (3)

The student masters well principles of object oriented paradigms.
The student masters the concepts and theory of object-oriented programming. The student knows the object-oriented programming language and is able to use it to implement programs that implement practical needs.

Assessment criteria, excellent (5)

The student can utilize learned skills in demanding projects.
The student knows the concepts and theory of object-oriented programming. The student has a comprehensive knowledge of object-oriented programming language and is able to implement programs that implement practical needs in a versatile way with the help of object-oriented programming.

Enrollment

17.04.2023 - 06.09.2023

Timing

14.08.2023 - 17.12.2023

Credits

4 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
Teachers
  • Matti Panula
Student groups
  • OHSU23
    Software Engineering

Objective

Student knows the fundamentals of web applications. Student can develop web-based applications, which utilize REST APIs. Student can program the server side of the application with techniques introduced at the beginning of course. Student can use relational and NoSQL databases for storing the application's data. User can develop tests for the server program.

Content

- Fundamentals of web applications
- HTTP, REST API
- Implementing server-side software
- Testing server-side programs
- User administration

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

Student knows the fundamentals of web applications. Student can develop simple web-based applications.

Assessment criteria, good (3)

Student knows the fundamentals of web applications. Student can develop web-based applications, which utilize REST APIs. Student can program the server side of the application. Student can use relational or NoSQL databases for storing the application's data.

Assessment criteria, excellent (5)

Student knows the fundamentals of web applications. Student can develop web-based applications, which utilize REST APIs. Student can program the server side of the application with JavaScript and Node.js. Student can use relational and NoSQL databases for storing the application's data. User can develop tests for the server program.

Enrollment

17.04.2023 - 06.09.2023

Timing

14.08.2023 - 17.12.2023

Credits

3 op

Teaching languages
  • Finnish
Degree programmes
  • Software Engineering
Teachers
  • Raine Kauppinen
  • Petteri Mäkelä
Student groups
  • OHSU23
    Software Engineering

Objective

The student knows how to build client-side single-page and multipage web-applications. Student can develop interactive functionality to HTML pages using modern technologies.

Content

- HTML, CSS, JavaScript
- Tools needed in web application development
- Basics of web application development frameworks. A commonly used framework is used as an example.

Materials

To be announced at the beginning of the course

Teaching methods

Lectures and exercises

Exam schedules

The exam is in the last lesson

Student workload

Lectures 37 %, independent studying 63 %.

Evaluation scale

1-5

Assessment criteria, satisfactory (1)

The student knows the basic terms and technologies used in client-side programming.

Assessment criteria, good (3)

The student masters well the principles of client-side programming and is able to apply them to different exercises.

Assessment criteria, excellent (5)

The student masters well the principles of client-side programming and is able to adopt new client-side technolgies on his own. He is also able to apply them to even the most demanding cases.

Assessment methods and criteria

Exam 75 % and exercises 25 %