Webbserverprogrammering 1 · område 2
Inlämning 2 – Övningsbanken C#
Visa att du behärskar C#:s grundfunktioner genom att lösa tjugo övningar ur kursens övningsbank, och att du kan hålla ihop data i en egen klass genom att bygga en tabell som renderas ur en lista med objekt.
- 5 okt Deadline kl 23:59 Repots adress lämnas i itslearning.
1. Uppdraget
Allt ligger i ett Blazor-projekt. Det finns inget konsolfönster i den här kursen – koden körs på servern och resultatet syns på en sida.
Du får med dig fyra saker:
- Guiden, som bygger Filmarkivet steg för steg med all kod.
- Referensprojektet Filmarkivet, färdigt att köra och läsa.
- Övningsbanken med 28 övningar: 1–7, 8–14, 15–21 och 22–28.
- Lektionerna 6–13. Genomgångarna ligger på 6, 8, 10 och 12.
Facit till övningarna delas ut efter varje övningspass, inte före.
Guiden bygger klassen Film. Din klass ska föreställa något
annat, och metoderna ska räkna på dina fält. Översättningstabellen i guiden
visar vad som måste bytas ut. Produkt är med flit en
engångsklass – den domän du bär resten av kursen väljer du i område 3.
2. Så ska projektet vara upplagt
Fyra sidor för övningarna, en per tema. Varje övning får en egen rubrik och ett
eget @code-block direkt under den.
| Sida | Övningar | Tema |
|---|---|---|
/ovningar/typer | 1–7 | Uttryck, typer, utdata |
/ovningar/villkor | 8–14 | Villkor och logik |
/ovningar/loopar | 15–21 | Loopar, listor, arrayer |
/ovningar/metoder | 22–28 | Metoder, klasser, objekt |
Att lägga alla övningar på en enda sida fungerar tekniskt, men ett fel i en övning gör då att ingen av de andra går att visa.
o3Summa, inte summa. Alla @code-block
på en sida blir samma klass, och två övningar som använder samma namn ger
felet CS0102: already contains a definition.
Kryssen nedan sparas i din webbläsare, så du kan bocka av allteftersom.
3. Ska-krav — nivå E
4. Bör-krav — nivå C, utöver E
5. Utmaning — nivå A, utöver C
6. Så bedöms den
Jag läser koden och kör projektet. Tre saker väger tyngst.
Att det fungerar. En övning som inte kompilerar är inte löst. Kontrollera alla fyra sidorna innan du lämnar in – ett fel på en sida syns inte från de andra.
Att du valt. Fälten i din klass, typerna, och vad metoderna räknar på är
dina beslut. En klass med Fält1, Fält2 och
Fält3 visar att du inte tänkt på vad den ska föreställa.
Att det går att läsa. Namn som säger vad värdet är, konsekvent namngivning, och kod som inte upprepar sig i onödan. Kodningsstandard är eget centralt innehåll i kursen, inte en artighet.
7. Inlämning
- Kontrollera att projektet startar och att alla fyra sidorna svarar.
- Gå igenom kravlistan för den nivå du siktar på.
git add .,git commit -m "…",git push- Öppna ditt repo på github.com och se att filerna finns där.
- Klistra in repots adress i inlämningsrutan i itslearning.
Deadline är måndag 5 oktober kl 23:59. Provet är tisdag 6 oktober och prövar samma innehåll. Att göra klart uppgiften är den bästa provförberedelsen som finns – se vad provet prövar.
8. Vanliga misstag
| Misstag | Vad som händer | Undvik det så här |
|---|---|---|
| Alla övningar på en sida | Ett fel gör att ingen övning går att visa | Fyra sidor, en per tema |
| Samma variabelnamn i två övningar | CS0102: already contains a definition | Prefixa med övningsnumret |
summa deklareras inuti loopen | Svaret blir sista värdet i stället för summan | Deklarera utanför loopen |
| Heltalsdivision där decimaler behövs | Snittet blir 4 i stället för 4,6 | (double)summa / antal |
Klassen har fält som Fält1, Fält2 | Sänker betyget – visar att domänen inte är genomtänkt | Bestäm vad klassen föreställer först |
| Uträkningar mitt i markupen | Svårläst, och sänker på C-nivå | Flytta till en metod |
int.Parse på något användaren skrivit | Sidan kraschar på fel indata | int.TryParse |
| Allt committat sista kvällen | Historiken visar inte arbetet | Committa efter varje övningspass |