Update zum IH Experten - Leistungsfähigkeit der Instandhaltung verbessern
Einführung in die Programmierung, Gruppenassignment
1. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
W I S S E N
!
T E C H N I K
!
L E I D E N S C H A F T
1
Einführung in die
Programmierung
DI Dr. Christian Safran, IICM
DI Michael Steurer, IICM
Univ.-Prof. DI Dr. techn. Frank Kappe, IICM
!
www.tugraz.at
2. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
2
Gruppenbeispiel (Ass1)
Organisatorisches
Aufgabenstellung
Michael Steurer, Lukas Eberhart
3. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
3
Organisatorisches
4er Gruppe
"
"
"
Mitglieder ausschließlich aus der gleichen Tutoriumsgruppe
Anmeldung war bis heute 19 Uhr möglich (Palme)
Noch ohne Gruppe? # Gruppenzuweisung unsererseits
Deadline
"
"
"
"
Abgabe: Sa. 21.12.2013 19:00:00 (Palme)
Spätabgabe: bis 48h danach; -25% der erreichten Punkte
Knapp 3 Wochen Zeit
Tipp: rechtzeitig beginnen!
Michael Steurer, Lukas Eberhart
4. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
4
Organisatorisches
Bewertung
20 Punkte
"
"
"
"
"
Tests: 8
Doku & Stil: 3
Struktur: 5
Korrektheit: 4
Ausbesserungsmöglichkeit
"
"
14.1. - 2.2.2014
nur bei weniger als 10
Punkten
Michael Steurer, Lukas Eberhart
Allgemeine Kriterien
"
"
"
"
"
Eigene Arbeit
Pünktliche Abgabe
Fertige Abgabe
Spezifikationstreue
Richtige
Programmiersprache
Todsünden
"
"
Fehlende Abgaben
Plagiate
5. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
5
Aufgabenstellung
Source: http://www.fruchtwein.at/pix/bilder_original/gluehwein.jpg
Michael Steurer, Lukas Eberhart
6. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
6
Allgemeiner Bildaufbau
Header
…….
1. Pixel
2. Pixel
3. Pixel
…….
Michael Steurer, Lukas Eberhart
7. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
7
Aufgabenstellung
Beispiel:
" Buchstabe ‘t‘ soll in Bild versteckt werden
" ASCII-Wert von ‘t‘: dezimal: 116 / binär: 01110100
" Niederwertigstes Bit löschen für Byte 1, 5, 7 und 8
" Niederwertigstes Bit setzen für Byte 2, 3, 4 und 6
" Erstes Pixel:
Original Bild
Modifiziertes Bild
0
Michael Steurer, Lukas Eberhart
1
1
8. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
8
Aufgabenstellung
Verschlüsselung:
" Text vor dem Verstecken bzw. nach dem Extrahieren XOR
verschlüsseln
" Passwort wiederholen bis es die gleiche Länge wie der Text hat
" Buchstabe für Buchstabe mit Exklusiv-Oder verknüpfen
Beispiel:
Text: Hallo EP!, Key: Geheim
Michael Steurer, Lukas Eberhart
9. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
9
Aufgabenstellung
Stenographie-Tool
Text in Bild verstecken:
"
"
Prüfen, ob unkomprimierte 24bit Bitmap-Datei (Header auslesen)
Identifier “EP13“ und Länge des Texts dem zu versteckenden Text
voranstellen (und ebenfalls mitverschlüsseln)
Folgende Struktur in Bild einbetten:
" “EP13“ (4 Byte)
" Länge des Texts (Integer: 4 Byte)
" (verschlüsselter) Text (beliebige Länge)
Michael Steurer, Lukas Eberhart
10. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
10
Aufgabenstellung
Stenographie-Tool
Text aus Bild extrahieren:
"
"
"
Zu Beginn auf Identifier “EP13“ prüfen
Bei Fehler: Fehlermeldung ausgeben # siehe Wiki
Im Erfolgsfall: versteckten Text ausgeben/speichern (ohne “EP13“)
Michael Steurer, Lukas Eberhart
11. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
11
Aufgabenstellung
Stenographie-Tool
Programmaufruf - Kommandozeilenparameter:
obligatorisch:
-m
Der Modus, gefolgt von entweder 'hide' oder 'show'
-img
Die Bilddatei
optional:
-text
Die Textdatei
-p
Passwort
-v
Versionsinfo
Michael Steurer, Lukas Eberhart
12. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
12
Aufgabenstellung
Stenographie-Tool
Programmaufruf - Beispiele:
" Datei secret.txt mit dem Passwort GEHEIM verschlüsseln und in der
Datei cat.jpg verstecken
./ass1 -m hide -img cat.bmp -text secret.txt -p GEHEIM
"
Den Inhalt der Datei cat.jpg mit dem Passwort GEHEIM entschlüseln
und auf der Konsole anzeigen
./ass1 -m show -img cat.bmp -p GEHEIM
"
Text von der Konsole einlesen und unverschlüsselt in der Datei
message.jpg verstecken
./ass1 -m hide -img message.bmp
Michael Steurer, Lukas Eberhart
13. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
13
Zusammenfassung
Aufgabenstellung im Wiki
"
"
"
"
Details zu Datenstruktur/Rückgabewerte/Fehlermeldungen/Spezifikation
Halten Sie sich genau an die Anforderungen!
Ihre Abgabe wird automatisiert getestet
Feedback
" Anzahl der bestandenen Testfälle
" Abgabegespräche
Fragen von allgemeinem Interesse
" Newsgroup tu-graz.lv.ep
" Zuerst lesen, dann posten
Michael Steurer, Lukas Eberhart
14. Einführung in die Programmierung – Gruppenbeispiel (Ass1)
W I S S E N
!
T E C H N I K
!
L E I D E N S C H A F T
14
Einführung in die
Programmierung
DI Dr. Christian Safran, IICM
DI Michael Steurer, IICM
Univ.-Prof. DI Dr. techn. Frank Kappe, IICM
!
www.tugraz.at