Web-Anwendungen, SS17 - Fragentypen

Ähnliche Dokumente
Web-Anwendungen, SS17 - Probeklausur

Klausur Web-Anwendungen, SS17

Klausur Web-Technologien, SS18

Klausur "ADP" SS 2015

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

Probeklausur Digitale Medien

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Web-Techniken Einführung in JavaScript

Klausur Algorithmen und Datenstrukturen

Probeklausur: Programmierung WS04/05

Klausur im Modul: Softwaretechnik (SWT) - WEB

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

1. Ordnen Sie bei der angegebenen URI den einzelnen Teilen die entsprechenden Begriffe zu. [ ] fragment [ ] path [ ] scheme [ ] query [ ] authority

Universität Duisburg - Essen

Klausur Algorithmen und Datenstrukturen

4. Februar 2008 Klausur EWA

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PHP, Ajax und JavaScript

Mul$media im Netz Wintersemester 2012/13. Übung 06

CSS-Boxen. Hans Gell Schulungen & Dienstleistungen Übersicht der Schulungsinhalte

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Klausur: Internet-Technologien

Probeklausur Name: (c)

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Viel Erfolg bei der Bearbeitung der Aufgaben!

Universität Duisburg - Essen

Unified-E Standard WebHttp Adapter

Abbildung : Aufruf des Wikis (Server: Interner Web-Server HTTPD auf Port 8080)

Anbindung an WebServices Robert Zacherl

Übung zur Vorlesung EidP (WS 2018/19) Blatt 4

1.1 Für wen dieses Buch gedacht ist Einleitung Danksagung... 2

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Probeklausur zur Vorlesung Grundbegriffe der Informatik

Klausur Programmiertechnik (Probeklausur 1)

Diagramme - Next Generation

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Klausur Software-Entwicklung März 01

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Universität Duisburg - Essen

Klausur zu Grundlagen der Programmierung in C

Klausur Algorithmen und Datenstrukturen

2. WWW-Protokolle und -Formate

Klausur Einführung in die Informatik I für Elektrotechniker 16. Juli 2003

Datenstrukturen und Algorithmen Beispiellösung zu Heimübungsblatt 7. Abbildung 1: Das Array A als Baum (vgl. Foliensatz 16, Folie 3)

Klausur Algorithmen und Datenstrukturen I SS 03

string: Beispiele: Test, test, `Seitentitel: ${document.title}`

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

Diagramme - Next Generation

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten

Programmierung WS12/13 Lösung - Präsenzübung M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Einführung in die Informatik 1

datenlink-schnittstelle Version 1.0

Erweiterte Interaktion mit Trees und Charts in APEX

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Software- Handbuch

Klausur zum BM Einführung in die Wirtschaftsinformatik SS 2014 Schriftlicher Teil

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Mathematik I 1. Scheinklausur

Informationen zu den Prüfungen «Web-Entwicklung» und «Web-Applikationen» vom 21. Januar 2015

Diskrete Strukturen. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift ... Allgemeine Hinweise

Universität Duisburg - Essen

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Probeklausur zur Vorlesung Grundbegrie der Informatik 22. Januar 2016

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

Grundlagen Internet-Technologien INF3171

Klausur Internetanwendungen, Seite 1 / 10 HS OWL, FB 7, Malte Wattenberg

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Allgemeine Informatik II

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011

Universität Duisburg - Essen

Prüfung Algorithmen und Datenstrukturen I

Schnittstellenbeschreibung atlasfx REST

DOKUMENTATION. CaptchaAd mit Java. Entpacken und Hochladen. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen. Informationen von CaptchaAd

Klausur Grundlagen der Programmierung

PDF. PDF-Generierung aktivieren. Methode zum Erzeugen der PDFs. PDF-Format. Seitengröße. Anzunehmende Browserbreite

Klausur: Programiermethoden und Techniken

Allgemeine Technologien II Sommersemester Mai 2011 CSS

Prüfung Algorithmen und Datenstrukturen I

Informatik 2 für Regenerative Energien

Dynamisches Anzeigen von Informationen in APEX mit jquery UI Dialogs und Tabs

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Lösungshinweise/-vorschläge zur Altklausur Abschlussklausur 06/07

Programmierung für Mathematik (HS13)

MATHEMATIK I für Bauingenieure (Fernstudium)

Klausur im WS 2003/04 : Informatik III

Klausur Formale Systeme Fakultät für Informatik SS 2017

