Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1

Like dokumenter
Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1

C# (.Net) Tema: Loops (Løkker) Leksjon 7 Kap 18

SOFTWARE DEVELOPMENT PLAN. Home Automation System. Nickolas Helgeland, Jon Erik Nordskog og Kristian Sande Sjølyst

Kapittel 1 En oversikt over C-språket

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

Del 1 En oversikt over C-programmering

UNIVERSITETET I OSLO

Oblig4 - forklaringer. Arne og Ole Christian

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Program brusautomat Eksempel på en tilstandsmaskin

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

GUI («Graphical User Interface») del 2

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Utførelse av programmer, metoder og synlighet av variabler i JSP

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000: noen avsluttende ord

IN1010 V18, Obligatorisk oppgave 5

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000: noen avsluttende ord

GUI («Graphical User Interface») del 2

HØGSKOLEN I SØR-TRØNDELAG

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Obligatorisk oppgave 5: Labyrint

INF Obligatorisk innlevering 5

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

Semantisk Analyse del III

HØGSKOLEN I SØR-TRØNDELAG

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

MAT-INF 1100: Obligatorisk oppgave 1

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

INF Uke 10. Ukesoppgaver oktober 2012

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

HØGSKOLEN I SØR-TRØNDELAG

INF Ekstrainnlevering

INF1000: Forelesning 4. Mer om arrayer Metoder

MAT-INF 1100: Obligatorisk oppgave 1

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

Øvingsforelesning TDT4105

TDT4110 IT Grunnkurs Høst 2016

INF1000 : Forelesning 4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

INF Innleveringsoppgave 6

TDT4110 IT Grunnkurs Høst 2016

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Leksjon 3. Kontrollstrukturer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Programmering Høst 2017

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

Tilstandsmaskiner kalles på engelsk for Finite State Machines.

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

Testdokumentasjon (Test Documentation)

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Visual Basic. Repetisjon fra mandag

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Forelesning inf Java 4

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Obligatorisk oppgave 1 INF1020 h2005

INF1000 oppgaver til uke 38 (17 sep 23 sep)

Innføring i bruk av CGI4VB

lagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

INF1000: Forelesning 7. Konstruktører Static

Del 3: Evaluere uttrykk

INF1000 (Uke 4) Mer om forgreninger, While-løkker

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

UNIVERSITETET I OSLO

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

4. Dynamisk skjemaer (GUI)

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Leksjon 3. Kontrollstrukturer

Hjemmeeksamen 1 i INF3110/4110

UNIVERSITETET I OSLO

Kodetime for Nordstrand barneskole

INF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19

Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning

Oppsummering fra sist

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Blokker og metoder INF1000 (Uke 6) Metoder

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Transkript:

Arbeidskrav 1 Se fremdriftsplanen for innleveringsfrist Emneansvarlig: Olav Dæhli 1

Skjemaer Løsningen skal inneholde minst 3 skjemaer (Forms) Ett av skjemaene skal være en meny som kan åpne de andre skjemaene Eksempel: Emneansvarlig: Olav Dæhli 2

Kravspesifikasjon og noen eksempler Oppgaven må være godkjent for å stille til sluttprøven Etter gjennomgang av kravspesifikasjonen, vises det noen eksempler fra tidligere prosjekter Emneansvarlig: Olav Dæhli 3

Lag et dataprogram der du selv velger temaet Kravet er individuelt, så alle må lage hvert sitt program Det skal være din egenutviklede løsning, ikke bare noe du kopierer fra nettet eller får andre til å lage Det er ikke ulovlig å bruke deler av en eller annen smart kode som er lagt åpent ut på nettet, som del av løsningen, men da er det god skikk at det i koden refereres til hvor/hvem dette er hentet fra. Emneansvarlig: Olav Dæhli 4

Dokumenter koden: Navnekonvensjon Bruk navnekonvensjonen beskrevet i kompendiet Navn (variabelnavn, metodenavn m.m.) bør være beskrivende og i størst mulig grad selvdokumenterende) Komponenter med prefix: btn, txt osv. (example: btnshowtext) Variabler med Camel Case (example: int countthreeequal) Metoder og klasser med Pascal Case (example: void SetDiceValue() ) Emneansvarlig: Olav Dæhli 5

Dokumenter koden: Mer om navnsetting Både komponentnavn, variabelnavn, metodenavn og annet bør i størst mulig grad være selvforklarende/selvdokumenterende. Emneansvarlig: Olav Dæhli 6

Dokumenter koden: Mer om navnsetting I koden som lages skal det utelukkende benyttes engelsk språk. Unntaket er kommentarer, der dere selv velger engelsk eller norsk. Valgfritt om norske eller engelske kommentarer I brukergrensesnittet (GUI) er det valgfritt om det skal brukes norsk eller engelsk tekst (på tekstbokser, «labels» etc.), men vær konsekvent Emneansvarlig: Olav Dæhli 7

Dokumenter koden: Kommentarer Bruk kommentarer der det kan være uklart hva koden utfører Det kan være nyttig å ha en generell kommentar til hva metoden gjør Eksempel på dokumentasjon: Emneansvarlig: Olav Dæhli 8

