HÖSTEN 2010 / VÅREN 2011 COMBITECH TRAINING INSTITUTE. Nya kurser inom informationssäkerhet, systemsäkerhet och logistik. NYHET

Storlek: px
Starta visningen från sidan:

Download "HÖSTEN 2010 / VÅREN 2011 COMBITECH TRAINING INSTITUTE. Nya kurser inom informationssäkerhet, systemsäkerhet och logistik. NYHET"

Transkript

1 0->11 U T B I L D N I N G A R HÖSTEN 2010 / VÅREN 2011 COMBITECH TRAINING INSTITUTE NYHET Nya kurser inom informationssäkerhet, systemsäkerhet och logistik.

2 Inbyggda system & arkitektur Embedded Linux 10 Avancerad EMC-Kretskortsdesign 11 Utveckla inbyggda system hands on 12 Innehåll NY Programspråk & miljöer Mönster (Design patterns) 13 Programvaruarkitektur för inbyggda system 14 Android applikationsutveckling 15 Programvaruarkitektur för små inbyggda realtidssystem 16 Skriv bättre kod 18 C ditt andra språk 19 Problemlösning med C++ 20 Kurserna speglar vår kompetens Elva nya kurser Tänk i Java 21 Java ME 22 Objektorientering i Ada Kommunikation Grundläggande Linux NY 24 Nätsynkronisering i telekommunikationsnät 26 Introduction to small antennas 27 IP teori och praktik 28 Praktiska datalänkar TDL MIDS Link Erfarenhetsutveckling & metoder Introduktion till informationsutbytesmodeller 30 Erfarenhetsutveckling för projektledare 32 Erfarenhetsutveckling för systemarkitekter 32 Estimering av programvara och system 33 Projektstyrning av programvara 34 Nästa steg med Agile NY 35 Riskhantering 36 En detaljerad genomgång av NAF v3 och MODAF v Introduktion i NATOs arkitekturramverk (NAF v3) 38 Systemutvecklingens grundspel 39 Modellbaserad systemutveckling Effektiva utvecklingstekniker 40 Systemarkitektur med SysML 42 Modellbaserad test och modellsimulering 43 Modellbaserad design, kodgenerering, exekvering 45 Modellbaserad utveckling Bootcamp 46 Praktisk modellering med UML 47 Krav, test & granskning Test i praktiken 49 Certifierad Testare Grundnivå 50 Effektiv kravhantering 52 Effektiv granskning 53 Informationssäkerhet & systemsäkerhet IT-säkerhet för systemutvecklare 55 Grundläggande informationssäkerhet NY 56 Framtagning och införande av LIS NY 57 Sveriges krishanteringssystem och krisledning NY 58 Systemsäkerhet NY 59 Vad innebär det att införa PKI? NY 60 Vi är många som kan hjälpa dig. Vi skapar framtidssäkra och hållbara lösningar för dig genom att kombinera teknik, miljö och säkerhet. Vi har spetskompetens inom informationssäkerhet, systemintegration, systemsäkerhet, systemutveckling, kommunikation, logistik och mekanik. Mekanik Logistik Miljö.Net Common Criteria 61 Konstruktion i praktiken 63 MBD Model Based Definition 64 Inbyggd logistik NY 66 Effektiv mjukvarulogistik NY 67 Grön IT i praktiken 69 Gröna inköp NY 70 Miljöanpassad produktutveckling NY 71 Team Foundation Server 73 SQL Server för.net-utvecklare 74.Net för systemutvecklare i framkant 75 Testdriven utveckling i.net 76

3 Vi delar gärna med oss Välkommen till Combitechs utbildningskatalog för hösten 2010 och våren Kursverksamheten är viktig för oss. Vi är ett företag med specialistkompetens inom områden som informationssäkerhet, systemintegration, kommunikation, mekanik, systemsäkerhet, systemutveckling och logistik. Genom att några av våra främsta konsulter varvar kunduppdrag med att leda kurser får de möjlighet att sätta ord på sin kunskap och samtidigt utvecklas själva, genom den ömsesidiga interaktion som uppstår med kursdeltagarna i en bra utbildning. Våra kunder finns företrädesvis inom segment som flyg och försvar, telekom, verk och myndigheter samt industri, men oavsett bransch kan du dra nytta av våra praktiska erfarenheter. Faktum är att vi tror benhårt på värdet av att kombinera kunskaper från olika områden, vårt namn betyder just det. Jag hoppas att du hittar en utbildning som passar just dig. Hör annars av dig. Vårt kursutbud utvecklas hela tiden för att ligga i framkant, och finns det inte en kurs som passar så kan vi förmodligen skapa den. Marie Bredberg VD Combitech AB 4

4 Kurserna speglar vår kompetens Kompetensutveckling är centralt för Combitech. Våra Utbildning på plats hos er. Alla våra utbildningar kan vi naturligtvis leverera på plats hos er. Vi kan då också göra anpassningar av längd och innehåll och kanske plocka in vissa exempel från er verksamhet som övningsuppgifter. erfarenhetsutvecklingsprogram är unika i sitt slag. Tillsammans med KTH har vi utvecklat egna metoder för att överföra erfarenhetsbaserad kunskap. Detta, tillsammans med våra erfarenheter från de projekt vi jobbat i vill vi dela med oss av. Det gör vi genom Combitech Training Institute. Vi menar att utbildning blir bättre om den baseras på aktuella erfarenheter från verkligheten. Därför har vi inga lärare på heltid utan kursledare hos oss är våra egna konsulter som i vardagen arbetar i uppdrag inom det område de undervisar i. Vår ambition är att kursutbudet ska spegla vår kompetens. I linje med denna ambition presenterar vi nu flera spännande kurser om Informationssäkerhet & systemsäkerhet samt Logistik, områden där vi har en tung kompetens. Två kurstillfällen ger effektivare inlärning. Med kurser uppdelade på två tillfällen får deltagarna chans att testa det de lärt sig och reflektera över sina nyvunna kunskaper. Det andra kurstillfället ger deltagarna en möjlighet att bolla uppkomna frågeställningar med kursledaren. Rasmus Olsson, Chef för Combitech Training Institute. Kurser med denna symbol schemaläggs inte utan ges på beställning. 6

5 Kurser Inbyggda system & arkitektur Embedded Linux 10 Avancerad EMC-Kretskortsdesign 11 Utveckla inbyggda system hands on 12 Mönster (Design patterns) 13 Programvaruarkitektur för inbyggda system 14 -> Android applikationsutveckling 15 Programvaruarkitektur för små inbyggda realtidssystem 16 Många laborationer kryddade med erfarenheter från fältet Vill du haka på trenden med Linux i inbyggda system, ska du gå kursen Embedded Linux. Linux är det vanligaste operativsystemet och kommer att bli ännu vanligare, tror Erik Larsson på Combitech. En anledning till spridningen är förstås att Linux är gratis och har öppen källkod, något som håller ner kostnaderna och ger större möjlighet för användaren att felsöka i koden. Eftersom Erik och hans kollegor varvar undervisningen med praktiskt arbete ute på fältet som konsulter, blir det mycket laborationer under kursen. Minst hälften av utbildningstiden består av praktiska övningar med att skriva egna program, kryddat med våra egna erfarenheter från jobb ute hos kunder, understryker Erik. Det är bra om ena foten hela tiden står fast förankrad i verkligheten. Kursen ger enkelt uttryckt en överblick över vad som krävs för att jobba med inbyggd Linux, och en möjlighet att känna på de problem som uppstår i det vardagliga arbetet. Erik Larsson, kursansvarig för Embedded Linux 8

6 Inbyggda system & arkitektur Stockholm: sept 3 5 maj Linköping: 1 3 nov 8 10 mars Embedded Linux Antal dagar: 3 Metoder/Arbetssätt Finns din processor inte med i kernelträdet? Utveckling av applikationer/bibliotek Filsystem för inbyggda system Uppstart från bootloader till prompt Licenser för öppen källkod Linux och realtid Utveckling av egen drivrutin Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Avancerad EMC Kretskortsdesign Inbyggda system & arkitektur Beskrivning. Fler och fler får upp ögonen för att Linux är ett seriöst alternativ att användas som operativsystem i ett inbyggt system. Men vilka är de steg som krävs för att ett inbyggt system ska klara av att köra en egenutvecklad applikation på Linux? Denna kurs kommer genom teori och många hands-on övningar att gå igenom alla de steg som behövs, från boot-loader till färdig applikation, för att få en applikation att exekvera på Linux i ett inbyggt system. Kostnadseffektiva konstruktioner. I modern elektronik kombineras ofta snabb digital elektronik med radiokretsar, t ex i mobiltelefoner, GPS-navigatorer, industriapplikationer med GSM-moduler för dataöverföring. De korta pulserna i de digitala kretsarna ger upphov till frekvensspektra i GHz-området som kan förstöra konstruktionens radioprestanda eller ruinera CE-märkningen. Vem vänder sig kursen till. Kursen vänder sig till den som precis har börjat eller vill börja använda Embedded Linux. Förkunskap. Grunderna i C-programmering Mål med kursen. Efter genomgången kurs ska deltagarna ha fått kunskap och praktisk erfarenhet av alla moment och delar som behövs för att kunna arbeta på ett effektivt sätt med Embedded Linux. Innehåll. Efter genomgången kurs ska deltagarna ha fått kunskap och praktisk erfarenhet av alla moment och delar som behövs för att kunna arbeta på ett effektivt sätt med Embedded Linux. Metoder/Arbetssätt. Att utveckla för ett inbyggt system betyder nästan alltid att mjukvara måste kompileras och länkas på en annan dator än målsystemet. Detta kräver att utvecklaren måste kunna korskompilera programmen. Vi kommer att gå igenom vad som menas med begreppen verktygskedja, korskompileringsmiljö och vad detta kommer att ha för implikationer för den utvecklingsmiljö som används. För ett inbyggt system kan det finnas en del hinder, t ex svårigheter att kunna debugga mjukvaran. Många egenutvecklade system saknar helt färdiga drivrutiner. Vilka steg måste tas för att kunna anpassa/ utveckla drivrutiner till systemet? Dessa frågor kommer att besvaras. Utveckling av applikationer/bibliotek. Bara Linux kommer inte att kunna utföra de uppgifter som förväntas av ett inbyggt system, även en applikation måste till. I inbyggda system finns en stark koppling till hårdvaran. Vill ni använda tredjeparts bibliotek eller driver? Vill ni använda tredjeparts bibliotek eller driver? I Linux levereras många av dessa som källkod. Som en följd av detta så måste utvecklaren själv bygga de bibliotek/ drivrutiner som ska användas. Här går vi igenom olika begrepp som finns samt praktiska exempel på hur detta genomförs. Filsystem för inbyggda system. Linux har stöd för en mängd olika filsystem. Vi går igenom de vanligaste genom att studera dess användningsområden samt hur filsystem praktiskt hanteras i ett Linux-system. Genomgången belyser filsystemshantering både i kärnan och i user-space. Uppstart, från bootloader till prompt. För att förstå alla delar i sitt inbyggda system är det viktigt att känna till alla steg i uppstarten. Vi kommer att titta på allt från hur en bootloader måste vara uppsatt till Linux kärnans interna uppstart. Slutligen tittar vi på hur uppstarten av ett Linuxsystem ser ut när user-space tagit över från kärnan. Licenser för öppen källkod. All öppen källkod är inte lika öppen, olika licenser ställer olika krav på utvecklaren. I detta moment kommer vi att ge översyn av de vanligaste licenserna och berätta lite om skillnaderna. Linux och realtid. Linux har traditionellt setts som ett skrivbordsoch serverinriktat operativsystem, med relativt svag realtidsprestanda. Intåget av multiprocessorsystem och krävande multimedieanvändare har dock styrt utvecklingen av Linuxkärnan i en riktning som gett säkrare och effektivare låsmekanismer samt stabilare svarstider. Vi tittar på hur man går till väga för att skapa ett Linuxsystem med krav på realtidsprestanda och vilken typ av determinism man kan vänta sig. Utveckling av egen drivrutin. Ett inbyggt system kräver mycket utbyte av data med hårdvara av diverse slag. Därför tittar vi på hur Linux hanterar drivrutiner och andra moduler och vilka API:er som erbjuds er som utvecklare. Dessutom går vi igenom vilka konventioner som finns inom Linux communityn som måste följas, om ni vill att den kod ni skriver ska bli distribuerad i den officiella Linuxkärnan. Kursupplägg. Under kursen kommer deltagarna att teoretiskt och praktiskt få testa på alla olika moment i ett Embedded Linuxsystem. Kursen hålls under tre sammanhållna dagar. Teori varvas med många praktiska övningar. Alla övningar kommer att bindas samman till ett större projekt. Erik Larssons specialintresse stavas Linux; då är det en fördel att också vara intresserad av matte, vilket Erik förstås är. Efter examen var han med och startade prisjämförelsesajten Compricer och jobbade sedan på Sensys Traffic i hemstaden Jönköping. Nu är han, inte så förvånande, på Combitechs Linux Development Center. Vem vänder sig kursen till? Kursen vänder sig främst till basbandoch RF-ingenjörer. Förkunskaper. För att kunna tillgodogöra dig innehållet i kursen bör du ha grundläggande EMC-/EMI-kunskap samt erfarenhet av basband eller RF-konstruktion. Mål med kursen. Kursens mål är att ge deltagarna kunskaper om hur de, på ett kostnadseffektivt sätt, kan konstruera produkter som kombinerar snabb elektronik och radiosystem. Beskrivning. Kursens fokus ligger på konstruktioner som kombinerar digital och radioelektronik. Tyngdpunkten ligger i kretskortsdesign för minimering av EMI störningar. Bland annat diskuteras kretskortens byggsätt, layout, filtrering, avkoppling, transmissionsledare, terminering, jordsystem, skärmning och floorplanning. Utöver detta ges också en översikt över standarder och krav, praktisk mätteknik samt även exempel. Arbetsmetodiken på kursen bygger på diskussioner och sammanfattning. EMC introduktion. Som inledning till kursen presenteras vilka standarder och krav som gäller inom EMCområdet och hur de verifieras. Dessutom så förklaras hur de olika standarderna är organiserade och relaterade till varandra inom EU. EMI och RF spektrum. Grundläggande mekanismer för hur digitala signaler kan ge upphov till problem i radiodelarna i en konstruktion diskuteras. Viktiga begrepp som frekvenskonvertering, spurioser och övertoner presenteras. EM fält. I det här avsnittet får du en grundläggande förståelse för hur elektromagnetisk interferens (EMI) uppstår. Resonemangen utgår ifrån grundläggande principer för elektromagnetiska fält. Begrepp som tas upp är kopplade fält, kopplingar mellan ledningar, loopar, simuleringar och mätteknik. Kretskortdesign. Det här avsnittet går in i detalj i mönsterkortsdesignen och går igenom EMI problem i olika faser av designarbetet. Områden som diskuteras är floorplanning, PCB uppbyggnad, kretskortslayout, skärmning, filtrering, biasavkoppling, kablage och kontaktering. Antal dagar: 2 EMC introduktion EMI och RF spektrum EM fält Kretskortdesign Lars Bengtsson har både doktorsgrad i mikrovågselektronik och lång erfarenhet av utveckling inom området. Kombination gör att Lars känner att han kan tillföra kursdeltagarna både praktik och teori i ämnet. Forskarbakgrunden bidrar också med undervisningserfarenhet och en vana att sammanfatta och förmedla resultat

