GdI 2015 Inhalte

GdI 2015 Inhalte

Grobübersicht über die Themen der Vorlesung Stand Sept 2015

JB wird in der kombinierten Vorlesung + Übung in eigenen Worten in das Thema einführen, den Kern anhand von Slides und über Presenter erklären; Zielgruppe: Einsteiger in die Informatik ohen Vorkenntnisse.

Bitte als Vorbereitung zur Vorlesung mindestens die angegebenen-Videos gucken, ggf. auch in die angegebenen Seiten bei GummSommer 'reinlesen - sonst bringt die Vorlesung wenig!

Semesterübersicht WS 2015

Termine:

  • 2015-10-20: Arbeitsfähig werden
  • 2015-10-27: Zahlencodierung, insbes. Stellenwertsystem, Zweierkomplement
  • 2015-11-03: Bool'sche Logik
  • 2015-11-10: Zeichencodierung
  • 2015-11-17: Diagramme
  • 2015-11-24: Automaten (1): theoretische Grundlagen
  • 2015-12-01: Automaten (2), Praxis: reguläre Ausdrücke
  • 2015-12-08: Sprachen und Automaten (3): NFA -> DFA
  • 2015-12-15: Nachklapp: Komplexität; Huffman-Codierung
  • 2015-12-22: XML & co.

Noch offen:

  • Programmier-Paradigmen

Arbeitsfähig werden

Themen

  • Grundlagen selbstgesteuertes Lernens (SGL)
  • XUbuntu auf der VirtualBox
  • Rechnerarchitektur zum anfassen: Wir demontieren einen (kaputten) PC.

  • Aufbau von peer2peer-Hilfe: Wer kann etwas erklären, wer braucht Hilfe?

XUbuntu auf der VirtualBox zum laufen bringen: siehe GdI 2015 XUbuntu

XUbuntu ganz grob kennen lernen:

  • passwd
  • sudo

Hausaufgabe, im Selbststudium: Rechnerhardware

  • Wir bauen einen (alten) Rechner auseinander und benennen die Teile
  • Einführung: Loviscach > 01.01 Was ist ein Computer? 7:05
  • Lektüre: Gumm/Sommer, Kap 1.5.2-1.5.6, 1.5.9.-1.5.15, 1.6
  • (z.K.: So sieht ein moderner Rechner aus: Mainboard MacBok Air Da sieht man nichts mehr!)
  • Hausaufgabe: alle Begriffe nachschauen

Das Betriebssystem Ubuntu

Ansage meiner email 5.10.2015:

  • "springen Sie ins kalte Wasser ;-) und lesen Sie sich etwas in Gumm/Sommer Kapitel 6.4 "Unix" ein. Damit werden wir beginnen!"

Motivation, wo es (auch) hingeht:

  • Herausforderung: Verzeichnis-Listing mit semi-strukturierten Werten per Kommando in eine CSV-Datei überführen;; ls >ls-Horn.txt
    • 	24_Horn_Trios,_Op.82_(Reicha,_Anton) 
      	Horn_Concerto_in_E-flat_major,_K.417_(Mozart,_Wolfgang_Amadeus)
  • Mittel der Wahl: reguläre Ausdrücke mit sed; Horn2cvs.sed :
    • 	s/\(.*\)_(\(.*\))/\1 ;\2/g
      	
  • wir basteln ein Kommando: Horn2cvs.sh:
    •       #!/bin/bash
            ls $1 > ls.txt
            sed -f Horn2cvs.sed ls.txt >$1/ls.cvs

außerden ggf. zeigen:

  • Verzeichis-Baum (home, tmp, bin ...), symlinks
  • Dateinamen: besser nur ascii (öäü sind böse), aber eigentlich ist utf-8 ok
  • cd, ls, rm, chmod 755, s-bit, kill -9, su, sodo, du, df, mount, umount, vi, jedit, emacs
  • bash-startskripte
    • z.B. für alle Lieblingsanwendungen
  • Umgebung erstellen, pfade finden, z.B. $PATH
  • Prozesse starten, beobachten (auslastung, top...)
  • sudo

Zahlencodierung

