AMKoodari -
koulutuksella koodaavampaa Suomea

Koodaamista voi verrata vaikka säveltämiseen. Toisilta se käy luonnostaan ja toiset oppivat opiskelemalla. Yhtä kaikki, koodia syntyy. AMKoodari on maksuton koulutus sinulle, joka haluat hyödyntää luontaista luovuuttasi, oppia tulevaisuuden ammatin, vaihtaa uraa tai muuten vain kehittää osaamistasi.

AMKoodari - koulutuksella koodaavampaa Suomea

Metropolian AMKoodari-koulutustarjonta on nähtävissä alla. Tutustu opintojaksoihin ja ilmoittaudu mukaan!

Opintojaksolle ilmoittautumisen ajankohta ja opintojakson alkaminen on kerrottu opintojakson nimen jälkeen. Jos asiasta ei ole mainintaa, voit ilmoittautua opintojaksolle heti ja aloittaa milloin vain. Opintojaksot ovat verkkopohjaisia virtuaalikursseja. Osassa opintojaksoista on henkilömääräraja. Jos opintojakso täyttyy, siitä tulee ilmoitus nettisivulle.

Minustako koodari? / Could I be a programmer?

Kysymykseen on helppo saada vastaus: valitse itsellesi sopiva opintojakso ja pääset heti kokeilemaan mitä ohjelmointi pitää sisällään. Ohjelmointi voi aluksi vaikuttaa hankalien ohjelmointikielien opettelulta, mutta kun pääset vauhtiin, niin huomaat, että kyseessä on vain loogisten haasteiden ratkaisemista. Tutustuttuasi ohjelmoinnin perusteisiin ja yhteen tai useampaan ohjelmointikieleen voit jatkaa opiskelua ja valita itsellesi opintojaksoja, jotka tähtäävät ammattimaiseen koodaustyöhön.

Koodareista on huutava pula ja avoimia työpaikkoja löytyy kaikilta teollisuuden aloilta.

It’s easy to find out: choose a course that suits your needs and interests, and you’ll be able to try out programming right away. Programming may initially seem like studying difficult programming languages, but once you get going, you’ll realise it’s simply a matter of solving logic problems. Once you’ve gotten familiar with the basics and one or more programming languages, you may go on to pick courses aiming towards professional programming. There is a massive shortage of programmers, and you can find open job positions within all industries.

Opintojaksot / Courses:

Ohjelmoinnin perusteet (Java), 3 op

Opintojakson sisältö

  • Algoritminen ajattelu
  • Proseduraalinen ohjelmointi lausekielellä (Java):
    syöttö ja tulostus, muuttujat, vakiot ja tyypit, lausekkeet ja lauseet, peräkkäisyys, valinta, toisto, taulukkorakenne, aliohjelmat, paluuarvo ja parametrit.

Opintojen jälkeen 

  • ymmärrät proseduraalisen ohjelmoinnin periaatteet
  • osaat toteuttaa vuorovaikutteisia ohjelmia käyttäen eri kontrollirakenteita
  • osaat jakaa ohjelman aliohjelmiin ja käyttää parametreja.
  • osaat käyttää taulukkorakennetta.

SQL ja relaatiotietokannat, 5 op

Opintojakson sisältö

  • Johdatus relaatiotietokantoihin, relaatiomallin perusteita, suunnittelun perusteita, SQL-johdanto, tietokannan luominen ja taulujen rakenne, tiedon lisääminen, tiedon haku: SELECT ja WHERE, lisää relaatiomallista, tietokannan suunnittelua, relaatioista ja näkymistä, normalisointi, hyödyllisiä lisätyökaluja kyselyihin ja rakennemäärityksiin.

Opintojakson jälkeen osaat:

  • Perusteet SQL-kielestä sillä tasolla, että osaat tehdä tiedonhakua SQL-tietokannasta kyselyin
  • ymmärrät, mitä ovat kooste- ja skalaarifunktiot ja osaa hakea niillä tietokannasta johdettua tietoa
  • ymmärrät, mitä ovat koostetaulut ja osaa käyttää niitä tiedonhakuun
  • osaat lukea ja ymmärtää SQL-syntaksia
  • kykenet muokkaamaan ja lisämään tietoa tietokantaan
  • ymmärrät, mitä ovat tiedon normalisointimuodot ja mihin niitä tarvitaan
  • pystyt tekemään tietokannan suunnittelua sekä ylläpitämään niitä.