7 Inbyggda system & arkitektur Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Utveckla inbyggda system hands on Antal dagar: 2+1 Grundläggande begrepp Mikrokontroller och dess beståndsdelar Utvecklingsmiljö Utveckling av mjukvara för mikrokontroller Arkitektur och exekvering Praktiska övningar Linköping: okt 3 5 maj Stockholm: 8 10 dec 1 3 mars Mönster (Design patterns) Antal dagar: 3 Generella designmönster Specifika mönster för tekniska realtidssystem Djup förståelse för tankarna bakom mönster Klassificering av mönster Orientering kring andra typer av mönster Praktiska övningar ger djupare kunskap. Inbyggda system förekommer överallt i dagens samhälle, i allt från mobiltelefoner till flygplan. Alla har de gemensamt att de styrs av mjukvara. Mjukvaruutvecklingen skiljer sig från att utveckla t ex en Windowsapplikation genom att mer kunskap krävs om hårdvaran och hänsyn måste tas till dess egenskaper och begränsningar. Samtidigt behövs en djupare förståelse för de verktyg som bygger mjukvaran. Detta belyser vi i kursen med hjälp av teoretiska genomgångar och praktiska övningar på riktig hårvara. Effektivt sätt att återanvända erfarenhet. Att arbeta med designmönster är ett effektivt sätt att återanvända tidigare erfarenheter och lyckade designlösningar. Det finns idag ett stort antal mönster dokumenterade, både generella och sådana som är avsedda för specifika tillämpningsområden. Kursen ger god kunskap om designmönster och hur dessa praktiskt kan användas för att förbättra egna system och konstruktioner. Vem vänder sig kursen till? Kursen vänder sig till dig som har viss programmeringsvana och som ska börja utveckla mjukvara för inbyggda system. Förkunskaper. Kursen förutsätter grundläggande kunskaper i C/ C++. Ingen tidigare kunskap om inbyggda system är nödvändig. Mål med kursen. Efter kursen kommer du att ha förståelse för vilken kunskap och utrustning som krävs för att utveckla ett inbyggt system. Grundläggande begrepp. Kursen inleds med att vi bekantar oss med många av de begrepp som härrör från inbyggda system. Vi definierar vad ett inbyggt system är och diskuterar dess olika användningsområden. Mikrokontrollen och dess beståndsdelar. Mikrokontrollen är kärnan i det inbyggda systemet. Den består av ett antal olika delar och vi går igenom de vanligaste, till exempel minnen, kommunikationsgränssnitt och CPU-kärna. För att få en förståelse för hur vår mjukvara kan styra de olika beståndsdelarna tar vi hjälp av datablad. Vi kommer också att gå igenom vad det finns för mikrokontrollers på marknaden och tittar på vilka parametrar som styr valet av mikrokontroller. Utvecklingsmiljö. En stor skillnad när man utvecklar inbyggda system gentemot PC-applikationer är den ofta mer komplexa utvecklingsmiljön med både extra hårdvara och mjukvara. Vi kommer att både teoretiskt och praktiskt titta på hur en utvecklingsmiljö för ett inbyggt system kan se ut och hur man använder de olika verktygen för att skapa ett exekverbart program avsett för en specifik målmiljö. Olika verktygsalternativ kommer också att beröras. Utveckling av mjukvara för mikrokontroller. När man utvecklar mjukvara mot en PC-miljö behöver man sällan tänka på resursbegränsningar (t ex minne och CPU-tid). Detta är dock ofta en central del i utveckling av inbyggda system. Vi kommer att ge tips på vad du behöver tänka på och visa både bra och dåliga exempel. Valet av programmeringsspråk spelar större roll i ett inbyggt system vilket också kommer att beröras. Arkitektur och exekvering. Det är viktigt att man strukturerar sin mjukvara med hänsyn till bland annat testbarhet, underhållbarhet, återanvändbarhet och portabilitet. Vi kommer att visa några exempel på detta. Det finns flera olika exekveringsprinciper man kan använda sig av. Man kan låta ett realtidsoperativsystem (RTOS) sköta exekveringen om man behöver parallellism eller låta programmet exekvera sekventiellt. För- och nackdelar med de olika principerna kommer att belysas. Praktiska övningar. Under kursen kommer vi att varva teori med praktiska övningar. Varje teoriavsnitt avslutas med ett antal övningar. Kursen innehåller också en större uppgift med ett mikrokontrollerkort som syftar till att omsätta de teoretiska kunskaperna praktiskt. Denna uppgift består i att bygga ett ljusstyrningssystem där alla deltagare kan kommunicera med varandra. Kurslitteratur. An Embedded Software Primer av David E. Simon. Andreas Löfwenmark strävar mot toppen, både i jobbet och på fritiden. Han är nämligen en intresserad bergbestigare med toppförsök på meter höga Muztagh Ata bakom sig. Han har tidigare jobbat på Innovativ Vision och Saab Aerosystems där han var ansvarig för realtidssystem. Vem vänder sig kursen till? Kursen vänder sig till systemutvecklare och programmerare av objektorienterade tekniska system med vissa realtidskrav. Förkunskaper. Du bör ha erfarenhet från analys/designarbete och god erfarenhet av något objektorienterat språk som C++ eller Java. I kursen ges kodexempel huvudsakligen i språket C++. Kunskaper om objektorienterade begrepp och metoder är önskvärt, men repeteras under kursen. Alla diagram beskrivs med UML. Mål med kursen. Efter genomgången kurs kommer du att ha en djup förståelse för tankarna bakom mönster samt ha byggt upp en kunskapsbas av användbara mönster och relaterade begrepp. Vidare kommer du att vara väl förberedd för att kunna implementera och använda dessa i ditt dagliga arbete. Beskrivning. Kursens tonvikt ligger på att studera ett stort antal generella designmönster och dess praktiska tillämpningar. Dessutom kommer även en del mönster och ideom (språkspecifika tekniker) avsedda för tekniska realtidssystem att behandlas. Deltagarna får utforma egna lösningar och sedan reflektera kring de praktiska erfarenheterna. I kurslitteraturen ingår erkänd referenslitteratur för vidare studier inom designmönster och realtidsorienterade mönster och ideom. Deltagarna får genom kursen praktisk erfarenhet av att identifiera designmönster och förbättra ett system med nya kombinationer av designmönster. Som avslutning förmedlas våra erfarenheter av att introducera designmönster i utvecklingsprojekt. Generella designmönster. Kursen fokuserar på användbarhet genom att ge exempel på verkliga system där mönster används. Mer än en tredjedel av kursen består av konkreta övningar där deltagarna jobbar i små grupper för att lösa specifika analyser och designuppgifter med hjälp av mönster. För att få full förståelse för designmönster måste man känna igen och förstå de små skillnader som finns i mönstrens interna strukturer. Detta uppnås genom att ett flertal mönster kompletteras med genomgång av kodexempel i C++ utvecklingsmiljö. Specifika mönster för tekniska realtidssystem. Många av exemplen i kurslitteraturen ges i applikationsdomäner som är allmänt kända och därmed lättförståeliga. Detta är inte på något sätt en begränsning hos de mönster vi tittar på utan vi kan, genom exempel, visa att de är fullt tillämpbara inom realtidssystem. Djup förståelse för tankarna bakom mönster. Christoffer Alexanders, som av många ses som fadern till designmönster, var inte systemutvecklare utan arkitekt för byggnader och stadsdelar. Han definierar mönster som en regel i tre delar: ett problem, lösningen och dess sammanhang. På liknande sätt används designmönstrens lösningar som en formel används för att nå fram till lösningen på ett matematiskt problem. Klassificering av mönster. Olika klassificeringar av mönster behandlas. En vanlig indelning är i beteenderelaterade, strukturella och skapande mönster. Beteenderelaterade mönster handlar om hur algoritmer och ansvar för funktionalitet fördelas mellan klasser, samt hur dessa kommunicerar. Strukturella mönster behandlar hur klasser och objekt sätts ihop till större strukturer. Skapande mönster behandlar hur dessa strukturer kan instansieras. En annan vanlig indelning är i arkitekturmönster, designmönster och idiom där indelningen grundar sig på när och på vilken abstraktionsnivå som mönstret är tillämpbart. Man brukar också skilja på klassmönster och objektmönster beroende på om tonvikten för mönstret ligger på klass- och arvsmekanismer eller på samverkan mellan objekt. Orientering kring andra typer av mönster. Kursen är en grundkurs inom designmönster med fokus kring komponenter och delsystem för applikationer med realtidsaspekter. Det finns många forum och mycket litteratur kring området designmönster. Dessa täcks in på en mer övergripande nivå. Ett ovanligt uppdrag för Combitechkonsulten Tobias den Braver var för Viking Sewing Machines i Huskvarna, där Tobias utvecklades en mjukvaruplattform för symaskiner avsedda för konsumentmarknaden. Symaskiner i dag kan vara verkligt avancerade med stors färgdisplayer och omfattande grafiska användargränssnitt, säger Tobias som använder en del tillämpningsexempel i 12 sina kurser från symaskinsvärlden. 13

8 Inbyggda system & arkitektur Inbyggda system & arkitektur Linköping: 7 8 okt Stockholm: nov mars Malmö: feb Göteborg: okt Malmö: 5 6 apr Programvaruarkitektur för inbyggda system Android applikationsutveckling En nyckel till lyckad utveckling. Programvaruarkitektur, eller systemarkitektur för programvaruintensiva system, är en nyckel till utveckling av system som både uppfyller kundens behov och skapar en grund för vidareutveckling. Målet med kursen är att ge en introduktion till arkitektur och arkitekturarbete. Kursen ska förmedla arkitekturens plats inom systemutveckling, låta deltagarna lära känna de centrala begreppen inom arkitekturområdet och ge en förmåga att delta i arkitekturarbetets olika aktiviteter. Det är inte längre något tvivel om saken. På frågan om Android kommer spela en stor roll i framtiden har industrin sedan länge svarat ett rungande: Ja Allt fler mobiltelefontillverkare släpper eller annonserar att man tänker släppa androidtelefoner. Netbooks med Android som operativsystem annonseras och framtiden för vad som började som ett sidoprojekt på Google ser onekligen ljus ut. Denna kurs varvar teori med praktiska övningar för att kursdeltagaren på bästa sätt ska kunna utveckla egna applikationer för Android. Vem vänder sig kursen till? Kursen vänder sig till programvaruarkitekter, programvarukonstruktörer, systemkonstruktörer/system arkitekter och produktledare. Förkunskaper. Du bör ha praktisk erfarenhet av systemkonstruktion och modellering av programvaruintensiva inbyggda system. Målet med kursen. Efter genomgången kurs kommer du att ha tillräckligt med kunskap för att kunna delta i arkitekturarbetet för ett programvaruintensivt inbyggt system. Antal dagar: 2 Historik och motivation Arkitektur och arkitekturarbete Identifiera drivande krav Utarbeta arkitekturstrategier Dokumentera och kommunicera en arkitektur Utvärdera en arkitektur Leda och stödja implementation Arkitekturmönster Övningar Vem vänder sig kursen till? Kursen vänder sig till dig som är utvecklare och vill lära dig hur du utvecklar applikationer för den nya mobilplattformen Android. Förkunskaper. För att tillgodogöra dig kursen fullt ut bör du ha grundläggande kunskaper i Javaprogrammering och gärna objektorientering. Mål med kursen. Efter avklarad kurs är du väl förtrogen med vad Android är och vad det innefattar. Du klarar av att skriva egna applikationer och kan använda dig av de flesta API:er som Android erbjuder. Antal dagar: 2 Introduktion till Android och dess arkitektur Användargränssnitt och resurser Intents Säkerhet och tillstånd Lagring och delning av data Multimedia Google Maps och positionering Grafik Best practice Innehåll. Kursen ger en introduktion till arkitektur och arkitekturarbete. Den förmedlar arkitekturens plats inom systemutveckling och ger även en översikt över återkommande arkitekturlösningar arkitekturmönster. Beskrivning. Programvaruarkitektur, eller systemarkitektur för programvaruintensiva system, har det senaste åren fått mycket uppmärksamhet. Det har växt fram en insikt om att ett medvetet arkitekturarbete är centralt för vår förmåga att utveckla komplexa system som uppfyller kundernas förväntningar och behov. Denna kurs ger en introduktion till arkitektur och arkitekturarbete. Dess inriktning är programvaruarkitektur för komplexa tekniska system (komplexa inbyggda system). Historik och motivation. Vi inleder med en diskussion om arkitekturområdets framväxt och vilket fokus detta ger arbetet med systemutveckling. Arkitektur och arkitekturarbete. Vad ingår i en arkitektur och vilka delar består en arkitektur av? De olika aktiviteterna inom arkitekturarbete introduceras, dessa aktiviteter behandlas sedan var och en i de följande kursavsnitten. Identifiera drivande krav. Diskussion om olika typer av krav, med betoning på egenskaper och egenskapskrav vilka ofta är de som styr valet av arkitektur. Utarbeta arkitekturstrategier. Arkitekturstrategierna, de grundläggande designvalen, sätts i fokus. Dessa bildar en grund för arkitekturen som helhet och de är även bryggan mellan krav och arkitektur. Dokumentera och kommunicera en arkitektur. I samband med utarbetandet av arkitekturen finns det behov av att dokumentera densamma. Detta leder in på en diskussion om behovet av att använda flera olika perspektiv, vyer, för att beskriva ett systems arkitektur. Utvärdera en arkitektur. Arkitekturen för ett system definierar de viktigaste designvalen som sedan hela systemdesignen byggs kring. Det finns därför all anledning att strukturerat utvärdera arkitekturen för att säkerställa att den är tillämplig för det aktuella systemet. Leda och stödja design och implementation. I rollen som arkitekt ingår både arbetet med att utarbeta arkitekturen för systemet och arbetet med att stödja utvecklarna när de ska designa och implementera systemet med utgångspunkt från arkitekturen. Arkitekturmönster. Vi går igenom ett urval av vanliga arkitekturmönster. Övningar. Materialet belyses med små övningar och kursen avslutas med en större övning. Kurslitteratur. Grunden för kursavsnittet om arkitekturmönster är boken Pattern-Oriented Software Architecture A System of Patterns av Buschmann et al, medan de övriga kursavsnitten baseras på mångårig praktisk erfarenhet med inspiration från material från ett flertal av böckerna inom området. Björn Rasmusson började jobba på Combitech direkt efter studierna i datateknik vid Linköpings Tekniska Högskola. Under åren har han hunnit jobba för flera uppdragsgivare, bl a Nokia, Volvo, Ericsson och Saab Aerosystems. Bl a med att utveckla Gripens förmåga att flyga i civilt luftrum. Innehåll. En av styrkorna med Android är att det redan finns många färdiga paket att använda sig av och avancerade applikationer blir därför förhållandevis lätta att utveckla. Kursen går igenom grundstenarna som krävs för att kunna utveckla applikationer för Android och kursdeltagaren får själv testa sina kunskaper i övningarna som varvas mellan föreläsningarna. Beskrivning. Kursen inleds med en introduktion till Android och dess arkitektur samt en genomgång av termer och uttryck som kommer att användas under kursens gång. Vi tittar också på vad det så kallade SDK:t (Software Development Kit) innefattar och hur man använder sig av Android Development Tools och Android-emulatorn i Eclipse för att utveckla applikationer. Användargränssnitt och resurser. Här tittar vi på de grundläggande byggstenar som ett avancerat användargränssnitt består av, bl a Views och Widgets, och hur man kan använda sig av dessa för att skapa enklare gränssnitt. Du lär dig även hur du importerar olika sorters resurser till din applikation så som bilder, ljud, film, teman, osv. Intents. Det är en typ av meddelanden som gör det möjligt för olika komponenter inom samma eller olika applikationer att kommunicera med varandra. Vi tittar på tre huvudkomponenter i en applikation som alla använder sig av dessa meddelanden: Activities, Services och Broadcasts. Säkerhet och tillstånd. En applikation i Android har i regel inga rättigheter att göra någonting som påverkar andra applikationer, operativsystemet eller användaren. Vi tittar på hur man ger sin applikation rättigheter för access till nätverket, skriva till fil, osv. I detta avsnitt lär du dig också hur du signerar en applikation. Lagring och delning av data. Här tittar vi på hur man skriver eller läser data från en fil, en databas eller nätverket. Vi går också igenom hur applikationer kan exponera och dela med sig av sina privata data till andra applikationer med hjälp av så kallade Content Providers. Multimedia. Du lär dig hur media i form av audio eller video från filer på systemet eller streamad data från nätverket kan spelas upp med hjälp av MediaPlayer-klassen. Google Maps och positionering. En fördel med Android är att så mycket redan finns tillgängligt i färdiga paket för utvecklare att använda. Med hjälp av paketet android.location och det externa biblioteket Google Maps tittar vi på hur man lätt kan använda sig av positionering (GPS) och kartor i sina applikationer. Grafik. Du lär dig grunderna för att skapa mer avancerade användargränssnitt eller animationer med hjälp av 2D-grafik. Best practice. Detta kapitel behandlar de aspekter som är väl värda att tänka igenom innan du som utvecklare sätter igång och börjar utveckla egna applikationer för Android. Vad är ett bra tillvägagångssätt och vad är mindre bra? Kurslitteratur. Hello, Android: Introducing Google s Mobile Development Platform av Ed Burnette. En värmlänning som flyttade till Lund och pendlar till Linköping. Joel Guedj är utbildad civilingenjör i elektroteknik/medicinteknik vid Lunds Tekniska Högskola, men har ännu så länge inte hunnit arbeta med just det. Istället har det bl a blivit mjukvarujobb för mobilplattformar och säkerhetssystem. Bakgrunden som labhandledare från lärdomsstaden Lund gjorde att han engagerade sig 14 i Combitechs kursverksamhet. 15

