Viktigt! Glöm inte att skriva TentamensKod (ditt anonyma student-id) på alla blad du lämnar in.

Relevanta dokument
Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Systemvetarutbildningen och dataekonomutbildningen

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Ansvarig lärare: Håkan Sundell, Tuve Löfström, Anders Gidenstam Telefonnummer: , 4236, 4214

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.

Systemvetarutbildningen och dataekonomutbildningen

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

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

Mål med lektionen! Repetera och befästa kunskaperna.

DAT043 - Föreläsning 7

ASP.NET Thomas Mejtoft

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Webbtjänster med API er

Classes och Interfaces, Objects och References, Initialization

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

MVC med Javascript och Ajax. Filip Ekberg

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

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

ASP.NET Web Forms. Copyright Mahmud Al Hakim Vad är Web Forms?

MVC med Javascript och Ajax. Filip Ekberg

Systemvetarutbildningen och dataekonomutbildningen

Android översikt. TDDD80 Mobila och sociala applikationer

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Systemvetare, dataekonomer och affärsinformatiker

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Tentamen. DD2385 Programutvecklingsteknik vt Fredagen den 5 juni 2009 kl Inga hjälpmedel utom penna, sudd och linjal

Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT / 42

Konstruktion av datorspråk

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Webbtjänster med API er

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Dynamisk bindning och polymorfism

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

DAT043 Objektorienterad Programmering

Systemutvecklare SU14, Malmö

<script src= "

TDDC76 - Programmering och Datastrukturer

Objektorienterad mjukvaruutveckling. 15 högskolepoäng. TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Kursplanering Utveckling av webbapplikationer

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander

TENTAMEN I DATAVETENSKAP

Objektorientering - Arv och polymorfi. Eric Elfving Institutionen för datavetenskap

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

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

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Innehåll. 1 Kort om dynamisk polymorfism. 2 Arv i C++ 3 Multipelt arv. 4 Något om statisk polymorfism. class Container {

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Alla rättigheter till materialet reserverade Easec

Objektsamlingar i Java

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Programsystem konstruktion med C++ (2D1387) Innehåll. övning 2 klasser och arv

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Statistik över heltal

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

Avancerade Webbteknologier

Webbtjänster med API er

Language Integrated Query, LINQ, och databaser

Introduktion till arv

Förstå grunderna i LINQ. Mål med lektionen!

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

E12 "Evil is going on"

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

Programmering B med Visual C

Grundläggande programmering med C# 7,5 högskolepoäng

Inledande programmering med C# (1DV402) Introduktion till C#

Tentamen NOA011 Systemarkitektprogrammet

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Objektorienterad Programmering DAT043. Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Webbprogrammering. Sahand Sadjadee

Räkna med ASP.NET MVC 3

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002

DAT043 - föreläsning 8

Generiska konstruktioner. Kursbokens kapitel 13

Transkript:

Webb- och mobilutveckling Provmoment: Ladokkod: Tentamen ges för: Tentamen 21WM1B Systemarkitektprogrammet 7,5 högskolepoäng TentamensKod: Tentamensdatum: 2017-03-23 Tid: 09.00 12.00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: För att få respektive betyg krävs: G=23 VG=33 40 poäng Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna. Rättningstiden är i normalfallet 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration. Viktigt! Glöm inte att skriva TentamensKod (ditt anonyma student-id) på alla blad du lämnar in. Lycka till! Ansvarig lärare: Håkan Sundell, Johannes Sahlin Telefonnummer: 033-435 4426 (4047)

Svarsblankett TentamensKod: Uppgift 1: Uppgift 4: Uppgift 7: Uppgift 2: Uppgift 5: Uppgift 8: Uppgift 3: Uppgift 6: a) b) c) d) e) A B C D Svar: Svar: Svar: Svar: Svar: 2

1. Svara med något eller några av de angivna alternativen på följande frågor. (a) Document Object Model (DOM) används i huvudsak för att? i. Dynamiskt skapa XML-dokument på servern med hjälp av C# och ASP. ii. Ändra delar av ett XHTML-dokument via programspråket Java på servern. iii. Läsa in och skriva XML-dokument på valfritt filsystem. iv. Komma åt delar av ett XHTML-dokument med hjälp av javascript på klienten. (b) Eftersom HTTP kommunikation är stateless kan man använda sig av följande alternativ för att spara tillstånd hos klienten? i. HTML ii. Sockets iii. Persistent http iv. Cookies (c) För att skapa användbara och interaktiva webbsidor med server-genererade webbsidor används specifikt konstruktionen i HTML? i. <body> ii. <head> iii. <form> iv. <script> (d) Basprotokollet som de flesta webbservrar stödjer för att köra exekverbara program med uppgift att skapa en HTTP-response utifrån ett HTTP-request kallas? i. Dynamic Web Interface ii. Common Gate Interface iii. Document Object Model iv. Enhanced Scripting Model. (e) Vilket eller vilka av följande påståenden gäller för JavaScript? i. JavaScript kan förändra HTML dokumentet medan det visas i en webbläsare. ii. JavaScript kan ersätta alla tillämpningar av ASP.NET. iii. Programspråket JavaScript är en delmängd av programspråket Java. iv. JavaScript körs enbart när ett HTML dokument skapas. 3

