Fortsättningskurs Webbklientprogrammering

Relevanta dokument
Testning av applikationer

Systemutvecklare SU13, Malmö

Webbutveckling med AngularJS

Systemutvecklare SU14, Malmö

Next -> Next -> Finish

JavaScript in SharePoint and not just for Apps. Wictor Wilén

WCMS-15, Webbutvecklare CMS

INTRODUKTION TILL ANGULAR JS

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Kursplanering Utveckling av webbapplikationer

Q1 Har ni under utbildning haft undervisning inom HTML5?

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

<script src= "

A" utveckla kartor med responsiv design. Johan Lah8 Geografisk IT- utvecklare Stadsbyggnadskontoret, Malmö stad

YH, Systemutvecklare agil webbprogrammering 400 Yh-poäng (utbildningsnummer: ) Kursplan för Introduktion till mjukvaruteknik i applikationer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

XtraMatLagning. August Ek och Oscar Johnson. TNM065 Dokumentstrukturer

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Mobilanpassning

Tentamen Grundläggande programmering

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Innehålls förteckning

Självständigt arbete på grundnivå

Tentamen på kursen Webbdesign, 7,5 hp

Exemple på Tentauppgifter Webbprogrammering

YH, Systemutvecklare agil webbprogrammering 400 Yh- poäng (utbildningsnummer: ) Connectivity och Internet of things IoT

MVC med Javascript och Ajax. Filip Ekberg

CMS. - Content management system

Webbprogrammering TDDD52

Elektronisk publicering TNMK30

Content Management System. Publiceringssystem

Projekt Foreläsning VI

Content Management System. Publiceringssystem

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

JAVASCRIPT. Beteende

Spelprogrammering med JavaScript och HTML5

Räkna med ASP.NET MVC 3

Webbappar med OpenLayers och jquery

Sammanfattning. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012.

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

Android översikt. TDDD80 Mobila och sociala applikationer

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Prototyping och utveckling med AngularJS

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Modern webbutveckling. av Robert Welin-Berger

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Agil användbarhetsutveckling för handhållna enheter. Per Lind

Labora&on 7 Syfte med laborationen:

Databashantering och Beslutsstöd

Ladda ned appen Plickers till din surfplatta eller mobiltelefon och logga in med samma konto som du skapade ovan. Appen är gratis.

WEBBUTVECKLING Kursplanering

Hi-Fi Prototyping + laborationsgenomgång & verktyg

Laboration 3 HTML och struktur samt frågorna A - C övningar/uppgifter

Webbprogrammering, grundkurs 725G54

Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller

Sidan kommer inte läggas upp någonstans utan du redovisar den för mig på något handledningstillfälle.

Labora&on 8 Formulär övningar/uppgi6er

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Webbutveckling Laboration 1: HTML5 och CSS3.

Bygga kurser för mobila enheter

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

För att få respektive betyg krävs: 25 för godkänt, 37,5 för väl godkänt (obs betyget gäller tentan, inte kursen som helhet)

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Kommunikation och Användargränssnitt

Gör en modern släktbok för CD eller webben

TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026

Laboration 2: Xhtml och CSS.

Lektion 2 - CSS. CSS - Fortsätt så här

Projektarbete myshop. Sandra Öigaard so222es WP12 Individuellt mjukvaruutvecklingsprojekt

HI1024 Programmering, grundkurs TEN

Slutrapport Thunderbug

Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012

Lektion 5 HTML, CSS, PHP och MySQL

HI1024 Programmering, grundkurs TEN

Slutrapport för JMDB.COM. Johan Wibjer

On-line produktion TDDC61

729G74 - IT och programmering, grundkurs. Dugga.

Idrottsapen. 1. Inledning. 2. Mål och syfte. 3. Projektbeskrivning

Manual Webb-admin för evenemang

Sophia Prosell DREAM WEAVER SKAPA OCH PUBLICERA EFFEKTIVA WEBBSIDOR

Snabbguide HJÄRNTORGET Produktionsverktyget

EXAMENSARBETE. Mobila anpassningar. Joakim Wallmark Ali Rahimpour. Högskoleingenjörsexamen Datateknik