9 Inbyggda system & arkitektur Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Programvaruarkitektur för små inbyggda realtidssystem Fokus på arkitekturen i designprocessen. Den globala konkurrensen tvingar fram effektivare programvaruutveckling. Inbyggda system förväntas vara tillförlitliga, enkla att underhålla och utbyggbara samtidigt som utvecklingscyklerna kortas. Produktfamiljer skapas utifrån gemensamma programvarukomponenter och plattformar. Programvaruarkitektur är ett viktigt medel för att möta dessa hårda krav. Vem vänder sig kursen till? Kursen vänder sig till systemkonstruktörer/systemarkitekter och programvarukonstruktörer. Förkunskaper. Du bör ha en grundläggande kunskap om realtidsprogrammering. Målet med kursen. Målet med kursen är att få fokus på arkitekturella beslut under designfasen av ett system. Vi skapar också en gemensam begreppsbild för design och arkitektur av realtidssystem. Antal dagar: 2 En definition av arkitektur för realtidssystem Samband mellan krav och arkitektur Sätt att beskriva och dokumentera arkitekturer Genomgång av några användbara mönster Begrepp från realtidsprogrammering Exempel på arkitektur i olika produkter Övningar Programspråk & miljöer Skriv bättre kod 18 C ditt andra språk 19 Problemlösning med C > Tänk i Java 21 Java ME 22 Objektorientering i Ada Grundläggande Linux NY 24 Beskrivning. De allt hårdare kraven på marknaden berör inte bara stora system såsom telefonväxlar och styrsystem för flygplan utan även mindre system baserade på 8-bitars microcontrollers. Vi kommer att gå igenom hur krav, både funktionella och ickefunktionella, påverkar valet av arkitektur och hur en arkitektur kan beskrivas i textuell och grafisk form. Vi visar hur mönster kan skapa lösningar på generella problem och utvärderar framställd arkitektur för några olika produkter. En definition av arkitektur för realtidssystem. Programvaruarkitektur är ett begrepp som har flera olika men snarlika definitioner. I kursen ger vi en definition av programvaruarkitektur för små realtidssystem som överstämmer med den gängse definitionen av arkitektur. Samband mellan krav och arkitektur. Hur tas en arkitektur fram utifrån produktkraven? Vilka krav har störst betydelse? Kursen går igenom funktionella krav och egenskapskrav och hur dessa används för att forma en arkitektur. Sätt att beskriva och dokumentera arkitekturer. Hur bör arkitekturen dokumenteras? Vilka dokument bör tas fram? Vad bör ingå i beskrivningen av en arkitektur? Designmönster är ett sätt att dokumentera delar av arkitekturen och UML är ett språk som kan användas för att beskriva arkitekturen, vilket kursen påvisar. Genomgång av några användbara mönster. Designmönster ger typlösningar på designproblem inom programvaruutveckling. I kursen tar vi upp några exempel på mönster som kan användas för att ge lösningar på arkitekturella problem i små realtidssystem. Begrepp från realtidsprogrammering. Kursen går igenom vanliga begrepp från realtidsprogrammering, såsom concurrency, interrupt och synkronisering. I realtidssystem formas arkitekturen bland annat utifrån dessa begrepp och det är därför viktigt att känna till dessa begrepp och vad de innebär. Exempel på arkitektur i olika produkter. Kursen ger exempel på arkitekturen i några olika små realtidssystem, vilka krav som är drivande för arkitekturen och hur väl arkitekturen uppfyller dessa krav. Övningar. Kursen innehåller ett genomgående övningsexempel där deltagarna utifrån en produktbeskrivning ska identifiera arkitekturdrivande krav, ta fram en arkitektur, utvärdera den mot kraven och tillämpa mönster för att förbättra arkitekturen. Ett antal mindre övningsuppgifter ingår också, där deltagarna får öva på specifika problem. Kurslitteratur. Design and Use of Software Architectures av Jan Bosch. Björn Rasmusson började jobba på Combitech direkt efter studierna i datateknik vid Linköpings Tekniska Högskola. Under åren har han hunnit jobba för flera uppdragsgivare, bl a Nokia, Volvo, Ericsson och Saab Aerosystems. Bl a med att utveckla Gripens förmåga att flyga i civilt luftrum. Många funktioner som underlättar vardagen för programmeraren Arno Lepisk vill ge sina kursdeltagare en verktygslåda för att utvecklas i programspråket C++ på egen hand. Vi ger grunden till att sedan gå vidare. Det finns många funktioner i C++ som underlättar vardagen för programmeraren och ökar effektiviteten i arbetet. T ex kan man istället för att skriva ny kod använda den som redan finns, exempelvis för sortering, sökning och datahantering. Kursen fokuserar alltså på det grundläggande och fortsätter sedan med konkreta problem som dyker upp i vardagen. Både programspråkets styrkor och svagheter tas upp för att visa på vilka alternativ som är bäst. Det är viktigt att stå med bägge fötterna på jorden, säger Arno som också lagt in mycket laborationer där kursdeltagarna får lösa problemen på egen hand. Ska du gå kursen är det bra att ha lite programmeringskunskaper sedan tidigare. Kursen är tre dagar lång och uppdelad i två delar, med den sista halvdagen vikt åt en fördjupning. Arno Lepisk, kursansvarig för Problemlösning med C++ 16

10 Programspråk & miljöer Programspråk & miljöer Linköping: 9 nov 25 maj Linköping: dec Stockholm: maj Skriv bättre kod C ditt andra språk Vad är bra kod? Vad är bra kod och hur skriver man sådan? Vi går igenom grundläggande designprinciper och ger handfasta tips på hur man skriver kod av hög kvalitet. Läsbarhet och enkelhet poängteras genomgående. Språkoberoende. Kursen lyfter fram principer som är applicerbara oavsett vilket programmeringsspråk som används. Teori växlas med praktiska övningar och gruppuppgifter. Vi inleder med grundläggande principer och tar oss via design av klasser och rutiner ända ner till utformning av enskilda kodsatser. Pigg hårdvarunära 35-åring. Kan ett programspråk med närmare 35 år på nacken vara användbart idag? Som alla andra språk som funnits med ett tag har ordförrådet växt och idag går det på ett eller annat sätt att uttrycka det mesta inom programmering med hjälp av C. För den som vill fördjupa sig i inbyggda system är C-kunskap nästan ett måste då den hårdvarunära programmeringen oftast görs med hjälp av C. Vem vänder sig kursen till? Kursen vänder sig till dig som kan programmera och behärskar ett eller flera programmeringsspråk men vill ta dina kunskaper till nästa nivå. Vill du lära dig att skriva bra, lättbegriplig kod med få defekter oavsett språk är det här kursen för dig. Förkunskaper. Kursen förutsätter grundläggande kunskaper i objektorienterad programmering. Mål med kursen. Målet med kursen är att ge nya perspektiv på programmering och få deltagarna att skriva kod som är lättare att förstå och som innehåller färre defekter. Vem vänder sig kursen till? För dig som har t ex C++ eller Java i bagaget och vill programmera inbyggda system, men saknar kunskaper i C, är detta en perfekt grundkurs då C oftast används för hårdvarunära programmeringen av inbyggda system. På kursen avslöjar vi givetvis också när C kan komma till nytta i dagens programmering. Förkunskaper. Vana av programmering i något språk som C++ eller Java är ett krav, kunskaper i C krävs ej. Målet med kursen. Efter genomgången kurs kommer du att förstå styrkorna i C-programmering och varför det är så populärt för hårdvarunära programmeringen i inbyggda system. Grundläggande designprinciper. Moderna mjukvarusystem är ofta mycket komplexa. Vi går igenom grundläggande designprinciper som hjälper oss att hantera denna komplexitet och bryta ner till synes svåra problem i hanterbara, lättförståeliga enheter. Självdokumenterande kod. Mer tid läggs idag på att läsa kod än vad som läggs på att skriva den. Programmering handlar till större del om att kommunicera med de människor som ska läsa koden än med de maskiner som ska exekvera den. Vi presenterar metoder för hur man skriver kod som är lätt att läsa och lätt att förstå. Detta leder även till kod som innehåller färre defekter. Vi diskuterar även frågan om, och i sådana fall hur, man ska kommentera kod. Klassdesign. Klasser är de grundläggande enheter som bygger upp objektorienterade system. Vi diskuterar hur man designar klasser av hög kvalitet. Vi ser hur de grundläggande designprinciper vi tidigare presenterat kan appliceras vid design av klasser. Rutindesign. Sedan långt tillbaka har mjukvara delats upp i subrutiner för att främja återanvändbarhet och läsbarhet. Oavsett om man arbetar i objektorienterade eller procedurella språk är högkvalitativa rutiner de kanske viktigaste byggstenarna i ett mjukvarusystem. Vi går igenom hur man använder sig av och designar rutiner på bästa sätt. Även här använder vi oss av de grundläggande designprinciper som presenterats. Variabler och konstanter. Att använda variabler och konstanter är väl enkelt, eller? Vi ger handfasta tips på hur man kan förbättra kvaliteten på sin kod genom att använda variabler och konstanter på ett genomtänkt sätt. Antal dagar: 1 Grundläggande designprinciper - Abstraktion - Inkapsling - Information hiding - Cohesion - Coupling Självdokumenterande kod Klassdesign Rutindesign Variabler och konstanter Kodlayout Kodlayout. Hur kan man strukturera sin kod för att förbättra läsbarheten? Vi går igenom hur man strukturerar satser, villkorssatser och loopar. Flexibilitet och improvisation är viktigt, tycker Mikael Karlsson, som är civilingenjör i medieteknik. Det är lätt att låsa sig i den akademiska synen på hur saker ska fungera, medan det kan fungera på ett helt annat sätt i verkligheten. Mikael har bl a arbetat med nyutveckling och underhåll i system för styrning av datatrafik för GPRS EDGE Evolution. Grunderna i C. Vi börjar med att gå igenom grundläggande begrepp som variabler, datatyper, satser och funktioner. Operatorer. C har en rik uppsättning av operatorer, både för aritmetiska och för logiska operationer. Vi belyser hur de olika operatorerna används och vad som är praxis i befintliga program. Standarder och portabilitet. Vi visar hur man skriver program som blir så flyttbara som möjligt mellan olika kompilatorer och olika plattformar. Stor vikt läggs vid att visa skillnaden mellan vad som ingår i ANSI standarden och vad som är systemspecifika tillägg. Välstrukturerad C kod. Hur använder man deklarationer och includefiler i C för bästa möjliga modularitet och struktur. Strängar, pekare och vektorer. I C kan pekare, vektorer och strängar användas växelvis. Vi förklarar hur strängar används i C och går igenom sambandet mellan pekare och vektorer. Exempel ges också på användning av mera avancerade datastrukturer som träd och länkade listor. Minneshantering. I C-program används ofta dynamiskt allokerat minne, men det är programmerarens ansvar att själv hålla reda på vad som är allokerat och vad som ska återlämnas till systemet. Felaktig användning av dynamiskt allokerat minne är en vanlig felkälla i C-program. Antal dagar: 2+1 Grunderna i C Operatorer Standarder och portabilitet Välstrukturerad C kod Strängar, pekare och vektorer Minneshantering Säker användning av C Säker användning av C. Flera säkerhetshål som utnyttjats av maskar och trojaner, under senare år, har berott på otillräckliga kontroller av minneshantering i C program. Data läses in i buffertar utan att längden på data kontrolleras och när mer data än vad som avsetts kopierats in i bufferten blir andra områden i minnet överskrivna med ny data. Kurslitteratur. The C programming language andra upplagan av Brian W. Kernighan, Dennis M. Ritchie Andreas Löfwenmark strävar mot toppen, både i jobbet och på fritiden. Han är nämligen en intresserad bergbestigare med toppförsök på meter höga Muztagh Ata bakom sig. Han har tidigare jobbat på Innovativ Vision och Saab Aerosystems där han var ansvarig för realtidssystem

11 Programspråk & miljöer Antal dagar: 2+1 Antal dagar: 2+1 Linköping: nov + 7 dec Göteborg: maj Problemlösning med C++ Komma igång Strängar och kontrollstrukturer Generiska konstruktioner Sekventiella och associativa behållare och iteratorer Algoritmer och funktionsobjekt Minneshatering Arv och polymorfism Deltagarnas önskemål Stockholm: okt Linköping: maj Tänk i Java Klasser, objekt och enkla datatyper Arv, gränssnitt och åtkomst Dela upp dina klasser med paket Javas API-specifikation Stränghantering med Javas inbyggda strängklass Undantagshantering med Exceptions Interface Arrayer och Containerklasser Enkel trådhantering Fokusera på det viktiga och strunta i det oväsentliga. Vi antar att du snabbt vill lära dig att skriva bra C++-program. Denna kurs lär dig att fokusera på det som är viktigt och strunta i oväsentliga detaljer. Vi anser att detta är en av de viktigaste egenskaperna i modern programmering. För att hänga med i den snabba utvecklingstekniken krävs det att man vet vilka bitar man ska lägga mycket tid på och vilka bitar som kan ignoreras för tillfället. Varje moment prövas i praktiken. Om du redan kan programmera i ett annat språk, är praktiskt lagd och vill lära dig utvecklingsmiljön Eclipse då är det här kursen för dig. Här varvas teori med praktiska övningar utifrån Java Platform SE 6.0 med Eclipse. Meningen är att du ska bli så duktig att du kan utveckla egna program och dessutom få sådan förståelse att du på egen hand kan fördjupa dig i önskat område när kursen är slut. Vem vänder sig kursen till? Kursen riktar sig till alla som kommer i kontakt med programmeringsspråket C++ i sitt dagliga arbete. Kursen lämpar sig både för personer som inte använt C++ tidigare och för personer som har använt C++ men känner att de inte utnyttjar språket till fullo. Förkunskaper. Eftersom denna kurs lär ut C++-programmering, inte bara språkegenskaper, är den lämplig även för personer som redan kan C++ och vill använda språket på ett mer naturligt och effektivt sätt. Kursen utgår från att deltagaren har en grundläggande kunskap om objektorientering. Mål med kursen. Syftet med denna kurs är att ge en inblick i hur C++ fungerar och används. Kursen utgår från ett problemorienterat tankesätt, och ger en beskrivning av styrkorna (och svagheterna) i C++. Efter avslutad kurs ska deltagaren kunna medverka i utvecklingsprojekt baserat på C++ som programmeringsspråk. Beskrivning. Vi antar att du snabbt vill lära dig skriva bra C++-program. Därför börjar vi med att beskriva de mest användbara delarna först och utnyttjar högnivåkonstruktioner redan från första början. Dessa kan vara mycket komplexa i sin implementation men är enkla att använda. Komma igång. Vi inleder kursen med att bekanta oss med utvecklingsmiljön och går snabbt igenom hur ett C++-program är uppbyggt. Strängar och kontrollstrukturer. I detta avsnitt tar vi upp standardbibliotekets stränghantering. Vi lär oss manipulera strängar och visar kopplingen till in- och utmatning med hjälp av strömmar. Vi reder även ut begrepp som konstanter, överlagring och medlemsfunktioner och visar olika kontrollstrukturer som villkor och loopar. Generiska konstruktioner. Här visar vi hur man med hjälp av generisk programmering kan skriva kod som är generell men ändå använder C++ starka datatypsskydd. Sekventiella och associativa behållare och iteratorer I detta skede börjar vi använda C++ standardbibliotek för att strukturera data i sekventiella och associativa behållare. Vi tittar även på hur vi använder iteratorer för att komma åt och bearbeta våra data. Algoritmer och funktionsobjekt. En av styrkorna med C++ standardbibliotek är att många ofta förekommande algoritmer redan finns implementerade. I detta avsnitt bekantar vi oss med flera av dessa och visar hur man påverkar deras beteende med hjälp av funktionsobjekt. Minneshantering. Fram tills nu har vi låtit standardbiblioteket hantera allt vårt minne. Dock finns det situationer då detta är ofördelaktigt eller till och med omöjligt. I detta avsnitt går vi igenom hur man hanterar minne själv och vad man bör tänka på. Arv och polymorfism. I detta avsnitt dyker vi ner i objektorientering och visar hur man i C++ hanterar vanliga objektorienteringskonstruktioner. Deltagarnas önskemål. I slutet av kursen så har vi möjlighet att prata om sådant som intresserar kursdeltagarna speciellt. Vi har bland annat pratat om exceptions, prestanda och testbarhet. Kurslitteratur. Under kursen används en kursbok som även delas ut, tidigare har Accelerated C++ av Andrew Koenig and Barbara E. Moo använts. Vem vänder sig kursen till? Kursen vänder sig till dig som vill lära dig grunderna i Java. Förkunskaper. Allmän kännedom kring objektorientering samt tidigare erfarenhet av att arbeta med programmeringsspråk förutsätts. Kursen förutsätter dock inga kunskaper i Java. Mål med kursen. Målet med kursen är att deltagarna ska få tillräcklig kunskap om grunderna i Java för att kunna skriva egna programdelar med grafiska gränssnitt och koppla ihop dessa till större enheter. Dessutom ska kursen ge en grund så att deltagaren på egen hand kan fördjupa sig i önskat område när kursen är avslutad. Beskrivning. Att blanda teori med många praktiska övningar, uppbyggda kring utvecklingsmiljön Eclipse, tror vi är det effektivaste sättet för att lära sig ett andra språk. Klasser, objekt och enkla datatyper. Lär dig Javas grundläggande objektorienteringsstöd i form av klasser och hur de är uppbyggda, skillnaden mellan klass och objekt samt hur ett objekt skapas, lever och dör. Vi går också igenom hur förbrukade objekt tas hand om av Javas Garbage Collector. Javas enkla datatyper är grundläggande för all programmering i Java. Lär dig använda dem och förstå när du istället bör använda en av Javas färdiga klasser (eller i sista hand skapa egna). Arv, gränssnitt och åtkomst. Möjligheten till arv är en av grundstenarna i Java och andra objektorienterade språk. Lär dig hur du kan återanvända/förfina kod genom till exempel överlagring. Genom att realisera gränssnitt kan du bestämma hur andra klasser och objekt ska få tillgång till variabler och metoder i din klass. Dela upp dina klasser med paket. Genom att använda paket kan man gruppera klasser som tillhör till exempel samma del av en applikation eller delsystem. Lär dig att förstå hur du arrangerar dina klasser i olika paket och hur detta påverkar åtkomsten för övriga klasser. Stränghantering med Javas inbyggda strängklass. Javas strängklass erbjuder möjligheter att hantera strängar. Lär dig att dela upp, slå ihop, söka eller sortera innehållet i olika strängar. Undantagshantering med Exceptions. Undantag, eller exceptions, är ett effektivt sätt att hantera olika typer av oväntade händelser i dina applikationer. Förebygg vissa typer av fel, underlätta felsökning och ge användaren tydligare felmeddelanden genom att koppla fångade fel till standard dialoger från Java Foundation Classes med inmatning. Interface. Lär dig skapa klasser som implementerar interface (gränssnitt) som andra har definierat. Gränssnitt är en metod som användas i Java för att länka samman klasser som har någonting gemensamt. En av grundstenarna för att kunna bygga löst kopplade system är förståelse för när och varför man ska använda gränssnitt. Arrayer och containerklasser. Arrayer har länge varit ett kraftfullt hjälpmedel för att till exempel utföra en eller flera operationer mot ett flertal objekt av samma typ. Lär dig skapa och använda arrayer samt även förstå skillnaden mellan arrayer och Javas mer moderna containerklasser som till exempel Vector eller List. Enkel trådhantering. Kursen ger en kort introduktion till hur trådar används i Java. Vi går igenom hur du kan använda klassen Thread eller gränssnittet Runnable för att skapa multi-trådade applikationer. Dessa används för att implementera resurskrävande operationer eller beräkningar utan att svarstiderna, i ett användargränssnitt, påverkas på ett negativt sätt. Kurslitteratur. Kursen är mer praktisk än teoretisk, därför erbjuder vi även kursmaterial i form av Sun Certified Java Programmer (SCJP) for Java 6 (Study Guide) som täcker första steget i Suns certifieringsprocess. Arno Lepisk är intresserad av programmering. Han gillar också nya smarta verktyg och automatisk kodgenerering. Men samtidigt vill han varna för att lita för mycket på hjälpmedel. Då kan man missa vad som händer bakom kulisserna och missförstå de bakomliggande sambanden. Det kan vara en fälla, menar Arno. Javas API -specifikation. Lär dig använda Javas API-specifikation. Här beskrivs de vanligaste inbyggda klasserna som Java erbjuder, med konkreta exempel på hur man använder dessa. Som tidigare doktorand och akademiker har systemutvecklaren och konsulten Lasse Öberg en hel del erfarenhet av att undervisa. Det är skönt att undervisa som omväxling till konsultuppdragen, säger han, och tycker samtidigt att det fortfarande är en utmaning. Alla ska ju förstå, trots att de har olika kunskaper, utgångslägen och förutsättningar