Programmierkurs (Java) 30. Oktober 2017 Institut für Informatik ÜBUNGBLATT 02. Dieses Übungsblatt wird in der Woche des 06. November besprochen.

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Android-Apps Lösen einer quadratischen Gleichung I/O in einer Activity

Webtechnologien. Stunde 6 ( ) - HTTP - HTML - Servlets - AJAX. Verschoben haben wir - JSP (Java Server Pages) - JSF (Java Server Faces)

Informationen über die WebServices der Parlamentsdienste. Projektmanagement CH-3003 Bern

Klausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java im Wintersemester 2015/16

Transkript:

Web-Anwendungen, SS17 - Fragentypen Hinweis: Dieses Dokument ist keine Klausur, sondern eine lose (und nicht notwendigerweise vollständige) Sammlung an Fragen wie sie auch in einer Klausur vorkommen könnten. Punktzahlen werden in Kästen notiert und einmal als Summe je Aufgabe und dann einzeln für jede Teilaufgabe angegeben. Im Rahmen dieser Nicht-Klausur haben die Punktzahlen allerdings keine tiefere Bedeutung. Diese Nicht-Klausur besteht, inklusive dem Deckblatt aus 11 Seiten and 10 Fragen. Es können maximal 57 Punkte erreicht werden. Alle Anhänge zur Nicht-Klausur werden separat ausgeteilt. Die Heftung der Anhänge darf gelöst werden, Notizen auf dem Anhang werden jedoch keinesfalls bewertet. Sie sollte zu keinem Zeitpunkt zwischen mehreren Seiten blättern müssen, um sich vorgegebene HTML- oder CSS-Dokumente anzusehen. Die folgenden Themengebiete sind explizit ausgegrenzt: Semantische Auszeichnungen mit schema.org oder Open Graph. Die allgemein semantisch sinnvollen HTML-Elemente sind hingegen relevant. Zeitabhängige Animationen mit CSS D-Transformationen mit CSS Angular 2, nicht aber Prinzipien und Probleme von Single Page Applications

Web-Anwendungen Seite 2 von 11 SS17 - Fragentypen 1) HTML 6 (a) Das in XYZ) zu sehende HTML-Dokument enthält vier syntaktische und zwei semantische Fehler. Geben Sie zwei der syntaktischen und einen semantischen Fehler an und erläutern Sie stichwortartig den Fehler. (b) Das in XYZ) zu sehende HTML-Dokument wurde ausschließlich mit semantisch bedeutungslosen <div> und <span>-elementen ausgezeichnet. Geben Sie für vier <div>- Elemente und zwei <span>-elemente semantisch passende Elemente an.

Web-Anwendungen Seite von 11 SS17 - Fragentypen 2) Templating mit Liquid (a) Zeichnen Sie den DOM-Baum für das sich aus den Daten ABC und dem Template XYZ ergebenden HTML-Dokument. Hinweis: Sie können davon ausgehen, dass der Liquid-Code selbst syntaktisch korrekt sein wird und keinen Gebrauch von komplizierten Schleifen oder Berechnungen machen wird.

Web-Anwendungen Seite 4 von 11 SS17 - Fragentypen ) Layout und Box-Modell 6 (a) Wie breit ist ein Element mit width: 10px;, border-left: 15px; und margin: 5px;? (b) Skizzieren Sie das Layout für das HTML-Dokument XYZ. Machen Sie in Ihrer Skizze deutlich welche Elemente über die volle Seitenbreite gehen (Block-Elemente), sich an der rechten oder linken Seite orientieren (float) oder intelligent umgebrochen werden (float, flex). Hinweis: Zur Lösung ist kein Zentimetermaß nötig, alle Breiten werden Vielfache von 20%, 25%, oder calc(1/) sein.

Web-Anwendungen Seite 5 von 11 SS17 - Fragentypen 4) CSS-Selektoren und DOM-Bäume 9 (a) Berechnen Sie die Spezifitäten für die in XYZ angegebenen CSS-Selektoren. Geben Sie die einzelnen Summanden in einer Tabelle an. (b) Schreiben Sie einen CSS-Selektor, der exakt die in Abbildung XYZ und ABC markierten Knoten markiert. (c) Markieren Sie alle Knoten in Abbildung XYZ, die dem folgenden CSS-Selektor entsprechen.