Konsult: Mats Lindblad; Kontaktperson: Mats Lindblad; Tel: ; E-post:

URVAL AV UTFÖRDA FRILANSJOBB

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

MÄRKSPRÅK OCH STILMALLAR II EXAMINATIONSUPPGIFT 2 HELENE BROGELAND

Introduktion Till WordPress

Snabbstartsguide. Visa eller växla mellan onlinekonton Klicka på ditt konto-id för att ändra inställningar eller växla mellan konton.

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Materialspecifikationer webb 2014

SLUTRAPPORT WEBBPROJEKT 1

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Infact - översikt. Förklaring av filerna som behövs för att kunna köra infacten.

Transkript:

Tentamen, Fortsättningskurs Webbklientprogrammering (40 YH-poäng) Plats: Övningstenta Tid: Övningstenta Tillåtna hjälpmedel: Papper, penna, suddgummi, linjal. Ej tillåtna hjälpmedel: Datorer, mobiltelefoner, surfplattor, miniräknare, böcker, anteckningar, kompendier etc. Max poäng: 100 poäng Betygsgränser Godkänt: 55 poäng, Väl godkänt: 75 poäng Obs! För att betyget Väl godkänt ska kunna erhållas måste du besvara de öppna frågorna och här få minst en tredjedel av maxpoäng per öppen fråga. Notera även att ett godkänt-betyg på gruppinlämningen krävs för att få ett betyg för hela delkursen. Examinator: Thomas Frank, NodeHill AB Sida 1 av 9

Ditt namn: Läs igenom frågorna på följande sidor och välj svarsalternativ. FYLL I DITT NAMN (!) och kryssa i dina svar på denna sida. (Mer än ett ikryssat svar per fråga ger 0 poäng på frågan.) Lämna ENDAST in denna sida! MVC Fråga 1 a b c d Fråga 2 a b c d Fråga 3 a b c d Fråga 4 a b c d Fråga 5 a b c d Fråga 6 a b c d Bootstrap Fråga 19 a b c d Fråga 20 a b c d Fråga 21 a b c d Fråga 22 a b c d Fråga 23 a b c d Fråga 24 a b c d Angular.js Fråga 7 a b c d Fråga 8 a b c d Fråga 9 a b c d Fråga 10 a b c d Fråga 11 a b c d Fråga 12 a b c d Övrigt Fråga 25 a b c d Fråga 26 a b c d Fråga 27 a b c d Fråga 28 a b c d Fråga 29 a b c d Fråga 30 a b c d Mera om Angular.js Fråga 13 a b c d Fråga 14 a b c d Fråga 15 a b c d Fråga 16 a b c d Fråga 17 a b c d Fråga 18 a b c d Sida 2 av 9

MVC Fråga 1 Fråga 2 Vad betyder MVC? Vad finns i modellen (enligt MVC)? a) Model View Configure b) Model View Controller c) MongoDB Vysiwyg CSS d) Model Value Cascade a) Alltid jquery-biblioteket. b) Användargränssnittet populerat med data. c) Programlogik som binder ihop vyer och controllers. d) Datalagring och datamodeller. Fråga 3 Fråga 4 Vad finns i en vy (enligt MVC)? Vad finns i en controller (enligt MVC)? a) Användargränssnittet populerat med data. b) Alltid jquery-biblioteket. c) Programlogik som binder ihop controllers och modeller. d) Datalagring och datamodeller. a) Datalagring och datamodeller. b) Programlogik som binder ihop ihop vyer och modeller. c) Alltid jquery-biblioteket. d) Användargränssnittet populerat med data. Fråga 5 MVC gör det lättare att a) Att slippa göra ändringar i användargränssnittet/presentationslagret när datamodellen ändras. b) Att slippa göra ändringar i koden när den är illa skriven. c) Att mobilanpassa applikationer. d) Att sätta upp en bra databasmodell. Fråga 6 Vilket av följande JavaScript-bibliotek/ramverk är anpassat för att skriva kod enligt MVC-principer? a) jquery b) Bootstrap.js c) Angular.js d) jquery UI Sida 3 av 9

