C++ Academy logo
C++AloittelijaTekoälyMobiiliTasot A1 → C222 kieltä

C++ Academy

Kehittäkää ohjelmistokehitystaitojanne oppimalla C++-kieltä C++ Programming Academyssa. CoddyKitin oppimispolku, joka sisältää 51 lyhyttä kurssia ja 203 interaktiivista oppituntia sekä tekoälytuutorin käytettävissäsi ympäri vuorokauden.

Kurssit
51
Oppitunnit
203
Interaktiiviset vaiheet
2,707
Aloita maksutta
Kurssi 1
Kurssisisältö

51 kurssia tässä opintopolussa

Kaikki C++ Academy-opintopolun kurssit suoritusjärjestyksessä. Ensimmäinen on ilmainen.

1

A13 oppituntiaIlmainen

Tutustukaa C++:aan, joka on luomisestaan 40 vuotta myöhemmin yhä yksi tehokkaimmista ja käytetyimmistä kielistä, sekä siihen, missä se pyörii huomaamatta arjessanne.

2

A14 oppituntiaPRO

Ottakaa C++-kääntäjä käyttöön, kirjoittakaa ensimmäinen ohjelmanne ja ottakaa muuttujat, tyyppipäättely sekä perusoperaattorit haltuun. Tämä on jokaisen C++-kehittäjän lähtökohta.

3

A14 oppituntiaPRO

Käsitelkää tekstiä std::stringillä ja C-tyylisillä char-taulukoilla. Oppikaa jäsentämistä, muotoilua ja muunnoksia arkipäiväisiin merkkijono-operaatioihin.

4

A14 oppituntiaPRO

Lukekaa syötettä ja kirjoittakaa tulostetta selkeästi iostreamilla. Käsitelkää cin, cout, cerr, muotoiluapureita ja turvallista syötteen validointia.

5

A14 oppituntiaPRO

Haarautukaa ja toistakaa kuin ammattilainen. Oppikaa if-else, switch, for, while, range-based for sekä nykyaikainen aikaisen paluun tyyli selkeää koodia varten.

6

A24 oppituntiaPRO

Kootkaa tietoja rakenteisiin ja luokkiin. Opetelkaa konstruktorit, jäsenmuuttujien alustuslistat ja this-osoitin.

7

A24 oppituntiaPRO

Laskekaa kokonaisluvuilla, liukuluvuilla ja cmath-kirjastolla. Luokaa satunnaislukuja ja ymmärtäkää ylivuodon toiminta.

8

A24 oppituntiaPRO

Ottakaa std::vector, nykyaikaisten C++-kokoelmien työjuhta, haltuun. Verratkaa sitä std::arrayhin ja raakoihin C-tyylisiin taulukoihin.

9

A24 oppituntiaPRO

Ymmärtäkää viittaukset — turvallisempi vaihtoehto osoittimille — ja opetelkaa arvon välittäminen viitteenä ja const-viitteenä.

10

A24 oppituntiaPRO

Soveltakaa oppimaanne rakentamalla neljä itsenäistä miniprojektia: laskin, CSV-lukija, arvauspeli ja sanatiheyslaskuri.

11

A24 oppituntiaPRO

Satunnaisluvut -kirjastolla: satunnaislukugeneraattorit, jakaumat ja paljon muuta.

12

B14 oppituntiaPRO

C++:n muistimalli: pino ja kekomuisti: pinovaraus, kekomuistin varaaminen new/delete-operaattoreilla sekä paljon muuta.

13

B14 oppituntiaPRO

RAII ja resurssienhallinta: RAII-periaate, destruktorit ja siivous sekä paljon muuta.

14

B14 oppituntiaPRO

Poikkeustenkäsittely ja noexcept: try, catch, throw, poikkeusturvallisuus sekä paljon muuta.

15

B14 oppituntiaPRO

const-oikeellisuus ja constexpr: const-muuttujat ja -parametrit, const-jäsenfunktiot sekä paljon muuta.

16

B14 oppituntiaPRO

Käyttäkää raakoja osoittimia vastuullisesti. Opetelkaa osoitinaritmetiikka, nullptr sekä tilanteet, joissa viitteet tai älyosoittimet ovat parempi vaihtoehto.

17

B14 oppituntiaPRO

Enum-tyypit, unionit ja std::variant: rajattu enum class, unionit ja niiden riskit sekä paljon muuta.

18

B14 oppituntiaPRO

std::optional ja std::expected: puuttuvan arvon esittäminen optionalilla, optional-arvojen käyttäminen sekä paljon muuta.

19

B14 oppituntiaPRO