2. Svara med något av de angivna alternativen på följande frågor om språket C#. (a) För att definiera om (överskugga) en metod i en klass där en metod med samma namn och signatur redan finns definierad för bas-klassen, används nyckelordet? i. hide ii. override iii. sub iv. new (b) För att definiera en parameter vars värde sätts av metoden och tillåta att en inte initierad variabel används som respektive argument, så används nyckelordet? i. extern ii. intern iii. out iv. ref (c) För att binda en metod till en viss händelse (eng. Event) och på så sätt skapa en händelsehanterare, görs detta genom att koppla metoden till en specifik? i. delegate ii. event iii. enumerator iv. iterator (d) Ett interface är? i. En klass där alla metoder är implementerade som referenstyper. ii. En implicit implementation av alla metoder som ingår i en klass definierad explicit. iii. iv. En klass där alla metoder är definierade som abstract. En mall som kan kopplas på klasser och dirigera vilka metoder och egenskaper som en klass då måste implementera. (e) En variabel som representerar en instans av en datastruktur definierad med nyckelordet class är alltid klassificerad som en? i. Instanstyp ii. Objekttyp iii. Referenstyp iv. Värdetyp 4

3. Svara med något av de angivna alternativen på följande frågor. (a) Uppdatering av data i exempelvis en databas som kan ske överlappande med andra uppdateringar behöver använda för att kunna garantera korrekt utförande? i. Logger. ii. Transactions. iii. LINQ. iv. Entity Framework. (b) För att hantera ett API anrop via URI adressen API/Posts/Id för att uppdatera en entitet använder man sig av följande metod? i. Post ii. Put iii. Place iv. Update (c) I Session State kan man lagra värden av typen? i. Endast värdetyper. ii. Endast referenstyper. iii. System.Cacheable, direkt eller via arv. iv. System.Object, direkt eller via arv. (d) Designmönstret i en MVC-baserad ASP.NET lösning är? i. Model, Validation, och Custom. ii. Metro, View, och Content. iii. Model, View, och Controller. iv. ModelView, Viewbag, och Controller. (e) Ett objekt av typen RedirectResult är en typ av? i. Action Result. ii. View Result. iii. Model Result. iv. Controller Result. 5

4. Svara med något eller några av de angivna alternativen på följande frågor. (a) Nackdelarna med distribuerade system kan karaktäriseras enligt? i. Complexity, Security, Manageability, Unpredictability ii. Resource Sharing, Security, Concurrency, Scalability, Fault tolerance. iii. Manageability, Openness, Security, Scalability, Fault tolerance iv. Resource Sharing, Openness, Concurrency, Scalability, Fault tolerance (b) Modellen där all hantering av logik och data görs på servern, och klienten endast sköter presentationen kallas för? i. Peer-2-peer model ii. Fat client model. iii. Thin client model. iv. Smart client model. (c) För klientens kommunikation med exempelvis REST-baserade webbtjänster används i senare versioner av ramverket.net klassen? i. JsonClient. ii. XmlClient. iii. WebClient. iv. HttpClient. (d) Ett giltigt (eng. valid) XHTML 1.1-dokument måste ha? i. Endast ett rot-element och alla taggar avslutade. ii. Minst ett html-element och ett överensstämmande schema. iii. Högst ett html-element och inte innehålla tecknen < och >. iv. Innehålla en <?xml?>-tagg och ett html-element innehållande ett head- och ett body-element. (e) För att associera ytterligare information till ett element i XML, förutom att placera data emellan element eller nästla element, används? i. Attribut. ii. Namnrymder (Namespaces) iii. Character Data (CDATA). iv. Parsed Character Data (PCDATA). 6

5. Svara med något av de angivna alternativen på följande frågor om användargränssnitt på Universal Windows Platform, exempelvis Windows 10 Mobile-baserade enheter. (a) För att kunna binda ett objekt och sandigt erhålla two-way binding emot gränssnittet behöver klassen? i. Ärva metoder och egenskaper från klassen Command. ii. Implementera INotifyPropertyChanged. iii. Implementera IPropertyChanged iv. Inget alls, man kan anropa Binding direkt. (b) För Windows Phone/Mobile är XAML-kod? i. Det enda sättet att beskriva vilka element som ingår i ett användargränssnitt. ii. Ett sätt att beskriva vilka element som ingår i ett användargränssnitt. iii. Enbart ett sätt att beskriva hur elementen i användargränssnittet skall se ut. iv. Ett sätt att spara input från användaren. (c) För att kunna binda en samling emot gränssnittet och samtidigt erhålla two-way binding behöver samlingstypen vara av? i. Alla samlingstyper fungerar som standard. ii. TransactionCollection<object> iii. List<object> iv. ObservableCollection<object> (d) Material som bilder med mera, som man vill skall vara inlästa i minnet i förväg behöver klassificeras i byggandet av applikationen som? i. Assets ii. Resources. iii. Contents. iv. Manifests. (e) När enhetens orientering ändras så innebär det för den aktiva applikationen? i. Ingenting, eftersom systemet hanterar allt. ii. Att applikationen måste rotera sitt GUI. iii. Att applikationen kan behöva justera kontrollernas layout. iv. Att applikationen måste skapa alla kontrollerna igen. 7

