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

Ilmoittautuminen: jatkuva

Opiskeluaika: 31.12.2020 asti

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

Ilmoittautuminen: jatkuva

Opiskeluaika: 31.12.2020 asti

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

Ilmoittautuminen: jatkuva

Opiskeluaika: 31.12.2020 asti

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

Ilmoittautuminen: jatkuva

Opiskeluaika: 31.12.2020 asti

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

Ilmoittautuminen: jatkuva

Opiskeluaika: 31.12.2020 asti

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: jatkuva

    Opiskeluaika: 31.12.2020 asti

    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

    Application period: non-stop

    Teaching period: until 31.12.2020 

    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.

    Introduction to Kotlin, 3 ECTS

    Application period: non-stop

    Teaching period: until 31.12.2020 

    Contents

    1. Introduction
    2. The First Kotlin Program
    3. Data Types & Variables & Operators
    4. Arrays
    5. Conditional Statement
    6. Loops u
    7. Functions
    8. Debugging
    9. Classes
    10. Collections
    11. Error Handling
    12. File Handling

    Introduction to C#, 3 ECTS

    Application period: non-stop

    Teaching period: until 31.12.2020 

    Contents

    1. Introduction
    2. .NET Framework and Visual Studio Community
    3. Writing C# programs
    4. Variables, datatypes and operators
    5. Conditional statements
    6. Loops
    7. Lists and arrays
    8. Using files
    9. Object-oriented programming

    SQL and Relational Databases, 3 ECTS

    Application period: non-stop

    Teaching period: until 31.12.2020 

    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

    Application period: non-stop

    Teaching period: until 31.12.2020 

    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

    Application period: non-stop

    Teaching period: until 31.12.2020 

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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: jatkuva

    Opiskeluaika: 31.12.2020 asti

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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

    Responsive Web Applications with Bootstrap & CSS, 8 ECTS 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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 

    Application period: 24.11.2020, 9:00 - 7.12.2020, 23:59

    Teaching period: 14.12.-31.5.2021

    There is a limited number of study places

    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.

    Tutustu AMKoodari-hankerekisterin tietosuojaselosteeseen