eb based) - chalmers.instructure.com

21
Välkomna 2021! 1 Corona Edition (i.e. Web based)

Upload: others

Post on 20-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: eb based) - chalmers.instructure.com

Välkomna 2021!

1

Corona Edition (i.e. Web based)

Page 2: eb based) - chalmers.instructure.com

KommunikationAllt ni behöver finns på ...

Canvas- Föreläsningar, övningar, laborationer, m.m.- Meddelanden kommer att dyka upp. Kolla med jämna mellanrum!

Slack- Här kan ni be om hjälp (begära Zoom-möte, redovisa labbar)- Se kurssida > Övningar och Laborationer för länk

Zoom- Videomöten, ...känner ni säkert till. Föreläsningar ges m.h.a. Zoom.

2

Page 3: eb based) - chalmers.instructure.com

Lärare och HandledareKursansvariga, examinatorer, föreläsare och handledare

- Joachim von Hacht, [email protected], 031 772 1003

Övriga Handledare - Se Canvas > Kursöversikt

3

Page 4: eb based) - chalmers.instructure.com

KursrepresentanterNi kan alltid tala med mig (JvH) om eventuella problem

Ni kan alternativt/även tala med kurs- representanterna

- Se Canvas > Kursöversikt

4

Page 5: eb based) - chalmers.instructure.com

Imperativ programmering

main = do putStrLn "Input non-negative integer (end with -1): " v <- getLine let value = (read v :: Int) if value < 0 then return () else main

Haskell

Imperativ programmering är ett programmeringsparadigm inom vilket ett datorprogram programmeras som en sekvens av satser (uttryckta i imperativ form). Enkelt uttryckt så måste programmeraren steg för steg ange i vilken ordning instruktionerna ska utföras.

~ Samma tänk som

Väldigt olikt

Assembler

Page 6: eb based) - chalmers.instructure.com

Objektorienterad programmering

class Eq a where (==) :: a -> a -> Bool (/=) :: a -> a -> Bool -- let's just implement one function in terms of the other

x /= y = not (x == y)

Haskell

Objektorienterad programmering är en programmeringsstil där ett program byggs upp av en varierande uppsättning objekt som interagerar med varandra (delmängd till imperativ programmering).

~ Olikt

Olikt (saknas/undviks)

Assembler

Page 7: eb based) - chalmers.instructure.com

Progression

1 2 3 4 5 6 7Veckor

7

Imperativ programmering (old school)

Objektorienterad programmering

Objektbaserad programmering

Funktionell nedbrytning/Testning Objektmodeller

8

Page 8: eb based) - chalmers.instructure.com

Slutmål Programmering

8

Detaljerade mål finns på kurssida

Page 9: eb based) - chalmers.instructure.com

Slutmål Teori

9

A a = new A(); // 1B b = new B(); // 2IX ix = new IX(); // 3IY iy = null; // 4

a = b; // 5b = (A) a; // 6

ix = iy; // 7iy = ix; // 8

ix = a; // 9a = (A) ix; // 10ix = b; // 11iy = b; // 12 ix = (IX) iy; // 13

Referenser Typer

Kunna “rita bilder” utifrån kod Vilka rader fungerar (varför)?

Detaljerade mål finns på kurssida.

Page 10: eb based) - chalmers.instructure.com

Arbetsplanering

Tentamen

Lab1xerweek1.zip

xerweek2.zip

xerweek3.zip

xerweek4.zip

xerweek5.zip

xerweek6.zip

Lab2

Lab3

Lab4

Övningar

2

3

4

5

6

7

8

9

1Veckor

Laborationer

Övningar - Övningar förbereder för laborationer och tenta (en övningsbunt

(zip-fil)/vecka)- Nybörjare kommer inte att hinna alla: Gör de som anges som

förberedande för labben- Behöver inte redovisas men diskutera gärna lösningar med

handledare- Markerat som Övn/Lab i schemat.

Laborationerna - Förbereder för tentan.- Fyra stycken obligatoriska under kursen (ca 2 veckor/styck). - Ni arbetar i två-grupper.- Ni redovisar laborationer för handledare under Övn/Lab-passen. Alla

i gruppen måste bli godkända (kunna svara på frågor) för att gruppen skall bli godkänd.

Tentamen- Troligen hemma/digitalt.

Page 11: eb based) - chalmers.instructure.com

Struktur Föreläsningar

lectweek1.zip

ex1basics B1VariablesAssign.java B2IO.java B3StringConcat.java B4ArithmeticOps.java B5Math.java B6Slope.java ex1basics.pdf Slope.pdfex2ifwhileex3arraysfor ...ex4methodsex5classes

En vecka

Ett kapitel

Ett avsnitt

Kapitlet övergripande

Ev. extramaterial

Ladda ner från Kurssida > Föreläsningar

