Kompetensutveckling med lärare, såväl via Zoom som i klassrum
 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ 
3 november 2020
Start  |  Schema  |  Priser  |  Kontakt  |  Tipsa en vän
Programspråket C++
 
www.ribomation.se
Jag började programmera i språket C under första halvan av 1980-talet. Ett av mina första gig var att skriva ett plotting system på en IBM PC AT, för ett av våra stora företag som tillverkar vitvaror.
Från en textfil genererad av deras stordator byggde jag upp en graf-representation av stordator konfiguration, för att med det som utgångspunkt generera instruktioner som skickades direkt till en pen-plotter, vilken ritade ut aktuell system konfiguration.
Under andra halvan av 1980-talet började jag programmera i C++. Det var på den tiden fortfarande en pre-processor som emitterade C kod, vilken man skickade till C kompilator. Det här är för övrigt principiellt lika vad avser modern webbutveckling där man låter TypeScript kompilatorn generera klassisk JavaScript (ES5).
Under 1990-talet kom C++ kompilatorn att stå på egna ben, så att säga, genom att Margaret Ellis och Bjarne Stroustrup skrev boken The Annotated C++ Reference Manual, i korthet kallad ARM och som låg till grund för kompilator tillverkare såsom Microsoft, Borland och the GNU Foundation (GCC). C++ under denna period kallas Classic C++.
Under det senaste decenniet, med start 2011, har C++ evolverat i rasande takt och blivit ett mycket modern och faktiskt hippt programspråk. En ny standard kommer var tredje år och den senaste heter C++17. Med start av C++11, så kallas detta Modern C++.
Dock väntar vi alla på nästa version av språket som heter C++20 och helt nyligen blev klar. Nu börjar det finnas kompilatorer som implementerar huvuddelen av C++20, så vi kommer att ta fram en kurs som lär ut alla nyheter såsom concepts, modules, ranges och mycket mer därtill.
Vi har marknades bredast utbud av kurser inom C++. Vi har dels, tre nybörjarkurser i C++, vilka riktar in sig på deltagare med olika förkunskaper. Utöver dessa, har vi ett flertal fördjupingskurser, vilka jag har listat i veckans nyhetsbrev.
Jens Riboe
Jens Riboe
VD på Ribomation
 
Kurs om C++ 11/14/17
 
23–25 november
14–16 december
 
Vi är själva lyriska över hur C++ utvecklats som språk och systemutvecklingsplattform de senaste åren. Med nya standarden C++ 11/14/17 har C++ blivit en stark utmanare till hippa moderna språk. C++ har egenskaper som duck-typing, lambda uttryck och ett rikhaltigt standardbibiliotek, allt exekverat i en hastighet som alla andra språk inte ens kan drömma om.
Denna kurs vänder sig till dig som redan arbetar i C++, men vill förstå och sätta dig in vad begreppet Modern C++ verkligen innebär.
Detta får du lära dig på kursen:
 
  • Använda duck-typing med auto och Java-style for-each loopar
  • Fördjupa sig i tillämpning av lambda uttryck
  • Förstå, använda och själv realisera move semantics
  • Använda smarta pekare
  • Använda reguljära uttryck (regex) för sökning och substitution
  • Skriva program med std::filesystem
LogoDenna kurs vänder sig till C++ programmerare
Datum23–25 november 2020
14–16 december 2020
PlatsÖstermalmstorg, Stockholm.
Alternativt, fjärrkurs via Zoom.
MågruppC++ programmerare
FörkunskaperVana vid att programmera i klassisk C++
Kursen ges på svenska, men vårt kursmaterial är författat på engelska.
Läs mer och boka din plats
https://www.ribomation.se/courses/cxx/cxx-17

Kurs om C++ Threads
 
23–25 november
14–16 december
 