12 Programspråk & miljöer Antal dagar: 2 Arkitektur Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Java ME vs Java SE Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 MIDlets Grundläggande användargränssnitt Persistent datalagring Generic Connection Framework (GCF) Java ME Bluetooth API & Wireless Messaging API 2.0 Mobile Media API Canvas & Graphics, avancerade användargränssnitt Objektorientering i Ada 2005 Programspråk & miljöer Utveckla applikationer med Java ME. Java ME har till dagens datum implementerats på flera miljarder enheter och är spritt över hela världen. Plattformen är den som används mest för utveckling av applikationer på mobila enheter. Java ME ger en robust flexibel miljö för applikationer som körs på mobila och andra inbyggda system, exempelvis mobiltelefoner, personliga digitala assistenter (PDA), TV-boxar och skrivare. Genom en välanpassad mix mellan teori och praktiska övningar får kursdeltagaren en bred kunskapsbas för att på egen hand lyckas med utveckling av applikationer. Modern utveckling i Ada Vi introducerar nyheterna i Ada 2005 med fokus på förbättringarna i de objektorienterade delarna av språket. Detta lägger grunden för moderna utvecklingsmetoder även i ett beprövat språk som Ada. Denna kurs tar inte upp alla nyheter utan använder Ada 2005-syntax för att lära ut abstraktion med hjälp av objektorienterade konstruktioner. Utveckla dig själv samtidigt som ditt projekt tar ett kliv framåt. Vi tror att man lär sig mest genom att växla teori och praktik. Ditt vanliga systemutvecklingsarbete därhemma blir ett träningsläger där färdigheterna omsätts i vardagen mellan kursdagarna. Vem vänder sig kursen till? Kursen riktar sig till utvecklare som vill lära sig hur programspråket Java appliceras på inbyggda system. Förkunskaper. För att tillgodogöra sig kursen fullt ut bör man ha grundläggande kunskaper i Javaprogrammering och gärna objektorientering. Mål med kursen. Efter avklarad kurs är du väl förtrogen med vad Java ME är och vad det innefattar. Du klarar att skriva enkla applikationer, så kallade MIDlets och kan använda dig av de flesta API:er som Java ME erbjuder, specifikt konfigurationen Connection Limited Device Configuration (CLDC). Java ME har sedan år 2000 varit på frammarsch och finns i dagsläget applicerat på över en miljard enheter. I takt med att Time to market blir en allt mer viktig aspekt att ta hänsyn till krävs hela tiden mera effektiva utvecklingsmetoder för företagen. Styrkan med Java ME är att språket erbjuder färdiga lätthanterliga API:er, bland annat för att hantera enheter så som Bluetooth, multimediaspelare, 2D- och 3D-grafik, trådlös meddelandehantering och mycket mer. Arkitektur. Du får en överblick över vad Java ME innefattar och dess arkitekturella kopplingar till Java SE. Här behandlas de olika konfigurationer som innefattas av Java ME samt de valbara API:er som finns tillgängliga för respektive konfiguration. Java ME vs Java SE. I detta stycke diskuteras skillnader i funktionalitet mellan Java ME och Java SE. MIDlets. Här lär du dig vad en MIDlet är, dess livscykel, hur den kompileras samt förbereds för att appliceras på hårdvara, startas och avslutas på ett korrekt sätt. Grundläggande användargränssnitt. Här tittar vi på de grundläggande byggstenarna som ett enkelt användargränssnitt på högre nivå innehåller; såsom listor, formulär, textboxar och varningar. Persistent datalagring. Du lär dig hur data kan lagras undan persistent i en session, för att sedan åter läsas in i nästkommande. Du lär dig bland annat funktionaliteten för Java ME:s Record Management Store (RMS) samt hur du hanterar filer och filsystem. Generic Connection Framework (GCF). Generic Connection Framework är en generisk struktur i Java ME som tillhandahåller nätverkskommunikation. Du lär dig här att använda denna struktur för att kommunicera via såväl dataströmmar som datagram. Bluetooth API. Java ME:s Bluetoth API tillhandahåller ett enkelt gränssnitt för att kontrollera en hårdvaras Bluetoothmöjligheter. Här lär du dig vad Bluetooth är och hur protokollet används. Wireless Messaging API 2.0. I detta kapitel behandlas välkända koncept såsom SMS och MMS. Därutöver behandlas hur hårdvarans kamerafunktion används om sådan finns tillgänglig. Mobile Media API. Mobile Media API tillhandahåller funktionalitet för aktuell hårdvara att agera som en mediaspelare. Du lär dig här hur detta API används för att kontrollera såväl audio- som videofiler. Canvas & Graphics, avancerade användargränssnitt. Du lär dig hur avancerade användargränssnitt på lägre nivå kan visas på skärmen och hur man styr hur dessa ska ritas. Bland annat hur enkla 2D-objekt placeras ut på skärmen samt hur text ritas i olika format på densamma. Kurslitteratur. Beginning J2ME Platform, 3rd Edition: From Novice to Professional av Sing Li och Jonathan Knudsen. En värmlänning som flyttade till Lund och pendlar till Linköping. Joel Guedj är utbildad civilingenjör i elektroteknik/medicinteknik vid Lunds Tekniska Högskola, men har ännu så länge inte hunnit arbeta med just det. Istället har det bl a blivit mjukvarujobb för mobilplattformar och säkerhetssystem. Bakgrunden som labhandledare från lärdomsstaden Lund gjorde att han engagerade sig Vem vänder sig kursen till? Kursen vänder sig till dig som har viss erfarenhet av Ada men som vill utveckla din förmåga att använda språket tillsammans med moderna (objektorienterade) utvecklingsmetoder. Förkunskaper. Kursen förutsätter kunskaper i Ada i allmänhet. Ingen tidigare kunskap i objektorientering, eller de objektorienterade konstruktionerna i Ada 95 är nödvändig. Mål med kursen. Målet med kursen är att ge dig kunskaper inom modern systemutveckling i Ada Klasser och taggade typer. Klasser är grunden för programmering i alla objektorienterade språk. I Ada används så kallade taggade typer för att deklarera klasser. Vi kommer att arbeta fram en kodningsstandard för att överföra UML-diagram till Ada-kod och även från Adakod tillbaka till UML-diagram. Vi kommer här att dra nytta av nyheter i Ada 2005 såsom prefixnotation och anonyma accesstyper. Arv och polymorfism. En av kärnpunkterna i objektorienteringen är mekanismerna för att ärva kod från en klass till en annan. Vi kommer att gå igenom overriding och overloading, dispatching och klassvida typer. Vi lägger stort fokus på dessa mekanismer, både hur de fungerar och i vilka situationer de passar bra att använda. Inkapsling och synlighet. Ada har traditionellt lagt stor vikt vid att styra synlighet och åtkomst av delar av programmet bland annat med hjälp av paketspecifikationer. Vi kommer att gå igenom hur detta kombineras med den objektorienterade modellen. Det finns en del nyheter i Ada 2005, bland annat en lösning på Adas så kallade withing-problem, som vi kommer att gå igenom. Interface och multipelt arv. En av de viktigaste nyheterna i Ada 2005 när det gäller design av objektorienterade system är introduktionen av interface liknande de som finns i Java. Interface möjliggör en begränsad, och kontrollerad, form av multipelt arv. Objektorienterad design, arkitektur och mönster. Som en genomgående tråd i kursen kommer vi att beröra olika aspekter av objektorienterad design och arkitektur. Vi kommer att diskutera hur man hittar bra klasser, hur man arbetar med interface och hur man använder några designmönster. Antal dagar: 2+1 Klasser och taggade typer Arv och polymorfism Inkapsling och synlighet Interface och multipelt arv Objektorienterad design, arkitektur och mönster Standardiserade klassbibliotek med containerklasser Realtidsprogrammering och synkroniserade interface Enhetstest på klassnivå Standardiserade klassbibliotek med containerklasser. En värdefull nyhet i Ada 2005 är ett bibliotek av containerklasser, vilket är en av hörnstenarna för att kunna designa och programmera objektorienterat. Dessa klasser erbjuder standardimplementationer av bland annat: Listor och vektorer Maps Sets Sorting Realtidsprogrammering och synkroniserade interface. Ada 2005 har infört nya så kallade synkroniserade interface vilka möjliggör en tätare koppling mellan objektorienterad kod och realtidskonstruktioner. Vi kommer att beröra hur dessa används för design och kodning. Enhetstest på klassnivå. Under kursen kommer vi att varva teori med praktiska övningar. I övningarna kommer vi använda enhetstest och kursdeltagarna kommer därför att få en introduktion till hur denna metod används för objektorienterad programmering. Kurslitteratur Programming in Ada 2005 av John Barnes. 22 i Combitechs kursverksamhet. 23

13 Programspråk & miljöer Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Grundläggande Linux Nyhet Vem vänder sig kursen till? Kursen vänder sig till utvecklare, testare och integratörer som ska börja använda Linux som utvecklingsplattform men inte känner sig riktigt hemma i systemet ännu. Förkunskaper. Grundläggande datorkunskaper. Mål med kursen. Efter genomgången kurs kommer du att ha fått förståelse för hur ett GNU-/Linuxsystem är uppbyggt, hur du hittar i det och hur systemet kan hjälpa dig effektivisera ditt arbete. Du kommer till exempel att ha lärt dig grunderna för bash-skript och andra verktyg som gör att du kan låta datorn ta hand om repetitiva moment medan du fokuserar på det viktiga. Beskrivning. Kursen inleds med en bakgrund till vad Linux är och de grundläggande idéerna bakom hur systemet fungerar. Vi går översiktligt igenom bakgrunden till Open Source-rörelsen och hur GNU/Linux kom till, fungerar och utvecklas. Sedan går vi vidare med praktiska övningar för att introducera de olika delarna av systemet. Kursen tar upp de vanligaste grafiska gränssnitten och deras skillnader och likheter, jämfört med till exempel Windows, innan vi går in mer på djupet och visar hur man kan utnyttja kraften i det textbaserade gränssnittet. Efter kursens slut har du fått kunskapen och verktygen för att själv anpassa och effektivisera din användarmiljö på bästa sätt. Bakgrund. Vilka är de grundläggande idéerna bakom hur Linux fungerar? Var kommer de ifrån? Vad innebär det att utveckla ett operativsystem där vem som helst har tillgång till källkoden och har rätt att ändra i den? Vad innebär begreppet distribution? Antal dagar: 2 Bakgrund Det grafiska gränssnittet Systemets uppbyggnad Vanligt förekommande program Skalet och enklare skriptning Anpassning av systemet Enkel administration Mer avancerade skript samt verktyg som sed och awk Allt fler väljer att använda en Linuxbaserad miljö för utveckling av mjukvara. För att kunna arbeta effektivt behöver alla inblandade besitta grundläggande kunskaper i Linux. Den här kursen ger deltagarna just den möjligheten, att snabbt bli effektiva som användare av Linux-baserade operativsystem. Skalet och enklare skriptning. Vad innebär skalet? Varför vill man använda ett textbaserat gränssnitt? Kursen tar upp hur man via textkommandon snabbt kan navigera runt i systemet och få fram den information man behöver, samt hur man kan automatisera ofta förekommande uppgifter. Anpassning av systemet. Alla har sina egna mönster för hur de använder datorn i sitt arbete och i ett Linux-system finns stora möjligheter för individuell anpassning. Vi visar de vanligaste filerna för inställningar och ger tips på hur man kan effektivisera sin miljö. Enkel administration. Även om de flesta inte kommer att behöva administrera sitt eget system, då det normalt sköts centralt i företagsnätverk, kan det som användare vara bra att ha viss koll på hur ett system underhålls och hur man installerar program. Mer avancerade skript samt verktyg som sed och awk. Hur kan man bäst utnyttja kraften i det inbyggda skript-språket i skalet Bash? Vi går igenom grundläggande programmering, hur variabler hanteras och speciella konstruktioner som here-dokument för att styra interaktiva program. Vi tar även upp hur verktyg som sed och awk kan användas för att automatiskt filtrera fram önskad information från byggloggar och andra textkällor. Kommunikation Nätsynkronisering i telekommunikationsnät 26 -> Introduction to small antennas 27 IP teori och praktik 28 Praktiska datalänkar TDL MIDS Link Introduktion till informationsutbytesmodeller 30 Bra grund för praktiskt arbete med IP-kommunikation En kurs som ger en bred grund i IP Internet Protocol och blandar teori och praktik på ett bra sätt. Så beskriver Björn Rudin kursen IP i teori och praktik. Han vill inte gärna kalla den för en grundkurs, men det är just det som det är. Det som är styrkan med utbildningen är att vi blandar teori med praktik på ett praktiskt användbart sätt, det vill säga laborationer med felsökning och analys istället för att nörda ner oss i teoretiska detaljer, säger Björn. Det grafiska gränssnittet. Linux på skrivbordet kan ha flera olika fönsterhanterare. Vi går snabbt igenom de vanligaste och belyser likheter och skillnader mot vad användarna annars är vana vid. Systemets uppbyggnad. Hur ser filsystemet ut? Var ligger programmen? Vad är hemkatalogen? Hur får man reda på mer information om hårdvaran i datorn? Vanligt förekommande program. En snabb genomgång av de mest populära programmen och lite tips på vilka alternativ som finns. David Hennerström försöker inrikta sig på helhet och integration, civilingenjör i rymdteknik som han är. Det, plus hans erfarenheter som lärare från Luleå tekniska universitet, gör att han trivs som pedagog. Det är spännande att försöka se var eleverna befinner sig och sedan lotsa dem rätt, var och en i sin egen takt. Det ger en bra grund för att jobba med IP-kommunikation ute i verkligheten, allt ifrån grundläggande Ethernet-protokoll till TCP och UDP. De företag som tidigare hade egna lösningar för kommunikation går allt mer över till IP. Det är på väg att bli en etablerad standard och kan förekomma i princip överallt: inom telekombranschen, automation, fartyg, flyg, osv. I princip överallt där det förekommer mycket trafik bakom kulisserna som du inte märker, säger Björn Rudin. Björn Rudin, kursledare inom IP-kommunikation 24