std::string_view ja tehokkaat merkkijonot: miksi string_view, näkymien luominen sekä paljon muuta.

20

B14 oppituntiaPRO

std::array ja std::span: kiinteän kokoinen std::array, std::spanin perusteet sekä paljon muuta.

21

B14 oppituntiaPRO

Assosiatiiviset säiliöt: std::map, std::set ja paljon muuta.

22

B14 oppituntiaPRO

Hajautus unordered_mapilla: std::unordered_map, unordered_set ja paljon muuta.

23

B14 oppituntiaPRO

Korvatkaa raaka new ja delete älyosoittimilla. Hallitkaa unique_ptr-, shared_ptr- ja weak_ptr-osoittimien omistajuussemantiikka.

24

B14 oppituntiaPRO

Soveltakaa olio-ohjelmointia periytymisen, virtuaalifunktioiden ja abstraktien luokkien avulla — ja oppikaa, milloin koostaminen on parempi ratkaisu.

25

B14 oppituntiaPRO

Tehkää omista tyypeistänne luonteva osa kieltä. Ylikuormittakaa aritmeettiset, vertailu- ja stream-operaattorit sekä C++20:n three-way comparison -operaattori.

26

B14 oppituntiaPRO

Määrittäkää siirrettävät ja skaalautuvat C++-koonnit CMake-ohjelmalla. Hallitkaa riippuvuuksia vcpkg:n ja Conan:n avulla.

27

B14 oppituntiaPRO

Tiedostojen I/O fstreamilla: tiedostojen lukeminen ifstreamilla, kirjoittaminen ofstreamilla sekä paljon muuta.

28

B14 oppituntiaPRO

Aika ja Chrono-kirjasto: kestot ja kellot, aikapisteet sekä paljon muuta.

29

B14 oppituntiaPRO

Säännölliset lausekkeet -kirjastolla: regexin perusteet, kaappaavat ryhmät sekä paljon muuta.

30

B24 oppituntiaPRO

Tutustukaa vaikuttavimpiin lisäyksiin C++11:stä C++20:een: auto, range-for, lambdat, rakenteiset sidonnat ja paljon muuta.

31

B24 oppituntiaPRO

Poistakaa tarpeettomat kopiot. Opetelkaa rvalue-viitteet, std::move, std::forward sekä siirtokonstruktoreiden kirjoittaminen.

32

B24 oppituntiaPRO

Käyttäkää kutsuttavia olioita tehokkaasti modernissa C++:ssa. Verratkaa funktoreita, lambdoja ja tyyppinsä häivyttävää std::function-rakennetta.

33

B24 oppituntiaPRO

Hyödyntäkää monipuolista algoritmikirjastoa. Käykää käytännön esimerkkien avulla läpi muokkaamattomat, muokkaavat, lajittelu- ja numeeriset algoritmit.

34

B24 oppituntiaPRO

Ymmärtäkää iteraattoriluokat ja ottakaa käyttöön C++20:n ranges-kirjasto yhdisteltäviä, laiskasti arvioitavia datakäsittelyketjuja varten.

35

B24 oppituntiaPRO

Funktio-oliot ja std::bind: funktio-osoittimet, std::function sekä paljon muuta.

36

B24 oppituntiaPRO

Kommunikoikaa verkon kanssa C++:sta. Käyttäkää BSD-socketeita, epoll-pohjaista asynkronista I/O:ta ja Boost.Asioa selkeän asynkronisen koodin kirjoittamiseen.

37

B24 oppituntiaPRO

Yksikkötestaus Google Testillä: GTestin käyttöönotto, väitteet ja täsmäyttäjät sekä paljon muuta.

38

B24 oppituntiaPRO

Virheenkorjaus ja sanitizer-työkalut: gdb:n ja lldb:n käyttö, AddressSanitizer sekä paljon muuta.

39

C14 oppituntiaPRO

Suorittakaa koodia turvallisesti rinnakkain. Opetelkaa std::thread, std::mutex, ehtomuuttujat ja std::async-futureineen.

40

C14 oppituntiaPRO

Mallien erikoistaminen ja SFINAE: täysi erikoistaminen, osittainen erikoistaminen sekä paljon muuta.

41

C14 oppituntiaPRO

Tulkaa sujuviksi template-ohjelmoinnissa. Käykää läpi erikoistaminen, parametripakettitemplatet, constexpr-funktiot ja if constexpr.

42

C14 oppituntiaPRO

Korvatkaa monimutkainen SFINAE selkeämmällä C++20:n concepts-järjestelmällä, jolla templateja voidaan rajoittaa.