Brukergrensesnitt (GUI: Graphical User Interface) Brukergrensesnittet lages av komponenter som Button, TextBox, PictureBox, Label m.m., noe dere velger selv Det skal være et «interaktivt» brukergrensesnitt, sånn at brukeren gis mulighet til å kommunisere med programmet via inputs som genererer events. Eksempel på et interaktivt brukergrensesnitt Emneansvarlig: Olav Dæhli 9

Brukergrensesnitt (GUI: Graphical User Interface) Programmet skal inneholde minst ett grafikkelement. Dette kan f.eks. være i form av et bilde som vises i en PictureBox, der grafikkfila eller grafikkfilene må følge innleveringen Finner du ikke et naturlig innpass av et bilde i programmet du lager, kan du eksempelvis lage et tilleggsskjema (Form) som kan åpnes via menyen. Der kan det lages f.eks. en knapp som gjør at brukeren kan switche mellom to bilder ved å trykke på en knapp. Finner dere på andre varianter selv, er det naturligvis enda bedre Emneansvarlig: Olav Dæhli 10

Rettigheter Tenk også alltid over rettigheter når dere gjelder bruk av bilder i ulike sammenheng. Hvordan er ting lisensiert? Hvordan skal det dere lager brukes? HSN har eksempelvis et abonnement på ColourBox. http://bibliotek.usn.no/databaser/#letter-c Emneansvarlig: Olav Dæhli 11

GUI-operasjoner skal skilles fra øvrig kode Dårlig løsning: double sum; sum = Convert.ToDouble(txtNum1.Text) + Convert.ToDouble(txtNum2.Text) God løsning: double sum, num1, num2; num1 = Convert.ToDouble(txtNum1.Text); num2 = Convert.ToDouble(txtNum2.Text); sum = num1 + num2; Emneansvarlig: Olav Dæhli 12

Metoder og parametere Der det er naturlig, bør spesifikke oppgaver løses i egne metoder, sånn det er gjort i oppgaveeksemplene i timen Det stilles krav til at det er inkludert minimum 4 egenkonstruerte metoder, utover event-handler-metoder, men det må selvfølgelig gjerne være flere Metodene skal samlet sett demonstrere bruk av parametere og returverdier (men bruk av out- og ref-parametere kreves ikke) Finner dere ikke plass for dette i hovedløsningen deres, inkluderes dette som eksempler i et tilleggsskjema (Form) Emneansvarlig: Olav Dæhli 13

Kontrollstruktur av typen if / switch Det skal inngå minimum en kontrollstruktur av typen if/switch med minimum tre valgverdier, i form av en if- eller switch-struktur i programmet. Igjen, finner dere ikke plass for dette i hovedløsningen deres, inkluderes dette som eksempler i et tilleggsskjema (Form) Emneansvarlig: Olav Dæhli 14

Velg fornuftige datatyper Tenk igjennom om tall f.eks. har krav til spesiell presisjon, om det behøves mange desimaler eller om det er tilstrekkelig å velge heltall. Følgende datatyper dekker trolig det meste som behøves i oppgaven: int for heltall (32 bits heltall) double for desimaltall/flyttall (altså tall med komma og desimaler) bool for verdier som skal være true/false string for tekst Andre datatyper velges ved behov Emneansvarlig: Olav Dæhli 15

«Timer» («klokke») og løkke Det skal inkluderes minst en timer i prosjektet Det skal inkluderes minst en løkke i prosjektet Passer disse ikke inn i selve oppgaven din, kan du f.eks. lage et eget skjema med en timer og en løkke (som kan åpnes via menyen) Alternativt eksempel: Finner du ikke på noe eget eksempel med ovennevnte, så lag en «timer» som kan startes og stoppes med knapper, og som teller fra f.eks. 0 til 200 med 10 ms intervall og med step-verdi som kan endres av bruker. Er step-verdi 5, skal den f.eks. telle 0, 5, 10,... 200). Resultatet for hver telling skal vises i en tekstboks. Emneansvarlig: Olav Dæhli 16

out- og ref-parametere out- og ref-parametere benytter dere bare i den grad dere synes dette passer bra inn i løsningen deres. Dette er altså ikke et krav. Emneansvarlig: Olav Dæhli 17

Arrays Arrays benytter dere bare i den grad dere synes dette passer bra inn i løsningen deres. Dette er altså ikke et krav. Emneansvarlig: Olav Dæhli 18

Lagring av data Programmet trenger ikke lagre noen data permanent. I den grad noen ønsker det, så lagre i så fall data i en fil, ikke i en database, og fil må da være vedlagt. (Men bruk av fil og databaser er i utgangspunktet ikke tema for dette arbeidskravet). Emneansvarlig: Olav Dæhli 19

Eksempler på noen tidligere prosjekter Se egen film med eksempler Emneansvarlig: Olav Dæhli 20

Så sett i gang! Bare kreativiteten som er begrensende faktor! samt at litt grunnleggende programmeringsferdigheter må på plass Emneansvarlig: Olav Dæhli 21