Angular.js Fråga 7 Vilken av följande är inte ett namn på inbyggt Angular-directive? a) ng-repeat b) ng-show c) ng-query d) ng-hide Fråga 8 ngresource är ett tilläggsbibliotek till Angular.js som underlättar: a) Kommunikation med en REST-api. b) Hantering av användarinput. c) Animering av HTML-element. d) Omvandling av LESS till CSS. Fråga 9 Variabeln $scope i Angular.js används för att dela data mellan... a)...en controller och en vy/template. b)...flera användare. c)...en databas och ett REST-api. d)...två variabler. Fråga 10 Det inbyggda direktivet ng-model i Angular.js andvänds för att dela användarinput mellan... a)...två variabler. b)...en databas och ett REST-api. c)...flera användare. d)...en controller och en vy/template. Fråga 11 I vilken del av ett egenskrivet directive bör du lägga kod som använder sig av jquery? a) Controller. b) Det spelar ingen roll. c) Link. d) Template. Fråga 12 ng-repeat används för att: a) Kopiera JavaScript-kod automatiskt. b) Loopa/repetera data i en vy/template. c) Fråga användaren om han vill repetera en inmatning. d) Loopa igenom all data i databasen. Sida 4 av 9

Mera om Angular.js Fråga 13 Vad är det för fördel med att skriva ett eget directive jämfört med att bara använda "råa" templates och controllers? a) Det är lättare att återanvända. b) Det kräver mindre CPU-kraft. c) Man kan inte använda ng-repeat annars. d) Syntaxen är mindre komplicerad. Fråga 14 Routing i Angular.js innebär att: a) Koppla ihop en template med en databas. b) Lägga in ett kart-direktiv i applikationen som kan visa närmaste färdväg till ett mål. c) Koppla olika CSS till olika templates (och eventuellt även kompilera LESS samtidigt). d) Koppla olika URL:er till olika templates (och eventuellt även till olika controllers). Fråga 15 För att få en controller att lyssna på ändringar i en vy kan man använda sig av metoden: a) $scope.$timeout b) $scope.$wait c) $scope.$watch d) $scope.$listen Fråga 16 Om man använder html5mode i Angular.js så: a) Ser man till att <!DOCTYPE html> alltid skrivs in automatiskt i HTML-koden. b) Laddas alltid hela webbsidan om när man går till den via en länk. c) Laddas inte hela webbsidan om om man går till den via en länk. d) Varnar Angular.js om man skriver templatekod som inte följer HTML5-standarden. Fråga 17 Dependency injection innebär att: a) Angular.js injicerar beroenden i dina filtreringar. b) Angular.js injicerar variabler i en template. c) Du berättar för Angular.js vilka olika objekt du vill ladda från disk. d) Du berättar för Angular.js vilka olika objekt du vill att systemet skickar som inargument till en funktion du skriver. Fråga 18 Om man använder jquery tillsammans med Angular.js kan man nå jquery via aliaset: a) angular.$ b) angular.element c) angular.jquery d) angular.jqlite Sida 5 av 9

Bootstrap Fråga 19 Bootstrap är ett CSS och JS-bibliotek som underlättar responsiv design. Responsiv design innebär att: a) Att man tar ansvar för sin design och inte slarvar med den. b) Att all CSS måste skrivas som LESS och sedan kompileras. c) Layouten anpassar sig på ett bra sätt (t.ex. genom att innehåll flödar om) efter vilken skärmyta användaren har. d) Att helt olika HTML och CSS används för mobiler respektive datorer. Fråga 20 Bootstrap använder sig av ett grid-system som kan anpassas till olika skärmstorlekar. Dessa storlekar kallas? a) 1, 2, 3, 4 b) sm, md, lg, xl c) sm, lg, xl, xxl d) xs, sm, md, lg Fråga 21 I Bootstrap måste en "row" finnas vara omgärdad av (finnas inuti) en Fråga 22 Vilken av följande är inte en Bootstrap component? a) well b) column c) container d) jumbotron a) panel b) well c) column d) jumbotron Fråga 23 Hur lägger du enklast till en Bootstrap component i din webbapplikation? a) Kopierar HTML-kod från Bootstrapdokumentationens exempel. b) Laddar hem ett nytt Bootstrap-tema. c) Skriver namnet på komponenten som ett data-attribut i valfri HTML-tagg. d) Använder JavaScript-biblioteket jquery UI. Fråga 24 Ett enkelt sätt att ändra på Bootstraps utseende (dvs. skapa ett eget tema) är att ändra på värdena man hittar i Bootstraps källkod i filen a) wells.less b) utilities.less c) variables.less d) theme.less Sida 6 av 9