Python-ohjelmointi, 3 op

Opintojakson sisältö

  • Johdanto Python-kurssille, Python-kielen perusasiat, valintarakenne if-elif-else, toistorakenteet, tiedostot Python-kielessä, alifunktiot, moduulit, virheenkorjaus, tietotyypit ja leikkaukset, oliot

Opintojakson jälkeen

  • osaat lukea ja kirjoittaa Python-kielisiä ohjelmia
  • ymmärrät Python-kielen mahdollisuudet ja rajoitteet.

C-ohjelmointi, 3 op

Opintojakson sisältö

  • Algoritminen ajattelu
  • Proseduraalinen ohjelmointi lausekielellä (C): syöttö ja tulostus, muuttujat, vakiot ja tyypit, lausekkeet ja lauseet, peräkkäisyys, valinta, toisto, taulukkorakenne, aliohjelmat, paluuarvo ja parametrit.

Opintojakson jälkeen

  • ymmärrät proseduraalisen ohjelmoinnin periaatteet
  • osaat toteuttaa vuorovaikutteisia ohjelmia käyttäen eri kontrollirakenteita
  • osaat jakaa ohjelman aliohjelmiin ja käyttää parametreja
  • osaat käyttää taulukkorakennetta.

C#-ohjelmoinnin perusteet, 4 op

Opintojakson sisältö

  • Johdanto C#-kieleen, ohjelman perusrakenne, tietotyypit, operaattorit, valintalauseet, toistolauseet, poikkeukset, taulukot, olio-ohjelmoinnin perusteet, monimuotoisuus olio-ohjelmoinnissa, merkkijonon käsittely, tiedostojen käsittely

Opintojakson jälkeen

  • ymmärrät .NET-arkkitehtuurin perusteet
    ymmärrät ja pystyt ohjelmoimaan ja debuggaamaan yksinkertaisia C#-kielisiä ohjelmia

Olio-ohjelmointi (C++), 3 op

Ilmoittautuminen 1.11. alkaen, opintojakso avataan 15.11.2019

Opintojakson osaamistavoitteet

Opiskelija tuntee C++-kielen ja sen erityispiirteet olio-ohjelmoinnissa. Opiskelija osaa määritellä luokan, luoda olion ja kirjoittaa koodia, jossa oliota käytetään. Opiskelija osaa olioiden välisen yhteistyön, periytymismekanismin ja pystyy hyödyntämään dynaamista sidontaa. Opiskelija osaa käyttää operaattorifunktioita.

Edeltävä osaaminen

Ohjelmoinnin perusteet

Opintojakson sisältö

  • olion automaattinen ja dynaaminen luonti
  • konstruktorit ja destruktorit
  • periytyminen, assosiaatiot, koostuminen
  • virtuaalifunktiot ja myöhäinen sidonta
  • erilaiset parametrityypit
  • kopiointikonstruktori
  • operaattorifunktiot
  • geneeriset funktiot

Introduction to Java Programming, 3 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Learning outcomes

Understanding basics of java programming

Contents

First part of the course deals with basics of Java programming and the second part introduces students to concepts of object-oriented programming.

  • algorithms
  • variables in Java
  • programming statements, expressions and operators
  • if-statement
  • loop structures in Java
  • methods
  • numerical arrays
  • basics of object-oriented programming
  • more about objects

The course includes programming exercises and multi-choice questions.

SQL and Relational Databases, 3 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Learning outcomes

After the course, a student has ability to understand and maintain SQL and relational databases

Contents

Introduction to relational databases, basics of relational model, introduction to SQL, planning and creating a database, tools

Python Programming, 3 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Learning outcomes

After the course, the student has the ability to write and maintenance Python scripts and create Python based programs

Contents

Introduction to Python language, Basics of Python, If-elif-else, loops, files in Python language, functions, modules, exception handling, data structures in Python and slicing, object oriented programming

