TDDD80 Mobila och sociala applika1oner Kursintroduk1on
Personal Kursansvarig, föreläsare, seminarieledare Rita Kovordanyi <rita.kovordanyi@liu.se> Labbansvarig, föreläsare, seminarieledare Anders Fröberg <anders.froberg@liu.se> Labbassistenter Gustav Bylund <gustav.bylund@liu.se> Filip Lindman Marko <filip.lindman.marko@liu.se> Simon Lindblad <simli746@student.liu.se>
Klient Klient Klient Server Databas
Lärandemål enligt kursplan Designa, implementera och utvärdera enklare webbaserade mjukvarutjänster Designa, implementera och utvärdera användbara och vältestade mobila applikationer med sociala element Tillämpa och reflektera kring relevant metodik och praktik för individuell programutveckling
Lärandemål 1 Designa, implementera och utvärdera enklare webbaserade mjukvarutjänster Molntjänst där kommunikation Text-data (strängar)
Lärandemål 2 Designa, implementera och utvärdera användbara och vältestade mobila applikationer med sociala element Social app i Android Projekt som spänner över alla faser i mjukvaruutveckling Idé och design Implementering Testing och utvärdering
Lärandemål 3 Tillämpa och reflektera kring relevant metodik och praktik för individuell programutveckling Versionshantering, testing, code-review, etc. Utveckla en förmåga till egen kompetensutveckling Viktig praktik: Att söka information
Apputveckling nära bleeding edge Ständigt förändrade förutsättningar T.ex. håller Flask på att uppdateras till Python 3 Android best practice förändras i.o.m. bättre devices Mjukvaruutveckling i verkligheten förutsätter aktiv sökning efter dokumentation och annan information på nätet
Ak1vt söka ener informa1on på nätet Detta ingår i projektarbetet (och laborationerna) API* dokumentation hittas på nätet Progambibliotek utan API-dokumentation läs i koden Vilka funktioner finns, hur ska de anropas? Begrepp, kodstrandarder, best practices, etc. som du vill veta mer om: Oftast har någon annan undrat samma sak Kolla på Stack Overflow, Stack Exhange programmers Googla * Application Programming Interface
Googla även när man blivit expert- programmare programmers: they're not walking encyclopedias... https://www.quora.com/do-expert-programmers-googlefrequently-when-coding There's a difference between googling to understand the problem and just finding some code to copy/paste http://programmers.stackexchange.com/questions/ 114002/is-it-a-good-idea-to-always-use-google-as-thefirst-step-to-solving-a-problem
Kursupplägg VT1 Labbar Genomförs individuellt U/G Vt2 Projekt Individuellt U/3/4/5 Föreläsningar Översikt (RK) Praktiskt orienterade (AF) Seminarier Bl.a. idéworkshop för sociala appar
Projektet Ett socialt fleranvändarsystem för Android designas, utvecklas, testas, och utvärderas Systemets syfte, funktion och innehåll är valfritt, givet att betygskriterierna uppfylls Systemet måste ha en specifik målgrupp och lösa ett äktaproblem på ett professionelltsätt Avsikten ska vara att kunna lansera systemet efter kursen
Exempel på betygskrav för projektet Sociala funktioner Gilla informationsobjekt (inklusive undo) (1p) Kommentera informationsobjekt (1p) Följa andra användares aktivitet (1p) Användning av sensorer Kamera (1p) Användbarhet
Projektet 1. App-idé 2. Projekt-beskrivning Övergripande beskrivning, syfte, målgrupp Feature-list (enligt examinations-kriterierna) Tidsplan (veckoplan) 3. Halvtidsredovisning 4. Slutdemo + kodinlämning 5. Användbarhetrapport
Projektredovisning Muntlig slutredovisning Stationsbaserad demosession Innan dess ska koden & systemet redovisas för labbhandledaren och få godkänt för deltagande i slutredovisningen Tänk på att test coverage ska demas/ dokumenteras Rapport om användbarhetsutvärdering Lämnas in till labbhandledaren
Seminarier Seminariegrupper & tider anges på kurswebbplatsen Förberedelse krävs för tillträde till seminariet Aktivt deltagande
Seminarier 1. Kodgranskning (server-kod från lab2) Granska annan students kod 2. Idé-workshop Diskutera egna app-idéer VT1 3. Användbarhet Metoder för att utvärdera appen 4. Underhåll Underlätta underhåll av mjukvara VT2
Klient Klient Klient Labb 4-8 (Android) Server Databas Labb 1-4 (server)
Server- labbar 1. Server-side kod Flask (Python) IDE: PyCharm 2. Databas Alchemy som DBMS (management system) 3. Hosting Openshift 4. Inloggning Färdigt bibliotek
Android- labbar 1. Komma igång med IDE:t(Android Studio) Basic app-bygge Kompilera och sätta ihop till ett.apk (Android application package) Ladda ner och köra på emulator (eller device) 2. GUI (Graphical User Interface) 3. Nätverk 4. Sensorer
Inlämning av labbar Dema din labb Få klartecken att lämna in koden Använd GitLab på IDA Bjud in din labbhandledare som reporter
Tidslinje VT 1 VT 2
rita.kovordanyi@liu.se anders.froberg@liu.se www.liu.se