SuperUsers billede

Intro til programmering

Programmering er et fantastisk univers! Vi har i SuperUsers afholdt tusinder af programmeringskurser, vi brænder for programmering!

Du får: Grundbegreber, forståelse og masser af hands-on.

Intro til programmering forløb

Intro til programmering Kurser

  • SU-202 Objektorienteret Grundkursus for C++/C#/Obj-C/Java/Python (2 dage)
    • På kurset lærer du de fundamentale principper i den objektorienterede tænkemåde – specielt med henblik på analyse og design af klasser og objekter.
  • SU-199 Introduktion til Programmering (2 dage)
    • Kurset er for dig, der ikke tidligere har programmeret i et C-lignende sprog. Du lærer begreber og teknikker, så du kan forstå, skrive og ændre programmer.
  • SU-159 Git Versionsstyring (1 dag)
    • Kurset giver viden og færdigheder til at bruge Git til versionsstyring af software-projekter, konfig.-filer m.m., samt opsætte Git repo og administrere Git.

Intro til programmering certificeringspakker

Listepris 21.200 DKK
Din pris 16.800 DKK
(Eksl. moms)

Er du i tvivl?

Det ligger os meget på sinde, at du finder det kursus, der skaber mest værdi for dig og din arbejdsplads. Brug 2 minutter på at ringe eller skrive til vores rådgivere, der sidder klar med teknisk sparring.

SuperUsers

Kort om Introduktion til Programmering

SuperUsers har i årenes løb hjulpet mange i gang med at programmere. Har man ikke prøvet det før, så er det en helt ny verden som åbner sig. Programmering er sjovt; en kreativ, koncentreret, fokuseret …. og tidskrævende oplevelse :-)

Mange spørgsmål

Der er mange ting, som man først skal gøre sig klart:

Er det et client- eller server-program?

Hvilket operativsystem eller platform skal programmet udføres på?

  • Operativsystem (Windows, OS X, LINUX, …)
  • Mobil platform (Andorid, iOS, Windows Phone, …)
  • Bytekodemaskine (.NET eller Java)
  • Web-browser (hvilke skal understøttes)
  • Database-program (SQL, men hvilken database)

Valg af udviklingsmiljø (IDE) og programmeringssprog?

Udviklingsmiljø, programmeringssprog og udviklingsforløb

Det er vigtigt fra start at få begreberne på plads:

Udviklingsmiljø, IDE (Integrated Development Environment)

  • Man bruger et IDE-program, til at skrive sit eget program; tilsvarende at man bruger et tekstbehandlingssystem til at skrive et brev.
  • Eksemper på IDE’ER: Visual Studio (Microsoft), Xcode (Apple), Eclipse (Open Source) …

Programmeringssprog

  • Man skriver sit programmer i et programmeringssprog (der findes mange forskellige), tilsvarende til at man skriver et brev på fx fransk.
  • Eksempler på programmeringssprog: C, C++, C#, Java, Objective C, …

Udviklingsforløbet

  • Analyse/Design af opgaven
  • Skrivning af programmet samt definition af brugergrænsefladen
  • Afprøvning og test
  • Fejlfinding

Hvad kan et IDE?

Et udviklingsprojekt består af en masse filer, som der skal holdes styr på, og som hver især har forskellige opgaver.

Den fornemmeste opgave for et udviklingsmiljø er at holde styr på alle disse filer, og gøre det let for udvikleren at overskue, skrive og teste sit program.

Et typisk udviklingsmiljø indeholder:

  • Fil/Class-browser: Så man kan holde styr på alle projektets filer og klasser.
  • Kode-editor: Her skriver man sit program, og får typisk hjælp med “code-compleation”, hvor udviklingsmiljøet på intelligent måde viser programmøren, de muligheder man kan vælge imellem.
  • GUI-editor: Her designer man programmets brugergrænseflade.
  • GUI Element bank: Herfra vælges hvilke grafiske objekter, man ønsker i sin brugergrænseflade
  • GUI Properties-editor: Her kan man konfigurere udseende og opførsel af de enkelte grafiske elementer.
  • Eksekvering/Simulator/emulator: Kørsel af programmet
  • Debug: Fejlfinding, alle programmører laver fejl!
  • UNIT-test: Beskrivelse af test-forløb, for at sikre den fremtidige kvalitet af programmet.