Web-Anwendungen Seite 6 von 11 SS17 - Fragentypen 5) JavaScript allgemein (a) Welche der folgenden Aussagen treffen auf das Programm zu? 1 const f 1 = ( p1, p2 ) => { 2 for ( v of p1 ) { c o n s o l e. l o g ( p2 ( v ) ) ; 4 } 5 } ; 6 7 // Aufruf #1 8 f 1 ( [ 1, 2, ], ( v ) => v + 1 ) ; 9 // Aufruf #2 10 f 1 ( "12", ( v ) => +v 2 ) ; 11 // Aufruf # 12 f 1 ( [ 1, "2", ], ( v ) => v + 1 ) ; Der Parameter p1 der Funktion f1 muss eine Callback-Funktion sein. Der Parameter p2 der Funktion f1 muss eine Callback-Funktion sein. Der Parameter p1 der Funktion f1 muss ein Array sein. Der Parameter p2 der Funktion f1 muss ein Array sein. Das Programm macht zu keinem Zeitpunkt eine Ausgabe. Das Ergebnis von Aufruf #1 ist 6. Das Ergebnis von Aufruf #1 ist 12. Die Laufvariable v nimmt in Aufruf #1 die Werte 1, 2 und an. Die Laufvariable v nimmt in Aufruf #2 die Werte 1, 2 und an. Die Laufvariable v nimmt in Aufruf # die Werte 1, 2 und an. Der Aufruf f1([], undefined, 2) ließe das Programm abstürzen. Der Aufruf f1({}, (v) => v) ließe das Programm abstürzen.

Web-Anwendungen Seite 7 von 11 SS17 - Fragentypen 6) JavaScript allgemein 6 (a) Welche der folgenden Datentypen von p1 führen nicht zu einem Absturz? 1 const f 1 = ( p1 ) => { 2 let l 1 = 0 ; for ( v of p1 ) { 4 i f ( v!== +v ) { 5 l 1 ++; 6 } 7 } 8 9 return ( l 1 ) ; 10 } ; 11 12 const f 2 = function ( ) { 1 y i e l d ( 1 ) ; 14 y i e l d ( 2 ) ; 15 y i e l d ( { } ) ; 16 } Der Parameter p1 der Funktion f1 darf ein Funktions-Objekt sein. Der Parameter p1 der Funktion f1 darf Iterator-Objekt sein. Der Parameter p1 der Funktion f1 darf ein Daten-Objekt sein. Der Parameter p1 der Funktion f1 darf eine Zahl sein. Der Parameter p1 der Funktion f1 darf eine Liste sein. Der Parameter p1 der Funktion f1 darf eine String sein. (b) Schreiben Sie drei Aufrufe von f1, deren Ergebnis jeweils 2 ist. Nutzen Sie dafür Jeden der von Ihnen angekreuzten Typen der vorigen Aufgabe exakt ein mal.

Web-Anwendungen Seite 8 von 11 SS17 - Fragentypen 7) JavaScript allgemein (a) Das folgende Programm ist syntaktisch korrekt, wird zur Laufzeit aber abstürzen. 1 const MyType = function ( name) { 2 this. name = name ; 4 MyType. count++; 5 } 6 7 MyType. prototype. g r e e t = function ( ) { 8 c o n s o l e. l o g ( Hello ${ this. name } ) ; 9 } 10 11 MyType. count = 0 ; 12 1 let p1 = new MyType( Hans ) ; 14 let p2 = new MyType( Franz ) ; 15 let p = MyType( Dampf ) ; 16 17 p1. g r e e t ( ) ; 18 p2. g r e e t ( ) ; 19 p. g r e e t ( ) ; 20 21 c o n s o l e. l o g ( There are ${MyType. count } i n s t a n c e s ) ; Das Programm stürzt in Zeile 2 ab, weil this.name undefiniert ist. Das Programm stürzt in Zeile 4 ab, weil MyType.count undefiniert ist. Das Programm stürzt in Zeile 8 ab, weil this.name undefiniert ist. Das Programm stürzt in Zeile 11 ab, weil MyType.count undefiniert ist. Das Programm stürzt in Zeile 15 ab, weil MyType ohne new aufgerufen wird. Das Programm stürzt in Zeile 17 ab, weil p1.greet undefiniert ist. Das Programm stürzt in Zeile 18 ab, weil p2.greet undefiniert ist. Das Programm stürzt in Zeile 19 ab, weil p.greet undefiniert ist. Das Programm stürzt in Zeile 21 ab, weil MyType.count undefiniert ist. Der Zähler MyType.count steht zum Zeitpunkt des Absturzes auf 0. Der Zähler MyType.count steht zum Zeitpunkt des Absturzes auf 1. Der Zähler MyType.count steht zum Zeitpunkt des Absturzes auf 2. Der Zähler MyType.count steht zum Zeitpunkt des Absturzes auf. Der Zähler MyType.count steht zum Zeitpunkt des Absturzes auf 4.

