== Vorlesung "Informatik für Nichtinformatiker" (Winter 2010/11) ==
=== Computer Science for Non-Computer Scientists ===
=== News ===
=== Veranstalter ===
Prof. Dr. Udo Frese
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
{{attachment:pong.png|alt Pong|align="right",width=480}}
=== 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 ===
[[http://www.amazon.de/Programming-Ruby-1-9-Pragmatic-Programmers/dp/1934356085/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1255596841&sr=8-1|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)
[[http://www.rubycentral.com/book/|Online Ausgabe (Englisch)]]
[[http://home.vr-web.de/juergen.katins/ruby/buch/|Online Ausgabe (Deutsch)]]
[[http://www.ruby-doc.org/core/|Dokumentation von Ruby (insbesondere zum Suchen von Methoden)]]
[[http://docs.rubygame.org/rdoc/current/| Dokumentation von Rubygame]]
=== Software ===
Wir arbeiten mit der Programmiersprache Ruby in der Entwicklungsumgebung Netbeans.
[[VeranstaltungINI10/RubyNetbeansLinux|Installation von Netbeans/Ruby auf Linux]]
[[VeranstaltungINI10/RubyNetbeansWindows|Installation von Netbeans/Ruby auf Windows]]
Ein freies Programm zum lesen von .zip Dateien (z.B. für die Übungszettel) ist [[http://www.7-zip.org/|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 ||