6. Svara med något av de angivna alternativen på följande frågor om språket C++. (a) För program som körs i miljöer där automatisk skräphantering (eng. garbage collection) saknas måste minnesresurser frigöras med hjälp av nyckelordet? i. recycle ii. destruct iii. free iv. delete (b) Tidsmässigt kan definitionen av språken i C-familjen ordnas enligt? i. C, C++, C#, Java. ii. C, Java, C++, C#. iii. C, C#, Java, C++. iv. C, C++, Java, C#. (c) En metod (med signaturen int f (char *str)) kan deklareras på ett sätt så att den inte får implementeras i basklassen enligt? i. pure virtual int f (char *str); ii. virtual int f (char *str) = null; iii. abstract int f (char *str); iv. virtual int f (char *str) = 0; (d) För att få kompilatorn att generera speciella versioner av en metod beroende på argumentets aktuella typ (som kan vara valfri) används? i. Uttrycket void *. ii. Nyckelordet template. iii. Destruktorer (eng. destructor). iv. Nyckelordet volatile. (e) Standard Template Library (STL) är? i. Ett tillägg till språket C++ som går att ladda ner fritt. ii. Ett tillägg till Microsoft Visual C++. iii. Ett länkbart bibliotek med trådsäkra (eng. Thread-safe) klasser. iv. En del av standardbiblioteket (eng. Run-time library) för C++. 8

7. Svara med något av de angivna alternativen på följande frågor om Universal Windows Platform-baserade enheter. (a) App:ar som inte körs för tillfället i förgrunden, sätts efter en viss tid av ramverket i appexekveringsläget (eng. App execution state)? i. Tombstoned. ii. Sleeping. iii. Suspended. iv. Pending. (b) Listan på Universal Resource Identifier (URI) Schemes hanteras av? i. Apple. ii. Google. iii. IANA. iv. Microsoft. (c) Lokaliseringstjänsterna (eng. Location Sources) kombinerar de tre informationskällorna? i. Gyroscope, Accelerometer, Compass. ii. Cell Towers, GPS, WiFi. iii. Light Sensor, Inclinometer, Barometer. iv. Simple orientation, Display orientation, Device orientation. (d) En atomisk enhet av funktionalitet bestående av en mängd API som måste implementeras i fråga om allt eller inget, kallas för? i. Extension SDK. ii. API Contract. iii. WinRT API iv. Device-specific API. (e) Två grundläggande designprinciper för att kunna utforma en Universal App för användning på hela bredden av enheter är? i. Toast design, Tile design. ii. Responsive design, Tailored design. iii. Control design, Layout design. iv. Stack design, Panel design. 9

8. Studera följande givna C#-program. Svara kortfattat på var och en av frågorna med ett av de givna alternativen, alternativt ett specifikt värde. (a) Vilket värde har average efter exekveringen av följande program? int average = 0; int[] numbers = new int[] 2, 4, 6, 8, 10 ; foreach (int nr in numbers) if (nr is int) average = average / numbers.length; else average = average + nr; A. <ange värde> B. C. D. Inget, programmet kompilerar eller kör inte korrekt (b) Vad har attributet foo för värde i en instans som skapats med konstruktoranropet Counter(5)? class Counter public int foo; public Counter(object foo) foo = foo; A. <ange värde> B. C. D. Inget, programmet kompilerar eller kör inte korrekt 10

(c) Vad har attributet data för värde i en instans som skapats med konstruktoranropet SomeObject(3, 4)? class SomeObject public object data; public object moredata; public SomeObject(int count) data = count; public SomeObject(int count, int number) : this(count) moredata = number; A. <ange värde> B. C. D. Inget, programmet kompilerar eller kör inte korrekt (d) Vilket värde får anropet till b(2) för en ny instans av B? public class A public virtual int a(int a) return a + 1; public int b(int b) return a(b) * 2; public class B : A public override int a(int a) return a + 3; A. <ange värde> B. C. D. Inget, programmet kompilerar eller kör inte korrekt 11

(e) Vilket värde får anropet till G(3) för en ny instans av B? delegate int F(int a); class A public virtual int G(int g) return g + 1; class B : A public override int G(int g) F a = new F(base.G); return a(g) * 2; A. <ange värde> B. C. D. Inget, programmet kompilerar eller kör inte korrekt 12