14 Kommunikation Stockholm: nov Linköping: apr Antal dagar: 2 Linköping: sept Stockholm: mars Kommunikation Nätsynkronisering i telekommunikationsnät Grundläggande begrepp Standarder Synkroniseringsnätet Utrustningar Verkliga felfall Verkliga planeringsexempel Affärsaspekter Introduction to small antennas Nätsynkronisering är ett försummat område, trots att det har påverkan på alla typer av kommunikationsnät. Kursen ska ge deltagaren grundläggande kunskap om behovet av synkronisering i telekommunikationsnät och baskunskaper om vad som krävs vid planering och implementering av synkroniseringsnät. Vidare ger kursen deltagaren en beskrivning av hur synkronisering inom och mellan telekommunikationsnät kan påverka de trafikala nätens prestanda och därmed nätoperatörens hela affärsidé. Antennas are present in a vast amount of devices. Whether it is a mobile phone or a toy, the antenna impacts the design both of the outer cosmetics geometry as well as the internal electrical design. As it is impossible to neither see nor feel the electromagnetic radiation, understanding antennas are not intuitive. The course addresses the concept of different antenna types, keywords to describe an antenna and measurements techniques. Vem vänder sig kursen till? Kursen vänder sig till dig som ansvarar för, planerar, driver, utvecklar, underhåller eller testar telekommunikationsnät eller utrustning för telekommunikationsnätet. Förkunskaper. Kursen förutsätter inga förkunskaper men det är fördelaktigt med vissa kunskaper i hur telekommunikationsnäten ser ut idag. Mål med kursen. Efter genomgången kurs kommer du att förstå innebörden av många begrepp inom området nätsynkronisering samt de viktigaste standarderna. Du har fått en inblick i hur ett dåligt planerat eller underhållet synkroniseringsnät kan påverka prestanda och i förlängningen även affärerna. Who should attend this course? Anyone that needs to get an antenna working in a device or want to understand someone that works with antennas. Required skills. You should have a technical background with focus on hardware, or is a purchaser or a project manager. The goal of the course. After the first day of the course, you should be able to understand an antenna specification and how an antenna is measured. Important issues associated with implementation of antennas are highlighted. Grundläggande begrepp. Ett flertal grundläggande begrepp presenteras för att ge förståelse för området nätsynkronisering och dess beståndsdelar. Exempel: Nätsynkronisering, klocka, packet delay variation, jitter/wander, slip. Standarder. Det finns en stor mängd standarder som berör synkronisering. Här presenteras några av de viktigaste och en sammanställning över deras innehåll. Exempel: ITU-T rekommendationerna G.781, G.803, G.810-serien, G ETSI-standarderna i EN serien och EG IEEE IETF RFC1305, RFC4330. Synkroniseringsnätet. En genomgång av synkroniseringsmetoder, redundansprinciper, planering och beroenden till andra nät. Nödvändiga egenskaper presenteras samt de viktigaste funktionerna i utrustningar. Utrustningar. En mer detaljerad genomgång av vilka gränssnitt som finns i olika utrustningar, vilka funktioner som bör finnas samt karaktäristik som utrustningarna förväntas upprätthålla. Verkliga felfall. Genomgång av ett antal verkliga felfall som inträffat i olika nät och som berodde på felaktigt planerade eller dåligt underhållna synkroniseringsnät. Alla felfallen är anonymiserade så att ingen nätoperatör ska bli utpekad. Verkliga planeringsexempel. Under framtagande av nätsynkroniseringsplaner stöter man alltid på specifika problemställningar för det specifika nätet. Här presenteras några sådana problemställningar tagna från verkligheten. Affärsaspekter. Varje nätoperatör har ett visst utbyte med andra nätoperatörer. I synkroniseringsnätet finns ett antal mycket viktiga affärsaspekter som måste beaktas för att övrigt utbyte ska fungera bra. Björn Neihoff har stor vana vid att hålla föredrag, både på internationella konferenser och på kurser. Och, inte minst, som vikarie i grundskolan. Det har han nytta av när han undervisar i nätsynkronisering, ett ämne han har arbetat med sedan närmare 20 år tillbaka. Ett viktigt ämne, om mobiltelefonnätet ska fungera smärtfritt. Description Day one. Antenna definition together with its characteristic, such as radiation patterns and gain, and how those change over frequency are given. Different antenna types, such as monopole dipole, F-antenna, patches, horn and dish antennas, all with their own unique properties are shown and explained. The antenna interaction with its surroundings, like a hand for hand held devices, or nearby components and covers are discussed. This sets the framework of how an antenna should be implemented. The trade off between a standard antenna and a custom solution is discussed. The antenna impact on antenna performance due to the location, design of PCB and e.g. covers are addressed. The behaviour of the transmitter and receiver for antennas that are not prefect 50 ohm loads are discussed. The radio channel and the behaviour over distance are addressed with terminology like fading, LOS, Friis formula and signal drop. Measuring cable bounded with a network analyser gives a mean to understand return loss, matching, Smith chart, electrical delay while measuring over the air with anechoic and reverberation chambers gives a mean to understand radiation pattern, gain and efficiency. Description Day two. Small multiband antennas surrounded with components are discussed and how their performance, (TRP, TIS, SAR) is affected by e.g. a hand or a head. New standards like LTE and DVB-H are discussed and how the demand for increased bandwidth and MIMO could be dealt with. The issues with a radio loaded with non-50 ohm impedances are addressed. Literature. The foundation of the course is the experience of the teacher as being a designer for many years. No literature is needed. Peter Sjöblom har tillbringat drygt tio år i telekom-branschen med att utveckla antenner till mobil telefoni. Vägen dit gick från en examen i matematik och fysik vid Växjö Universitet, via institutionen för det fasta tillståndets fysik vid Lunds universitet och till Combitech. Peter blev av en slump tillfrågad om att fylla en vakant tjänst och har sedan dess valt att stanna kvar Duration: 2 Content Antenna Definition Electromagnetic radiation Antenna parameters Antenna physics Antenna types Implementation issues Electrical/Mechanical design Feeding PCB design Transmitter and Receiver characteristics Antenna range Antenna measurements with cable Radiation field measurements Regulation, FCC, ETSI, SAR

15 Kommunikation Linköping: okt Stockholm: mars IP teori och praktik Antal dagar: 2+1 Både teori och praktik Protokollstandarder Standardisering Kommunikationsmodellen lager på lager Nätverkslagret Transportlagret Autokonfiguration Praktik Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Praktiska datalänkar TDL MIDS Link 16 Kommunikation Ethernet och TC P/IP finns snart överallt. Ethernet och olika TCP/IP-baserade protokoll ersätter eller kompletterar i ökande utsträckning olika properitära bussar och protokoll i nästan alla branscher och tillämpningar. Detta innebär att behovet av kompetens och systemförståelse ökar även i organisationer som traditionellt inte använt dessa tekniker. Denna kurs ger en genomgång av de grundläggande protokollen och mekanismerna, såväl som praktisk kunskap i användandet av protokollanalysatorer och andra verktyg för analys och felsökning. Vill du hänga med i utvecklingen av taktiska datalänkar för luftstridskrafter, se helheten i systemen och kunna jobba i en internationell miljö? Då är den här grundläggande kursen ett måste för dig. Den beskriver den Nato-standard för praktiska/taktiska datalänkar som kallas TDL MIDS Link 16 och som används av ett 30-tal nationer idag. Det handlar mest om Nato-medlemmar, men även neutrala länder som Sverige, Schweiz och Österrike ansluter sig nu. Vem vänder sig kursen till? Kursen vänder sig till dig som har eller ska börja arbeta med system där IP-kommunikation är en naturlig del. Eller om du står inför en IP-fiering av ett befintligt system. Förkunskaper. Kursen förutsätter inga tidigare kunskaper om TCP/IP eller nätverkskommunikation. Viss Linuxvana är en fördel men inget krav. Mål med kursen. Efter kursen kommer du att ha kunskap om de grundläggande begreppen inom allt från transportlagret och adressering till applikationsnära protokoll och principer. Både teori och praktik. I vårt labnät kan vi i realtid se vilka paket som skickas mellan olika datorer. Vi får då både en känsla för hur man kan använda verktyg för att spåra paket i ett nätverk och en praktisk demonstration av hur de olika protokollen fungerar. Protokollstandarder. Protokollen som finns i TCP/IP-stacken är standardiserade av IETF. Förutom att praktiskt studera protokollen, tar vi även en titt på själva standardiseringsförfarandet och läser direkt från standarderna. Standardisering. Vi beskriver kortfattat standardiseringsförfarandet av protokoll inom TCP/IP-stacken och botaniserar bland RFC:er från IETF. Vi ger en överblick av vilka organisationer som är inblandade i standardiseringen och vilka roller de har. Kommunikationsmodellen lager på lager. Vi går igenom kommunikationsmodellen för IETF:s protokoll och jämför med den kända OSImodellen. Vi belyser vilket ansvar man lägger på länklager, nätverkslager och transportlager. Nätverkslagret. Till nätverkslagret kan man hänföra protokollen ARP, RARP, IP, ICMP och IGMP. Dessutom finns IPv6 och ICMPv6. Vi går igenom dessa protokoll, naturligtvis med tyngdpunkt på IP-protokollet. Vi tar upp adressrymden för IPv4, grundläggande ideer för routing samt idéer för hur man kan hantera rörliga enheter. Autokonfiguration. Protokollen BOOTP, DHCP och DNS används för att tilldela en maskin information om sin egen adress och om adresser till närmaste router med mera. Praktik. Under kursen kommer vi att varva teori med praktiska övningar. I övningarna kommer vi använda ett verktyg för att titta på kommunikation mellan två datorer på paketnivå. Det kommer att ge vana vid att både använda detta verktyg och av att analysera trafik på paketnivå. Kurslitteratur. TCP/IP Protocol Suite, Third Edition, av Behrouz A. Forouzan Vem vänder sig kursen till? Verksamhets- eller systemutvecklare samt personal inom Försvarsmakten och FMV. Förkunskaper. Du behöver viss kunskap om dagens kommunikationssystem inom Försvarsmakten, men behöver inte vara tekniker. Målet med kursen. Målet är att ge en grundläggande förståelse för hur en taktisk datalänk fungerar och insikt i vad införandet av TDL MIDS- Link 16 innebär för svenska förhållanden. Beskrivning. Eftersom terminologin i de här sammanhangen är på engelska återger vi den på samma språk, fast med en svensk förklaring. Description of the characteristics for NATO standard TDLs, the background. Vad karaktäriserar en datalänk? Hur är den uppbyggd och vad består den av? The roles for TDLs Vad är användningsområdet för en taktisk datalänk? Vilken information kan utbytas mellan plattformar i luften, från luften till mark eller sjö eller tvärt om. J-series Family, Link 16 J-series format Link 16 använder en serie meddelanden som kallas J-serie. Hur ser uppbyggnaden och strukturen ut? Operational applications of MIDS/Link 16 Vilka tjänster kan utföras med hjälp av MIDS/ Link 16? Basic Capabilities of MIDS/Link 16 Vad innebär Basic Capability inom MIDS/Link 16? Sverige genomför Basic Implementation, vad innebär det i omfattning? Basic Technical Characteristics of MIDS/Link 16 Kunskap om de tekniska egenskaperna för MIDS/Link 16. Olika terminaler, jämförelse med andra datalänkar. Levels of Integration of terminals Informationen i MIDS-terminalen kan integreras med respektive plattforms ledningssystem och till olika nivåer. Hur tänker vi integrera MIDS/Link 16 i JAS39 C/D, C2STRICIO och ASC890. Vad är Stand alone system? Operational Use Vad innebär införande MIDS/Link 16 för den svenska taktiken? Vad är normal procedur inom NATO. Hur påverkas taktiken i en operation med införandet av taktiska datalänkar? Terminals for MIDS/Link 16 Olika terminaler, jämförelse med andra datalänkar. Antal dagar: 2 3 Description of the characteristics for NATO standard TDLs, the background The roles for TDLs J-series Family, Link 16 J-series format Operational applications of MIDS/Link 16 Basic Capabilities of MIDS/Link 16 Basic Technical Characteristics of MIDS/Link 16 Levels of Integration of terminals Operational Use Terminals for MIDS/Link 16 Standards and Interoperability for TDLs Navigation and Crypto in the MIDS/Link 16 Standards and Interoperability for TDLs Vilka standarder används vid integrationsarbete med MIDS/Link 16? Vad är skillnaden på Mil std och Nato Std? Navigation and Crypto in the MIDS/Link 16 Hur kan vi använda MIDS/Link 16 för navigation? Vilka kryptosystem hänger samman med införande av MIDS/Link 16? Beroende på tid och förutsättningar går vi också igenom valda delar av: Operational Planning Network Planning Pre-mission planning Platform and Network Init Operations Data recording, Analyse, Improvements Kursupplägg. En sammanhållen kurs om 2 3 dagar. Transportlagret. De två klassiska protokollen UDP och TCP går vi igenom i detalj från adressering med portar, via handskakningsförfarandet till hantering av försvunna paket och trafikstockningar (QoS). Vi går också igenom de nyare SCTP och förklarar skillnaderna gentemot TCP. Hos Björn Rudin sitter kraven på stabilitet och kontroll i ryggmärgen. Kursdeltagarna kan få åka snålskjuts på hans misstag: Vi tar alltid stöd i litteraturen men eftersom vi använder metoderna i verkligheten kan vi ibland säga att det i praktiken blivit bättre om man gjort på ett annat sätt. Ronny Eryd är sammanhållande för en grupp medarbetare på Combitech som specialiserat sig på taktiska datalänkar, TDL och särskilt då MIDS Link