Buggar i fler-trådade program anses ofta vara det besvärligaste man kan råka ut för som programmerare. Faktum är att det generella rådet är att inte stoppa in dem från början. Om man tycker det rådet är aningen orealistiskt, så är det näst bästa att programmera enligt ett antal väl beprövade programmerings-idiom som undviker problemen. I denna kurs, fokuserar vi på just den strategin.
Vi börjar med att gå igenom POSIX Threads C API. Sedan bygger vi steg för steg ett eget C++ bibliotek där vi kapslar in C datatyperna i praktiskt användbara C++ klasser. Vidare går vi igenom de klassiska problemen, såsom critical sections, race conditions och deadlock. Vi går detaljerat igenom hur respektive problem uppstår och givitvis hur man fixar problemen, dels via C API:et men primärt med fokus på C++.
Du får implementera meddelandesändning såväl enkelriktad (message-passing) som dubbelriktad (rendezvous / future). Du får också lära dig om att skapa och hantera shared memory och kommunikation mellan processer via shared memory.
Vi går också givetvis igenom stödet för threads i C++ 11 och 17 och hur du skriver flertrådade program i Modern C++.
Detta får du lära dig på kursen:
 
  • Programmera med POSIX Threads direkt i C
  • Programmera med trådar i C++, genom att kapsla in C API:et
  • Programmera med trådar i C++11
  • Förstå och hantera problemområden som critical-sections, race-conditions och deadlocks
  • Använda mutex och conditions både i POSIX och C++11
  • Förstå och använda promises/futures i C++11
  • Implementera shared memory
LogoDenna kurs vänder sig till C++ programmerare
Datum23–25 november 2020
14–16 december 2020
PlatsÖstermalmstorg, Stockholm.
Alternativt, fjärrkurs via Zoom.
MågruppC++ programmerare
FörkunskaperVana vid att programmera i C/C++
Kursen ges på svenska, men vårt kursmaterial är författat på engelska.
Läs mer och boka din plats
https://www.ribomation.se/courses/cxx/cxx-threads

Kurs om Linux systemprogrammering med Modern C++
 
23–25 november
14–16 december
 
Hur omvandlar man en signal till en exception? Hur skapar man en process och fyller den med ny programkod. Vilka olika sätt att kommunicera mellan processer finns det? Hur fixar man memory-mapped I/O? Dessa och en lång rad andra frågeställningar besvarar vi i denna mycket uppskattade kurs.
Detta får du lära dig på kursen:
 
  • Hur adressrummet för en process är organiserad och varför detta är intressant
  • Hur funktionsanrop går till och hur man kan utnyttja den insikten
  • Hur man spårar biblioteksanrop respektive systemanrop
  • Det speciella filssytemet /proc
  • Asynkron I/O och minnesmapapde ditto
  • Signal hantering
  • Hantering av processer med fork(), exec() och wait()
  • Kommunikation med pipe & fifo
  • POSIX message queues
  • POSIX shared memory segments
  • POSIX semaphores
  • TCP stream sockets
LogoDenna kurs vänder sig till erfarna C++ programmerare som utvecklar inbyggda system eller transaktionsintensiva system.
Datum23–25 november 2020
14–16 december 2020
PlatsÖstermalmstorg, Stockholm.
Alternativt, fjärrkurs via Zoom.
MågruppC++ programmerare
FörkunskaperVana att programmera i C/C++
Kursen ges på svenska, men vårt kursmaterial är författat på engelska.
Läs mer och boka din plats
https://www.ribomation.se/courses/cxx/linux-systems-programming

Kurs om C++ för minnesbegränsade system
 
16–19 november
 
Den kursen går på djupet om hur man på olika sätt optimerar och hanterar system som av olika skäl är minnesbegränsade. Det kan vara inbyggda system eller transaktionsintensiva system. Kort sagt, programmering av system där minneshanteringen kräver en alldeles speciell form av omsorg.
Du får lära dig om hur man designar system som inte använder sig av system heapen. Hur man bygger fler-trådade system med effektiv minneshantering. Hur man bygger system av processer med delat minne. Hur man fångar och exekverar vidare efter ett null pekar fel. Hur man kan generera en stack-trace i ett C/C++ program samband med ett kastat undantag.
Detta får du lära dig på kursen:
 
  • Kunna använda och implementera smarta pekare
  • Kunna fånga ett null pekar fel och fortsätta exkveringen
  • Kunna generera en stack-trace i ett C/C++ program
  • Veta hur man allokerar dynamiskt minne på stacken
  • Kunna implementera egen minnes allokering baserat på en block pool
  • Kunna implementera program med minneshantering utanför heapen
  • Kunna använda PMR (Polymorphic Memory Resource) som infördes i C++17
  • Kunna implementera multi-trådade system, där varje tråd/thread har sin egen privata heap
  • Kunna implementera ett program som laddar in en fil till minnet med mmap()
  • Kunna implementera system med delat minne (shared memory)