C Programming, 3 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Learning outcomes

Understanding procedural programming.

Ability to implement interactive programs using different control structures. Ability to divide the program into sub programs and to use parameters. Ability to use array data structure.

Contents

Elements of a program (C): variables, constants, types, expressions, arrays, control structures, input and output, sub programs and parameters.

Mastering Version Control with Git, 6 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

The goal of this course is for the student to be familiar with the concept of Version Control and the advantageous of using such systems in software development. Then the student will be fully introduced to Git as one of the most powerful and popular version control systems. After passing this course, the student will be able to work in teams of development and fully be able to participate simultaneously in order to add features to a software developing project in parallel with other team members. Finally, the student will get familiar with Github as a web-based Git repository hosting service. 

Contents

What is Version Control? - Benefits of Version Control - Continuous Integration (CI) - What is Git? - How does Git work? - Who needs Git? - Git repository hosting services - Introduction to GitHub - Setting up a repository - Saving changes - Inspecting a repository - Viewing old commits - Undoing Changes - Rewriting history - Syncing - Making a Pull Request - Using Branches 

MongoDB, 5 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

The goal of this course is for the student to be familiar with the primary concept of MongoDB as a NoSQL Document-Oriented Database. Then the student will be fully introduced to MongoDB as one of the most powerful and popular NoSQL Document-Oriented DBMS systems and the advantageous of using this RDBM in software development. After passing this course, the student will understand different types of database systems and be able to pick the best option for data storage according to the structures and usages of the data in a project. Also, he/she be able to design and implement a NoSQL database with MongoDB.

Contents

What is MongoDB? - What is NoSQL? - Why NoSQL? - Features of NoSQL - Types of NoSQL Databases - RDBMS Vs NoSQL - What is Document-Oriented Database? - Comparing document-oriented and relational data - Document-Oriented Database Use cases - Why Use MongoDB? - Difference between MongoDB & RDBMS - Key Components of MongoDB Architecture - Installing MongoDB - MongoDB CRUD Commands

Software Testing and Quality Assurance, 5 ECTS

This course is fully booked. Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

Testing and Quality assurance is an essential part of the Software Development Process. The goal of this course is to familiarize you with the basic concepts of Software Testing and the role of Quality Assurance in a software development team. This course is suitable for beginners who have little or no manual testing experience. By the end of the course, you understand types of testing, creating test cases, bug life cycle, and the tools required for each level.

Contents

Testing fundamentals – Various types of testing – Unit Testing – Manual Testing – Automatic Testing - - Integration Testing – Smoke Testing – Regression Testing – Functional and Non Functional Testing - Test Cases Development – Various Testing Tools – Test Management – Defect Management – Bug Tracking Tools – Agile Testing – Collaborating in a team as a Software Tester

Moderni web- ja mobiilikehitys / Modern Web and Mobile Development

Laadukkaiden, ja tietoturvaltaan luotettavien, web- ja mobiiliratkaisujen rakentajille löytyy nykypäivänä paljon töitä. Web- ja mobiilikehityksen saralla teknologiat kuten html5, CSS, ja Javascipt muodostavat luotettavan perustan, jonka pohjalta aloittelevana koodarina voit myöhemmin rakentaa osaamistasi terävämmäksi. Erikoistumisen ja jatkuvan opiskelun mahdollisuuksia löytyy web- ja mobiilikehityksen alalla paljon aina erilaisista sisällönhallintajärjestelmistä kokonaisiin testaus- että kehittämisympäristöihin asti. Lähde siis rohkeasti matkalle unelmiesi ammattiin!

There are plenty of jobs for developers of secure and high-quality web and mobile solutions. In the field of web and mobile development, technologies such as html5, CSS and Javascript form a reliable foundation on which to continue building your programming expertise. There are many options for specialisations and further studies in web and mobile development, from different content management systems to entire testing and development environments.

Opintojaksot / Courses

Javascript-perusteet, 5 op

Ilmoittautuminen 1.11. alkaen, opintojakso avataan 2.12.2019

Opintojakson osaamistavoitteet