16 Kommunikation Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Introduktion till informationsutbytesmodeller Intern och extern kommunikation. Försvarsmakten av idag behöver kunna kommunicera såväl internt som externt. Internt mellan olika tekniska system och försvarsgrenar och externt med andra länders försvarsmakter samt med civila organisationer och myndigheter. Försvarsmakten har beslutat att svenska förband i internationella insatser ska använda sig av informationsutbytesmodellerna C2IEDM och JC3IEDM för denna kommunikation. I denna kurs får du lära dig vad en informationsutbytesmodell egentligen är samt grunderna i C2IEDM och JC3IEDM. Vem vänder sig kursen till? Kursen vänder sig främst till dig som har intresse eller erfarenhet av informationsutbytesstandarder, verksamhetsmodellering, interoperabilitet, informationsmodellering och/eller jobbar inom försvarssektorn. Kursen utgör en introduktion för dem som ska implementera C2IEDM/JC3IEDM, men även projektledare och andra som vill förstå vad det innebär att använda modellerna och att vara interoperabel via C2IEDM/JC3IEDM kan ha stor nytta av utbildningen. Förkunskaper. Inga formella förkunskapskrav finns, men du bör ha intresse för eller erfarenhet av informationsutbyte mellan eller med militära ledningssystem. Antal dagar: 1/2 Vad är en informationsutbytesmodell? Vad är C2IEDM/JC3IEDM? Vad innebär det att använda C2IEDM/JC3IEDM? Förhållandet till mark-/sjö-/luft-domänerna och andra informationsutbytesstandarder Erfarenhetsutveckling & metoder Erfarenhetsutveckling för projektledare 32 Erfarenhetsutveckling för systemarkitekter 32 Estimering av programvara och system 33 Projektstyrning av programvara 34 Nästa steg med Agile NY 35 Riskhantering 36 -> Detaljerad genomgång av NAF v3 och MODAF v Introduktion i NATOs arkitekturramverk (NAF v3) 38 Systemutvecklingens grundspel 39 Effektiva utvecklingstekniker 40 Mål med kursen. Efter genomgången kurs kommer du att ha en grundläggande kunskap om vad en informationsutbytesmodell är samt vad det innebär att vara interoperabel via C2IEDM/JC3IEDM och hur modellerna används. Beskrivning. Kursen innehåller en genomgång av grunderna i de standardiserade informationsutbytesmodellerna Command and Control Information Exchange Data Model (C2IEDM) och Joint Consultation, Command and Control Information Exchange Data Model (JC3IEDM). Kursens fokus ligger på att beskriva C2IEDM/JC3IEDM och vad det innebär att använda modellerna. Vad är en informationsutbytesmodell? Samverkande system eller organisationer behöver definiera vilken information man ska utbyta och vilket språk (ord, termer och begrepp) man ska använda sig av när man utbyter informationen. Detta definieras med hjälp av en informationsutbytesmodell, som formellt och strukturerat beskriver den information som de samverkande parterna kommer överens om att de behöver utbyta. Förenklat kan man säga att en informationsutbytesmodell definierar ett gemensamt, överenskommet språk. Vad är C2IEDM /JC3IEDM? JC3IEDM och dess föregångare C2IEDM beskriver den information som behöver utbytas mellan militära ledningssystem i multinationella insatser. Modellerna utvecklas av MIP (Multilateral Interoperability Programme) i samarbete med NATO. De ledningssystem som implementerar C2IEDM/JC3IEDM tillsammans med MIPs övriga specifikationer kan utbyta information med varandra. Sverige är via Försvarsmakten och FMV fullvärdig medlem i MIP, vilket bl a innebär att Försvarsmakten förbundit sig att implementera MIPs specifikationer i svenska ledningssystem. Vad innebär det att använda C2IEDM /JC3IEDM? Att använda C2IEDM eller JC3IEDM innebär inte bara att anpassa gränssnittet i ett ledningssystem. De utmaningar som uppstår när JC3IEDM ska användas i FM ledningssystem spänner från teknik, semantik och språk till operativa koncept och metoder. Förhållandet till mark/sjö/luft-domänerna och andra informationsutbytesstandarder? MIP har sitt ursprung i markdomänen och detta har naturligtvis färgat de informationsutbytesmodeller som specificeras inom programmet. JC3IEDM är dock försvarsgrensöverskridande även om den sjö- och luftrelaterade information som ingår i modellen huvudsakligen syftar till att stödja landbaserade operationer. Modellerna hämtar delar av sitt informationsinnehåll från andra informationsutbytesstandarder som t ex ADatP-3. Kurslitteratur. Kursen bygger på kursledarens erfarenhet, bl a som svensk representant (på uppdrag av FMV) i den grupp som utvecklar och vidmakthåller C2IEDM och JC3IEDM. Det som fascinerar Cecilia Unell mest med utbildningar är utmaningen att förklara krångliga saker på ett pedagogiskt och lättfattligt sätt. Men hon har goda förutsättningar att lyckas med det efter närmare 15 års erfarenhet av informationshantering och internationell interoperabilitet. När vanliga utbildningar inte längre tillför något Har du gått alla kurser inom ditt område som finns, men känner att du vill komma vidare? Då kan Combitechs program för erfarenhetsutveckling vara svaret. Jag kan garantera att du kommer att se på världen på ett annat sätt efter programmet, säger Combitechs Göran Backlund. Han är en av hjärnorna bakom den unika utbildningen, som utvecklats tillsammans med avdelningen för Yrkeskunnande och Teknologi på KTH i Stockholm. Programmet bygger på att genom samtal och reflektion ta del av varandras, ibland svåra, erfarenheter och på det viset komplettera sin egen erfarenhetsbank. Och bli en bättre chef eller projektledare. En del betraktare som inte deltagit i utbildningen är skeptiska. De menar att det inte är möjligt att utveckla erfarenhet, men erfarenhet utan reflektion är bara händelser, inget annat. Du utvecklas både som människa och professionell varelse, säger Göran Backlund och lovar helt nya verktyg för lärande, än vad som är möjligt i traditionell undervisning. Programmet löper under nio månader och börjar med en introduktion om fem heldagar. Göran Backlund, kursledare inom erfarenhetsutveckling 30

17 Erfarenhetsutveckling & metoder Erfarenhetsutveckling & metoder Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Erfarenhetsutveckling för projektledare, systemarkitekter och testledare Estimering av programvara och system För 15 år sedan frågade vi oss hur erfarna ledare kan fortsätta att utveckla sig. Här är svaret. Combitech erbjuder ett program för erfarenhetsutveckling där deltagarna tränas i reflekterande ledarskap. Det är en metod som hjälper dig att hela tiden utvecklas i ditt yrke och aldrig stanna din tillväxt. Konsten att estimera. Det är få projekt som genomförs inom de kostnads- och tidsra mar som satts upp i början av projektet. Det här beror naturligtvis delvis på att förutsättningarna ändras under projektets gång. En annan bidragande orsak är att kostnads- och tidsuppskattningen inte stämmer med verkligheten. Estimering är komplicerat. Denna kurs går igenom de faktorer som påverkar kostnaden och tiden för ett projekt, olika metoder för estimering och ger exempel från några olika projekt Hur utvecklar man sin erfarenhet? När du står inför en ovan och svår uppgift är du beroende av ditt omdöme och dina erfarenheter. Eftersom erfarenhet kommer ur hur du förstår konsekvenserna av din egen handling och det du ser andra göra, så går den också att utveckla dvs du omvärderar dina erfarenheter och utvecklar förståelsen av vad du varit med om. För att göra det använder vi Dialogseminariemetoden som är framtagen i samarbete med KTH. Det är en metod för att utforska erfarenheter och ger ett verktyg för individuell och kollektiv reflektion. Individuell reflektion är ett sätt att ana situationer, formulera frågeställningar och få nya insikter. Med kollektiv reflektion väcker vi en grupps konkreta erfarenheter till liv och synliggör dem så att de kan delas med andra. Den här typen av reflektion tar dig också från detaljnivån till ett helhetsperspektiv som en helikoptermanöver. På det sättet tränas du in i ett lärande, reflekterande ledarskap som du har glädje av genom hela ditt yrkesliv. Vilka yrkesgrupper kör vi programmet för? Vi har program för projektledare, systemarkitekter, chefer, forskningsledare, konsulter och IT-ingenjörer och kan anpassa det så att det passar för de flesta yrkeskategorier. Men det handlar om erfarna personer. Varje deltagare i gruppen måste ha erfarenhet att ge till de andra. Vad omfattar utbildningen? Utbildningen omfattar sju seminariedagar under en period av nio månader. I programmet ingår förberedelseuppgifter och praktisk tillämpning av det reflekterande ledarskapet. 1. Introduktion dilemmat. En introduktion till den teoretiska bakgrunden och en övning i reflektion över aktuella dilemman som deltagarna har i sitt yrke. 2. Samtalet. Samtalet är grundläggande för hela programmet och en ledares främsta verktyg. 3. Modell och verklighet. Processer, metoder och planer är alla modeller till stöd för dig som ledare, men det du möter är en verklighet som inte alltid lyder modellens lagar. 4. Komplexitet. Vi utför vårt jobb i samarbete med andra, ibland i stora komplexa organisationer. Vi arbetar med system som blir allt mer komplexa. Vad händer i komplexa sammanhang där man inte kan ha full kontroll? 5. Helhet och delar. I stora och komplexa sammanhang blir känslan för helheten avgörande för allt beslutsfattande. Det gäller varje deltagare i uppdraget annars kommer inte systemets delar att passa ihop och det som levereras blir inte heller det som kunden förväntar sig. Hur hänger då helhetskänsla ihop med detaljkunskap? 6. Kreativa miljöer. Effektivitet ligger inte alltid i väl inövade rutiner, det handlar ofta mer om den mellanmänskliga miljö som arbetet bedrivs i. Lust och lärande är några av de komponenter som är utmärkande för en effektiv och kreativ miljö. 7. Examen: Bedömningen av din examensuppgift görs av professor emeritus Bo Göranzon på Kungliga Tekniska Högskolan som utfärdar ett intyg motsvarande 10 högskolepoäng efter godkänd examination. Programmet ger dig Säkrare hantering av svåra situationer Större säkerhet i yrkesrollen Träning i reflekterande ledarskap Erfarenheter från andra Utveckling av dina egna erfarenheter Intyg motsvarande 10 akademiska poäng Programmet bedrivs antingen på ditt företag eller schemalagt i vår regi med deltagare från olika företag. Det här är ett exklusivt program med: En liten grupp om 10 deltagare med olika men jämförbara erfarenheter Två erfarna ledare från industrin som bedriver forskning inom området yrkeskunnande Framstående gästföreläsare som tillför flera perspektiv på ledarskap Examen på KTH Vem vänder sig kursen till? Kursen vänder sig personer som ansvarar för estimat i sitt arbete. Förkunskaper. Erfarenhet av programvaruutveckling och arbete i pro jekt. Mål med kursen. Efter kursen ska du ha fått grundläggande kunskaper om estimering och dess bety delse. Beskrivning. De olika faktorer som bygger upp arbetsmängden i ett projekt diskuteras. I detta ingår storleken på program vara/system som skall tas fram, komplexitet och utvecklingsförutsättningar. Också förutsättningarna för estimeringsarbetet som sådant diskuteras. Nedbrytning. Nedbrytning av ett projekt i olika arbetspaket är oavsett estimeringsmetod en viktig referensgrund för estimeringsarbetet. En metod för att ta fram en WBS (Work Breakdown Structure) genomgås. Estimering av utvecklingsarbete. Tre olika metoder genomgås: Funktionspunkter COCOMO Metod baserad på nedbrytning och uppskattning av minimal, sannolik och maximal tid för nedbrutna arbetspaket. Vidare diskuteras olika typer av felbedömningar. Estimering av risk. I ett utvecklingsprojekt finns alltid risker. En diskussion hålls kring hur detta hanteras och en enkel metod ges. Antal dagar: 1 Nedbrytning Estimering av utvecklingsarbete Estimering av risk Bakom utbildningen står Combitech och KTH, med några av Sveriges mest erfarna system- och kompetensutvecklare. Jan Sjunnesson tekn. dr, konsult inom ledar- och verksamhets-utveckling. Jan har en mångårig erfarenhet som systemutvecklare, systemchef och projektledare för internationella utvecklings- och förändringsprojekt. Jan har lagt fram en avhandling Erfarenhet och processer, på KTH Industriell Ekonomi och management på avdelningen Yrkeskunnande och teknologi. Göran Backlund tekn. dr, konsult inom ledar- och verksamhetsutveckling. Göran har en mångårig erfarenhet som system- Sedan 2005 har Bengt Rydh arbetat med chefs-, affärs- och utvecklare och projekt ledare på Saab Gripen och erfarenhet av omfattande förändringsarbete. Göran har lagt fram en avhandling Om ungefärligheten i ingenjörsarbete, på KTH Industriell Ekonomi, på avdelningen Yrkeskunnande och teknologi. verksamhetsstöd på Combitech Development Center. De roligaste projekten har varit där han fått börja med ett vitt papper och sedan skapa något helt nytt. Han har på det sättet lång erfarenhet av metoder för projektledning, kvalitetsstyrning och kursledning

18 Erfarenhetsutveckling & metoder Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Projektstyrning av programvara Antal dagar: 2 Modeller, organisation och begrepp Projekt och programvara Initiering Genomförande Avslutning Nedbrytning Estimering Tidsplanering och bemanning Riskhantering Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Nästa steg med Agile Nyhet Erfarenhetsutveckling & metoder Programvaruutveckling blir alltid sen och kostar mycket pengar. Detta är ett ofta förekommande påstående. Att driva projekt är komplext och ställer krav på många olika färdigheter. I grunden bygger alla projekt på att ett antal grundläggande projektstyrn ingsmetoder vars syfte är att skapa struktur och översikt. Även om dessa metoder är nödvändiga är de inte tillräckliga då också projektledarens praktiska erfarenhet är avgörande för ett fram gångsrikt projekt. Fokus för denna kurs är att presentera ett antal handfasta och enkla projektstyrningsmetoder som ger en grundläggande bas att bygga vidare på. Ni har passerat det första steget på den agila kunskapstrappan. Introduktionernas tid är förbi och ni kanske redan har genomfört ett eller flera projekt. Men visionen som fanns när ni började stämmer inte riktigt överens med den dagliga verkligheten och nu känns det som att införandet planat ut. Om den här beskrivningen känns bekant är kursen Nästa steg med Agile precis vad ni behöver för att gå vidare. Vem vänder sig kursen till? Kursen är främst avsedd för nya projektledare eller för dem som har några års erfar enhet av projektledning. Förkunskaper. Erfarenhet av arbete i projekt men inte nödvändigtvis i rollen som projektledare. Mål med kursen. Efter genomgången kurs kommer du att fått grundläggande kunskaper om projektledning av programvaruutveckling från uppstart till projektavslut. Beskrivning. I kursen går vi igenom vad programvaruutveckling är och hur projekt där programvara utgör en väsentlig del kan styras. Kursen lägger stor vikt vid planeringen av projekt där avstämning mot beställare, tidsuppskattningar, resursplanering, ansvarsfördelning och påverkan av yttre faktorer är avgörande beståndsdelar. Vi går igenom alla projektets delar och varje del sam manfattas med en uppsättning handfasta regler. Modeller, organisation och begrepp. En kort genomgång av olika modeller för att genomföra projekt och utvecklingsarbete ges. Här diskuteras också projektorganisation såväl som andra grundläggande be grepp som är relaterade till projektstyrning. Projekt och programvara. En genomgång av vad som är speciellt för programvaru utveckling görs för att sedan relatera detta till projektet. Initiering. Planering och initiering av projekt genomgås. Viktiga delar här är en avstämning med projektets alla intressent er för att säkerställa att det finns en gemensam bild av såväl utgångspunkt som mål. Stor vikt läggs också vid grundläggande planeringsaktiviteter som nedbrytning, estimering och riskhantering som behandlas i separata avsnitt. Genomförande. Projektets genomförande genomgås. Detta startar med grundplaneringen där ett separat avsnitt om tidsplanering och bemanning ingår. Andra centrala delar som tas upp är uppföljning och ändringshantering. En annan viktig fråga som diskuteras är vilka olika vägar det finns när ett projekt blir sent. Avslutning. Projektet gås igenom. En viktig del här är att utvärdera och ta till sig erfarenheter och att föra dessa vidare. Nedbrytning. Projekt i olika arbetspaket är grunden för projektplanering. En metod för att ta fram en WBS (Work Breakdown Structure) genomgås. Estimering. Vid estimeringen översätts arbetet i ett projekt till tid och kostnad. En översikt av olika estimeringsmetoder och förutsättningarna för dessa ges. Vidare genomgås i detalj en metod för estimering som baseras på nedbrytning och uppskattning av minimal, sannolik och maximal tid för nedbrutna arbetspaket. Tidsplanering och bemanning. Grundläggande strategier för tidsplanering och beman ning genomgås. En del i detta är att göra rimlighetskon troller och att säkerställa att det finns relevanta margin aler. Riskhantering. Det är en viktig del i projektet då den ger möjlighet till framförhållning. En enkel metod för riskhantering med delarna identifiering, analys, planer ing, uppföljning och styrning genomgås. Sedan 2005 har Bengt Rydh arbetat med chefs-, affärs- och verksamhetsstöd på Combitech Development Center. De roligaste projekten har varit där han fått börja med ett vitt papper och sedan skapa något helt nytt. Han har på det sättet lång erfarenhet av metoder för projektledning, kvalitetsstyrning och kursledning. Vem vänder sig kursen till? Kursen vänder sig till er med ambitionen att införa eller utveckla användningen av agila metoder. Typiska kursdeltagare är projektledare, Scrum Masters, utvecklingsansvariga och produktledare. Förkunskaper. Ni bör ha egna erfarenheter från utvecklingsprojekt som tillämpar lean/agila principer och deltagarna bör vara bekväma med den terminologi som används inom området. Mål med kursen. Efter genomgången kurs ska ni ha fått nya idéer, verktyg och infallsvinklar på hur ni kan vidareutveckla och optimera utväxlingen av att använda lean och agila arbetsmetoder. Beskrivning. Kursen är utformad för att ge gemensam erfarenhetsutveckling för deltagarna, med stöd av kursledarnas erfarenhet och vägledning. Helhetsgrepp. Under kursen vill vi hjälpa er att ta ett helhetsgrepp på agil utveckling, inte bara att optimera enskilda delar som till exempel Scrum och XP. För att ni ska få maximal nytta av att arbeta med agila metoder vill vi lyfta fram att det handlar om en helhet, ett synsätt som bör genomsyra hela verksamheten. Dialogseminarium. Kursen bygger bland annat på att deltagarna i dialogseminarieform reflekterar över sina erfarenheter från det agila arbetet som gjorts hittills och samtalar kring detta. Utifrån deltagarnas egna berättelser och protokollet från dialogseminariet fås en beskrivning av nuläget. Den används sedan för att analysera eventuella problem och därefter identifiera och prioritera önskade förändringar. Avslutningsvis arbetar vi tillsammans fram konkreta förslag på hur ni kan nå dit. Övningar. Under kursens gång kommer olika tillämpningsfrågor och problemställningar i fokus och olika typfall och övningar kan illustrera principerna som diskuteras. Deltagarnas egna erfarenheter från liknande fall kan användas för att komplettera bilden. Skräddarsys. Kursledarna kommer hela tiden att styra arbetet framåt och bidra med sparring och förslag utifrån sina egna erfarenheter. Kursen, som omfattar 1-2 dagar i grundutförandet, ges på beställning på valfri ort och skräddarsys efter kundens önskemål. Antal dagar: 1 2 Dialogseminarium kring erfarenheter och nuläge Analys av förbättringsmöjligheter Vägledning i hur ni kan ta nästa steg med Agile Daniel Södergård är den f d officeren som hoppade av en militär karriär och satsade på en framtid som systemvetare istället. Han ser flera positiva likheter mellan de två rollerna som officer och utbildare på Combitech: vikten av pedagogik och engagemang är densamma