Web-Anwendungen Seite 9 von 11 SS17 - Fragentypen 8) JavaScript auf dem Server 6 (a) Welche Middleware-Funktionen aus JavaScript-Programm XYZ werden für eine Anfrage an den Pfad /person/1/diary aufgerufen? (b) Welche der folgenden Aussagen treffen auf den Programm-Ausschnitt zu? 1 const e x p r e s s = r e q u i r e ( express ) ; 2 const app = e x p r e s s ( ) ; let data = 0 ; 4 5 // Middleware #1 6 app. use ( ( req, res, next ) => { 7 c o n s o l e. l o g ( Requested : ${ req. u r l } ) ; 8 next ( ) ; 9 } ) ; 10 11 // Middleware #2 12 app. get ( /, ( req, r e s ) => { 1 r e s. send (200, data ) ; 14 } ) ; 15 16 // Middleware # 17 app. put ( /, ( req, r e s ) => { 18 data += 1 19 r e s. send (200, data ) ; 20 } ) ; 21 22 // Middleware #4 2 app. delete ( /, ( req, r e s ) => { 24 data = 0 ; 25 } ) ; Es gibt Anfragen keine Anfrage, die nicht durch Middleware #1 läuft. Jede Anfrage wird mit Statuscode 200 beantwortet. Anfrage #2 kann nur über ein Formular ausgelöst werden. Der Zustand des Programms wird nach einem Neustart des Servers beibehalten.

Web-Anwendungen Seite 10 von 11 SS17 - Fragentypen 9) XML 6 (a) Welche der folgenden XML-Dokumente werden durch das gegebene XML-Schema validiert? (b) Schreiben Sie ein XML-Schema, welches die gegebenen XML-Dokumente validiert.

Web-Anwendungen Seite 11 von 11 SS17 - Fragentypen 10) Ankreuzfragen 9 Diese Fragen beziehen sich nicht durchgehend auf ein spezielles Themengebiet. Das grundlegende Schema ist immer identisch: Sie müssen zunächst eine klar definierte Anzahl von Kreuzen setzen und Ihre Antwort dann häufig kurz begründen. (a) i. Welche der folgenden Aussagen über die Beziehung zwischen JSON und JavaScript 1 ist wahr (1 Kreuz)? Jedes valide JavaScript-Programm ist ein valides JSON-Dokument. Jedes in validem JavaScript notierte JSON-Objekt ist ein valides JSON-Dokument. Jedes valide JSON-Dokument ist ein valides Javascript-Programm ii. Begründen Sie ihre Antwort mit kurzen Gegenbeispielen zu den beiden falschen Aussagen. 2 (b) i. Welche der folgenden Aussagen über die Beziehung zwischen HTML und dem DOM- 1 Baum ist wahr (1 Kreuz)? Der sich aus einem HTML-Dokument ergebende DOM-Baum ist eindeutig. Das sich aus einem DOM-Baum ergebende HTML-Dokument ist eindeutig. Das DOM-Baum kann nach dem Laden nicht mehr modifiziert werden. ii. Begründen Sie ihre Antwort mit kurzen Erläuterungen zu den falschen Aussagen. 2 (c) i. Gegeben ist die folgende URL: http://web.fh-wedel.de/mitarbeiter?name=harms. 2 Welche der folgenden Aussagen sind wahr (4 Kreuze)? Es handelt sich um eine absolute URL. Es handelt sich um eine relative URL. Die URL enthält eine Port-Angabe. Die URL enthält einen Benutzernamen. Die URL enthält ein Passwort. Die URL enthält eine Pfad-Angabe. Die URL enthält Abfrage-Parameter. Die URL enthält ein Fragment. Die URL enthält lediglich erlaubte Zeichen und Bedarf keiner speziellen Kodierung. ii. Nennen Sie ein beliebiges Zeichen, dass als Bestandteile des name-parameters speziell kodiert werden müsste. 1