Historisch-Kulturwissenschaftliche Informationsverarbeitung
Universität zu Köln
Login
Kontakt/Impressum
Stellenangebote
Interesse an einer SHK Stelle?
Praktikum im Semantic Web Bereich
Hilfskraft für Mac-Support RRZK
Praktikums- und Traineeshipangebote bei rankingCHECK
Die HKI
Studium
Bibliothek
Das Institut
Forschung
Mitarbeiter
Projekte
Veranstaltungen
Über uns
IT Zertifikat
Links
preservation
Institut
Über uns
Bibliothek
Mitarbeiter
Lehre und Studium
Aktuelle Veranstaltungen
Veranstaltungsarchiv
Wintersemester 2013 / 2014
Sommersemester 2013
Wintersemester 2012 / 2013
Sommersemester 2012
Wintersemester 2011 / 2012
Sommersemester 2011
Wintersemester 2010 / 2011
Sommersemester 2010
Wintersemester 2009 / 2010
Sommersemester 2009
Wintersemester 2008 / 2009
Sommersemester 2008
Wintersemester 2007 / 2008
Sommersemester 2007
Wegweiser
Studium
Abschlussarbeiten
Anfertigung Abschlussarbeiten
Themenbereiche
Wunschthemen
Berufsfelder der HKI
Medieninformatik
Ratschläge
Studienberatung
Zwischenprüfung
Allgemeines
ZP in C++
Forschung
Projekte
DA-NRW
DARIAH-DE
Itinera Nova
Monasterium
Retro2010
VD18
VDU
IT-Zertifikat
Inhalte und Ziele
Career
Veranstaltungen
Organisatorisches
Kontakt
Links
CCeH
Delos
FS Informationsverarbeitung
Medienwissenschaften
Phil-Fak
Planets
Spinfo
Stellenangebote
ZfMK
Datenbanktechnologie, mit praktischen Übungen in MySQL und PHP (VVZ-Nr.:5244b)
07.4.2008 - Einführung, Organisation
Wie bereits während der Sitzung erwähnt, wird im Laufe des Dienstags, 8.4.2008, eine Aufteilung des Projektes 'Webseitenmanagement' in logische Einheiten stattfinden, zu denen sich dann bitte jeder zuordnet, der seine Leistung über ein Referat erbringen möchte. Dies geht einfach per Mail an mich: sebastian.beyl@uni-koeln.de Da deutlich mehr Leute zur Veranstaltung gemeldet sind, als Seminarstunden stattfinden, ist zu erwarten, dass für eine Seminarstunde mehrere Referate angemeldet werden. Eine Gruppenarbeit ist daher möglich und auch sinnvoll, allerdings sollte klar erkennbar sein, welcher Teilnehmer welchen Teil bearbeitet hat. Es ist auch möglich, die Leistung über eine Hausarbeit zu erbringen. Die Themen bzw. das Thema wird im Laufe des Semesters festgelegt.
#
Folie
1.
Folien zum Herunterladen
14.4.2008 - Objektorientierung in PHP und Zugriff auf eine Datenbank
Die Themen dieser Stunde sind:
- Vorstellung der Themenblöcke der zukünftigen Sitzungen, über deren Inhalte ich mich noch an einigen Stellen selbst informieren muss, um zu gewährleisten, dass der Stoff der Zwischenprüfungen auf jeden Fall behandelt wird.
- Referat, Thema: 'Objektorientierter Einsatz von PHP zur bestmöglichen Trennung von Layout (HTML) und Code (PHP) unter Zugriff auf einer Datenbank.'
Es muss nicht gezeigt werden, wie auf eine Datenbank im Einzelnen zugegriffen wird und warum, allerdings sollte klar werden, dass PHP-Klassen eingesetzt werden können, um Listenansichten von Datenbankinhalten zu erzeugen und Einzelansichten darzustellen. Als Beispiel können News herangezogen werden: Auf einer Seite sollen alle Überschriften mit Links stehen, auf einer zweiten Seite eine einzelne News, die durch Klick auf die Überschrift auf der ersten Seite erreicht wird.
Wichtig: Wenn sich jemand berufen fühlt, dieses Thema zu übernehmen, so bitte ich um Mail! Wie gesagt, der Versuch einer solchen Lösung soll unternommen werden, wenn es an der einen oder anderen Stelle hakt, ist das nicht schlimm.
- Vorstellung einer definitiv funktionierenden Lösung des obigen Beispiels durch mich. Diskussion, Beseitigung von Unklarheiten.
- Diskussion über Funktionen, die eine Webseitenverwaltung aufweisen muss, erste Diskussion von Konsequenzen für den PHP-Aufbau und die Datenbank.
- Einige organisatorische Details, inkl. der Diskussion, ob wir auch bereits bestehende Systeme betrachten sollen. Ich bin der Meinung, dass dies wenig Sinn macht, da zum einen Zeit draufgeht, zum anderen diese Systeme meist sehr umfangreich sind, zu umfangreich, um sie in Schnelle zu verstehen. Wenn das Interesse daran allerdings sehr groß ist, können wir dies tun.
Aropos organisatorische Details: Eine Anmeldung über UK-Online sollte nun für alle möglich sein, bitte umbedingt ausprobieren. Wenn dies immer noch nicht klappt, muss ich weiter nachhaken.
Außerdem: Wer sich noch nicht per Mail bei mir gemeldet hat, möge dies bitte dringend tun! Ansonsten kann ich die entsprechenden Leute nicht per Mail erreichen!
#
Folie
1.
Folien und Code zum Herunterladen
21.4.2008 - Datenbankgrundlagen
In der heutigen Sitzung geht es um die Normalformen innerhalb einer Datenbank, Datenbankabfragen und Überlegungen zum Design einer Datenbank, die sich aus den vorangegangenen Überlegungen ergeben.
Achtung: Wie bereits in der letzten Sitzung aufgefallen, existiert im zweiten Foliensatz ein Datumsfehler. Alle Daten ab dem 12.5.2008 verlagern sich eine Woche nach hinten!
#
Folie
1.
Folien zum Herunterladen
28.4.2008 - Usereingaben entgegennehmen und verarbeiten
Vorweg: Das heute Besprochene ist ziemlich zentral, da alle zukünftigen Sitzungen darauf basieren. Die Methodik hinter der heutigen Art der Programmierung wird immer wieder auftauchen und nicht mehr explizit erläuert. Spätestens jetzt ist es an der Zeit, die Scripte nachzuholen!
In dieser Sitzung wird aufgrund von Nachfragen noch einmal darauf eingegangen, wie genau eine Datenbank angelegt wird. Danach wird gezeigt, wie man eine Tabelle vollständig ausliest und dabei Einzelobjekte in einem Listenobjekt sammelt und ausgibt.
Danach wird besprochen, wie man diese Daten in ein HTML-basiertes Formular einliest und die Datensätze ändern kann. Außerdem wird gezeigt, dass das gleiche Formular und sogar die gleichen Methoden zum Anlegen neuer Datensätze benutzt werden können.
HTML sollte an dieser Stelle soweit gekannt sein, dass HTML-Formulare dargestellt werden können. Außerdem werden neben den Folien auch der Quellcode zum Download angeboten.
#
Folie
1.
Folien und Quellcode zum Herunterladen
05.5.2008 - Entwicklung der Datenbank eines Newssystems (Materialien zur Hausarbeit online!)
Vorweg: Diese Sitzung findet zweimal statt, da sie kurzfristig verschoben werden musste. Zum einen werde ich am Montag um 19 Uhr den Kurs halten, zum anderen am Dienstag um 17.45 Uhr. Ich hatte dies zwar per Mail angekündigt, da ich aber nicht von allen eine Mailadresse habe, bitte ich um entsprechende Weiterhabe, wenn Sie Kommolitonen sehen. Diese Änderung gilt nur für die nächste Sitzung.
In dieser Sitzung wird noch einmal auf Fragen eingegangen, außerdem werden wir ein wenig über ein Newssystem philosophieren und aus den Überlegungen eine Datenbank aufbauen. Der Teil erfordert insofern Mitarbeit, da das Thema denkbar schlecht zum referieren geeignet ist. Es besteht außerdem die Möglichkeit, im Anschluss an die Sitzung bereits die kleine Hausarbeit abzulegen, da eine Menge Klassen programmiert werden müssen.
#
Folie
1.
Folien und Quellcode
2.
Datenbankdesign und Materialien zur Hausarbeit online
19.5.2008 - Usermanagement und Tracking
Ein User ist nicht gleich ein User, zumindest nicht für den Webserver, auf dem wir eventuell Daten auswerten wollen. Allerdings gibt es Bereiche, wie beispielsweise Systeme, die mit Zahlungssystemen arbeiten, in denen eine einwandfreie Userauthentifizierung erforderlich ist.
Die heutige Sitzung gibt Anregungen, dies zu realisieren. Dabei wird wenig PHP-Code besprochen, eher grundsätzliche Techniken. Nach der sehr kurzen Sitzung heute werde ich mich noch mit denen zusammensetzen, die tatsächlich vorhaben, ein Newssystem produktiv einzusetzen, um Fragen zu klären und die Klassen der Aufgaben zusammenzuführen bzw. einen Ablaufplan dafür zu entwickeln.
#
Folie
1.
Folien zum Herunterladen
28.5.2008 - Programmierübung / Grundlagen der Programmierung
Es hat sich leider innerhalb der Sitzungen gezeigt, dass das Verständnis für Programmiersprachen allgemein nicht so fortgeschritten ist, dass ein grundsätzliches Verständnis von Begrifflichkeiten wie Klassen, Objekten oder Methoden vorausgesetzt werden kann. Daher ist diese eigentlich als Programmierübung gedachte Sitzung und alle Wiederholungen mehr zu einer Einführung in die Programmierung geworden.
Diese Sitzung ERSETZT die Sitzungen am 26.5. UND 9.6.
Die Sitzung findet zu drei Zeitpunkten statt: 28.5.2008 von 18-20 Uhr, am 29.5.2008 von 12-14 Uhr und direkt im Anschluss von 14-16 Uhr. Damit sollten die Gruppen klein genug sein, um wirklich Fragen beantworten zu können. Es wäre nett, wenn im Vorfeld jeder Teilnehmer eine kurze Mail schicken könnte, wann er gerne teilnehmen möchte. Wenn jemand zu allen drei Terminen NICHT kann, bitte ich ebenfalls und in diesem Fall ganz besonders um Mail. Ich werde versuchen, noch einen Ersatztermin in der Woche vom 9.6. zum 14.6. zu organisieren.
Inhalt dieser Übung wird es sein, die Aufgaben zu besprechen bzw. Fragen, die während der Bearbeitung augetreten sind, abzuarbeiten. Es ist zur Nutzung der Rechner ein smail-account notwendig, selbstverständlich kann auch ein Laptop mitgebracht werden.
#
Folie
1.
Code-Beispiele
02.6.2008 - Weitere Grundlagen der Programmierung
Nachdem die Programmierübung das letzte Mal gezeigt hat, dass wohl doch erhebliche Defizite im Verständnis grundlegender Programmierelemente bestehen, macht es an diesem Punkt keinen Sinn, ohne eine Erläuterung den Kurs wie bisher weiter zu führen. Bereits die Programmierübung wurde daher zum Verständnis der Begriffe Variablen, Funktionen, Rückgabewerte, Schachtelung von Befehlen, Klassen, Objekte und Methoden genutzt. Dies wird heute fortgeführt. Es werden dabei noch einmal Variablen angesprochen, diesmal allerdings aus Arrays. Außerdem werden Schleifen besprochen, und auch die Verbindung aus Schleifen und Arrays, die doch ziemlich zentral ist.
Ebenfalls durchgenommen werden noch einmal Funktionen, diesmal allerdings mit Rekursion.
Zwar kann man in einer Uni gewisse Voraussetzungen für Kurse festsetzen, dazu gehörte in diesem Fall auch die Beherrschung einer Programmiersprache. Da allerdings der Kurs für viele ein Pflichtkurs oder Quasi-Pflichtkurs ist, ist dieses Argument leider ausgehebelt. Daher seien alle, für die dies alles nichts neues ist, um Verzeihung gebeten. Ich nehme am Anfang der Stunde gerne Abmeldungen für heute entgegen. Allerdings setze ich das Verständnis dieser Dinge bei der nächsten Sitzung am 16.6. dann wirklich voraus.
#
Folie
1.
Code-Beispiele
16.6.2008 - Grundlagen von SQL und MySQL
Es ist davon auszugehen, dass der Nachholbedarf in den Basisfragen von PHP, der hoffentlich in der letzten und vorletzten Sitzung einigermaßen gestillt wurde, bei SQL in ähnlicher Form existiert. Daher wird diese Sitzung dazu dienen, Übungen in SQL-Statements durchzuführen.
Es ist sinnvoll, wenn alle Teilnehmer einen SMail-Account besitzen, um sich an den Rechnern im Rechenzentrum anzumelden. Ich werde versuchen, einen SQL-Server auf einer der Maschinen aufzusetzen, so dass alle gleichzeitig darauf arbeiten können.
Der Inhalt dieser Sitzung wird sein, folgende SQL-Statements verstanden zu haben:
SELECT ... FROM ... WHERE ... ORDER BY ...
INSERT INTO ... () VALUES ()
DELETE FROM ... WHERE
Das sollte etwa eine Stunde dauern, danach werden wir uns anschauen, wie PHP und MySQL denn nun zusammenfinden und man die Daten aus einer Datenbank in ein PHP-Array bekommt und umgekehrt.
Auch hier gilt: Dies ist letztlich eine Wiederholung, aber eine wichtige, deren Inhalt in der Sitzung nächste Woche vorausgesetzt wird. Denn dann sind wirklich alle Elemente durchgegangen, um das Beispiel der Studenten-Klassen inkl. der angehängten Datenbanken zu verstehen.
#
Folie
1.
Script zum Download
23.6.2008 - SQL-Erweiterung und binäre Daten
Nach dem kleinen Exkurs in die Grundlagen der SQL-Befehlssyntax und die erste Verbindung dieser Technik mit PHP stellt sich die Frage, wie man das Niveau der Beispielprogrammierung verlassen kann. Daher wird sich der Beginn der heutigen Sitzung noch einmal das letzte Beispiel der letzten Sitzung vornehmen und erweitern. Das Ziel ist es, nun eine Liste aller Studenten in der bereits zu Beginn der Sitzungsreihe dargestellten Studenten-Datenbank auszugeben und diese Studenten 'anklickbar' zu machen, so dass nach einem Klick nur ein Student angezeigt wird, dieser allerdings mit allen Details.
Danach nehmen wir uns noch einmal die Klassen-Lösung der Studenten vor, die eigentlich nichts anderes enthält, allerdings in Klassen bzw. Objekte gekapselt ist und daher in großen Projekten zu mehr Übersichtlichkeit beitragen würde.
Am Ende der Sitzung referiere ich über binäre Daten in einer Datenbank und zeige an einem Beispiel einer anderen Disziplin, dass man nicht immer alles verstehen, sondern manchmal auch einfach akzeptieren muss.
#
Folie
30.6.2008 - Formulare und PHP
In dieser Sitzung wird das Zusammenspiel von Formularen und PHP besprochen, um Daten vom Webbrowser in die eigene PHP-Anwendung zu bekommen. Diese Daten müssen danach so bearbeitet werden, dass sie von der PHP-Anwendung weiter in die Datenbank transportiert werden.
Ziel der Veranstaltung ist es, diesen Dreiklang zu verstehen und benutzen zu können.
#
Folie
07.7.2008 - Konzeptuierung eines Webprojekts
Viele Informationsverarbeiter werden in ihrem beruflichen Leben weniger programmieren, sondern das Verbindungsglied zwischen Programmierern und Auftraggebern darstellen. Daher ist es wichtig, die Sprache beider Seiten zu sprechen.
Um dies zu gewährleisten, wird sich die Aufgabe für diejenigen, die noch nicht programmiert haben und auch nicht mehr programmieren werden, in genau diese Richtung bewegen: Die Erzeugung eines Konzepts einer Webanwendung für eine geisteswissenschaftliche Disziplin. Näheres dazu wird in der Sitzung selbst bekanntgegeben.
#
Folie
14.7.2008 - Zusammenfassung und anderes
In der letzten Sitzung werden wir noch einmal im Schnelldurchgang alle Themen ansprechen, die im Kurs behandelt wurden. Dabei ist es ausdrücklich erwünscht, dass Fragen gestellt werden. Besonderes Gewicht wird dabei auf Themen gelegt, die eventuell prüfungsrelevant sein könnten oder aber auch in weiteren Kursen, besonders Java und C++, wieder Verwendung finden werden.
Die Agenda dazu:
- Grundbegriffe der Programmierung: Variablen, Arrays, Funktionen, Klassen, Objekte, Methoden, Rückgabewerte, Übergabeparameter
- Schleifen, If-Abfragen - SQL-Abfragen: INSERT, SELECT, UPDATE, DELETE
- Einfache Befehle: print bzw. echo
- REQUEST-Arrays GET und POST und Formulare
- Spezielle PHP-Aufrufe für MYSQL-Zugriff
Für Interessierte gibt es dann noch eine kurze Anregung in ein wirklich spannendes Thema: Codeverwaltung in Datenbank und selbsterstellende Klassen. Das ist aber in keinster Weise Inhalt, der innerhalb dieses Kurses verstanden werden muss.
#
Folie