19 Erfarenhetsutveckling & metoder Erfarenhetsutveckling & metoder Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Stockholm: 6 7 okt 4 5 apr Riskhantering En detaljerad genomgång av NAF v3 och MODAF v1.2 En användbar metod för riskhantering. Ett utvecklingsprojekt innehåller alltid risker. Riskhanteringen erbjuder en möjlighet till framförhållning. Syftet är att på ett rationellt sätt identifiera, formulera och prioritera risker varefter åtgärdsprogram tas fram. Kursen behandlar en rättfram metod för riskhantering. Vikten av ett bra ramverk. För att beskriva sin verksamhets arkitektur behöver man stöd av ett bra ramverk. Inom försvarssektorn är de två viktigaste ramverken NATO Architecture Framework (NAF) och UK Ministry of Defence Architecture Framework (MODAF) men de kan användas även inom andra områden. Den här kursen kommer att gå igenom alla delarna av dessa två ramverk och även belysa vad som skiljer dem åt. Båda ramverken är nyligen uppdaterade för att hantera tjänsteorientering (SOA) och bygger på en gemensam grund. Vem vänder sig kursen till? Kursen vänder sig personer som ansvarar för eller är styrda/påverkade av risker i sitt arbete. Förkunskaper. Erfarenhet av arbete i projekt. Mål med kursen. Efter kursen ska du ha fått grundläggande kunskaper om riskhantering och dess bety delse. Hur risker identifieras, analyseras och prioriteras. Dessutom kommer du att ha fått praktisk övning i vad riskhantering innebär och vad som är viktigt att tänka på i praktiken. Bakgrund. En genomgång av förutsättningar och syfte med riskhantering görs. Vidare diskuteras skillnaden mellan risk och problem. Vem vänder sig kursen till? Kursen vänder sig till dig som kommer att arbeta med NAF eller MODAF antingen direkt med framtagning av arkitekturbeskrivningar eller genom att förstå, kravställa och/eller förmedla information om en arkitekturbeskrivning. Förkunskaper. Du bör veta vad ett arkitekturramverk är och det är en fördel om du har stött på NAF eller MODAF tidigare. Mål med kursen. Efter genomgången kurs kommer du att ha grundförutsättningarna för att kunna arbeta enligt NAF och MODAF. Du kommer ha förståelse för hur du kan applicera ramverken för dina behov och känna till vad man ska tänka på vid arkitekturarbete. Identifiering. En metod för identifiering av risker presenteras. Metoden bygger på att risker identifieras utifrån teknik/produkt, arbetsförutsättningar och yttre beroenden. Vidare framhålls vikten av att riskerna kommuniceras mellan alla berörda. Analys. Värdering och analys och av risker genomgås. En metod som bygger på värdering utifrån sannolikhet för och konsekvens vid riskens inträffande genomgås. Vidare diskuteras prioritering av risker. Planering. Då riskerna identifierats och planerats återstår att planera åtgärder vid inträffande. Detta kan bestå i att risken helt elimineras eller i åtgärder som syftar till att lindra konsekvensen vid inträffande. Ett annat sätt är att acceptera risken och hantera den först när den inträffar. Oavsett planerad åtgärd är det viktigt att det hela tiden finns en medvetenhet om riskerna och att dessa följs upp. Antal dagar: 1 Bakgrund Identifiering Analys Planering Sedan 2005 har Bengt Rydh arbetat med chefs-, affärs- och verksamhetsstöd på Combitech Development Center. De roligaste projekten har varit där han fått börja med ett vitt papper och sedan skapa något helt nytt. Han har på det sättet lång erfarenhet av metoder för projektledning, kvalitetsstyrning och kursledning. Beskrivning. Kursen kommer att gå igenom de båda ramverken i detalj och göra en jämförelse mellan dem. Ramverk. Kursen ger en full genomgång av ramverken och går igenom de olika vyerna i detalj och förklarar hur de är uppbyggda och vad som är syftet med dem. Även den underliggande metamodellen kommer att gås igenom för varje vy. Skillnaden mellan de två ramverken kommer också att belysas för varje vy, samt hur de olika vyerna hänger ihop och påverkar varandra. Centrala begrepp. De centrala begreppen för ramverken kommer att förklaras i mer detalj för att ge förståelse hur de används i ramverken. Kursen ska också ge en förståelse för hur ramverken är uppbyggda och vilka tankar som ligger bakom. Övningar. Ramverken behöver användas för att få förståelse för hur ramverket kan användas. Därför finns det ett flertal övningar under kursens gång. Övningarna bygger på ett genomgående exempel så att de olika övningarna hänger ihop och att förståelsen för hur en arkitekturbeskrivning byggs upp ökar. Hjälpmedel och erfarenheter. Stöd för hur man börjar med ett arkitekturarbete och definierar vad som ska fångas kommer att beskrivas. Även en översikt över de hjälpmedel som finns i form av verktyg beskrivs. Kursen avslutas med att visa erfarenheter från arbete med arkitekturbeskrivningar och tips på hur man ska undvika vanliga fällor. Antal dagar: 2 Ramverk Centrala begrepp Övningar Hjälpmedel och erfarenheter Kurslitteratur. UK Ministry of Defence Architecture Framework (MODAF) NATO Archchitecture Framework (NAF). (från denna sida finns en länk vidare till ramverket) Produktledare för informationsarkitektur är Truls Pärssons uppgift och det gör honom till en av få experter på området i landet. Han har bl a arbetat med praktiskt arkitekturarbete och arkitekturramverk som NATO Architectural Frameworl (NAF) och MODAF i flera år

20 Erfarenhetsutveckling & metoder Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Introduktion i NATOs arkitekturramverk (NAF v3) Kursen ges på beställning Läs mer om skräddarsydda kurser på sidan 7 Systemutvecklingens grundspel Antal dagar: 2 Konfigurationsledning Kravhantering Granskning Test Dokumentera och redovisa en arkitektur. Enkelt uttryckt kan man säga att ett arkitekturramverk talar om hur man ska dokumentera och redovisa en arkitektur samt vilka vyer som ska ingå. Om vi jämför med arkitekturen i ett hus så är de inblandade såsom arkitekt, rörmokare, takläggare och inredningsarkitekt intresserade av olika delar av ritningen (vyer), men alla utgår från samma underlag så att alla hela tiden vet att de pratar om samma hus och ungefär så fungerar också NAF v3. I lagsporter måste alla lagmedlemmar kunna grunderna. Oavsett hur duktig man är som individ så är det hela lagets skicklighet som gäller för att få ett bra slutresultat. Systemutveckling är som ett lagspel där varje spelare känner spelsystemet och kan förutse lagkamraternas rörelser. När grundspelet fungerar skapar det utrymme för improvisation och spel i toppklass. Den här kursen ger just den grundläggande helhetsbild som alla utvecklare behöver. Vem vänder sig kursen till? Målgruppen för kursen är de som har intresse av arkitekturer, verksamhetsarkitekturer, verksamhetsmodellering, UML, informationsmodellering, verifiering och validering och/ eller jobbar inom försvarssektorn. Förkunskaper. Det är önskvärt om man har kunskaper i informationsmodellering och/eller modelleringsspråk som UML. Mål med kursen. Efter genomgången kurs kommer du att ha grundläggande kunskaper i arkitekturramverk, NAF samt MoDAF. Vem vänder sig kursen till? Kursen vänder sig till dig som nyligen börjat arbeta med systemutveckling och som vill bli en uppskattad lagkamrat och kunna vara med och ansvara för hela lagets resultat. Det räcker inte med att vara expert på din egen del utan du måste samtidigt förstå spelreglerna för hela laget. Kursen är också värdefull för dig som arbetat med systemutveckling ett par år, men känner att du blivit isolerad i ett fack där du inte fått en chans att förstå hur systemutveckling hänger ihop. Förkunskaper. Du bör ha en grundläggande teknisk utbildning och gärna ha arbetat några månader i ett utvecklingsprojekt. Kravhantering. Inom kravspecificering diskuterar vi vad som menas med att ett krav är bra. Vi visar exempel på hur vi identifierar, dokumenterar och bryter ner krav och allokerar dem till en del av systemet för att kunna realiseras. Detta arbete följer en genomtänkt process som vi går igenom. Vi studerar olika exempel för hur dokumentstrukturen kan se ut gällande krav. Som avslutning tränar vi oss i att formulera krav. Efter kursen kommer du att kunna: identifiera och dokumentera krav förstå grundstegen i en kravprocess förstå vad som kännetecknar ett bra krav Beskrivning. Kursen fungerar som en introduktionskurs där deltagarna får veta vad ett ramverk är och vilka vyer som finns i ramverket. Deltagarna ska också få en övergripande förståelse för hur man implementerar ramverket. Under kursen kommer vi att ta upp och förklara, bland annat, kärnan i NAF v3, som är dess vyer, en översikt av NAFs metamodeller samt kopplingar till NNEC. Vi kommer också att ge ett enklare exempel på vilka verktyg som finns och hur de används för att bygga NAF vyer. Verksamhetsarkitektur och arkitekturramverk. Enkelt uttryckt kan man säga att ett arkitekturramverk talar om hur man ska dokumentera och redovisa en arkitektur samt vilka vyer som ska ingå. Om vi jämför med arkitekturen i ett hus så är de inblandade såsom arkitekt, rörmokare, takläggare och inredningsarkitekt intresserade av olika delar av ritningen (vyer), men alla utgår från samma underlag så att alla hela tiden vet att de pratar om samma hus och ungefär så fungerar också NAF v3. NATOS arkitekturramverk, generellt. Istället för ledningar och tak så ingår tekniska och operativ system i NAF v3 och istället för arkitekter och rörmokare är det militärer och även civila, inom exempelvis hjälporganisationer, som drar nytta av att arkitekturramverket ger dem en gemensam utgångspunkt. Ett exempel där vi i Sverige kan ha nytta av NAF v3 är när försvarsmakten ska delta i internationella insatser med många andra militära och civila organisationer inblandade. Med NAF v3 går det att på ett enhetligt sätt beskriva olika verksamheter och utbyta information mellan förband och organisationer från olika länder. Kurslitteratur. NATO Architecture Framework (NAF) (från denna sida finns en länk vidare till ramverket) Antal dagar: 1/2 Vad menas med verksamhetsarkitekturer och arkitekturramverk NATOs Arkitekturramverk NAF v3, generellt Tekn dr Robert Suzić kombinerar stor ämneskunskap med pedagogisk förmåga. För hans egen del är det samverkan mellan kursdeltagare och kursledare som motiverar honom i arbetet. Det roligaste med kurserna är gensvaret jag får, säger Robert. Målet med kursen. Efter kursen kommer du att förstå din roll i helheten och hur viktig du är som lagkamrat. Kursen kommer att ge dig en ny bild av vad systemutveckling är och vilka delar som kan ingå. Du kommer att lära dig nya begrepp och få insikt i delar som, just nu kanske känns mindre viktiga, men som efter ytterligare en tid i yrket är betydelsefulla att förstå. Den nya kunskapen kan samtidigt ligga till grund för din personliga utveckling. Du vet nu vilka spelare som finns med i laget och vilka platser du kan få möjlighet att spela på i framtiden. Efter kursen kommer du att kunna ge en bra beskrivning av hur dina uppgifter påverkas av övriga delar av systemutvecklingen. Du kommer att kunna formulera din roll i förhållande till andra roller och även förstå vad som krävs av dig för att ge en bra passning till nästa led, spelaren som ska ta hand om ditt arbetsresultat. Konfigurationsledning. Vi går igenom syftet med konfigurationshantering och visar på en övergripande nivå hur konfigurationsledning kan appliceras för att stödja en produktutveckling. Efter kursen kommer du att kunna: identifiera konfigurationsobjekt från arkitekturen och produktstyrande dokument beskriva hur konfigurationsobjekt samverkar för att skapa en systemkonfiguration beskriva hur man placerar konfigurationsobjekt under ändringskontroll beskriva syftet med en CCB (beslutsfattande forum för ändringar) Granskning. Inom granskning går vi igenom de teoretiska grunderna för vad granskning är och hur man gör. Vi kommer att träna oss i att granska ett material relaterat till en produkt. Efter kursen kommer du att kunna: beskriva stegen i en granskningsprocess och förstå syftet med den ge ett konstruktivt bidrag vid granskningar av ett dokument Test. Inom test går vi igenom de grundläggande principerna för test och visar exempel på hur test ska planeras, designas och genomföras. Kursen avslutas med att utifrån krav skriva testfall och exekvera dessa. Efter kursen kommer du att kunna: förstå stegen i en testprocess förstå grunderna i vad som ingår i en testplanering, design av testfall och genomförande av test beskriva hur krav och testfall hänger ihop och motivera varför de måste hänga ihop Tore Qvist är inte rädd för att hålla i stora projekt och föreläsa för stora grupper. Man blir inte en bra kursledare med automatik, säger han. Den sociala kompetensen är lika viktig som ämneskunskaperna, för att genomföra en bra kurs. Det gäller att vara lyhörd inför kursdeltagarnas frågor

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

U T B I L D N I N G A R

U T B I L D N I N G A R 2->13 U T B I L D N I N G A R H Ö S T E N 2 0 1 2 / V Å R E N 2 0 1 3 C O M B I T E C H T R A I N I N G I N S T I T U T E Missa inte våra 19 nya kurser samt expertartiklar om krishantering, usability,

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

HÖSTEN 2011 / VÅREN 2012 COMBITECH TRAINING INSTITUTE. Alla våra kurser ges även på beställning.

HÖSTEN 2011 / VÅREN 2012 COMBITECH TRAINING INSTITUTE. Alla våra kurser ges även på beställning. U T B I L D N I N G A R HÖSTEN 2011 / VÅREN 2012 1->12 COMBITECH TRAINING INSTITUTE Alla våra kurser ges även på beställning. Inbyggda system & arkitektur Programvaruarkitektur för inbyggda system 9 Embedded

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development

Läs mer

SKOLFS. beslutade den -- maj 2015.

SKOLFS. beslutade den -- maj 2015. SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj

Läs mer

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och

Läs mer

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad

Läs mer

hösten 2013 våren 2014

hösten 2013 våren 2014 U T B I L D N I N G A R sverige / norge hösten 2013 våren 2014 3->14 COMBITECH TRAINING INSTITUTE 27 nya kurser i Sverige och Norge. Innehåll Möt några av våra experter: Sidan 48 Spara tid med papperslöst

Läs mer

Kursplanering Objektorienterad programmering

Kursplanering Objektorienterad programmering Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund

Läs mer

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande: Programmering PRR Programmering Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik,

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2017-09-21 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING SFÖRTECKNING 1. RFID-Kurser... 2 1.1. RFID Grundkurs... 2 1.2. RFID Fortsättningskurs... 3 1.3. RFID dator programmering... 4 1.4. RFID Systemadministration... 5 1.5. RFID Aktiv Systemadministration...

Läs mer

Objektorienterad programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

Läs mer

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers. Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2015-09-24 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2018-09-27 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Jonas Kvarnström jonkv@ida.liu.se 2013 Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby,

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp

Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp 1 (5) Kursplan för: Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp Computer Engineering BA (A), Introduction to Programming in C++, 7.5 Credits Allmänna data om kursen Kurskod Ämne/huvudområde

Läs mer

Programmeringsteknik II

Programmeringsteknik II Programmeringteknik II Kursintroduktion http://www.it.uu.se/edu/course/homepage/prog2/vt18/ 2018-03-19 Programmeringsteknik II 2018-03-19 1 / 9 Lärare Carl Nettelblad (kursansvarig) Anna Eckerdal Biträdande

Läs mer

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign

Läs mer

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Hej, jag heter Ingela Johansson och hälsar dig välkommen till kursen Programutveckling med Java. Den är på 7.5

Läs mer

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp

Läs mer

Introduktionsmöte Innehåll

Introduktionsmöte Innehåll Introduktionsmöte Innehåll Introduktion till kursen Kursens mål och innehåll Undervisning Datavetenskap (LTH) Introduktionsmöte ST 2019 1 / 14 EDAA01 Programmeringsteknik - fördjupningskurs Ingen sommarkurs

Läs mer

Objektorienterad Systemutveckling Period 3

