Programutvecklingsteknik
Studietips från Pär
Min pedagogiska grundidé bygger på att lära sig programmering är som ett hantverk som kräver en kombination av teoretisk input och praktisk muskelminne. För att bygga en solid grund rekommenderar jag följande metodik: Avsätt 2–4 timmar dagligen. Varva läsning i kurslitteraturen med att se de inspelade föreläsningarna för att få olika perspektiv på samma koncept. Börja med att 'skriva av' befintliga kodexempel. Det kan låta enkelt, men det tränar ögat att se detaljer och syntax som man annars missar. Gör små, kontrollerade förändringar i koden och testkör direkt. Vad händer om du ändrar en loop eller en variabeltyp? Det är i felsökningen den verkliga förståelsen föds. Skapa ett eget 'projekt' som följer dig genom kursen. Det kan vara ett system för en bilfirma, ett register för en idrottsförening eller en personlig boklista. Genom att applicera det du lärt dig på en 'verkligt' projekt får du en praktisk kompetens.
Veckoplanering
Vecka 50
Kursmaterial
- Kap 9 och rubrikerna: Creating a Dictionary, Retrieving a Value from a Dictionary, Using the in and not in Operators to Test for a Value in a Dictionary
- Kap 9 och rubrikerna: Adding Elements to an Existing Dictionary, Deleting Elements
- Kap 9 och rubrikerna; Using for loop to iterate over Dictionary, Some Dictionary Methods
- Kap 9 och rubrikerna: In spotlight: Storing Names and Birthdays in dictionary
- Kap 9 och rubrikerna: Set, In the Spotlight Set Operations kolla snabbt igenom dessa avsnitt om Sets.
Att göra
- Sist i kapitlet finns blåa/grön sidor, gör Review questions som multiple choice, true false samt short answers
- Sist i kapitlet finns blåa/grön sidor, välj ur Programming excercises först nån uppgift som känns lätt, därefter en som är verkar rolig för att sist välja nån som känns utmanande.
- Skapa en app för en tänkt fotbollsförening för att hantera dess medlemmar med hjälp av CRUD-operationer (Create, Read, Update, Delete) samt för att spara och hämta medlemsdata från en JSON-fil.
- Examination: Redan denna vecka kan ni kolla Inlämningsuppgift 3 om Dicts och klasser för att se vad du bör kunna för att klara den. Lämnas in fredag vecka 1 kl 17:00
- Examination: Redan denna vecka kan ni kolla inlämningsuppgift 4 om GUI för att se vad du bör kunna för att klara den. Lämnas in fredag vecka 3 kl 17:00
Instuderingsfrågor
- Vad är en dictionary i Python?
- Hur skapar du en tom dictionary i Python?
- Hur skapar du en dictionary med nyckel-värde par i Python, där ett minst ett nyckel-värde par använder tuple som värde?
- Vad är skillnaden mellan en dictionary och en lista i Python?
- Hur lägger du till ett nytt nyckel-värde-par i en dictionary?
- Vad händer om du försöker lägga till en nyckel som redan finns i en dictionary?
- Hur tar du bort ett nyckel-värde-par från en dictionary?
- Kan en dictionary innehålla dubbletter av nycklar?
- Hur kontrollerar du om en viss nyckel finns i en dictionary?
- Vad är metoden keys() i en dictionary?
- Hur får du en lista med alla värden i en dictionary?
- Hur kan du loopa igenom en dictionary i Python?
- Vad är en nästlad/inbäddad dictionary?
- Kan du använda andra datatyper än strängar som nycklar i en dictionary?
- Överkurs: Hur använder tuple som nycklar i en dictionary?
- Vad är skillnaden mellan get() och [] för att hämta värden från en dictionary?
- Vad är en dictionary comprehension i Python?
Vecka 51
Kursmaterial
- Kap 10 och rubrikerna: Procedural and Object-Oriented Programming, Classes, Bank account class .
- Kap 10 och rubrikerna: Working with Instances, In the Spotlight Creating the CellPhone Class, In the Spotlight Storing Objects in a List, In the Spotlight Storing Objects in a Dictionary
- Kap 10 och rubrikerna: Techniques for Designing Classes. Finding the Classes in a Problem, Identifying a Class’s Responsibilities.
Att göra
- Sist i kapitlet finns blåa/grön sidor, gör Review questions som multiple choice, true false samt short answers
- Sist i kapitlet finns blåa/grön sidor, välj ur Programming excercises först någon uppgift som känns lätt, därefter en som är verkar rolig för att sist välja nån som känns utmanande.
- Skapa en klass som representerar en produkt. Klassen ska ha attribut för produktens namn, pris, kategori och lagerstatus. Implementera CRUD-operationer (Create, Read, Update, Delete) för att hantera en produktkatalog.
- Skapa en klass som representerar en kundvagn. Klassen ska kunna hantera produkter genom att lägga till, ta bort och visa produkter samt beräkna den totala kostnaden.
- Skapa funktioner för att spara produktkatalogen och kundvagnen till en JSON-fil samt läsa data från JSON-filer för att återställa objekt med pickle.
- Examination: Redan denna vecka kan ni kolla Inlämningsuppgift 3 om Dicts och klasser för att se vad du bör kunna för att klara den. Lämnas in fredag vecka 1 kl 17:00
- Examination: Redan denna vecka kan ni kolla inlämningsuppgift 4 om GUI för att se vad du bör kunna för att klara den. Lämnas in fredag vecka 3 kl 17:00
Instuderingsfrågor
- Vad är en klass i Python?
- Hur definierar du en klass i Python?
- Vad är ett objekt i Python?
- Är klass och objekt samma sak?
- Vad är attribut i en Python-klass? Hur skapar du dem?
- Vad är parametern self i Python-klassens metoder?
- Hur skapar du en instans/objekt av en klass i Python?
- Vad är metoden __init__ i en Python-klass?
- Vad är inkapsling i Python klasser?
- Vad är syftet med metoden __str__ i Python-klasser?
- Vad är överskuggning av metoder i Python-klasser?
Vecka 52-03
Kursmaterial
- Kap 13 och rubrikerna: Graphical User Interfaces, Using the tkinter Module
- Kap 13 och rubrikerna: Display Text with Label Widgets, Organizing Widgets with Frames
- Kap 13 och rubrikerna: Button Widgets and Info Dialog Boxes, Getting Input with the Entry Widget
- Kap 13 och rubrikerna: Using Labels as Output Fields, Radio Buttons and Check Buttons.
Att göra
- Sist i kapitlet finns blåa/grön sidor, gör Review questions som multiple choice, true false samt short answers
- Sist i kapitlet finns blåa/grön sidor, välj ur Programming excercises först nån uppgift som känns lätt, därefter en som är verkar rolig för att sist välja nån som känns utmanande.
- Skapa en GUI-app för att hantera medlemmar i en tänkt fotbollsförening. Inkludera knappar, inmatningsfält (entry fields), etiketter (labels), Treeview, kombinationsrutor (comboboxar) etc. som stöder CRUD-operationer. Använd en egen Repository-klass för CRUD-operationer mot en Excel-fil.
- Examination: Kom ihåg inlämning av inlämningsuppgift 3 om Dicts och klasser. Lämnas in fredag vecka 1 kl 17:00
- Examination: Kom ihåg inlämning av inlämningsuppgift 4 om GUI. Lämnas in fredag vecka 3 kl 17:00
Instuderingsfrågor
- What is Tkinter in Python?
- How do you import the Tkinter module in a Python script?
- How do you create the main application window using Tkinter?
- What method is used to run the Tkinter event loop?
- How do you create a button widget in Tkinter?
- How do you attach a function to a button click event in Tkinter?
- How do you arrange widgets in a grid layout in Tkinter?
Vecka 01
| PROGRAM | Digitala tjänster – program för högskoleexamen |
|---|---|
| SYFTE | Kursen behandlar grundläggande kunskaper och färdigheter i programmering. Kursen behandlar begrepp inom objektorienterad programmering (OOP), grundläggande språkelement och programsatser. Vikt läggs vid klasser och objekt som används vid uppbyggnad av objektorienterade program. Vidare behandlas hur datamängder läses, lagras och manipuleras i datastrukturer och filer. |
| KURSPLAN | Gå till kursplan hos DU |