43

C14 oppituntiaPRO

Tehkää C++-koodista nopeaa. Käykää läpi välimuistitietoiset asettelut, haarautumisen ennakointi, profilointityökalut ja mikrovertailut.

44

C14 oppituntiaPRO

Soveltakaa C++:aa mikrokontrollereissa ja järjestelmäohjelmistoissa. Huomioikaa rajoitteet, kuten RTTI:n ja poikkeusten puuttuminen sekä reaaliaikavaatimukset.

45

C14 oppituntiaPRO

Yhdistäkää C++ C:hen, Pythoniin, Rustiin ja muihin kieliin. Käyttäkää extern C:tä, pybind11:tä, FFI:tä ja SWIG:iä ekosysteemien yhdistämiseen.

46

C14 oppituntiaPRO

Suunnitelkaa kirjastoja, jotka kestävät aikaa. Käykää läpi header-only-rakenteet, API-versiointi, ABI-yhteensopivuus ja PIMPL.

47

C14 oppituntiaPRO

Julkaiskaa luotettavaa C++-koodia. Käyttäkää staattista analyysiä, sanitizereita, fuzzingia ja jatkuvaa integraatiota koodin laadun varmistamiseen.

48

C14 oppituntiaPRO

CRTP ja staattinen polymorfismi: CRTP-idiomi, staattinen polymorfismi sekä paljon muuta.

49

C14 oppituntiaPRO

Tyyppipiirteet ja : tyyppien kysely, tyyppien muuntaminen sekä paljon muuta.

50

C24 oppituntiaPRO

Rakentakaa lukituksettomia tietorakenteita atomisten operaatioiden, muistijärjestysten ja CAS-silmukoiden avulla. Ymmärtäkää lukituksettoman ohjelmoinnin vaarat.

51

C24 oppituntiaPRO

Kirjoittakaa C++20:n coroutine-rutiineilla asynkronista koodia, joka näyttää synkroniselta. Rakentakaa omat generaattorinne ja tehtävänne.

CoddyKit PRO

Avaa kaikki 51 tämän opintopolun kurssia ja kaikki muut opintopolut

Tekoälytuutori, sertifiointikoe ja suoritustodistus. Toimii verkossa sekä iOS- ja Android-laitteilla.

Näytä kaikki paketit
Vuosittain$29.90 / vuosiNoin $2.49 kuukaudessaMaksa kerranElinikäinen$69.99 KerranEi uusimisia. PRO ikuisesti.
Kurssin yleiskatsaus

C++ on edelleen kieli, jossa suorituskyvystä ei tingitä

C++:aa käytetään käyttöjärjestelmissä, pelimoottoreissa, kääntäjissä, sulautetuissa laiteohjelmistoissa ja suurtaajuuskaupankäyntijärjestelmissä. Se antaa suoran hallinnan muistiin ja laitteistoon sekä tarjoaa monipuolisen standardikirjaston ja moderneja kieliominaisuuksia — älyosoittimista korutiineihin — joita on tuotu mukaan C++11:stä C++20:een. Tällä opintopolulla käsitellään koko kieli ensimmäisestä muuttujamäärittelystä lukkiutumattomien samanaikaisten tietorakenteiden ja C++20-korutiinien kirjoittamiseen.

Mitä opitte

Aloitatte syntaksista, muuttujista, merkkijonoista ja I/O-virroista ja siirrytte sen jälkeen ohjausrakenteisiin, struct-rakenteisiin, luokkiin ja dynaamisiin taulukoihin. Keskeinen osaaminen rakentuu C++:n muistimallin, RAII:n, const-oikeellisuuden, turvallisen osoitinten käytön sekä std::optional- ja std::variant-tyyppien ympärille. Työskentelette koko STL-säiliövalikoiman kanssa — vektorit, assosiatiiviset säiliöt, unordered_map, std::array ja std::span — ja opitte hallitsemaan STL-algoritmit, iteraattorit ja ranget. Moderneille C++-ominaisuuksille on oma kokonaisuutensa: siirtosemantiikka, rvalue-viittaukset, lambdat, funktorit, std::function sekä C++11:n, C++14:n, C++17:n ja C++20:n keskeiset uudistukset. Myöhemmillä kursseilla käsitellään yksikkötestausta Google Testillä, virheiden jäljitystä sanitizer-työkaluilla, CMake-pohjaisia koonteja, tiedostojen I/O:ta, verkkoliikennettä ja samanaikaisuuden primitiivejä. Opintopolku päättyy edistyneisiin templateihin, SFINAEen, C++20 Conceptsiin, CRTP:hen, tyyppipiirteisiin, lukkiutumattomiin atomisiin operaatioihin ja korutiineihin.