Kært barn har mange navne

Der er mange navne, for det program som man bruger, for at skrive sit eget program:

  • IDE (Integrated Development Environment)
  • Udviklingsmiljø
  • Udvikingsværktøj
  • Programming Tool
  • Kombineret editor/compiler/linker/debugger

Mini ordbog:

  • Et program = En app = Et stykke software
  • At programmere = At kode
  • GUI = Graphical User Interface = Grafisk brugergrænseflade

Procedural programmering

Den grundlæggende disciplin indenfor programmering er procedural programmering. Næsten alle programmer er baseret på dette begreb.

Procedural programmering beskriver, hvordan man får defineret simple data og udført kodelinjer. Dertil tilføjer de objektorienterede sprog metoder til at organisere data og kode; mere om dette i næste artikel.

De 4 vigtige begreber

Der er 4 helt basale ting, som man her skal forstå:

  • Variable og datatyper (heltal, kommatal, tekster, …)
  • Operatorer (plus, minus, lig-med, forskellig-fra, …)
  • Flowkonstruktioner (if-konstruktion til betinget udførsel af programlinje eller gentagelser/loops)
  • Modularitet (funktioner, procedurer, subrutiner)

Det er således her, at man lærer at skrive kode-stykker, som fx udfører en kontrol af et personnummer, en beregning af renters rente, beregning af om et rumskib rammer månen, eller hvad programmet nu skal kunne.

Objektorienteret programmering

Siden C++ og Objective C blev verdens første kommercielle objektorienterede i 1984, så har stort set alle efterfølgende programmeringssprog været baseret på den objektorienterede tankegang.

Hvor man i de IKKE-objektorienterede programmeringssprog IKKE havde en stram kobling imellem kode og data, så er det netop det, man har i den objektorienterede verden. Kode og data kobles sammen, og håndteres som en helhed (en klasse).

Nogle af de vigtigste begreber

Begreberne er mange:

  • En klasse = En datatype
  • Et objekt = En instans = En variabel
  • En metode = En funktion i en klasse/objekt
  • Constructor/Destructor = En metode som kaldes når et objekt oprettes/nedlægges
  • Nedarvning = En klasse genanvender funktionalitet og data fra en anden klasse
  • Virtuelle funktioner = Intelligent genbrug af funktionalitet fra klasser man har nedarvet fra
  • Polymorphisme = Samlet håndtering af mange objekter, som er forskellige, men som har nogle fælles træk

Git er guld værd at kunne

GIT er et open source værktøj til versionsstyring af kildekode som anvendes uafhængigt af platform på både Linux, Windows, macOS / iOS.

På vores Git-kursus, SU-159, lærer du at arbejde mere effektivt med versionstyring af jeres kode i Git, som er integreret i de fleste udbredte IDE'er, f.eks. Visual Studio, Eclipse og Xcode.

Den distribuerende struktur i Git

Der er ingen underliggende database i GIT, eller noget der bliver opbevaret i RAM når programmet kører. Dette gør det nemt at tage backup af et Git repository; man tager blot en kopi!

GIT er hurtigt, da der kun bliver arbejdet med forskellene mellem filer, som alternativ til at arbejde med hele filer. Dette gør et GIT workflow hurtigt og meget smidigt at arbejde med.

Rent netværksmæssigt kører GIT oven på allerede eksisterende services såsom ssh og http. Dette gør at det er sjældent nødvendigt at lave de store firewall ændringer når man skal bruge git.