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

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

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

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

Kapittel 1 En oversikt over C-språket

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

Oblig4 - forklaringer. Arne og Ole Christian

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

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Del 1 En oversikt over C-programmering

INF1000: noen avsluttende ord

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

HØGSKOLEN I SØR-TRØNDELAG

INF1000: noen avsluttende ord

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.

UNIVERSITETET I OSLO

TDT4102 Prosedyreog objektorientert programmering Vår 2016

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

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

INF Obligatorisk innlevering 5

GUI («Graphical User Interface») del 2

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

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

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

MAT-INF 1100: Obligatorisk oppgave 1

GUI («Graphical User Interface») del 2

INF Ekstrainnlevering

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

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

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

IN1010 V18, Obligatorisk oppgave 5

INF Uke 10. Ukesoppgaver oktober 2012

Program brusautomat Eksempel på en tilstandsmaskin

HØGSKOLEN I SØR-TRØNDELAG

Obligatorisk oppgave 5: Labyrint

MAT-INF 1100: Obligatorisk oppgave 1

Øvingsforelesning TDT4105

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

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

Leksjon 3. Kontrollstrukturer

INF Innleveringsoppgave 6

FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW

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

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

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

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

Oppsummering fra sist

INF1000: Forelesning 4. Mer om arrayer Metoder

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

HØGSKOLEN I SØR-TRØNDELAG

Semantisk Analyse del III

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Hjemmeeksamen 1 i INF3110/4110

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

4. Dynamisk skjemaer (GUI)

Visual Basic. Repetisjon fra mandag

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

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

Kodetime for Nordstrand barneskole

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

1 ØVING I WINDOWS FRA CHRISTIAN ANDOLO

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

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

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

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

Innføring i bruk av CGI4VB

Kanter, kanter, mange mangekanter

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

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.

HØGSKOLEN I SØR-TRØNDELAG

INF1000 oppgaver til uke 38 (17 sep 23 sep)

UNIVERSITETET I OSLO

GJØVIK INGENIØRHØGSKOLE

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

INF Obligatorisk innlevering 7

Del 3: Evaluere uttrykk

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt

IN1000 Obligatorisk innlevering 7

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

UNIVERSITETET I OSLO

IN1010 Objektorientert programmering Våren 2019

Lage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

TDT4110 IT Grunnkurs Høst 2016

Programmering Høst 2017

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

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

TDT4110 IT Grunnkurs Høst 2016

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000

INF Obligatorisk innlevering 7

NB!!!! VIKTIG ANGÅENDE DATAFILA:

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

Statisk semantisk analyse - Kap. 6

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

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

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

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 Emneansvarlig: Olav Dæhli 3

Dokumentér koden: Navnekonvensjon Bruk navnekonvensjonen beskrevet i kompendiet Navn (variabelnavn, metodenavn m.m.) bør være beskrivende og i størst mulig grad selvdokumenterende) Bruk prefix på komponentnavn: btn, txt osv. (example: btnshowtext) Bruk Camel Case på variabler (example: int countthreeequal) Bruk Pascal Case på metoder og klasser (example: void SetDiceValue() ) Emneansvarlig: Olav Dæhli 4

Dokumentér 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 5

Dokumentér 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 6

Dokumentér 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 7

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 (knapper, tekstbokser etc.). Eksempel på et interaktivt brukergrensesnitt Emneansvarlig: Olav Dæhli 8

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 9

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? USN har eksempelvis et abonnement på ColourBox. http://bibliotek.usn.no/databaser/#letter-c Emneansvarlig: Olav Dæhli 10

GUI-operasjoner bør skilles fra øvrig kode (GUI: Graphical User Interface) Dårlig løsning: Negativt: Kombinerer lesing fra tekstbokser og beregning 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; Postivt: Leser tekstboksverdier inn i variabler før beregning utføres. Emneansvarlig: Olav Dæhli 11

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 12

Kontrollstruktur av typen if / switch Det skal inngå minimum én kontrollstruktur av typen if/switch med minimum tre valgverdier, i form av enten 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 13

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 14

«Timer» («klokke») og løkke Det skal inkluderes minst én «timer» i prosjektet Det skal inkluderes minst én 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, der telleren teller og viser noen verdier, figurer, bakgrunnsfarger eller annet Emneansvarlig: Olav Dæhli 15

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 16

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 17

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. Fil må da være vedlagt (men bruk av fil og databaser er i utgangspunktet ikke tema for dette arbeidskravet). Unntak fra ovennevnte kan skje etter avtale, dersom dere f.eks. konstruerer en løsning der det er viktig med en databaseløsning. Da må det i så fall være enkel tilgang til databasen. Hvordan selve databasen i så fall er laget, er ikke noe som blir sjekket nå, da databaser inngår i neste arbeidskrav. Emneansvarlig: Olav Dæhli 18

Så sett i gang! Bare kreativiteten er her begrensende faktor! (samt at litt grunnleggende programmeringsferdigheter må være på plass) NB! Husk at arbeidskravet er ikke til for vår skyld, men for deres skyld, for at dere skal få trening i planlegging og utvikling av et program Emneansvarlig: Olav Dæhli 19