LogoDenna kurs vänder sig till erfarna C++ programmerare som utvecklar inbyggda system eller transaktionsintensiva system.
Datum16–19 november 2020
PlatsÖstermalmstorg, Stockholm.
Alternativt, fjärrkurs via Zoom.
MågruppErfarna C++ programmerare
FörkunskaperVana att programmera i C/C++
Kursen ges på svenska, men vårt kursmaterial är författat på engelska.
Läs mer och boka din plats
https://www.ribomation.se/courses/cxx/cxx-memory-constrained-systems

Kurs om C++ enhetstest med Google Test
 
26 november
17 december
 
Skriv inte en rad produktionskod utan att ha ett tillhörande enhets-test. I denna kurs går vi rakt på sak och lär dig hur du använder Google Test för att skriva genomtänkta enhetstester.
Du får lära dig hur du installerar och kompilerar gtest biblioteket. Hur du skriver testfuncktioner. Hur du matchar olika typer av utfall, såsom text strängar, flyttal, relationella uttryck och castade exceptions. Hur du skapar testklasser med testdata (fixtures). Hur du implementerar parametriserade testfuncktioner. Hur du tester om för abnormal terminering (death test). Hur du invokerar gtest på kommandoraden, för att kunna hantera detta i shell skripts och byggnations skripts.
LogoDenna kurs vänder sig till C++ programmerare som vill börja använda Google Test för enhetstestning (unit tests).
Datum26 november 2020
17 december 2020
PlatsÖstermalmstorg, Stockholm.
Alternativt, fjärrkurs via Zoom.
MågruppErfarna C++ programmerare
FörkunskaperKännedom om Modern C++
Kursen ges på svenska, men vårt kursmaterial är författat på engelska.
Läs mer och boka din plats
https://www.ribomation.se/courses/cxx/cxx-gtest

Priser för fjärrkurser
 
Våra priser på fjärrkurser är mycket fördelaktiga. Du kan antingen registera dig för ett schemalagt kurstillfälle, eller kontakta oss för en företagsanpassad kurs.
KursformPris
Schemalagt4000 kr/kursdag
Företagsanpassat7500 kr/kursdag
+ 1500 kr/person
För alla priser tillkommer lagstadgad MOMS.
Våra ämnesområden
 
Klicka på bilden nedan för att visa aktuellt kursschema
 
Ribomation är ett utbildningsföretag som enbart vänder sig till professionella programmerare, vilka vill fördjupa sina kunskaper i programmering av ett visst programspråk, bibliotek eller verktyg. Vi erbjuder lärarledda online-kurser, företagsinterna kurser hos er samt schemalagda kurser centralt i Stockholm.
Se vad våra kunder tycker:
Amazing teacher with very deep and relevant knowledge of the subject.
 Nöjd deltagare på kurs hos Ribomation
 

Vänliga hälsningar,
Gabriella på Ribomation
Detta ebrev har skickats till 

Därför får du våra utskick:

Vi vänder oss uteslutande till professionella programmerare, i deras yrkesroll som program-utvecklare, samt associerade personer i beslutande ställning.

Du har fått detta epost-utskick för att du antingen har varit i kontakt med oss som kund eller så har vi erhållt din epostadress via förvärv av utskickslistor eller från en offentligt publicerad webbplats eller för att någon kollega delat med sig av epost-info.

Om du inte vill ha våra utskick fortsättningsvis, så kan du enkelt välja att av-prenumerera via länken längst ned i detta e-brev.

Behandlingen av dina personuppgifter sker i enlighet med GDPR, Artikel 1, §6, stycke f: "Berättigat intresse". "Behandlingen är nödvändig för ändamål som rör den personuppgiftsansvariges eller en tredje parts berättigade intressen, om inte den registrerades intressen eller grundläggande rättigheter och friheter väger tyngre och kräver skydd av personuppgifter."