Föreläsningarna är en “bok” i form av kod (med många kommentarer) och slides packat som IntelliJ-projekt, mer om IntelliJ strax ...

- För varje vecka ett antal kapitel innehållande ett antal avsnitt. - Det finns vanligen en pdf med övergripande innehåll i varje

kapitel.- Ev. extramaterial kan förekomma.

- Föreläsningarna kommer att följa denna struktur.- Ofta introduceras saker ganska ytligt för att därefter efterhand

fördjupas.

Page 12: eb based) - chalmers.instructure.com

Teoriövningar på Föreläsningarxertheory innehåller teoriövningar,

Kommer att köra så många jag hinner under föreläsningar (viss har lösningar andra inte)

Page 13: eb based) - chalmers.instructure.com

Rekommenderad Bok

13

Valfri bok, i bilden en engelsk som är bra, vill man ha en svensk tar man den andra

Page 14: eb based) - chalmers.instructure.com

IntelliJ, Java och JavaFX

14

Använder

IntelliJ är vår utvecklingsmiljö (Integrated Development Environment, IDE, där skriver vi koden m.m.)

- Se kurssida > Resurser för detaljerade anvisningar.- IntelliJ använder i sin tur Java SDK och JavaFX (som måste

installeras).- Lägg alla dessa i en katalog!! (namnförlag: java-devel, det gäller att

veta var saker är)

Page 15: eb based) - chalmers.instructure.com

IntelliJ- projekt

15

Bara en och endast en .idea-mapp!

Ni jobbar alltid i IntelliJ-projekt (alla föreläsningar/övningar/labbar är projekt)

- Ett projekt består av många filer i flera mappar- Ni laddar ned zippade projekt. - Ni zippar upp och i öppnar i IntelliJ- En del filer/mappar används bara av IntelliJ: iml-filer och allt i

mappen .idea (inte pilla!)- Det skall bara finnas en enda mapp .idea i projektet (annars fel på

projektet -> problem, kontakta handledare)- Se upp med Windows, när man packar upp kan det skapas

extra mappar … blir ofta fel.- Det ni skall arbeta med finns i mappen src (source)

Page 16: eb based) - chalmers.instructure.com

Inställningar IntelliJ

16

Man kan behöva göra/justera vissa inställningar.- Görs under File > Project Structure

- T.ex vilken Java version.- Kontakta handledare vid problem.

Page 17: eb based) - chalmers.instructure.com

En Vanlig Dag vid Datorn

17

1

2

ÖvningarFöreläsningar

3

Detta är det tänkta arbetssättet. 1. Börja med övningar för någon vecka. Om du inte kommer vidare ...2. ...titta på motsvarande veckas föreläsningar,

a. Det finns en kommentar längst upp i övningen som tipsar var i föreläsningen du kan hitta kod som kan hjälpa till. Du kan alltså ha flera projekt uppe samtidigt, flera fönster.

b. Titta igenom pdf:er. Där finns bilder, begrepp, definitioner, m.m.3. Kommer inte vidare ändå? Gå till Slack (länk kurssida)4. Även om du kommer vidare titta igenom föreläsningarna, för att se

hur man “brukar göra”, hur man skall skriva/organisera m.m.

Klar med nödvändiga övningar? Om så börja med labb - Det står i övningarna vilka du bör göra innan du börja med labben.

Page 18: eb based) - chalmers.instructure.com

Språk

18

Svårt område:- Jag talar/använder det som känns bäst men försöker använda

svenska (speciellt när det svenska ordet är “självförklarande”, enklare eller kortare).

- Anger ofta begrepp på engelska också- All kod (verkligen all även kommentarer) skrivs dock på engelska- Se länk kurssida om olika svengelska uttryck.

Page 19: eb based) - chalmers.instructure.com

Programmering är mer ...

19

Arbetssätt

Kvalitet

ProblemlösningFackspråk

Verktyg

Förutom själva inlärningen av språket och kodandet sker det flera andra aktiviteter då man lär sig programmera

- Vi måste lösa problem som inte direkt har med kodandet att gör. Problemet “i sig” kan vara svårt.

- Vi måste arbeta på ett ordnat sätt. Om ej kör vi fast och kommer inte vidare!

- Våra program måste hålla av viss kvalitet, det räcker inte att programmet (kanske) fungerar.

- Vi måste lära oss de verktyg vi behöver.- Vi bygger upp ett fackspråk så att vi kan göra oss förstådda.

Page 20: eb based) - chalmers.instructure.com

ExaminationFör att klara kursen måste du få alla laborationer godkända samt klara tentamen. Kursbetyg ges av tentamen enligt

Betyg Poäng/Maxpoäng5 0,804 0,633 0,40U < 0,4

20

Tentan blir troligen hemtenta..

Page 21: eb based) - chalmers.instructure.com

Frågor

?

21