IBE151 18H Praktisk programmering

IBE151 18H Praktisk programmering

Faglærer

Professor Kai A. Olsen. (kai.olsen@himolde.no), Google Scholar profil

Innhold

Programmering, også kalt koding, er grunnlaget for all IT. Med programmering kan en få datamaskinen til å gjøre det en vil. Selvfølgelig kan vi også bruke maskinen uten å kunne programmere. I dag finnes det en rekke ferdige programmer, alt fra operativsystem (som administrerer maskinen) til tekstbehandlingssystem, programvare for å lage blogger, for å styre sosiale nett eller industriprosesser. Men den som kan programmere vil stå sterkt. Tenk bare på hvor mange rutinepregede enkle oppgaver som utøves hver dag i offentlig administrasjon eller i næringslivet. Den som kan programmere kan få systemene til å utføre mange av disse oppgavene automatisk.

I forretningslivet vil den som bruker ferdige systemer gjerne ikke komme bedre ut enn konkurrenten som bruker det samme eller lignende systemer. Men den som kan lage egne system kan få et fortrinn. Kan en programmere selv vil en ikke bare ha mulighet til å utvikle det som ikke finnes, men en vil også bli en langt bedre bruker av ferdige programmer. I tillegg, mange moderne datasystem gir muligheter for utvidelse. For eksempel kan tekstbehandlingssystemet Word utvides med bruk av makroer. En makro er en liten programbit som integreres i det større systemet. Da får en både i pose og sekk. Et ferdig system og muligheter til å tilpasse dette til egne behov. Også Excel og mange andre systemer har den samme muligheten.

I IBE151 skal vi bruke Microsoft Access som verktøy. Dette er et komplett utviklingssystem. Her har vi alt vi trenger for å lage ferdige systemer: verktøy for å lage skjema, database for å lagre data, spørrespråk for å hente fram data og - viktigst - et godt programmeringsspråk (VBA). VBA (Visual Basic for Applications) er en variant av programmeringsspråket Visual Basic. Visual Basic er et av de mest brukte programmeringsspråkene. VBA varianten brukes også som makrospråk i Word, Excel og PowerPoint (Office pakken), men også i en rekke andre programsystemer. Skal en lage scripts for nettsider kan disse gjerne programmeres i VBA.

Det er laget en eget lærebok for IBE151. Vi vil følge denne i kurset. Her skal vi konsentrere oss 100 % om å lage programmer og enkle datasystemer. Dette vil bli gjort gjennom presentasjoner, der faglærer programmerer interaktivt. Med tekst og tale får studenten detaljert kunnskap om systemutviklingen, oppbygging av database, brukergrensesnitt og programkode. Mens presentasjonene vil være en god innføring vil læreboken kunne brukes for at en selv skal få forståelse for oppgaven. Læreboken vil også være uunnværlig for oppslag.  Vi har hatt noen problemer med den programvaren vi bruker (Mediasite) og jeg vil være takknemlig om dere gir beskjed om det skulle være feil på videoene.

Det en vil se er at programmering ikke er vanskelig. For mange er det imidlertid en ny måte å tenke på, og det skal vi bruke tid på å få inn. Studentene må imidlertid regne med å bruke mye tid på kurset - til å følge presentasjonene og til å gjøre øvingsoppgavene. Mens presentasjonene bare viser hvordan det kan gjøres er det viktig at en jobber selv. For denne delen er det lagt opp til et større antall øvingsoppgaver. De av studentene som er tilstede i Molde vil kunne få hjelp til øvingsoppgavene i laboratoriet. Studenter som følger nettvarianten kan sende inn spørsmål og få hjelp via læresystemet Canvas.

Opplegg

Vi skal programmere fra første til siste dag. Hver oppgave (case) tar opp en case, presentert i læreboken. Her diskuteres problemet og mulige løsninger. I tillegg til boken er det en presentation (en video)som beskriver hvordan problemet løses, med data, brukergrensesnitt og programkode. I tillegg presenteres Access programmet.

Vi starter enkelt og jobber oss fram mot mer realistiske, nyttige og omfattende programmer. Presentasjonene følger læreboken. Noen ganger kan det være små variasjoner, læreboken kan vise en variant og videopresentasjonen en annen. I slike tilfeller vil begge resultatene, i form av Access programmer, være lagret.

