Vorlesung "Informatik für Nichtinformatiker" (Winter 2010/11)

Computer Science for Non-Computer Scientists

News

Veranstalter

Wintersemester 2010/11

Veranstaltungskennziffer: 03-05-H-509.06 (ECTS: 6, TMG: 2)
V 2 SWS : (TODO)
Ü 2 SWS : (TODO)

Voraussetzung (inhaltlich): Umgang mit einem Computer

alt Pong

Thema

Die Veranstaltung gibt einen Einblick, womit sich Informatik beschäftigt. Anders, als Einführungsveranstaltungen für Informatiker legt sie keine Grundlagen für ein tiefgehendes Studium, sondern möchte in einem Semester Nützliches und Erhellendes aus der Informatik vermitteln. Ungefähr zwei Drittel der Veranstaltung ist ein Programmierkurs in Ruby, wobei die Sprache Ruby erlaubt, mit möglichst wenig technischem Überbau einfache, nützliche Programme zu schreiben. Daher legt das Übungsprogramm auch Wert auf einen bunten Strauss an Anwendungsthemen. Als ein Beispiel programmieren wir den Computerspiel-Klassiker Pong (siehe Grafik) nach. Andere Beispiele beschäftigen sich mit einer Wetterkamera im Internet und einer statistischen Simulation der Verdauung bei Kuehen. Ein Drittel der Veranstaltung stellt schlaglichtartig Aspekte des Faches Informatik dar. Beispiele sind: Geschichte der Informatik. Wie funktioniert ein Computer? Gibt es Grenzen der Berechenbarkeit? Welche gesellschaftlichen Auswirkungen hat Informatik?

Teilnahme

Die Veranstaltung richtet sich an Studenten aller Fächer, die einen Einblick in die Informatik bekommen wollen. Ausgeschlossen sind Informatik, Mathematik, Systems Engineering. Der Kurs ist zugelassen für Digitale Medien Fachrichtung Gestaltung als Modul B-101, alle anderen Fachrichtungen nicht. Der Kurs ist kein Ersatz für Informatikkurse die Teil der jeweiligen Studienordnung sind.

Übungen

In der Veranstaltung gibt es 6 Übungszettel, die im zweiwöchigen Rhythmus abgegeben werden.

Inhalt

Datum

Thema

Übungszettel

Lösung

Einführung; Symbolverarbeitung; Blitzeinführung in Ruby

Blitzeinführung in Ruby (Forts.); Objektorientierung

Klassen, Objekte und Variablen

UML Klassendiagramme; Container, Blöcke und Iteratoren

Übung: Programmieren in Kleinen, Anwendung: Monte-Carlo-Simulation

Schlaglicht: Die Geschichte der Informatik I

Algorithmen: Euklid, Eratosthenes, Selectionsort, Djikstra

Debugger, Grafik, Animation und Computerspiele

Schlaglicht: Die Geschichte der Informatik II

Beispiel: Webcamdownload; Ausnahmebehandlung

Schlaglicht: Wie funktioniert ein Computer?

OSI-7-Schichtenmodell; Sockets in Ruby; Beispiel: Chatserver

Schlaglicht: Berechenbarkeit

Schlaglicht: Informatik und Gesellschaft

Literatur

Dave Thomas, Chad Fowler, Andy Hunt: Programming Ruby 1.9, The Pragmatic Programmers' Guide, Pragmatic Programmers, 2009, ISBN 1934356085

oder eine ältere Ausgabe des Buches (ohne den Zusatz 1.9)

Online Ausgabe (Englisch)

Online Ausgabe (Deutsch)

Dokumentation von Ruby (insbesondere zum Suchen von Methoden)

Dokumentation von Rubygame

Software

Wir arbeiten mit der Programmiersprache Ruby in der Entwicklungsumgebung Netbeans.

Installation von Netbeans/Ruby auf Linux

Installation von Netbeans/Ruby auf Windows

Ein freies Programm zum lesen von .zip Dateien (z.B. für die Übungszettel) ist 7zip.

Prüfungen

Schriftliche Abgabe von Übungsaufgaben in Gruppen und kurzes Fachgespräch zur Beurteilung der individuellen Leistungen in einer Gruppe. Note aufgrund der erreichten Punktzahl im Verhältnis zur möglichen Punktzahl und des Fachgespräch Ergebnisses gemäß folgender Tabelle (>=):

Note

1.0

1.3

1.7

2.0

2.3

2.7

3.0

3.3

3.7

4.0

Prozent>=

95

90

85

80

75

70

65

60

55

50