Objektorienterad Systemutveckling Period 3 Objektorienterad Systemutveckling 2 2018 Period 3 kurskod C1OB2B Innehåll Kursintroduktion Kursmaterialet finns temporärt även på http://www.gidenstam.org/hb/oosu2 KURSINTRODUKTION Kursintroduktion Inblandade

Läs mer

Säker programmering - Java

Säker programmering - Java Säker programmering - Java Information är en värdefull tillgång i dagens värld och en effektiv hantering sätter höga säkerhetskrav på medarbetarna. Säker programmering - Java Nowsec säkerhetsgranskar dagligen

Läs mer

Imperativ programmering. Föreläsning 4

Imperativ programmering. Föreläsning 4 Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering

Läs mer

Kursplanering för EE3D i kursen Programmering 1, 100p.

Kursplanering för EE3D i kursen Programmering 1, 100p. Kursplanering för EE3D i kursen Programmering 1, 100p. Tidplan Kursstart 2013-08-22 - Kursslut 2014-06-03 Datum/Period Kursinnehåll/Moment Sidhänvisning Vecka 34 Kursintroduktion Vecka 35 Allmänt om Java,

Läs mer

Välkomna till DIT012 IPGO

Välkomna till DIT012 IPGO Välkomna till DIT012 IPGO 1 Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare Joachim von Hacht, hajo@chalmers.se, 772 1003 Handledare (se även kurssida) Alexander Sjösten, sjosten@chalmers.se

Läs mer

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016 Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

INSTITUTIONEN FÖR MATEMATIK OCH NATURVETENSKAP. Fastställd i institutionsstyrelsen 2003-06-11 Dnr 853/333-03

INSTITUTIONEN FÖR MATEMATIK OCH NATURVETENSKAP. Fastställd i institutionsstyrelsen 2003-06-11 Dnr 853/333-03 INSTITUTIONEN FÖR MATEMATIK OCH NATURVETENSKAP LOKAL UTBILDNINGSPLAN MEDIEINFORMATIKPROGRAMMET 120 POÄNG MI03 Fastställd i institutionsstyrelsen 2003-06-11 Dnr 853/333-03 INNEHÅLL LOKAL UTBILDNINGSPLAN

Läs mer

Yrkeshögskolan Novia Utbildningsprogrammet i elektroteknik

Yrkeshögskolan Novia Utbildningsprogrammet i elektroteknik Grunderna i programmeringsteknik 1. Vad är Känna till nämnda programmering, begrepp. Kunna kompilera högnivå språk, och köra program i det i kompilering, kursen använda tolkning, virtuella programmeringsspråket.

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018 Objekt-orienterad programmering och design DIT953 Niklas Broberg, 2018 Kursteamet Niklas Broberg kursansvarig, föreläsare, examinator Johannes Åman Pohjola föreläsare Assistenter: Karin Wibergh Sarosh

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15 DAVA15 Objekt, klasser Vad är det? Vad är sambandet mellan dem? Vad är skillnaden mellan dem? Tillstånd Signatur Kommunikation Typ Fält, parametrar och lokala variabler Likheter och skillnader Räckvidd

Läs mer

EDAA01 Programmeringsteknik - fördjupningskurs

EDAA01 Programmeringsteknik - fördjupningskurs EDAA01 Programmeringsteknik - fördjupningskurs Läsperiod lp 1+2 (Ges även lp 3) 7.5 hp anna.axelsson@cs.lth.se sandra.nilsson@cs.lth.se http://cs.lth.se/edaa01ht Förkunskapskrav: Godkänd på obligatoriska

Läs mer

Datavetenskapligt program, 180 högskolepoäng

Datavetenskapligt program, 180 högskolepoäng GÖTEBORGS UNIVERSITET UTBILDNINGSPLAN IT-fakultetsstyrelsen 2013-02-14 Datavetenskapligt program, 180 högskolepoäng (Computer Science, Bachelor s Programme, 180 credits) Grundnivå/First level 1. Fastställande

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Kursprogram hösten 2011

Kursprogram hösten 2011 Enea Experts Logo - with wet floor effect Enea Experts Logo - without wet floor effect Android Störst på Linux OSE/realtidskurser Flest testkurser ISTQBcertifiering Java, C# C, C++, Safer C, TDD projektledning

Läs mer

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018 Objekt-orienterad Programmering och Design TDA552 Alex Gerdes, HT-2018 Kursteamet Dr. Alex Gerdes examinator och föreläsare (Dr. Niklas Broberg föreläsare) Handledare: Sólrún Halla Einarsdóttir Yazan Ghafir

Läs mer

Objektorienterad programmering

Objektorienterad programmering 1(5) Objektorienterad programmering och Java Programkurs 7 hp Object Oriented Programming and Java TDDE30 Gäller från: 2018 VT Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum

Läs mer

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys Realtidssystem HT03 Vad är realtidssystem? Föreläsare: Wang Yi Rum: 1235, yi@it.uu.se, Tel: 471 3110 Assistent: Tobias Amnell Rum: 1216, tobiasa@it.uu.se, Tel: 4717122 Webbsida: www.it.uu.se/edu/course/homepage/realtid/h03

Läs mer

Kursvärdering 1DV433 Strukturerad programmering med C++ LP3 2011-12 Lärare: Tommy Löfqvist 17 svar

Kursvärdering 1DV433 Strukturerad programmering med C++ LP3 2011-12 Lärare: Tommy Löfqvist 17 svar Kursvärdering 1DV433 Strukturerad programmering med C++ LP3 2011-12 Lärare: Tommy Löfqvist 17 svar KURSFRÅGA AV ÖVERGRIPANDE KARAKTÄR - Kursinnehållet har varit intressant och stimulerande I låg grad 0

Läs mer

Kursplanering Utveckling av webbapplikationer

Kursplanering Utveckling av webbapplikationer Kursplanering Utveckling av webbapplikationer Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-WEB Klass Systemutvecklare.NET Syfte och koppling till yrkesrollen För att kunna arbeta som systemutvecklare

Läs mer

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Designmönster, introduktion. Vad är det? Varför skall man använda mönster? Designmönster, introduktion. Vad är det? Varför skall man använda mönster? Kent Petersson EMW, Mölndal Datavetenskap, Chalmers epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp

Läs mer

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java

TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java jonas.kvarnstrom@liu.se 2018 TDDD78, TDDE30, 729A85 Objektorienterad programmering och Java Kursinformation Examinator, kursledare: Jonas Kvarnström Fråga kommentera avbryt! Utan OO har vi datastrukturer

Läs mer

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i

Läs mer

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Aktuell kursplan finns på studentwebben, http://www.kth.se/student/kurser/kurs/hi1027. Lärare och examinator Anders Lindström, anders.lindstrom@sth.kth.se,

Läs mer

TDIU01 (725G67) - Programmering i C++, grundkurs

TDIU01 (725G67) - Programmering i C++, grundkurs TDIU01 (725G67) - Programmering i C++, grundkurs Introduktion till kursen och programmering Eric Elfving Institutionen för datavetenskap 2 september 2014 Översikt Kursinformation Personal Kursmål Upplägg

Läs mer

Introduktion EFFSO Excelutbildning för inköpare

Introduktion EFFSO Excelutbildning för inköpare Introduktion EFFSO Excelutbildning för inköpare Teori övningsuppgift reflektion För att säkerställa bästa möjliga kunskaps överföring följer alla tränings moduler samma struktur TEORI ÖVNING REFLEKTION

Läs mer

Grundkurs i programmering - intro

Grundkurs i programmering - intro Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå

Läs mer

Utvärdering Utvecklingsledare i kommunikationsplanering: Förändringsarbete

Utvärdering Utvecklingsledare i kommunikationsplanering: Förändringsarbete Utvärdering Utvecklingsledare i kommunikationsplanering: Förändringsarbete Positiva synpunkter Bra upplägg. Lite teori blandat med övningar i lagom storlek. Verksamhetsnära och realistiskt. Många tankeställare

Läs mer

Utbildningsplan. Systemvetenskapliga programmet. 180 högskolepoäng. System Science Program. 180 Higher Education Credits *)

Utbildningsplan. Systemvetenskapliga programmet. 180 högskolepoäng. System Science Program. 180 Higher Education Credits *) Utbildningsplan Systemvetenskapliga programmet 180 högskolepoäng System Science Program 180 Higher Education Credits *) Fastställd i Utbildnings- och Forskningsnämnden 2012-11-14 Gäller fr.o.m. 2013-07-01

Läs mer

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

Läs mer

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7) Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar

Läs mer

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer

Läs mer

Kursprogram 2009 Mercur Business Control

Kursprogram 2009 Mercur Business Control Kursprogram 2009 Mercur Business Control 2008 Mercur Solutions AB 1/13 1 Maximera värdet av er investering i Mercur... 2 2 Kursplanens struktur... 3 2.1 Grundkurs användarutbildning (½ dag)... 3 2.2 Grundkurs

Läs mer

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande: MOI Ämnet mobila applikationer behandlar olika tekniker för att utveckla programvara riktad mot mobila enheter samt processen från idé till färdigt program. Ämnet mobila applikationer får bara anordnas

Läs mer

Kursprogram 2010 Mercur Business Control

Kursprogram 2010 Mercur Business Control Kursprogram 2010 Mercur Business Control 2008 Mercur Solutions AB 1/11 1 Maximera värdet av er investering i Mercur... 2 2 Kursplanens struktur... 3 2.1 Grundkurs användarutbildning (½ dag)... 3 2.2 Grundkurs

Läs mer

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1 Kursinfo Introduktion till programmering Undervisning Föreläsning 1 Kursinformation Inloggning, filsystem, kommandotolk några inledande exempel Föreläsningar Fem föreläsningar, vardera 45 minuter. Allmänna

Läs mer

Köpguide för mobila växlar. Modern telefoni till företaget är långt ifrån vad det var för bara några år sedan.

Köpguide för mobila växlar. Modern telefoni till företaget är långt ifrån vad det var för bara några år sedan. Köpguide för mobila växlar Modern telefoni till företaget är långt ifrån vad det var för bara några år sedan. Tänk om din nya telefonilösning kunde förenkla din vardag och hjälpa dina medarbetare att arbeta

Läs mer

Avdelningen för informations- och kommunikationssystem Fakulteten för naturvetenskap, teknik och medier

Avdelningen för informations- och kommunikationssystem Fakulteten för naturvetenskap, teknik och medier 1 (6) Utbildningsplan för: Datateknik, 180 hp Computer Science Allmänna data om programmet Programkod Tillträdesnivå Diarienummer TDATG Grundnivå 2007/127 Högskolepoäng 180 Ansvarig avdelning Ansvarig

Läs mer

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

Läs mer

1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål? 1DV33 HT13 Antal : I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål? - ha fått grundläggande kunskaper om strukturerad programmering

Läs mer

Extramaterial till Matematik X

Extramaterial till Matematik X LIBER PROGRMMERING OCH DIGITL KOMPETENS Extramaterial till Matematik X NIVÅ TRE Programmering LÄRRE I den här uppgiften får du och dina elever en introduktion till programmering. Uppgiften vänder sig först

Läs mer

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Collector en Android-app för att samla saker Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Abstrakt Jag har gjort en Android-app för att samla saker, Collector. Med den kan man upprätta att göra-listor

Läs mer

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT14

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT14 Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT14 Aktuell kursplan finns på studentwebben, http://www.kth.se/student/kurser/kurs/hi1027. Lärare och examinator Anders Lindström, anders.lindstrom@sth.kth.se,

Läs mer

Programvaruteknik, hp

Programvaruteknik, hp 1 (6) Utbildningsplan för: Programvaruteknik, 120-180 hp Software Engineering, 120-180 Credits Allmänna data om programmet Programkod Tillträdesnivå Diarienummer TPVAG Grundnivå MIUN 2010/1734 Högskolepoäng

Läs mer

Metoder och verktyg för funktionssäkerhet

Metoder och verktyg för funktionssäkerhet Metoder och verktyg för funktionssäkerhet Projektstart 1. Hantera kraven En bra process är grunden för att hantera kraven i ett säkerhetsprojekt. Det krävs att du har en tydlig spårbarhet mellan krav och

Läs mer

FOTA - 3 COTS och objektorientering i realtidstillämpningar Annika Ohlsson Ericsson Microwave Systems

FOTA - 3 COTS och objektorientering i realtidstillämpningar Annika Ohlsson Ericsson Microwave Systems FOTA - 3 COTS och objektorientering i realtidstillämpningar 2000-05 - 03 Annika Ohlsson Ericsson Microwave Systems annika.h.ohlsson@emw.ericsson.se FOTA - 3 Deltagare Ericsson Microwave Systems (projektledning)

Läs mer

Programmera ett övergångsställe

Programmera ett övergångsställe Programmera ett övergångsställe I lektionen programmeras en algoritm för att styra trafikljus i en korsning. Eleverna får skapa en praktisk applikation och lära sig att skapa och modifiera algoritmer.

Läs mer

Introduktion till MySQL

Introduktion till MySQL Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk

Läs mer

LOKAL UTBILDNINGSPLAN INFORMATIKPROGRAMMET 120 POÄNG IF04

LOKAL UTBILDNINGSPLAN INFORMATIKPROGRAMMET 120 POÄNG IF04 INSTITUTIONEN FÖR MATEMATIK OCH NATURVETENSKAP LOKAL UTBILDNINGSPLAN INFORMATIKPROGRAMMET 120 POÄNG IF04 Fastställd i institutionsstyrelsen 2004-04-01 Dnr 420/333-04 INNEHÅLL LOKAL UTBILDNINGSPLAN Sid

Läs mer

Slutrapport för Internetfonden

Slutrapport för Internetfonden Slutrapport för Internetfonden Webbprogrammering i matematik och fysikundervisning Mikael Tylmad mikael@roboro.se Fredrik Atmer fredrik.atmer@gmail.com Ella Kai-Larsen e@k-l.se 10 april 2014 http://www.profyma.se/

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015 Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora

Läs mer

JAVAUTVECKLING LEKTION 1

JAVAUTVECKLING LEKTION 1 JAVAUTVECKLING LEKTION 1 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Introduktion till kursen Java historik och särdrag Javautvecklarens yrkesroll Installation och konfiguration

Läs mer

Utbildningsplan för. International Software Engineering, 180 högskolepoäng

Utbildningsplan för. International Software Engineering, 180 högskolepoäng Utbildningsplan för Dnr 56-1113/07 International Software Engineering, 180 högskolepoäng (International Software Engineering, 180 ECTS credit points) 1. Allmän information Software Engineering Software

Läs mer

Resultat av kursvärdering

Resultat av kursvärdering Resultat av kursvärdering Kurskod: Kursnamn: 5EL208 Linux som Operativsystem, 7,5hp Kursbeskrivning: Data, Elektro o Distans Kursstart: 2013-01-21 Lärare: Ulf Brydsten Medverkande : Ulf Brydsten, kursansvarig

Läs mer

CADEC CALLISTA DEVELOPER S CONFERENCE

CADEC CALLISTA DEVELOPER S CONFERENCE CADEC CALLISTA DEVELOPER S CONFERENCE 2018.01.24 GÖTEBORG Cadec 2018 med de senaste trenderna inom arkitektur och systemutveckling Java 9 ReactJS Blockkedjan Kafka Machine Learning GDPR Rivstarta 2018

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Inledande programmering med C# (1DV402) Introduktion till. eller så här är det tänkt att fungera.

Inledande programmering med C# (1DV402) Introduktion till. eller så här är det tänkt att fungera. Introduktion till kursen eller så här är det tänkt att fungera. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

Konsultstudiocertifiering, 4 dagar inkl tentamen Ger dig en certifiering i verktyget Pyramid Design Studio Konsultstudion. Pris kr 13500.

Konsultstudiocertifiering, 4 dagar inkl tentamen Ger dig en certifiering i verktyget Pyramid Design Studio Konsultstudion. Pris kr 13500. Åf-utbildningar 2012 Digitala kvitton Presentation av Digitala kvitton. 1 timme på nätet Konsultstudiocertifiering, 4 dagar inkl tentamen Ger dig en certifiering i verktyget Pyramid Design Studio Konsultstudion.

Läs mer

Kom igång med utbildningen säkervardag.nu!

Kom igång med utbildningen säkervardag.nu! GUIDE Kom igång med utbildningen säkervardag.nu! Det här dokumentet riktar sig till dig som ansvarar för att personalen får utbildning på ett företag eller till dig som utbildar i arbetsmiljöfrågan hot

Läs mer

Programmering B PHP. Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408.

Programmering B PHP. Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408. Programmering B PHP DTR1208 - Programmering B 50 poäng Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408. Mål Mål för kursen (Skolverket) Kursen skall ge fördjupade teoretiska

Läs mer

Programmeringsteknik I

Programmeringsteknik I Programmeringsteknik I HT18 Lärare: Johan Öfverstedt (johan.ofverstedt@it.uu.se, rum 2144) och ett stort antal labbhandledare Föreläsning 1: Intro till kursen Registrering och avregistrering Undervisningsformer:

Läs mer