Oppimispolku

Viisikymmentäyksi kurssia etenee tasoilta A1–C2. A1- ja A2-tason perusteissa käsitellään syntaksia, merkkijonoja, I/O:ta, ohjausrakenteita, struct-rakenteita, viittauksia ja käytännön pienprojektien malleja. B1 on laajin kokonaisuus: yhdeksäntoista kurssia, jotka rakentavat ammatillisen sujuvuuden muistimallin, älyosoittimien, perinnän, operaattorien ylikuormituksen ja standardikirjaston syvällisen käytön parissa. B2 yhdistää perusteet edistyneisiin aiheisiin siirtosemantiikan, modernin C++:n keskeisten ominaisuuksien, STL-algoritmien, yksikkötestauksen ja virheiden jäljityksen avulla. Kymmenellä C1-kurssilla käsitellään samanaikaisuutta, edistyneitä templateja ja metaprogrammointia, C++20 Conceptsia, suorituskyvyn optimointia, sulautettuja järjestelmiä, yhteentoimivuutta ja API-suunnittelua. Opintopolku päättyy C2-tasolla lukkiutumattomaan ja atomiseen samanaikaisuuteen sekä C++20-korutiineihin.

Näin se toimii

Jokainen kurssi koostuu lyhyistä ja keskittyneistä oppitunneista, jotka suoritatte sisäänrakennetussa koodieditorissa ja saatte palautetta reaaliajassa. Kun jäätte jumiin, tekoälyohjaaja selittää käsitteen ja ohjaa teidät oikeaan ratkaisuun antamatta sitä suoraan valmiina.

Näin opiskelet

  1. 01

    Interaktiiviset oppitunnit

    Käytännön koodiharjoituksia ja reaaliaikaista palautetta

  2. 02

    Tekoälytuutori

    Saat heti apua tekoälyltä, kun jäät jumiin

  3. 03

    Sisäänrakennettu editori

    Kirjoita ja suorita koodia suoraan selaimessa

  4. 04

    Sertifikaatti

    Saat sertifikaatin suoritettuasi kurssin

UKK

Usein kysytyt kysymykset

Onko C++ Academy-kurssi ilmainen?

Kyllä. Voit aloittaa C++ Academy-kurssin ilmaiseksi ja suorittaa sen vuorovaikutteiset oppitunnit maksutta. Valinnainen PRO-tilaus avaa käyttöön edistyneet tekoälytyökalut ja jaettavan todistuksen.

Tarvitsenko aiempaa kokemusta oppiakseni C++?

Et tarvitse. Kurssi alkaa perusteista ja etenee vähitellen edistyneempiin aiheisiin, joten voit aloittaa, vaikka sinulla ei olisi aiempaa C++-kokemusta.

Miten opin C++ CoddyKitissä?

Opit tekemällä. Lyhyillä vuorovaikutteisilla oppitunneilla selkeä teoria yhdistyy käytännön koodiharjoitukseen, joka suoritetaan reaaliajassa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori auttaa henkilökohtaisesti aina, kun jäät jumiin.

Saanko todistuksen C++ Academy-kurssin suorittamisesta?

Kyllä. PRO-oppijat voivat suorittaa kokeen ja saada C++ Academy-kurssin suorittamisesta jaettavan todistuksen, jonka koodi voidaan tarkistaa.

Voinko oppia C++ puhelimellani?

Kyllä. CoddyKit on käytettävissä verkossa sekä iOS- ja Android-natiivisovelluksina, joten voit oppia C++ millä tahansa laitteella, ja edistymisesi synkronoituu niiden välillä.

Paljonko CoddyKit PRO maksaa?

C++ Academy-opintopolun ensimmäinen kurssi on ilmainen. CoddyKit PRO avaa kaikki kurssit: $5.90 viikossa, $7.90 kuukaudessa, $29.90 vuodessa tai $69.99 kerran maksettuna, jolloin saat elinikäisen käyttöoikeuden ilman uusimisia.

Kuinka kauan C++ Academy-opintopolun suorittaminen kestää?

C++ Academy sisältää 51 kurssia ja 203 oppituntia. Useimmat oppitunnit kestävät noin 5–10 minuuttia, joten koko opintopolun suorittamiseen kuluu omaan tahtiin noin 24 tuntia käytännön harjoittelua.

Aloita C++ Academy nyt

Liity tuhansien oppijoiden joukkoon ja opi ohjelmointia tekoälyä hyödyntävillä oppitunneilla.