Opintojakson opiskeltuaan opiskelija osaa kirjoittaa javascriptillä yksinkertaista koodia ja hän saa perusteet, joiden avulla hän voi laajentaa osaamistaan edelleen harjoittelemalla

Opintojakson sisältö

  • Arvot, tyypit, ja operaattorit
  • Ohjelmarakenne
  • Funktiot
  • Tietorakenteet: objektit ja taulukot
  • Virhekäsittely
  • Regular Expressions
  • Moduulit
  • Asynkroninen ohjelmointi

ASP.NET Core Application Development, 5 ECTS / This course is full

This course is fully booked. Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

A comprehensive course to learn about ASP.NET Core. The goal of this course is for the student to be familiar with ASP.NET Core as an open-source web framework, with having higher performance than ASP.NET. After passing this course, the student will have sufficient knowledge and understanding over characteristics, abilities, and features of ASP.NET Core. The students will be able to create a whole new project and work with all the major ASP.NET Core abilities.

Contents

Compression between ASP.NET Web Forms, MVC, and Core Advantages of ASP.NET Core – Creating ASP.NET Projects - Understanding the project structure - The Program class – Error Handling and middleware – Hosting Environment – MVC Pattern – Routing and its benefits – Rendering HTML and Razor views - Dependency Injection – Database access and Entity Framework - Security and identity

Developing Chatbots using Microsoft Bot Framework, 6 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

The goal of this course is for the student to be familiar with Microsoft Bot Framework as one of the widely used chatbot frameworks. After passing this course, the student will be able to understand different components of the framework and will be able to build intelligent chatbot using LUIS a NLU service by Microsoft and connect with different communication channels like Facebook, Website, slack etc. And also, will be able to deploy chatbot to production and get an idea about managing bot using Azure services.

Contents

Introduction Part:

What is a chatbot?  - Why use chatbots? - The history of chatbot? - Benefits of chatbots - What are the types of chatbots? - How do chatbots work? - Chatbot architecture (NLU services - Frameworks - Channels) - How you can build a chatbot? - How to build chatbot without & with coding?

Intermediate Part:

Bot Architecture (Microsoft cognitive services - Microsoft Bot Framework - Channels) - Cognitive Services (LUIS) - Microsoft Bot Framework (Core Concepts - Design Principles - Patterns)

Advanced Part:

Create/Manage your Bot - Test/Deploy Bot - Add Intelligence(LUIS) - Integrate channels(Facebook Messenger)

 

Developing Modern Web Platforms (HTML, CSS, JS), 15 op

Registration will start on 1.11., course will be open on 15.11.2019

Content

Introduction: History of Internet - The advent of World Wide Web - How the web works? - How web can get accessed to? - Common Web Protocols - Solutions for hosting our projects - Hosting > Things to consider - Registering a Domain - Importance of having web developing skills for a software engineer - Web Application vs. Desktop Application - Developing Concerns - The evolution of HTML - Developing Concerns - Responsive Design - Editors - Design > Target your audience - Mockups (Wireframes) - Template > Design - Your website statistics - What is Search Engine Optimization? - Publishing your website - Browsers

HTML: Tags or Elements - Page Structure - HTML Tags and Attributes - 3 Musketeers - Body Element - Head Element - The Declaration - View the source - Creating your first HTML page - Working with Text - Working with Lists - Working with Links - Working with Images - Working with Tables - Working with Forms - Extra Markups - Commenting in HTML - ID vs. Class - META Tags - Especial Characters

CSS: Understanding CSS - HTML and CSS are BestFriendsForever - How CSS works? - How to insert CSS? - CSS Selectors - CSS Rules Overlapping - CSS Rules Inheritance - Mastering Colors - Styling Text - Working with Fonts and Typefaces - Styling Links - Hover, active, focus - Boxes; Border, Margin, and Padding - Styling Lists, Tables and Forms - Layouts - Working with Images - HTML5 Layout Elements - CSS Frameworks - Introduction to Bootstrap