Ideen er å legge ut alt, presentasjoner og programmer slik at dere kan jobbe i det tempoet dere ønsker. Det er satt på ukenummer på de forskjellige kapitlene. Følger dere dette vil dere komme i mål i slutten av november. 

Obligatoriske øvinger (oppgaver)

Øvingene er obligatoriske og må leveres inn innen de oppgitte frister (merk at Canvas kaller disse oppgaver). Alle øvingene vil være lagt ut, men de må leveres inn på fristene (det vil bli for komplisert for hjelpelærerne om dere ligger i forkant eller etterkant).  Øvingene ligger under overskriften "Oppgaver" i menyen. Fristene er på fredager, men siden vi ikke ser på dette før mandagen aksepteres innlevering innen kl 0800 denne dagen. Alle øvingene minus en må være godkjent for at en må gå opp til eksamen. Vi aksepterer altså at en av øvingene ikke blir levert eller ikke blir godkjent. Øvingene vil stort sett være identiske med de som er presentert i læreboken, men merk at vi bare tar et utvalg av disse.

Frister for øvinger og eventuelt utfyllende tekst i forhold til læreboken ligger under menyelementet Oppgaver. Her finner du også beskrivelse av hvordan innleveringen skal utformes. Skisse til løsning på øvinger vil bli lagt under de respektive kapitlene under moduler når fristen for en øving er gått ut (mandag morgen).

Vi har to hjelpelærere som tar seg av godkjenning av øvinger. Dette er Istvan Hadhazi og Agnes Scheffer. Begge har god bakgrunn i IT. Agnes tok også årsstudiet i 2017. De studentene som er på campus vil også møte disse to under øvingstimene (se timeplanen), andre vil kommunisere med disse gjennom Canvas.

Lærebok

Kai A. Olsen (2018) Praktisk programmering, Cappelen Damm. Kan bestilles/kjøpes hos  høyskolens bokhandel Odin (Lenke) eller hos  forlaget ( Lenke).

Læreboken er laget for dette faget og vi vil følge denne gjennom hele semesteret. Mens presentasjonene er velegnet for å få innblikk i en oppgave, vil læreboken gi muligheter for grunnleggende forståelse. Ikke minst er den viktig for oppslag.

Eksamen 

Vi skal bruke vanlig, papirbasert eksamen i dette faget (mer om dette kommer senere). Svar på oppgavene skal gis som programkode/tekst. Access brukes ikke under eksamen. Alle trykte og skrevne hjelpemidler er tillatt under eksamen, men siden du ikke vil ha tilgang på en PC må hjelpemidlene være på papir. 

I løpet av semesteret skal vi løse oppgaver som:

  • Valutakonvertering
  • Konvertering fra Celsius til Fahrenheit.
  • Analysere et datasett med temperaturer, for å finne gjennomsnitt, varmeste temperatur og kaldeste
  • Analysere et tenkt datasett med temperatur og måledato fra en forsker for å se opp det blir varmere.
  • Utvikle et enkelt regnskapssystem
  • Konvertering av data mellom forskjellige koordinatsystemer.
  • Utvikle programmer for koding (kryptografi) og dekoding av tekst.
  • Utvikle en "enarmet banditt" - en spillemaskin.
  • Beregne forsinkelser på ordrer (antall dager fra lovet lewvering til virkelig levering)
  • Lage et kalenderprogram for framtiden der alle helgedager (også påske) blir lagt inn.
  • Utvikle en T9-ordbok for en mobiltelefon.
  • Finne optimale løsninger for industrielle problemer.
  • Beskrive en produktstruktur.
  • Konvertere mellom kart-koordinatsystemer.
  • Lagre makroer som plasserer bilder i Word.
  • Lage et system som automatisk tilordner plass på fly, kino m.m.
  • Lage et program som løser Sudoku oppgaver.

... og mye annet. Selv om noen av oppgavene er "spillpreget" gir de likevel innsikt i viktige sider av programmering. Vi skal også utvikle noen mer "seriøse" systemer, enkle varianter av de systememne som brukes i næringslivet i dag.

Pensum er definert ut fra presentasjoner, programeksempler og øvinger. Alle programmer vil bli lagret i Canvas under de respektive modulene. 

Emnesammendrag:

Dato Detaljer