Stellenwertsystem, insbes. Binärsystem ÜBUNG JB

  • Loviscach >
    • 04.07 Stellenwertsysteme, Binärsystem
  • Gumm/Sommer:
    • 1.2.2 Bitfolgen
    • 1.2.3 Hexziffern
    • 1.4 Zahlendarstellungen
  • Nazareth/Scholz
    • 57-65
Loviscach Gumm & Sommer Nazareth & Scholz
Lektüre Binärsystem

Addition in verschiednene Stellenwertsystemen SELBSTSTUDIUM

  • Loviscach >
    • 05C.4 Beispielrechnungen mit Zweierkomplement 13:30
  • Gumm/Sommer:
    • 1.4.5 Arithmetische Operationen
  • Nazareth/Scholz
    • 66-69

Umwandlung Dezimal-Binär ÜBUNG JB

  • Gumm/Sommer: 1.4.4 Umwandlung in das Binär-, Oktal- oder Hexadezimalsystem ÜBUNG JB
  • Nazareth/Scholz
    • 65

2er Komplement ÜBUNG JB

  • "Bilde das bitweise Komplement und addiere 1"
    • z.B. 12 = 0000 1100, Invertieren: 1111 0011, addiere 1: 1111 0100 = -12
    • z.B. -12 = 1111 0100, invertieren: 0000 1011, addiere 1: 0000 1100 = 12
  • Loviscach >
    • 01.02 Binärsystem, Bit 5:17
    • 05.01.1 Ganzzahlige Typen, Zweierkomplement 14:11
    • 05.01.2 weiter Zweierkomplement 6:11
    • 05C.1 Zweierkomplement und Überlauf 25:32
  • Gumm/Sommer:
    • 1.4.7 Die Zweierkomplementdarstellung
  • Nazareth/Scholz
    • 71-81

auswendig, "sehen":

  • hex-Zahlen zwischen 10 und 15
  • 1111 1111, FF, 0F,

SELBSTSTUDIUM: einige primitive Datentypen in C

  • Loviscach >
    • 05.01.1 Ganzzahlige Typen, Zweierkomplement 14:11
    • 05.01.2 weiter Zweierkomplement 6:11
    • 05.02 signed und unsigned char, short, int, long, long long 13:39
  • Gumm/Sommer:
    • 1.4.8 Standardformate ganzer Zahlen
  • Nazareth/Scholz
    • 82

Boolsche Logik

Vl 2015-11-03

Organisation