Övrigt Fråga 25 Vad är jquery UI? Fråga 26 Modernizr är ett JavaScript-bibliotek som: a) En variant av jquery som går att använda tillsammans med Node.js för att skapa RESTapi:er. b) Ett tilläggsbibliotek till jquery som innehåller widgets, "interactions" och effekter. c) Ett MVC-biblotek som kan användas tillsammans med jquery. d) Ett bibliotek som underlättar spelutveckling med jquery. a) Moderniserar/uppdaterar gammal HTML-kod så att den följer HTML5-standard. b) Kan användas för att kontrollera vilka features en webbläsare stödjer. c) Gör Bootstrap snabbare genom att använda grafikkortet för rendering. d) Gör Angular.js snabbare genom att accelerera two-way binding. Fråga 27 Vad är en widget? Fråga 28 Varför bör webbsidor följa HTML-standarden? a) En algoritm som underlättar uppritningen av pajdiagram. b) Ett valideringssystem för användarinmatning i modala fönster. Ordet kommer från "window get". c) En "miniapplikation" inuti en större applikation - t.ex. en kalender, vädervisare, karta eller liknande. Ordet kommer från "window gadget". d) En speciell event som triggas när användare flyttar fokus till en delflnster. Ordet kommer från "window target". a) För att CSS-standarden är föråldrad. b) För att Sublime Text annars buggar ur. c) De visas då upp korrekt i alla moderna webbläsare. d) För att JavaScript annars inte kan laddas in. Fråga 29 Vilket av följande är INTE ett namn på en standard HTML5-tagg? Fråga 30 Vilket av följande bibliotek/ramverk/miljöer är äldst? a) article b) header c) footer d) file a) jquery UI b) Bootstrap c) Node.js d) Angular.js Sida 7 av 9

Del 2, öppna svar Instruktioner: Läs igenom frågorna på följande sidor och svara på dem på separata skrivpapper. Obs! Märk varje pappersark noga med: Ditt namn Xxx Yyy. Frågans nummer, öppen fråga X. Markera även tydligt var svar på olika delfrågor börjar! När du är klar med samtliga öppna frågor (eller inte hinner skriva mer) sidnumrerar du dina skrivna sidor enligt sida X av Y. Detta minimerar risken att något du har skrivit förväxlas eller tappas bort! Fråga 1: MVC och Angular.js (1 totalt) a) Vad innebär MVC (förklara de tre olika delarna och kopplingen mellan dem)? (6 poäng) b) Förklara vad de olika delarna i MVC motsvarar i Angular.js och varför/hur de motsvarar dessa delar i Angular.js? (6 poäng) Sida 8 av 9

Fråga 2: Angular.js i praktiken (28 poäng totalt) Beskriv hur man kan använda Angular.js för att bygga en webbapplikation. (Utgå t.ex. från din gruppinlämning på denna delkurs.) a) Vad används Angular.js templates till? () b) Vad används Angular.js controllers till? () c) Vad används Angular.js directives till? (3 poäng) d) Vad används $scope till? () e) Hur kan Angular.js kommunicera med ett REST-api? () f) Berätta om två fördelar med att använda MVC-mönstret när man bygger en applikation. Förklara noga skillnaden mellan tillvägagångssätt med respektive utan MVC. (6 poäng) g) Finns det nackdelar med att använda MVC-mönstret? I så fall vilken/vilka? Motivera ditt svar. (4 poäng) h) Varför är versionshantering (t.ex. med git) bra när man arbetar i grupp? (3 poäng) i) Hur kan den agila metoden SCRUM underlätta när man arbetar i grupp? (4 poäng) Sida 9 av 9