JavaScript: Is JavaScript same as Java? - JavaScript benefits - Say hi to Scripts - Understanding flowcharts for programming - Objects and Properties - Events - Methods - Understanding the Document object - When a Browser meets a Web Page - How HTML-CSS-JS coexist? - Writing your first JavaScript - How to store JS? (Internal vs. External) - Using Objects and Methods - Variables and Data Types - Operators - Functions - This - Using Browser Object Model - Using Document Object Model (DOM) - Working with Global Objects - Comparison Operators - Decisions - Loops - Accessing Elements in DOM - Validation - HTML5 JavaScript APIs - Error Handling and Debugging - Introduction to JavaScript Libraries (EXTRA) - Introduction to jQuery (EXTRA) - Introduction to AngularJS (EXTRA) - Introduction to React.JS (EXTRA)

React with Redux, 15 ECTS

Registration will start on 1.11., course will be open on 1.1.2020

Teaching language

English

Learning outcomes

The purpose of this course is for the student to learn how to build powerful, fast, user-friendly, and reactive web apps. React is one of the most trending JavaScript libraries which is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.

Contents

Virtual DOM – JSX – Intro to ES6 – Webpack and Babel – Components – State – Properties – Events – Refs – Keys – Router – Hooks - Localization – Gulp – NPM Packages - Redux

Mastering RESTful API Design, 6 ECTS

Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

Designing APIs for use over the web is a key part of most web development projects these days. Knowing the best way to design them with longevity, testability and reliability in mind is important. The goal of this course is for the student to be familiar with APIs, the concept of API Design and what is essential to design of an API-based solution. By explaining API Design steps and API Design approaches, the student will be familiar with all these concepts in a practical way. Then the student will be familiar with different API styles, and obtain a deeper level of knowledge about REST and its key difference and advantageous over the other styles. Finally, the student will understand security and performance concerns.

Contents

Introduction part:

What is an API? - Why we are using APIs? - What makes a business service good and practical? - How to use an API? - Clients using an API-based solution - What does an API-based solution consists of? - What is API Design? - API Design Decisions - API Design vs. API Architecture - Why do I need API Modeling Languages? - Steps to build an API - API Value Chain - Understand your API consumers - What do the Developers as your Consumers expect from your API? - Consumer-Oriented Design Approaches - API Design & Agile methodology - API Design approach

Intermediate Part:

API Description Languages - Usage of API Description Languages - Limitations of API Description Languages - APIs responsibilities - API properties - Different API Styles (REST-SOAP-RPC-HATEOAS) - REST vs. SOAP - REST Concept vs. HTTP Concept – Resources - Status Codes – URI - API Base URL Naming Tips - API Endpoints Tips

Advanced Part

Richardson Maturity Model - Content Negotiation - Parameters - HTTP Methods - Input and Output Validation - Building API Approaches - Dealing with Backend Errors - Non-Functional Properties of APIs - Security Concerns - Security Mechanisms - Performance and Availability – Caching - Load Balancer - Agile & API - Backward Compatible Changes – Versioning - Developers & Open APIs - API Consumers Types - API Consumers Considerations - SLA Management - API Testing Tools - API Statistics

Responsive Web Applications with Bootstrap & CSS, 8 ECTS / This course is full

This course is fully booked now. Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

Nowadays, developing mobile-first web applications is a necessary approach. Not only the websites need to be fully functional, but also the User Experience and User Interface need to be fully compatible to the web standards. In this course, the student gets familiar with Bootstrap as one of the most powerful and popular CSS frameworks, and will be able to get the best out of various features and functionalities of such framework to develop elegant and responsive web applications.

Contents

Introduction to CSS Part:

Understanding CSS - HTML and CSS are BestFriendsForever - How CSS works? - How to insert CSS? - CSS Selectors - CSS Rules Overlapping - CSS Rules Inheritance - Mastering Colors - Styling Text - Working with Fonts and Typefaces - Styling Links - Hover, active, focus - Boxes; Border, Margin, and Padding - Styling Lists, Tables and Forms - Layouts - Working with Images - HTML5 Layout Elements

Introduction to Bootstrap Part:

CSS Frameworks - How Bootstrap got started? - Getting Bootstrap - Content Delivery Network - Compatibility - Getting Started - Grid System - Mobile first vs. Mobile last - Images - Community

Bootstrap content & components Part:

Typography - Lists - Styling text - Code - Images - Tables - Figures - Alerts - Badge - Breadcrumb - Buttons - Button group - Card - Carousel - Collapse - Dropdowns - Forms - Input group - Jumbotron - List group - Modal - Navs - Navbar - Pagination - Popovers - Progress - Scrollspy - Tooltips

Advanced Part:

Color Coding - Embeds - Positioning - Sizing, Styling, and Spacing - Icon Libraries - Using JavaScript - Accessibility & Screen readers - Examples - Themes - Introduction to other frameworks

TypeScript, 5 ECTS / This course is full

This course is fully booked. Registration will start on 1.11., course will be open on 15.11.2019

Teaching language

English

Learning outcomes

The purpose of this course is for the student to be familiar with the concept of typing and the advantageous of using it in software development. Then the student will be fully introduced to TypeScript as a subset language for JavaScript. After passing this course, the student will be able to develop and comprehend TypeScript in a software development project. Finally, the student will familiar with the usage of TypeScript in some trend web frameworks such as React.

Contents

What is TypeScript? – Strong and weak typing in Programming Language – JavaScript Types - Basic Types - Basic Types - Installing TypeScript - VSCode + TypeScript - Linting TypeScript - Compile and Run - Type Casting - Advanced Types – Loops – Modules - Namespaces - JSX – React + TypeScript

Pilviteknologiat - rakenna liiketoimintasi pilveen / Cloud Computing Services

Modernit ja kilpailukykyiset liiketoimintastrategiat perustuvat pitkälle digitalisointiin ja pilvipalveluiden hyödyntämiseen. Lähes kaikki yritykset ovat siirtäneet tai ovat siirtämässä palvelimensa, sovellukset, tietokannat jne. pilveen. Tässä moduulissa opit, kuinka tuo muutos voidaan tehdä ja kuinka siitä saadaan paras mahdollinen taloudellinen hyöty.

Modern, competitive business strategies are largely based on digitalisation and the utilisation of cloud technology. Almost all companies have moved or are moving their servers, applications and databases into a cloud. This module teaches you how to make that transition and reap the best financial benefits from it.

 

Introduction to Cloud Computing Services and Fundamentals of Microsoft Azure, 8 op 

Registration will start on 1.11., course will be open on 15.11.2019

Content

Principles of Cloud Computing - Service Models - Cloud Computing Services - Cloud Computing Services Tasks - Introduction to Azure - Azure architecture and service guarantees - Create an Azure account - Manage services with the Azure portal - Azure compute options - Azure data storage options - Azure networking options - Security, responsibility and trust in Azure
Apply and monitor infrastructure standards - Control and organize Azure resources - Predict costs and optimize spending for Azure

Ilmoittautuminen opintojaksoille / Registration

Kun olet valinnut opintojaksot, ilmoittaudu tällä lomakkeella.
Täytä lomake ja tallenna se. Saat sen jälkeen sähköpostiisi tarkemmat ohjeet opintojakson aloittamiseksi.

Choose courses and sign up with this form.
Fill in the form and save it. After that you'll receive more information via email.

Lisätietoa

Kurssien sisällöt:
Janne Salonen, janne.salonen@metropolia.fi

Ilmoittautumiset:
Olga Trishkina, olga.trishkina@metropolia.fi

Yhteistyössä

  • Haaga-Helia ammattikorkeakoulu.
  • Hämeen ammattikorkeakoulu.
  • Laurea-ammattikorkeakoulu.
  • Metropolia Ammattikorkeakoulu.
  • Kaakkois-Suomen ammattikorkeakoulu – Xamk.

Mikä AMKoodari?

AMKoodari on vuosina 2019-2021 Opetus- ja kulttuuriministeriön erityisavustuksella toteutettavaa maksutonta koodarikoulutusta. Koulutus toteutetaan viiden ammattikorkeakoulun yhteistyönä. Koulutusta tarjoavat Haaga-Helia, Hamk, Laurea, Metropolia ja Xamk. AMKoodari-koulutus on suunnattu henkilöille, jotka eivät ole korkeakoulussa tutkinto-opiskelijoina.