Systemutvecklare C/C++
LÄR KÄNNA VÅRA PROGRAM
Systemutvecklare C/C++
Under de senaste åren har efterfrågan på just systemutvecklare som förstår inbyggda system (embedded) ökat, framförallt på grund av utvecklingen med uppkopplade prylar (IoT) och annan specialiserad teknisk utrustning. Genom att välja detta program blir du duktig på systemutveckling med betoning på inbyggda system. C/C++ är även ett av de bästa språken i hela världen för att skapa spel.
Som Systemutvecklare C/C++ är du en person som ansvarar för att skapa och underhålla program som använder programmeringsspråket C och C++. Du ansvarar för att skapa programvaror som är effektiva, robusta och uppfyller kraven enligt relevanta kravspecifikationer. Du jobbar även med att förbättra och optimera befintliga program för att säkerställa att de uppfyller kraven. Du skapar verktyg som används för att analysera och modifiera befintliga program. Efter utbildningen har du en god förståelse för olika programmeringsspråk och databaser, samt förmåga att identifiera, diagnostisera och lösa problem. Du har även goda kunskaper i olika systemarkitekturer och kan hantera tidskrävande problemlösning.
Programmet
På Chas Extended Academy genomför vi utbildningen i distribuerade team. Som studerande tillhör du en ”klass” med deltagare från flera städer i Sverige. Ni arbetar tillsammans i projekt och uppdrag under utbildningen, men klassen och medlemmarna i ditt projektteam befinner sig inte på samma geografiska plats.
Studiegruppen på ”din” ort träffas ändå på plats varje vecka. Men andra dagar under veckan deltar du online. Och i projekten och de större uppgifterna jobbar du distribuerat. Det distribuerade upplägget innebär att du får chansen att samarbeta med andra studerande på flera orter. Det ökar sannolikheten för kreativa idéer och nya perspektiv på problemlösning och ger dig förhoppningsvis nya kontakter på andra ställen i Sverige.
VAD BEHÖVER JAG?
Alla våra program kräver att du har en egen laptop som är max 8 år gammal, har 8 GB RAM och helst SSD.
BEHÖRIGHET
Du är behörig om du uppfyller följande krav:
- Du har kunskaper i Svenska både i tal, skrift och förståelse.
- Du har grundläggande behörighet från gymnasium eller motsvarande eller motsvarande.
- Särskilda krav:
- Minst betyg E i Engelska 6/B, eller motsvarande.
- Minst betyg E i Matematik 2/B, eller motsvarande.
- Minst betyg E i Programmering 1, eller motsvarande.
SAKNAR DU NÅGON BEHÖRIGHET?
Ingen fara, då kan du söka genom Reell kompetens eller ta ett av
våra behörighetsprov. Om du uppnått den uppsatta gränsen för
provet kommer testet även att validera dina förkunskaper inom programmering 1.
ANTAGNINGSTEST
När du söker till en utbildning kommer vi att kalla dig
till antagningstestet. Antagningen till våra program baseras på resultatet på antagningstestet, då poängen du får är de du ansöker med. Antagningstesten kan skilja sig beroende på vilken utbildning du söker, så söker du fler utbildningar kan du behöva göra flera test.
Antagningstestet för Systemutvecklare C/C++ innehåller allmänkunskap om systemutveckling, programmering i JavaScript, logik och resonemang om lösningar. Tips på förberedelser hittar du lite längre ner!
DATUM: 17 - 31 maj
TID: 120 Minuter
SPRÅK: Engelska
TESTA DINA KUNSKAPER
<div>Exempelfråga</div>
Which of the following selects all elements with the class footer that are inside of divs?
Klicka på ett svar för att se om du svarat rätt.
Fel svar, försök igen!
Fel svar, försök igen!
Fel svar, försök igen!
Rätt svar, bra jobbat!
Fel svar, försök igen!
Kursplan
De studerande får lära sig grunderna inom IT och systemutveckling, de vanligaste teknikerna och yrkesroller i de större teknikstackarna med extra fördjupning inom inbyggda system och deras funktion inom IT-system och utvecklingsprojekt. Kursen går också igenom hur branschen ser ut och sätter sig in i de termer och den arbetsmetodik som används inom IT-branschen. De studerande blir även introducerade till den kommande yrkesrollen och deras vanligaste funktioner inom IT.
Kunskaper:
- om systemutvecklarens funktion inom systemutvecklingsprojekt och i linjeorganisationer
- om de vanligaste rollerna inom IT-branschen och vart roller i olika fall opererar i teknikstackarna
- om de mest använda teknikstackarna inom både traditionell systemutveckling och inom inbyggda system
- om hur ett modernt IT-system är uppbyggt inom de större teknikstackarna och större skillnader av användningsområden för olika teknikval
- om vanliga metoder inom systemutveckling såsom agil utveckling med Scrum samt kravspecificering samt dess koppling till systemutvecklarrollen
- om CD/CI samt dess anknytning till modern agil systemutveckling och utvecklarens roll i det avseendet.
- om hur C/C++ används inom agil systemutveckling och webbutveckling
Omfattning: 10 yrkeshögskolepoäng / 2 veckor
Denna kurs ger den studerande insikter i projektmetodik med betoning på agila metoder som är mest vanligt förekommande i branschen. Genom kursen tränar den studerande även på de aktiviteter och ansvar som finns inom ett agilt projekt och får förmågan att delta i projekt som drivs med agila metoder.
Kunskaper:
- Projektledning och -styrning
- Agila metoder med betoning på Kanban, Scrum och XP
- Gruppdynamik
Färdigheter:
- Delta i ett projekt som använder agila metoder för styrning av projektet
Omfattning: 25 yrkeshögskolepoäng / 5 veckor
Denna kurs introducerar den studerande till programmering och mer specifikt programmeringspårken C och C++ som är ett av de vanligare inbyggda system. Kursen sätter de grundläggande kunskaperna inom programmering och systemutveckling samtidigt som den ger en bra bas för kommande kurser.
Kunskaper:
- Grunderna i programmering
- Programmering i C och C++
- Objektorientering
- Verktyg för utveckling i C och C++
- Versionshantering av kod
Färdigheter:
- Utveckla enklare programvara med C och C++
- Koppla programvara till relationsdatabaser och andra datakällor
- Jobba med grundläggande versionshantering av kod genom exempelvis Git
Omfattning: 50 yrkeshögskolepoäng / 10 veckor
Denna kurs introducerar den studerande till hårdvara och operativsystem, de olika komponenter som systemutveckling i inbyggda system behöver hantera. Kursen ger framförallt en teoretisk förståelse för hur tekniken i hårdvaran fungerar och vilka olika typer av arkitekturer och lösningar som finns på marknaden.
Kunskaper:
- Olika typer av hårdvara, hur den är uppbyggd och fungerar i allmänhet
- Vanligt förekommande arkitekturer för processorer och hur de skiljer sig åt
- Assembler och andra hårdvarunära programmeringsspråk
- Vanligt förekommande operativsystem (OS) och RTOS samt hur de fungerar och vad som skiljer dem åt
Färdigheter:
- För en given teknikstack/arkitektur ta fram och tolka dokumentation och information
Omfattning: 50 yrkeshögskolepoäng / 10 veckor
Denna kurs fördjupar den studerandes förståelse för och förmåga att utveckla för inbyggda system. Att utveckla hårdvarunära kräver både en tydlig metodik och en stor förståelse för hur resurser används. Detta tränar den studerande på i denna kurs som även fördjupar programmeringsfärdigheterna.
Kunskaper:
- Sätt att säkra effektiv och robust kod i hårdvarunära system
- Minnesallokering och andra områden där resurser behöver sparas
- Vanliga felsökningsverktyg för hårdvara vid systemutveckling
- Moderna ramverk för IoT-utveckling såsom Azure IoT Hub
Färdigheter:
- Utveckla specialiserad programvara med C och C++ för olika hårdvara till inbyggda system
- Analysera, kvalitetssäkra och optimera hårdvarunära programkod
- Använda vanligt förekommande utvecklingsverktyg vid utveckling av programkod för inbyggda system
Omfattning: 70 yrkeshögskolepoäng / 14 veckor
Denna kurs fördjupar den studerandes förståelse för och förmåga att utveckla gränssnitt mot användare. Kursen fördjupar förståelsen för användbarhet/tillgänglighet i användargränssnitt med fokus på IoT och specialiserade enheter.
Kunskaper:
- Användbarhet och användarvänlighet (UX)
- Tillgänglighet i digitala användargränssnitt
Färdigheter:
- Ta fram mockups och wireframes för användargränssnitt
- Genomföra enklare empiriska metoder och analysera resultatet av dessa för att kunna utveckla och förbättra ett användargränssnitt
Omfattning: 40 yrkeshögskolepoäng / 8 veckor
Denna kurs ger den studerande en inblick i webbtekniker och webbutveckling. Detta är en viktig del inom framförallt IoT och många hårdvarunära system interagerar idag med webbtekniker och webbtjänster.
Kunskaper:
- HTML
- CSS
- API:er på webben, REST, JSON och XML
- HTTP-protokollet
- Webbens tekniska uppbyggnad
Färdigheter:
- Utveckla enklare webbgränssnitt med HTML & CSS inklusive enklare responsiv design
- Utveckla funktionalitet på webbplatser med egen, enklare Javascript och genom att implementera färdiga Javascript-lösningar
- Utveckla enklare API:er för webben med C/C++
Omfattning: 20 yrkeshögskolepoäng / 4 veckor
En viktig del i arbetet för en systemutvecklare är att välja och använda olika typer av tekniska lösningar för exempelvis implementation, sjösättning och hosting. Denna kurs ger den studerande en överblick över de vanligaste teknikerna som används idag och tränar upp förmågan att sätta sig in i dokumentationen för ett verktyg eller en plattform för att kunna använda den som en del av stacken i ett utvecklingsprojekt.
Kunskaper:
- Hostinglösningar såsom AWS, Azure och Google Cloud
- CI/CD pipeline
- Jira
- Avancerad användning av versionshantering med Git
Färdigheter:
- Använda avancerad funktionalitet i versionshantering med Git
- Använda en CI/CD pipeline
Kompetenser:
- Sätta sig in i dokumentation för en specifik stack i ett projekt för att sedan kunna implementera och sjösätta ny funktionalitet i det projektet
Omfattning: 25 yrkeshögskolepoäng / 5 veckor
Praktik
Omfattning: 120 yrkeshögskolepoäng / 24 veckor
I slutet av utbildningen gör den studerande ett examensarbete som tränar den studerande i och påvisar den studerandes förmåga att både ta ansvar för ett helt projekt inom systemutveckling för inbyggda system och på att använda den kunskap och de färdigheter som inhämtats under utbildningen. Den studerande lär sig även mer om informationsinhämtning och kan genom det fördjupa sig inom nya tekniker och områden för att nå projektets uppsatta mål.
Kunskaper:
- Källkritik
- Informationsinhämtning/-sökning
Färdigheter:
- Söka och hämta in ny information och dokumentation med ett källkritiskt förhållningssätt
Kompetenser:
- Ta ansvar för ett fullständigt projekt inom systemutveckling för inbyggda system
- Utveckla robust programvara för inbyggda system
Omfattning: 20 yrkeshögskolepoäng / 4 veckor
Flera studieorter
Systemutvecklare C/C++ finns på flera studieorter runt om i hela landet. I dessa städer är utbildningen tillgänglig på:
- Stockholm
- Göteborg
- Malmö
- Linköping
- Skellefteå
Studera hos oss
Ansökan är stängd för start HT23
Ansökan för start HT23 är stängd, vi öppnar ansökan för HT24 februari 2024.
Förberedelser
1. Börja här
codecademy.com/catalog
Ett bra ställe att lära sig sin första HTML och CSS. Det är gratis dessutom!
freecodecamp.org
En grundläggande introduktion som ger dig bra förutsättningar att börja på vår utbildning.
2. Fördjupa
webbriktlinjer.se
Webbriktlinjer är en fantastisk samling av riktlinjer och guider, samt information om tekniker som kan vägleda vid såväl design som implementation.
egghead.io
Egghead är en videolärplattform för att lära sig om olika tekniker, programm-eringsspråk m.m. Vi rekommenderar att börja kolla grunderna i HTML & CSS samt JavaScript, det kommer ge dig goda förutsättningar i samband med utbildningens början.
3. LÅT DIG INSPIRERAS
alistapart.com
Webbriktlinjer är en fantastisk samling av riktlinjer och guider, samt information om tekniker som kan vägleda vid såväl design som implementation.
smashingmagazine.com
Webbmagasin om webbdesign, utveckling, typografi, användbarhet m.m. Både en onlinebok och en podcast. Om webbdesign.
resilientwebdesign.com
Både en onlinebok och en podcast. Om webbdesign.