2.11.2015 (=gestern): 200 Jahre Geburtstag von George Boole [ˌdʒɔːdʒ ˈbuːl] in Lincoln, England. ( http://www.spiegel.de/wissenschaft/mensch/200-geburtstag-von-george-boole-der-mann-der-uns-die-online-suche-ermoeglichte-a-1060614.html )

Einführung JB: Strukturalistische Theoriekonzeption nach W. Stegmüller einfach erklärt:

  • Vom Logos über die naive Mengenlehre zur formalen Logik.
  • Quintessenz: Formale Logik ist ein Glasperlenspiel, das mit Logik oder Denken wenig zu tun hat - um so mehr lieben wir es als Gamer!
  • Und so funktioniert formale Logik.

Algebraische Vereinfachung aussagenlogischer Ausdrücke (insbes. de Morgan)

KV-Diagramme

Ausblick First Order Logic: Exists, Forall

Übung 2015-11-10

Zeichencodierung

Einführung JB in ascii, iso-8859-1, unicode, utf-16, utf-8

Zum Nachlesen:

Praxis: Zeichencodierung in Websites, CSV-Dateien u.V.m.

Praxis: Dateiformate

  • "einfache" Formate txt | csv | html + embedded css <p style="color:#336699"> ... </p> | xml
  • Archiv-Formate zip, tar, tgz

Nachklapp 2015-12-15: Huffman-Codierung

Exkurs:Wie viele Bytes haben 16 Gigabyte RAM / hat ein USB-Stick mit 16 GB?

  • Loviscach >
    • 01D.1 Bit, Byte, Kilobyte, Beispielrechnungen 3:12
  • Gumm/Sommer: 1.2.6 Datei- und Speichergrößen

Diagramme

Vorbereitung

Übersicht über UML anhand des OOSE-Plakats http://www.oose.de/downloads/uml-2-Notationsuebersicht-oose.de.pdf :

JB: Einzelne UML-Elemente vergleichen mit jbusse.de > traktate > Meta-Ontologie für die Begriffsbildung

Anwendung:

Üben zuhause: Übungs-Test Diagramme: UML, ER

ggf. Ausblick: Datenmodelle

Das Daten-(Meta-)Modell Frames

  • Klassen und Instanzen
  • SUBCLASS vs. PART
  • Vererbung
  • Klassen-Diagramme

Das Daten-(Meta-)Modell RDF

  • Resourcen, Werte, data properties, data, object properties, objects
  • ER-Diagramme

Sprachen und Automaten (2), Praxis: reguläre Ausdrücke

2015-11-24

Ansagen

  • Mini-Tutorium für Klausurnachholer und Zuspätkommer: Tutorium Fr 2015-11-27, 9-11 Uhr, ZH 003
  • Für die kommende Woche VirtualBox und die XUbuntu-Maschine ans Laufen bekommen! VirtualBox braucht ggf. einen Update auf 4.2.34?

Online:

2015-12-01

Nachreferieren:

  • Epsilon-Übergang im NDA
  • regex: Anker, insbes. "$", "^", "\b"
  • Moore- Automat und Mealy-Automat

Üben in der Vl

  • Mini-Graphen, zu übersetzen in regex: fa_2015-12-01.pdf
  • regex, zu übesetzen in Graphen:
    • a*b a+b ab* ab+ ab? a?b
    • a(b|c)*b ...
  • Suchen und Ersetzen mit dem Unix Stream Editor SED

Übern zuhause: Übungstest Regex und Automaten

Idee Klausur: regex und Automaten: Aufgabentypen, feinschrittig differenziert

  • idealerweise: Erklärung der regex-Operatoren mit Graphen?
  • regex in sed-Notierung (extended RE, nicht basic RE)) + String zeigen
    • erkannte Substrings markieren lassen: gut machbar z.B. mit einem Text, der TelNr, Kto-Nr, ISBN enthält
    • Ausgabe hinschreiben lassen? SCHWER KORRIGIERBAR
    • MC: welche Strings werden erkannt / markiert?
  • regex hinschreiben
    • Syntaxfehler korrigieren lassen
    • Semantik verbessern lassen? SCHWER KORRIGIERBAR

Sprachen und Automaten (1): theoretische Grundlagen

Theorie: Was können Automaten? Viel. Aber sie können nicht z.B. das Klammerproblem lösen. Deshalb gibt es mächtigere Formalismen, nämlich insbes. Gumm/ Sommer Kap 9.3.1: Kontextfreie Grammatiken

Sprachen und Automaten (3): NFA -> DFA

im Detail an einem Beispiel gezeigt: ein Verfahren, um einen NFA in einen DFA umzuwandeln:

Wie sieht die Klausur aus? Ungefähr so: GdI_Beispiel-Klausur_2015-12-08.pdf

Nachklapp: Komplexität; Huffman-Codierung

XML & co.

Vorlesung in der Weihnachtswoche: Für Interessierte, nur mit sehr wenigen Punkten klausurrelevant

Thema: Grundideen von XML, XPATH, XSLT

Vortragsgrundlage: Tutorials von http://zvon.org/:

Internet

ISO/OSI Modell

Protokolle

  • http, https, ssh, telnet, ftp, mailto

firefox

  • Privacy
  • Cookies
  • ghostery etc.

client-server

  • imap, pop3, smtp mit thunderbird
  • einen webserver mit Daten befüllen

Programmier-Paradigmen

Typen von Programmiersprachen

  • prozedural Basic, C
  • prozedural objektorientiert Java, C++
  • Loviscach >
    • 02.04.1 Zoo der Programmiersprachen 8:42
    • 02.04.4 Pseudocode 1:49
    • 02.05 imperative Programmiersprachen, Skriptsprachen, dynamische Typisierung 9:26
  • Nazareth/Scholz
    • 145-163