<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.freitagsrunde.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefan</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.freitagsrunde.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stefan"/>
	<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/Spezial:Beitr%C3%A4ge/Stefan"/>
	<updated>2026-05-30T22:25:05Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=22649</id>
		<title>Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=22649"/>
		<updated>2015-03-13T15:02:19Z</updated>

		<summary type="html">&lt;p&gt;Stefan: URL zu opal-examples korrigiert (Umzug von Googlecode zu Github)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Opal.jpg|miniatur]]&lt;br /&gt;
&lt;br /&gt;
'''Opal''' ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmiersprache]], die Euch (unter anderem) in [[MPGI 1 (Bachelor)|MPGI 1]] begegnen wird. Sie wurde an der TU Berlin von Prof. [[Pepper]] entwickelt. Die [[Freitagsrunde]] bietet euch mehrere Ressourcen rund um das Thema Opal.&lt;br /&gt;
&lt;br /&gt;
== [[Opal FAQ]] ==&lt;br /&gt;
In der [[Opal FAQ]] findet Ihr häufige Probleme, die bei der Benutzung von Opal aufreten, einschließlich ihrer Lösungen.&lt;br /&gt;
&lt;br /&gt;
== [[Opalix]] ==&lt;br /&gt;
Wir haben für euch auch eine Linux-Distribution erstellt, bei der das lauffähige Opal gleich dabei ist. Ihr müsst also nichts installieren, einfach das Image auf einen [[Opalix#Opalix_USB_Abbild_herunterladen_und_selber_brennen|USB-Stick schreiben]] und davon booten. Opalix ist dann persistent auf den Stick installiert, das heißt, dass ihr mit Opalix arbeiten könnt, als würdet ihr ganz normal von eurer Festplatte starten. Ihr könnt Programme installieren und Dokumente speichern.&lt;br /&gt;
&lt;br /&gt;
Im Raum der Kultfrunde (MAR 0.005) könnt ihr euch das Image auf einen USB-Stick laden (der sollte mindestens zwei GB Speicher haben, da das Image etwas 1,1GB groß ist). Der Stick wird vollständig überschrieben, da ein völlig anderes Dateisystem genutzt wird, der Stick sollte also leer sein oder keine wichtigen Daten enthalten.&lt;br /&gt;
&lt;br /&gt;
[http://freitagsrunde.org/~aeichner/Opalix2013.iso Opalix-ISO 2013]&lt;br /&gt;
&lt;br /&gt;
== [[Opal für Linux/Unix]] ==&lt;br /&gt;
Wenn Ihr nicht Opalix benutzen möchtet, könnt ihr [[Opal für Linux/Unix#Ubuntu|fertige Opal-Pakete für verschiedene Linux-Distributionen]] herunterladen oder [[Opal_für_Linux/Unix#Hinweis_zum_Selber-Kompilieren|aus Quellen kompilieren]]. &lt;br /&gt;
&lt;br /&gt;
Seit Version 2.4 wird auch [[Opal für Linux/Unix#MacOS X|MacOS X]] unterstützt.&lt;br /&gt;
&lt;br /&gt;
== [[Opal Syntax-Highlighting]] ==&lt;br /&gt;
Eine Liste der Editoren, die [[Opal Syntax-Highlighting|Syntax-Highlighting für Opal]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen mit Opal ==&lt;br /&gt;
* [[MPGI 1 (Bachelor)]]&lt;br /&gt;
* [[Informatik 1]]&lt;br /&gt;
* [[PSS]]&lt;br /&gt;
* [[Compilerbau 1]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zu Opal und [[OCS]] findet Ihr hier:&lt;br /&gt;
* http://projects.uebb.tu-berlin.de/opal/&lt;br /&gt;
&lt;br /&gt;
Die 10 Opalismen:&lt;br /&gt;
* http://web.archive.org/web/20050507105405/http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/die_10_Opalismen.html&lt;br /&gt;
&lt;br /&gt;
opal-examples:&lt;br /&gt;
* https://github.com/stefanschramm/opal-examples&lt;br /&gt;
&lt;br /&gt;
[[Bibliotheca Opalica]]&lt;br /&gt;
*https://projects.uebb.tu-berlin.de/opal/dosfop/2.4/bibopalicaman/&lt;br /&gt;
&lt;br /&gt;
== Fragen/Probleme ==&lt;br /&gt;
&lt;br /&gt;
Bei Fragen/Problemen rund um Opal/Opalix könnt ihr euch an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] wenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
[[Kategorie: Opalix]]&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Windows_Terminal_Server&amp;diff=15415</id>
		<title>Windows Terminal Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Windows_Terminal_Server&amp;diff=15415"/>
		<updated>2010-11-24T00:16:19Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Windows Terminal Server */ die bisherigen Hosts funktionieren nicht mehr; VPN ist noetig&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Windows Terminal Server ==&lt;br /&gt;
&lt;br /&gt;
Um die Windows Terminal Server von Zuhause aus nutzen zu können muss eine [[VPN]]-Verbindung existieren.&lt;br /&gt;
&lt;br /&gt;
Über der Host &amp;lt;strike&amp;gt;wtscluster.tubit.win.tu-berlin.de&amp;lt;/strike&amp;gt; wosab.cs.tu-berlin.de kann man sich mit [[tubIT]]-Account per rdesktop am Windows Terminal Server anmelden. Der Login muss an der Domäne &amp;quot;win.tu-berlin.de&amp;quot; erfolgen. Dem eigentlichen tubIT-Benutzernamen muss also &amp;quot;win.tu-berlin.de\&amp;quot; vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
Ein Login mittels [[IRB]]-Kennung per rdesktop ist auf &amp;lt;strike&amp;gt;lippens.cs.tu-berlin.de&amp;lt;/strike&amp;gt; emmerich.cs.tu-berlin.de oder preissler.cs.tu-berlin.de möglich. Die Kennung muss dafür [http://irb.cs.tu-berlin.de/dienste/samba/ in der &amp;quot;BORUSSIA&amp;quot;-Domäne eingetragen] sein. Analog muss hier beim Login dem Benutzernamen &amp;quot;BORUSSIA\&amp;quot; vorangestellt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Überleben im Fakultätsnetz]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Git_im_CS-Netz&amp;diff=15397</id>
		<title>Diskussion:Git im CS-Netz</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Git_im_CS-Netz&amp;diff=15397"/>
		<updated>2010-11-19T12:12:09Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Konvention .git&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Berechtigungen im AFS für Git setzen =&lt;br /&gt;
&lt;br /&gt;
Die benötigten Befehle stehen in der tubIT-Dokumentation: http://www.tubit.tu-berlin.de/fileadmin/a40000000/tubIT/KD/pdf/Aendern_von_AFS-Rechten.pdf&lt;br /&gt;
&lt;br /&gt;
Die wesentlichen Schritte für ein Git-Repository sind hier zusammengefasst:&lt;br /&gt;
&lt;br /&gt;
user: eigene tubIT-Benutzerkennung; X: Anfangsbuchstabe von eigener tubIT-Benutzerkennung; user2: tubIT-Benutzerkennung von der Person, die Zugriffsrechte bekommen soll; kurs: Repository Name (z. B. Kurs-/Modulname)&lt;br /&gt;
&lt;br /&gt;
 cd /afs/tu-berlin.de/home/X/user&lt;br /&gt;
 mkdir -p repository/kurs.git&lt;br /&gt;
 pts creategroup user:kurs&lt;br /&gt;
 pts adduser user2 user:kurs&lt;br /&gt;
 fs setacl -dir repository/kurs.git -acl user:kurs rlidwk&lt;br /&gt;
 fs setacl -dir repository -acl user:kurs l&lt;br /&gt;
 fs setacl -dir . -acl user:kurs l&lt;br /&gt;
&lt;br /&gt;
Das Entscheidende ist, dass die dem Repository übergeordneten Verzeichnisse das '''l'''ookup-Recht haben. Dies hat zur Folge, dass user2 auch die Inhalte von der Hauptebene auflisten (jedoch nicht lesen) kann. Daher sollten persönliche Dokumente ggf. in andere Unterverzeichnisse gepackt werden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Kann das wer testen/gegenchecken und ggf. in den Hauptartikel einbauen? Außerdem sollten im Artikel die Pfade wohl auch besser auf /afs/tu-berlin.de/... geändert werden.--[[Benutzer:Stefan|Stefan]] 13:09, 19. Nov. 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Git_im_CS-Netz&amp;diff=15396</id>
		<title>Git im CS-Netz</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Git_im_CS-Netz&amp;diff=15396"/>
		<updated>2010-11-19T12:11:27Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Remote Repository erstellen */ Link zur Diskussionsseite mit Anleitung fuer Permissions etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Artikel beschreibt wie man die Versionskontrolle namens '''Git''' im cs-Netz einrichtet und für weitere User bereitstellt. Es werden ''grundlegende Unix-Kenntnisse'' vorausgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Git Software einbinden ==&lt;br /&gt;
Git ist auf den cs-Rechnern in '''/opt/csw/bin''' verfügbar und erfordert die Anpassung der '''PATH''' Variablen (z.B. PATH=&amp;quot;/opt/csw/bin&amp;quot;:$PATH )&lt;br /&gt;
Falls dies nicht mehr der Fall sein sollte, kann Git in das Home-Verzeichnis installiert werden.&lt;br /&gt;
== Remote Repository erstellen ==&lt;br /&gt;
Um ein '''Remote Repository''' names foo im Home-Verzeichnis auf einem cs-Rechner zu erstellen, wird ein Git-Verzeichnis (Konvention: Suffix git) erstellt und initialisiert:&lt;br /&gt;
 mkdir foo.git &amp;amp;&amp;amp; cd foo.git&lt;br /&gt;
 git init --bare&lt;br /&gt;
Anschließend können eine Gruppe erstellt, die Benutzerrechte angepasst und andere User in die Gruppe eingeladen werden. (genauere Anleitung auf [[Diskussion:Git_im_CS-Netz|Diskussionsseite]]).&lt;br /&gt;
&lt;br /&gt;
== Administrator: Erste Schritte  ==&lt;br /&gt;
Der folgende Abschnitt wird auf dem Rechner des Administrators ausgeführt. Das gerade erstellte Git Repository kann nun mit Inhalt gefüllt werden. '''User''' und '''remotehost''' müssen durch den cs-usernamen bzw. einen cs-Rechner ersetzt werden.&lt;br /&gt;
 mkdir foo &amp;amp;&amp;amp; cd foo&lt;br /&gt;
 git init&lt;br /&gt;
 ...&lt;br /&gt;
 git add .&lt;br /&gt;
 git commit -a -m &amp;quot;Initial commit&amp;quot;&lt;br /&gt;
 git push ssh://user@remotehost/home/user/foo.git master&lt;br /&gt;
Somit ist das remote Repository eingerichtet und der aktuelle Branch ist master (head).&lt;br /&gt;
== User ==&lt;br /&gt;
=== Erste Schritte ===&lt;br /&gt;
Als erstes wird eine Kopie des Repositorys erstellt:&lt;br /&gt;
 git clone ssh://user@remotehost/home/user/foo.git&lt;br /&gt;
Anschließend kann man die Konfigurations-Datei '''.git/config''' ändern, um kürzere Befehle benutzen zu können. Die Datei sollte so aussehen:&lt;br /&gt;
 [core]&lt;br /&gt;
 	repositoryformatversion = 0&lt;br /&gt;
 	filemode = true&lt;br /&gt;
 	bare = false&lt;br /&gt;
 	logallrefupdates = true&lt;br /&gt;
 [remote &amp;quot;origin&amp;quot;]&lt;br /&gt;
 	url = ssh://user@remotehost/home/user/foo.git&lt;br /&gt;
 	fetch = +refs/heads/*:refs/remotes/origin/*&lt;br /&gt;
 [branch &amp;quot;master&amp;quot;]&lt;br /&gt;
 	remote = origin&lt;br /&gt;
 	merge = refs/heads/master&lt;br /&gt;
 [user]&lt;br /&gt;
 	name = user&lt;br /&gt;
 	email = user@example.com&lt;br /&gt;
=== Arbeiten mit dem Git-Repo ===&lt;br /&gt;
Holt die Änderungen des Remote Repositorys:&lt;br /&gt;
 git pull&lt;br /&gt;
Sendet die Veränderungen an das Remote Repository:&lt;br /&gt;
 git push&lt;br /&gt;
Zeigt den Commit-Log an&lt;br /&gt;
 git log&lt;br /&gt;
Zeigt noch nicht gespeicherte Änderungen an:&lt;br /&gt;
 git diff&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
http://git-scm.com&lt;br /&gt;
&lt;br /&gt;
alternativ: [[Subversion im CS-Netz]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie: Überleben im Fakultätsnetz]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Git_im_CS-Netz&amp;diff=15395</id>
		<title>Diskussion:Git im CS-Netz</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Git_im_CS-Netz&amp;diff=15395"/>
		<updated>2010-11-19T12:10:05Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Berechtigungen im AFS für Git setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Berechtigungen im AFS für Git setzen =&lt;br /&gt;
&lt;br /&gt;
Die benötigten Befehle stehen in der tubIT-Dokumentation: http://www.tubit.tu-berlin.de/fileadmin/a40000000/tubIT/KD/pdf/Aendern_von_AFS-Rechten.pdf&lt;br /&gt;
&lt;br /&gt;
Die wesentlichen Schritte für ein Git-Repository sind hier zusammengefasst:&lt;br /&gt;
&lt;br /&gt;
user: eigene tubIT-Benutzerkennung; X: Anfangsbuchstabe von eigener tubIT-Benutzerkennung; user2: tubIT-Benutzerkennung von der Person, die Zugriffsrechte bekommen soll; kurs: Repository Name (z. B. Kurs-/Modulname)&lt;br /&gt;
&lt;br /&gt;
 cd /afs/tu-berlin.de/home/X/user&lt;br /&gt;
 mkdir -p repository/kurs&lt;br /&gt;
 pts creategroup user:kurs&lt;br /&gt;
 pts adduser user2 user:kurs&lt;br /&gt;
 fs setacl -dir repository/kurs -acl user:kurs rlidwk&lt;br /&gt;
 fs setacl -dir repository -acl user:kurs l&lt;br /&gt;
 fs setacl -dir . -acl user:kurs l&lt;br /&gt;
&lt;br /&gt;
Das Entscheidende ist, dass die dem Repository übergeordneten Verzeichnisse das '''l'''ookup-Recht haben. Dies hat zur Folge, dass user2 auch die Inhalte von der Hauptebene auflisten (jedoch nicht lesen) kann. Daher sollten persönliche Dokumente ggf. in andere Unterverzeichnisse gepackt werden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Kann das wer testen/gegenchecken und ggf. in den Hauptartikel einbauen? Außerdem sollten im Artikel die Pfade wohl auch besser auf /afs/tu-berlin.de/... geändert werden.--[[Benutzer:Stefan|Stefan]] 13:09, 19. Nov. 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Git_im_CS-Netz&amp;diff=15394</id>
		<title>Diskussion:Git im CS-Netz</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Git_im_CS-Netz&amp;diff=15394"/>
		<updated>2010-11-19T12:09:35Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Beispiel, wie Berechtigungen zu setzen sind&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Berechtigungen im AFS für Git setzen =&lt;br /&gt;
&lt;br /&gt;
Die benötigten Befehle stehen in der tubIT-Dokumentation: http://www.tubit.tu-berlin.de/fileadmin/a40000000/tubIT/KD/pdf/Aendern_von_AFS-Rechten.pdf&lt;br /&gt;
&lt;br /&gt;
Die wesentlichen Schritte für ein Git-Repository sind hier zusammengefasst:&lt;br /&gt;
&lt;br /&gt;
user: eigene tubIT-Benutzerkennung&lt;br /&gt;
X: Anfangsbuchstabe von eigener tubIT-Benutzerkennung&lt;br /&gt;
user2: tubIT-Benutzerkennung von der Person, die Zugriffsrechte bekommen soll&lt;br /&gt;
kurs: Repository Name (z. B. Kurs-/Modulname)&lt;br /&gt;
&lt;br /&gt;
cd /afs/tu-berlin.de/home/X/user&lt;br /&gt;
mkdir -p repository/kurs&lt;br /&gt;
pts creategroup user:kurs&lt;br /&gt;
pts adduser user2 user:kurs&lt;br /&gt;
fs setacl -dir repository/kurs -acl user:kurs rlidwk&lt;br /&gt;
fs setacl -dir repository -acl user:kurs l&lt;br /&gt;
fs setacl -dir . -acl user:kurs l&lt;br /&gt;
&lt;br /&gt;
Das Entscheidende ist, dass die dem Repository übergeordneten Verzeichnisse das '''l'''ookup-Recht haben. Dies hat zur Folge, dass user2 auch die Inhalte von der Hauptebene auflisten (jedoch nicht lesen) kann. Daher sollten persönliche Dokumente ggf. in andere Unterverzeichnisse gepackt werden.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Kann das wer testen/gegenchecken und ggf. in den Hauptartikel einbauen? Außerdem sollten im Artikel die Pfade wohl auch besser auf /afs/tu-berlin.de/... geändert werden.--[[Benutzer:Stefan|Stefan]] 13:09, 19. Nov. 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=SSH&amp;diff=15377</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=SSH&amp;diff=15377"/>
		<updated>2010-11-15T20:45:09Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Liste der Server im CS-Netz */ sshgate.tu-berlin.de ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SSH''' steht für '''Secure Shell''' und bezeichnet ein Netzwerkprotokoll, mit dem man sich auf entfernten Rechnern einloggen kann, um dort Programme auszuführen. Außerdem ist es möglich, über SSH auch Dateien zu kopieren (per '''scp''' oder '''sftp''') oder andere Protokolle zu tunneln.&lt;br /&gt;
&lt;br /&gt;
SSH ist ein Ersatz für das '''Telnet'''-Protokoll, mit dem man sich ebenfalls auf anderen Rechnern einloggen kann und für '''FTP''', das auch noch heute häufig für den Datentransfer verwendet wird. Telnet  und FTP arbeiten im Gegensatz zu SSH jedoch unverschlüsselt, somit ist es einfach, die übertragenen Daten und somit auch die Passwörter von anderen Benutzern mitzulesen.&lt;br /&gt;
&lt;br /&gt;
== Programme ==&lt;br /&gt;
&lt;br /&gt;
Bei allen [[Unix]]/[[Linux]]-Systemen sind SSH-Clients vorhanden und werden meist auch schon standardmäßig mitinstalliert (Kommandos: &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scp&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sftp&amp;lt;/code&amp;gt;). Für [[Windows]]-Systeme gibt es ebenfalls einige SSH-Clients, am häufigsten wird wohl [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] verwendet.&lt;br /&gt;
&lt;br /&gt;
Ein SFTP und SCP-Client zum Kopieren von Dateien über das Netzwerk ist ebenfalls bei [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] vorhanden. [http://winscp.sourceforge.net/eng/ WinSCP] ist ein weiterer SCP/SFTP-Client für [[Windows]].&lt;br /&gt;
&lt;br /&gt;
Wo nicht anders angegeben, bezieht sich die weitere Beschreibung auf die OpenSSH-Implementierung. Diese gehört in modernen Linuxdistributionen und im Fakultätsnetz zur Standardausrüstung.&lt;br /&gt;
&lt;br /&gt;
== SSH für den Zugriff auf das Fakultätsnetz ==&lt;br /&gt;
&lt;br /&gt;
Per SSH könnt ihr auch bequem von zu Hause aus auf das Fakultätsnetz zugreifen und auf den Workstations oder Servern in der Uni Kommandos ausführen oder Dateien aus oder in den eigenen Bereich kopieren.&lt;br /&gt;
&lt;br /&gt;
=== Liste der Server im CS-Netz ===&lt;br /&gt;
&lt;br /&gt;
Auf folgenden Rechnern des IRB können sich Studenten einloggen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe5&amp;quot;&lt;br /&gt;
! Rechnername              !! tubit-Account  !! CS-Account !! Kerne !! Threads !! GhZ / Kern !! OS&lt;br /&gt;
|-&lt;br /&gt;
|fiesta.cs.tu-berlin.de    || nein || ja || 2*UltraSparc T2 || 128 || 1,2 ||&lt;br /&gt;
|-&lt;br /&gt;
|bolero.cs.tu-berlin.de    || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|bird.cs.tu-berlin.de      || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|caramba.cs.tu-berlin.de   || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|cartero.cs.tu-berlin.de   || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|bruja.cs.tu-berlin.de     || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|brujo.cs.tu-berlin.de     || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|pepita.cs.tu-berlin.de    || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|pepino.cs.tu-berlin.de    || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|condesa.cs.tu-berlin.de   || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|bonito.cs.tu-berlin.de    || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|caro.cs.tu-berlin.de      || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|conde.cs.tu-berlin.de      || nein || ja || || || ||&lt;br /&gt;
|-&lt;br /&gt;
|hombre.cs.tu-berlin.de    || ja || nein || UltraSPARC-T2+ || 128 || 1,415 ||&lt;br /&gt;
|-&lt;br /&gt;
|pronto.cs.tu-berlin.de    || ja || nein || UltraSPARC-T2+ || 128 || 1,415 ||&lt;br /&gt;
|-&lt;br /&gt;
|bazar.cs.tu-berlin.de     || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|-&lt;br /&gt;
|siesta.cs.tu-berlin.de    || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|- &lt;br /&gt;
|quepasa.cs.tu-berlin.de   || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|-&lt;br /&gt;
|sombrero.cs.tu-berlin.de  || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|-&lt;br /&gt;
|tienda.cs.tu-berlin.de  || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|-&lt;br /&gt;
|manana.cs.tu-berlin.de  || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|-&lt;br /&gt;
|trueno.cs.tu-berlin.de  || ja || nein || UltraSPARC-T2 || 64 || 1,165 ||&lt;br /&gt;
|-&lt;br /&gt;
|kiosco.cs.tu-berlin.de  || ja || nein || UltraSPARC-T2+ || 128 || 1,415 ||&lt;br /&gt;
|-&lt;br /&gt;
|furor.cs.tu-berlin.de    || ja || nein || 8 * Intel Xeon E5440  ||  || 2,003 || Ubuntu&lt;br /&gt;
|-&lt;br /&gt;
|cascada.cs.tu-berlin.de  || ja || nein || 6 * Intel Xeon E5440  ||  || 2,826 || Ubuntu&lt;br /&gt;
|-&lt;br /&gt;
|turbador.cs.tu-berlin.de || ja || nein || 6 * Intel Xeon E5440  ||  || 2,826 || Ubuntu&lt;br /&gt;
|-&lt;br /&gt;
|racha.cs.tu-berlin.de || ja || nein ||   ||  ||  || Ubuntu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Desweiteren wird sshgate.tu-berlin.de [http://www.tubit.tu-berlin.de/menue/dienste/internet/ssh_zugang/ von tubIT angeboten]. Auf diesem System ist außer Vim kaum weitere Software installiert und es scheint pro Benutzer nur eine Verbindung zugelassen zu sein. Jedoch kann es z. B. benutzt werden, um via sshfs einfach Zugriff auf die AFS-Daten zu erhalten.&lt;br /&gt;
&lt;br /&gt;
=== Arbeiten auf den Rechnern in der Uni ===&lt;br /&gt;
Das Einloggen funktioniert vom Prinzip her so:&lt;br /&gt;
 ssh ''benutzername''@''rechnername''&lt;br /&gt;
oder wenn man sich mit dem Benutzernamen einloggen will, den man gerade verwendet:&lt;br /&gt;
 ssh ''rechnername''&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis ist im Allgemeneinen eine Shell auf dem angegebenen Rechner mit den Rechten des angegebenen Benutzers.&lt;br /&gt;
&lt;br /&gt;
Als Rechnernamen könnt Ihr alle in der Tabelle oben angegebenen Rechner im Fakultätsnetz verwenden, Ihr müsst nur darauf achten, welche Art von Account ihr besitzt. Alle seit 2009 erstellten Accounts sind in der Regel reine tubit-Accounts.&lt;br /&gt;
&lt;br /&gt;
Windows-SSH-Clients verfügen meist über eine [[GUI]], über die ihr den gewünschten Rechner, Euren Benutzernamen und das Passwort eingeben könnt.&lt;br /&gt;
&lt;br /&gt;
Wenn ihr auf einem Unix/Linux-Rechner (oder auch unter Windows, wenn Ihr einen X-Server installiert habt) arbeitet, besteht auch die Möglichkeit, grafische Programme auf Rechnern in der Uni zu starten und die Ausgabe auf den heimischen Rechner umzuleiten, dies wird als X11-Forwarding bezeichnet.&lt;br /&gt;
&lt;br /&gt;
Um X11-Forwarding zu aktivieren, muss beim Aufruf der Parameter &amp;lt;code&amp;gt;-X&amp;lt;/code&amp;gt; oder sicherer &amp;lt;code&amp;gt;-Y&amp;lt;/code&amp;gt; mit angegeben werden, außerdem empfiehlt es sich vor allem bei langsamen Internetzugängen (Modem, ISDN, ADSL), die Verbindung zu komprimieren (&amp;lt;code&amp;gt;-C&amp;lt;/code&amp;gt;):&lt;br /&gt;
 ssh -Y -C ''benutzer''@''rechnername''&lt;br /&gt;
 ssh -X -C ''benutzer''@''rechnername''&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, aus Sicherheitsgründen immer zuerst das Forwarding mittels -Y zu aktivieren - da bei -X der Zugriff von den Unirechnern auf den Heimischen X-Desktop möglich ist.&lt;br /&gt;
&lt;br /&gt;
Es besteht auch die Möglichkeit, eigenes Arbeitsplatz nur als X-Terminal zum Uni-Rechnern zu nutzten. Dazu muss man auf eigenen Rechner eine X-Session nur mit Terminalfenster öffnen. Bei GDM geht das, wenn man als Session &amp;quot;Failsafe Terminal&amp;quot; wählt. Dann verbindet sich man mit X-Forwarding zum Uni-Rechner und feuert &amp;lt;code&amp;gt;gnome-session&amp;lt;/code&amp;gt; ab. So wird Java Desktop System erzeugt. Man soll den Terminalfenster mit gnome-session nicht schließen, bis man sich nicht ausloggen will. Es können auch andere X-Sessions gestartet werden, wenn man die entsprechende Kommandos kennt, &lt;br /&gt;
z.B. &amp;lt;code&amp;gt;twm, icewm, fvwm&amp;lt;/code&amp;gt;. Die Verbindung sollte dann allerdings etwas besser sein, da größere Datenmengen übertragen werden.&lt;br /&gt;
&lt;br /&gt;
Wer keine Lust hat, bei jedem Login ein Passwort einzugeben, kann statt dessen Public-Key-Authentifizierung benutzen. Dazu erstellt man, sofern noch nicht geschehen, zu Hause einen öffentlichen und einen privaten Schlüssel für SSH, zum Beispiel mit&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
und leerer Passphrase, kopiert dann die soeben erstellte Datei id_rsa.pub ('''nicht''' id_rsa - die ist geheim!) mit scp ins Homeverzeichnis im Fakultätsnetz. Verbindet euch danach per SSH dorthin und führt dort&lt;br /&gt;
 cat id_rsa.pub &amp;gt;&amp;gt; .ssh/authorized_keys&lt;br /&gt;
aus. Die kopierte Datei kann danach entfernt werden. (Vorsicht: $HOME/.ssh/id_rsa* '''nicht''' löschen.)&lt;br /&gt;
&lt;br /&gt;
Hinweis: Für die neuen Server mit tubit-Authentifizierung funktioniert dies leider nicht so einfach, da hier das Homeverzeichnis per AFS von tubit gemounted wird und dazu ein Kerberos-Ticket notwendig ist. Mehr Informationen bald im Artikel [[Tubit-AFS]].&lt;br /&gt;
&lt;br /&gt;
=== Kopieren von Dateien ===&lt;br /&gt;
Mit Hilfe von '''scp''' oder '''sftp''' könnt Ihr auch Dateien von der Uni nach Hause kopieren oder umgekehrt. Für Windows und auch Unix/Linux gibt es dafür grafische Programme, die ähnlich wie gewöhnliche FTP-Clients aussehen und funktionieren. Viele FTP-Programme beherrschen mittlerweile auch SFTP, darunter auch [http://filezilla.sourceforge.net/ FileZilla], [http://gftp.seul.org/ gFTP] etc.&lt;br /&gt;
&lt;br /&gt;
GNOME und KDE bieten außerdem die Möglichkeit, direkt auf SSH-Accounts mittels der Dateiverwaltung (Nautilus/Konqueror) zuzugreifen. Der URL dazu lautet: &amp;lt;code&amp;gt;sftp://BENUTZERNAME@user.cs.tu-berlin.de:22/~&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe von [[WikiPedia:Filesystem_in_Userspace|FUSE]] kann man die Daten eines anderen Rechners auch per ssh/sftp mounten, das heißt ins lokale Dateisystem einhängen.&lt;br /&gt;
&lt;br /&gt;
Auf der Konsole unter Unix/Linux funktioniert das Kopieren von Dateien so (Kopieren von entferntem auf lokalen Rechner):&lt;br /&gt;
 scp ''benutzername''@''rechnername'':''Quelle'' ''Ziel''&lt;br /&gt;
oder umgekehrt (von lokalem Rechner auf entfernten):&lt;br /&gt;
 scp ''Quelle'' ''benutzername''@''rechnername'':''Ziel''&lt;br /&gt;
Es gilt im Wesentlichen die Semantik von &amp;lt;code&amp;gt;[[Die wichtigsten Unix-Befehle#cp|cp]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Natürlich ist es auch möglich mehrere Dateien oder ganze Verzeichnisse einschließlich Unterverzeichnissen ([[Rekursion|rekursiv]]) oder Dateien zwischen verschiedenen entfernten Rechnern zu kopieren. Weitere Informationen dazu erhält man über die [[Manpage]] zu scp (&amp;lt;code&amp;gt;man scp&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Tunnel mit SSH ===&lt;br /&gt;
SSH kann auch allgemein eine Verbindung zu einem entfernten Rechner herstellen und als Tunnel agieren, also Daten zwischen eigenem und entferntem Rechner transportieren. Dazu zwei Beispiele.&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf &amp;lt;code&amp;gt;news.cs.tu-berlin.de&amp;lt;/code&amp;gt; von zu Hause ====&lt;br /&gt;
Der Newsserver erlaubt den Schreibzugriff nur für Rechner im Fakultätsnetz. Mit einem Tunnel kann man das simulieren:&lt;br /&gt;
 ssh -L localhost:20119:news.cs.tu-berlin.de:119 -l ''foo'' -T fiesta.cs.tu-berlin.de&lt;br /&gt;
Dabei ist 20119 die Portnummer auf dem eigenen Rechner, zu der die Verbindung weitergeleitet wird, &amp;lt;code&amp;gt;fiesta.cs.tu-berlin.de&amp;lt;/code&amp;gt; der Rechner, von dem aus sie hergestellt wird und ''foo'' der eigene Benutzername im Fakultätsnetz.&lt;br /&gt;
&lt;br /&gt;
'''Seit dem 30.12.2005 gibt es den Rechner &amp;quot;news.cs.tu-berlin.de&amp;quot; nicht mehr (abgeschaltet).&lt;br /&gt;
Die TU verweist auf den Newsserver des DFN &amp;quot;News.CIS.DFN.DE&amp;quot;'''&lt;br /&gt;
Nutzerordnung unter: http://news.cis.dfn.de/dnn/&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf &amp;lt;code&amp;gt;mailhost.cs.tu-berlin.de&amp;lt;/code&amp;gt; von zu Hause ====&lt;br /&gt;
&lt;br /&gt;
Dies wird in einem eigenen Artikel beschrieben: [[Email]]&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf Webseiten mit IP-Adressen-Zugriffsbeschränkung ====&lt;br /&gt;
Dank der Unibibliothek kann man von Unirechnern aus Inhalte aus dem WWW abrufen, an die man sonst nicht so leicht herankommt. Für Informatiker und/oder E-Techniker ist zum Beispiel der Zugriff auf die [http://ieeexplore.ieee.org/ IEEE-Normen] interessant; weitere Information gibt es auf der [http://www.ub.tu-berlin.de/ Homepage der Bibliothek]. Um darauf von zu Hause zuzugreifen, richtet man zum Beispiel mit&lt;br /&gt;
 ssh -L localhost:28080:www.cs.tu-berlin.de:81 -l ''foo'' -T fiesta.cs.tu-berlin.de&lt;br /&gt;
einen Tunnel zwischen dem Proxyserver im Fakultätsnetz (siehe http://irb.cs.tu-berlin.de/dienste/www/proxy.html für Portnummern) und Port 28080 auf dem eigenen Rechner über fiesta.cs.tu-berlin.de ein und stellt im Lieblingsbrowser &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; und Port 28080 als Proxyserver ein. ''foo'' ist dabei wieder der Benutzername.&lt;br /&gt;
&lt;br /&gt;
==== SSH als SOCKS-Proxy ====&lt;br /&gt;
&lt;br /&gt;
Seit einiger Zeit ist der ssh-Client auch in der Lage, als socks-Proxy zu fungieren.&lt;br /&gt;
&lt;br /&gt;
Dazu starte man ihn mit der Option -D8080 und gebe als SOCKS-Proxy localhost und port 8080 an. Die Felder zu HTTP/FTP-Proxy in der Konfiguration des Lieblingsbrowsers bleiben dabei leer:&lt;br /&gt;
&lt;br /&gt;
 ssh -D 8080 login@bolero.cs.tu-berlin.de &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Nachteil von SSH-Tunnels ist, dass sie im Vergleich zu direkten Verbindungen einen Ressourcenoverhead hinzufügen. Deshalb sollten sie genau dann benutzt werden, wenn die zusätzliche Funktionalität tatsächlich benötigt wird.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* http://www.openssh.com/&lt;br /&gt;
* http://www.ssh.com/&lt;br /&gt;
* http://www.chiark.greenend.org.uk/~sgtatham/putty/&lt;br /&gt;
* http://www.cygwin.com/ - Eine Sammlung auf Windows portierter Unix-typischer freier Software, inklusive X-Server und ssh.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;br /&gt;
[[Kategorie: Überleben im Fakultätsnetz]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal_f%C3%BCr_Linux/Unix&amp;diff=15374</id>
		<title>Opal für Linux/Unix</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal_f%C3%BCr_Linux/Unix&amp;diff=15374"/>
		<updated>2010-11-15T19:22:01Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Debian */ nicht mehr aktuell&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier gibt es fertige Pakete für die gängigsten Linux-Distributionen und andere Unix-Derivate. Wenn ihr Linux verwenden wollt und falls ihr Linux noch nicht auf eurem Rechner installiert habt, könnt ihr einfach [[Opalix]] verwenden, es liefert euch eine komplette Linuxumgebung, ohne es dauerhaft installieren zu müssen. &lt;br /&gt;
&lt;br /&gt;
Falls ihr eine Distribution einsetzt, die hier nicht aufgeführt ist, und gerne ein Paket kompilieren würdet, euch aber nicht so ganz sicher seid, wie das geht, dann wendet euch an &amp;lt;email&amp;gt;opalix@freitagsrunde.org&amp;lt;/email&amp;gt;. Wir helfen euch gerne!&lt;br /&gt;
&lt;br /&gt;
Allerdings muss man leider auch anmerken, dass der Opal-Buildprozess sehr schlecht organisiert ist. So wird z.B. nicht zwischen Kompilation- und Installationsphase unterschieden und die generierten Scripte unterstützen DESTDIR nicht, was aber eigentlich eine zwingende Voraussetzung für ein vernünftiges Packaging in den Distributionen ist. Diese Probleme machen es nicht einfach, Pakete zu erstellen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;&lt;br /&gt;
Und noch ein Bad-Code-Hinweis: Das gesamte System, angefangen vom build-Prozess bis hin zum Opalinterpreter, geht hart davon aus, auf einem 32-Bit System zu laufen. D.h. bei Hashfunktionen wird darauf vertraut, dass es einen Überlauf nach 32 Bit gibt. &amp;lt;b&amp;gt;Daher ist es unmöglich Opal auf einem 64-Bit-System zum Laufen zu bekommen&amp;lt;/b&amp;gt;. Einzig in einem 32-Bit chroot ist die Verwendung möglich. &lt;br /&gt;
&amp;lt;/del&amp;gt;&lt;br /&gt;
OPAL kann mit ein Wenig Mühe unter 64 Bit zum Laufen gebracht werden. Tatsächlich ist das eigentliche Problem die Verwendung der .inter und .opt Dateien aus einem vorherigen 32 Bit Build. Das Buildsystem geht davon aus, dass die schon funktionieren würden, was allerdings nicht klappt, da sie effektiv ein Dump der 32 Bit Datenstrukturen sind. An dem Problem wird gearbeitet.&lt;br /&gt;
&lt;br /&gt;
= Hinweis zum Selber-Kompilieren =&lt;br /&gt;
&lt;br /&gt;
Mit aktuellen gcc/glibc-Versionen (&amp;gt;=4.0) kompiliert OPAL &amp;lt;= 2.3j nicht mehr, da eine obsolete Funktion entfernt wurde. Ab Version 2.3k funktioniert es wieder.&lt;br /&gt;
&lt;br /&gt;
Dirk Reckmann und Stephan Frank (ÜBB Gruppe), haben uns einen [http://opalix.freitagsrunde.org/rpm/patches/CLK_TCK.patch Patch] für die älteren Quellen zum Übersetzen des OCS mit gcc 4.1 zur Verfügung gestellt.&lt;br /&gt;
Diesen könnt ihr einfach einspielen durch:&lt;br /&gt;
 cd &amp;lt;OPAL_UNPACK_DIRECTORY&amp;gt;/ocs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget http://opalix.freitagsrunde.org/rpm/patches/CLK_TCK.patch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 patch -p0 &amp;lt; CLK_TCK.patch&lt;br /&gt;
&lt;br /&gt;
= SuSE =&lt;br /&gt;
Das Paket installiert OPAL nach &amp;lt;code&amp;gt;/opt/ocs&amp;lt;/code&amp;gt;. Damit ihr &amp;lt;code&amp;gt;oasys&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;ocs&amp;lt;/code&amp;gt; benutzen könnt, müsst ihr die folgende Zeile in die Datei &amp;lt;code&amp;gt;$HOME/.bashrc&amp;lt;/code&amp;gt; eintragen:&lt;br /&gt;
&lt;br /&gt;
    export PATH=/opt/ocs/bin:$PATH &lt;br /&gt;
&lt;br /&gt;
==Aktuelle Versionen==&lt;br /&gt;
Unsere Pakete für aktuelle Versionen von SuSE (siehe auch [[Opal_f%C3%BCr_Linux#C_Compiler_fehlt | Bekannte Probleme/Lösungen]] weiter unten).&lt;br /&gt;
&lt;br /&gt;
* SuSE 11.0: [http://opalix.freitagsrunde.org/rpm/opal_suse11.00.tar.gz opal_suse11.00.tar.gz] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme]) Vielen Dank an Rene Waidt&lt;br /&gt;
* SuSE 10.1: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i386.suse10.1.rpm opal-2.3j-1.i386.suse10.1.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])&lt;br /&gt;
* SuSE 10.0: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i386.suse10.0.rpm opal-2.3j-1.i386.suse10.0.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])&lt;br /&gt;
&lt;br /&gt;
== Alte Versionen ==&lt;br /&gt;
Zusätzlich zu den Paketen für aktuelle SuSE Versionen gibt es auch noch Pakete für ältere Versionen auf dem Server.&lt;br /&gt;
&lt;br /&gt;
* SuSE 9.2: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i586.suse9.2.rpm opal-2.3j-1.i586.suse9.2.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])&lt;br /&gt;
* SuSE 9.1: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i386.rpm opal-2.3j-1.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])&lt;br /&gt;
* SuSE 9.0: [http://opalix.freitagsrunde.org/rpm/alte_versionen/opal-2.3h-2.i686.suse9.0.rpm opal-2.3h-2.i686.suse9.0.rpm] ([http://opalix.freitagsrunde.org/rpm/alte_versionen/MD5SUMS Prüfsumme]) &lt;br /&gt;
&lt;br /&gt;
= Fedora =&lt;br /&gt;
Das Paket installiert OPAL nach &amp;lt;code&amp;gt;/opt/ocs&amp;lt;/code&amp;gt;, damit ihr an der Shell die Kommandos benutzen könnt, müsst ihr die folgende Zeile in eure &amp;lt;code&amp;gt;.bashrc&amp;lt;/code&amp;gt; eintragen:&lt;br /&gt;
&lt;br /&gt;
    export PATH=/opt/ocs/bin:$PATH &lt;br /&gt;
&lt;br /&gt;
Laut Berichten gibt es Probleme zwischen SELinux und dem Opalinterpreter oasys. Vermutlich hilft hier ein Deaktivieren von SELinux für Opal bzw. das Erstellen von korrekten Regeln.&lt;br /&gt;
* '''Fedora Core 6''': &amp;lt;br&amp;gt; [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.fc6.i386.rpm opal-2.3j-1.fc6.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme]) Vielen Dank an Dennis Schickhaus.&lt;br /&gt;
* '''Fedora Core 5''': &amp;lt;br&amp;gt; [http://opalix.freitagsrunde.org/rpm/opal-2.3k-1.fc5.i386.rpm opal-2.3k-1.fc5.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme]) Vielen Dank an Christoph Höger. &amp;lt;br&amp;gt; [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.fc5.i386.rpm opal-2.3j-1.fc5.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme]) Vielen Dank an Dennis Schickhaus.&lt;br /&gt;
* '''Fedora Core 3''': &amp;lt;br&amp;gt; [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.FC-3.i386.rpm opal-2.3j-1.FC-3.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme]) Vielen Dank an Christoph Höger.&lt;br /&gt;
&lt;br /&gt;
= Andere RPM-basierte Distributionen =&lt;br /&gt;
&lt;br /&gt;
* Quellpaket: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.src.rpm opal-2.3j-1.src.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])&lt;br /&gt;
&lt;br /&gt;
Wenn Ihr Opal auf einer anderen RPM-basierten Distribution neukompilieren wollt, könnt Ihr das SRPM-Paket benutzen. Einfach an der Shell&lt;br /&gt;
&lt;br /&gt;
    rpmbuild --rebuild --target i386 opal-2.3j-1.src.rpm &lt;br /&gt;
&lt;br /&gt;
ausführen. Ihr benötigt dabei die Pakete &amp;lt;code&amp;gt;tcl-devel&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tk-devel&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;xfree86-devel&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;flex&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;readline-devel&amp;lt;/code&amp;gt;. Wenn ihr neue Pakete baut, wäre es nett, wenn ihr sie hier anderen zur Verfügung stellt. Sagt einfach unter &amp;lt;email&amp;gt;opalix@freitagsrunde.org&amp;lt;/email&amp;gt; Bescheid, wo sie zu finden sind.&lt;br /&gt;
&lt;br /&gt;
Alternativ könnt ihr auch das Paket komplett neu aus den Sourcen erstellen. Dazu benötigt ihr das so genannte spec-file. Falls ihr Fragen habt, wie ihr damit ein Paket kompiliert, wendet euch einfach an &amp;lt;email&amp;gt;opalix@freitagsrunde.org&amp;lt;/email&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* spec file: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.spec opal-2.3j-1.spec]&lt;br /&gt;
&lt;br /&gt;
= Debian =&lt;br /&gt;
Das Paket für Debian enthält die &amp;lt;strike&amp;gt;aktuelle&amp;lt;/strike&amp;gt; Version 2.3j.&lt;br /&gt;
Es gibt ein &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; Repository, das man mit folgenden Zeilen in der Datei /etc/apt/sources.list einstellen kann:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://opalix.freitagsrunde.org/debian-rep ./&lt;br /&gt;
deb-src http://opalix.freitagsrunde.org/debian-rep ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das Package heißt ocs und lässt sich mit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ocs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
installieren.&lt;br /&gt;
Vielen Dank an Marco Ziech für seine Zeit und Mühe, das Paket und Repository zu erstellen!&lt;br /&gt;
!Achtung, das Paket verträgt sich nicht mit dem Paket cscope, da beide /usr/bin/ocs ausliefern, cscope deinstallieren oder Paket fixen!&lt;br /&gt;
&lt;br /&gt;
= Ubuntu =&lt;br /&gt;
Prinzipiell könnt ihr das [http://opalix.freitagsrunde.org/debian-rep/ocs_2.3j-1_i386.deb Paket für Debian] unter Ubuntu einsetzen. In Einzelfällen kann es zu Problemen kommen, die ein [[Opal unter Ubuntu kompilieren|Kompilieren aus den Quellen]] erforderlich machen. Generell ist das Verwenden des Pakets vorzuziehen, da das Selbst-Kompilieren nicht immer einfach ist. In jedem Fall ist es erforderlich, das Paket &amp;quot;build-essential&amp;quot; installiert zu haben.&lt;br /&gt;
 &lt;br /&gt;
Allerdings ist zu beachten das das Debian Paket bei dem Versuch es auf einem 64-Bit System zu installieren, einen Fehler ausgibt, da es für ein 32-bit System gedacht ist.(wrong architecture).&lt;br /&gt;
&lt;br /&gt;
* '''8.10 (Intrepid Ibex)''': Das manuelle herunterladen und installieren des Debian-Pakets funktioniert problemlos. Es sollten jedoch vorher alle Abhängigkeiten (siehe unten) installiert worden sein.&lt;br /&gt;
* '''8.04 LTS (Hardy Heron)''': Das manuelle herunterladen und installieren des Debian-Pakets funktioniert problemlos. Es sollten jedoch vorher alle Abhängigkeiten (siehe unten) installiert worden sein.&lt;br /&gt;
* '''7.04 (Feisty Fawn)''': Das manuelle herunterladen und installieren des Debian-Pakets funktioniert problemlos. Es sollten jedoch vorher alle Abhängigkeiten (siehe unten) installiert worden sein.&lt;br /&gt;
* '''6.10 (Edgy Eft)''': Das Paket für Debian, bezogen über das Repository, funktioniert gut. Das Selbstkompilieren der Version 2.3k verlief fehlerlos.&lt;br /&gt;
* '''6.06 (Dapper Drake)''': Das Paket für Debian funktioniert definitiv unter Dapper Drake. Es ist dem Selbstkompilieren vorzuziehen, da es mehrere Berichte über Compiler-Inkompatibilitäten unter Dapper Drake gibt.&lt;br /&gt;
* '''5.10 (Breezy Badger)''': Da es anscheinend Probleme mit den Paketen von Debian unter Ubuntu 5.10 gibt, ist  hier anscheinend eine Installationen aus den Quellen nötig. Nähere Informationen findet ihr auf der Seite [[Opal unter Ubuntu kompilieren]].&lt;br /&gt;
&lt;br /&gt;
== Paket Installation ==&lt;br /&gt;
Es gibt zwei Möglichkeiten, dass Paket für Debian zu Installieren.&lt;br /&gt;
&lt;br /&gt;
Entweder man lädt das Paket manuell herunter und installiert es mit dpkg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://opalix.freitagsrunde.org/debian-rep/ocs_2.3j-1_i386.deb&lt;br /&gt;
sudo dpkg -i ocs_2.3j-1_i386.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nutzer mit einem 64-Bit System können Probleme beim Installieren haben. Abhilfe schafft es die Überprüfung der richtigen System Architektur zu überspringen. Achtung: Das überspringen der Überprüfung garantiert nicht das das Programm einwandfrei läuft. In den meisten Fällen wird OPAL, wenn es auf diese Weise installiert wird, nicht funktionieren. Meist müssen auch noch weitere Abhängigkeiten installiert werden. [http://wiki.ubuntuusers.de/64bit-Architektur#32-Bit-Programme-erzwingen Weite Infos und zur Installation ] von 32-bit Programmen unter 64-bit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://opalix.freitagsrunde.org/debian-rep/ocs_2.3j-1_i386.deb&lt;br /&gt;
sudo dpkg -i --force-architecture ocs_2.3j-1_i386.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man wie bei Debian das Repository &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://opalix.freitagsrunde.org/debian-rep ./&lt;br /&gt;
deb-src http://opalix.freitagsrunde.org/debian-rep ./&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hinzufügen.&lt;br /&gt;
&lt;br /&gt;
'''Per GUI''':&lt;br /&gt;
* Startleiste -&amp;gt; System -&amp;gt; Systemverwaltung -&amp;gt; Synaptic-Paketverwaltung starte&lt;br /&gt;
* In der Synaptic-Paketverwaltung im Menu Einstellungen -&amp;gt; Paketquellen&lt;br /&gt;
* Im Paketquellen-Fenster auf hinzufügen und benutzerdefiniert anklicken&lt;br /&gt;
* Repository-Zeilen nacheinander eintragen und FERTIG&lt;br /&gt;
&lt;br /&gt;
'''Zu Fuß''':&lt;br /&gt;
* Datei /etc/apt/sources.list im Editor öffnen&lt;br /&gt;
* Repository-Zeilen (siehe oben) in die Datei eintragen und FERTIG&lt;br /&gt;
&lt;br /&gt;
Nach diesem Prozedere muß Opal noch installiert werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user@ubuntulinux &amp;gt; sudo apt-get install ocs &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vielleicht muß vorher noch ein apt-get update gemacht werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user@ubuntulinux &amp;gt; sudo apt-get update &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FERTIG.&lt;br /&gt;
&lt;br /&gt;
Sollte es Probleme geben, stellt bitte sicher, dass die zur Funktion notwendigen Pakete installiert sind:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install gcc make libc6-dev tk8.4 tcl8.4 libreadline5-dev libncurses5-dev flex-old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gentoo =&lt;br /&gt;
Ein Ebuild gibt's aktuell im Overlay &amp;lt;s&amp;gt;rbu&amp;lt;/s&amp;gt; betagarden:&lt;br /&gt;
 # emerge -av layman # (Dort den Anweisungen folgen, um Layman auch einzurichten)&lt;br /&gt;
 # layman -f&lt;br /&gt;
 # layman -a betagarden&lt;br /&gt;
 # emerge dev-lang/opal&lt;br /&gt;
&lt;br /&gt;
Da das Ebuild maskiert ist, sind an dieser Stelle eventuell noch weitere Schritte nötig; die Installation maskierter Ebuilds ist hier erklärt: [http://www.gentoo.org/doc/de/handbook/handbook-x86.xml?part=3&amp;amp;chap=3#doc_chap3 Nutzung maskierter Pakete].&lt;br /&gt;
&lt;br /&gt;
Seit Version 2.3n unterstützt Opal nun offiziell auch 64-Bit-Umgebungen.&lt;br /&gt;
&lt;br /&gt;
= FreeBSD =&lt;br /&gt;
Es gibt einen FreeBSD-Port um OCS kompilieren zu können:&lt;br /&gt;
&lt;br /&gt;
 $ su&lt;br /&gt;
 # cd /usr/ports/lang/ocs&lt;br /&gt;
 # make install clean&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man sich ein bereits kompiliertes Paket installieren&lt;br /&gt;
&lt;br /&gt;
 $ su&lt;br /&gt;
 # pkg_add -r ocs&lt;br /&gt;
&lt;br /&gt;
Sowohl Kompilierer als auch Interpreter funktionieren einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Opalix in Vier Schritten aus Windows aus installieren  =&lt;br /&gt;
&lt;br /&gt;
Diese Methode ist sehr hilfreich für diejenigen die sich mit Linuxinstallationen, Partitionsmanagement und Bootloadern nicht auskennen!&lt;br /&gt;
&lt;br /&gt;
'''Schritt 1:'''&lt;br /&gt;
&lt;br /&gt;
Letztes development-release von Wubi [http://wubi-installer.org/devel/minefield/Wubi-9.04-rev134.exe herunterladen]&lt;br /&gt;
&lt;br /&gt;
'''Schritt 2:'''&lt;br /&gt;
&lt;br /&gt;
Opalix Live-CD ISO [http://opalix.freitagsrunde.org/iso/Opalix2009.iso herunterladen] (Wubi und ISO müssen sich im gleichen Ordner befinden!)&lt;br /&gt;
&lt;br /&gt;
'''Schritt 3:'''&lt;br /&gt;
GANZ WICHITG: Internetverbindung deaktivieren/trennen!&lt;br /&gt;
&lt;br /&gt;
'''Schritt 4:'''&lt;br /&gt;
Wubi ausführen. Die Sprache muss die gleiche sein wie die des Windows OS.&lt;br /&gt;
&lt;br /&gt;
Desktop Enviroment: Ubuntu (da Opalix auf Ubuntu basiert)&lt;br /&gt;
&lt;br /&gt;
Dem Installer folgen und beim Neustart im Bootmanager Ubuntu wählen.&lt;br /&gt;
&lt;br /&gt;
'''Fertig'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Bekannte Probleme/Lösungen =&lt;br /&gt;
&lt;br /&gt;
== C Compiler fehlt ==&lt;br /&gt;
'''Symptom''': Ihr erhaltet eine Fehlermeldung, die ungefähr so aussieht:&lt;br /&gt;
&lt;br /&gt;
 checking Binom.sign&lt;br /&gt;
 checking Binom.impl&lt;br /&gt;
 compiling Binom.impl&lt;br /&gt;
 /opt/ocs/lib/oasys/ccompiler: line 17: /usr/local/bin/gcc: No such file or directory&lt;br /&gt;
 /opt/ocs/lib/oasys/ccompiler: line 17: exec: /usr/local/bin/gcc: cannot execute: No such file or directory&lt;br /&gt;
 ERROR [C compiler]: /opt/ocs/lib/oasys/ccompiler exited abnormally&lt;br /&gt;
 aborted&lt;br /&gt;
&lt;br /&gt;
Auf einigen neueren Systemen (Ubuntu 5.10, SuSE 10.0) kommt es zu noch nicht genau geklärten Problemen von OCS mit der [[WikiPedia:GNU_Compiler_Collection|Gnu Compiler Collection (gcc)]]. OCS benötigt den C Compiler (ggf. zusätzlich installiern) und kann ihn dennoch nicht finden, so dass es zu diesem Fehler kommt. Wir haben noch nicht herausgefunden, woher der Fehler genau rührt, da er nicht auf allen Systemen reproduzierbar ist, aber es gibt einen Workaround.&lt;br /&gt;
&lt;br /&gt;
'''Lösung/Workaround''': Das Paket gcc installieren. Eventuell muss noch ein Symlink gesetzt werden, damit Opal den Compiler auch findet.&lt;br /&gt;
  ln -s `which gcc` /usr/local/bin/gcc # als root&lt;br /&gt;
&lt;br /&gt;
2.Workaround: einfach mal im Homeverzeichnis die Dateien (*.impl und *.sign speichern) und dort dann &amp;quot;oasys&amp;quot; ausführen.&lt;br /&gt;
&lt;br /&gt;
== Libraries fehlen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ oasys&lt;br /&gt;
 oasys version 1.1e (ocs version 2.3j), (c) 1989-2001 The OPAL Group, TU Berlin&lt;br /&gt;
 &amp;gt; a WhatsThat.sign&lt;br /&gt;
 loading WhatsThat.sign&lt;br /&gt;
 loading WhatsThat.impl&lt;br /&gt;
 &amp;gt;f WhatsThat.impl&lt;br /&gt;
 WhatsThat.impl&amp;gt;e WhatsThat(2)&lt;br /&gt;
 starting evaluator process&lt;br /&gt;
 /usr/bin/ld: crti.o: No such file: No such file or directory&lt;br /&gt;
 collect2: ld returned 1 exit status&lt;br /&gt;
 evaluator: cannot create transient shared object `/tmp/file7HXogh.so' for `./OCS/WhatsThat.o'&lt;br /&gt;
 connection lost&lt;br /&gt;
&lt;br /&gt;
Lösung: Paket '''build-essential''' installieren, z.B. mittels&lt;br /&gt;
 apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Opal]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal_unter_Ubuntu_kompilieren&amp;diff=15373</id>
		<title>Diskussion:Opal unter Ubuntu kompilieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal_unter_Ubuntu_kompilieren&amp;diff=15373"/>
		<updated>2010-11-15T19:20:01Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Der Link zu den Quellen von Opal stimmt nicht mehr -&amp;gt; 404&lt;br /&gt;
:: Habs korrigiert.--[[Benutzer:Stefan|Stefan]] 20:20, 15. Nov. 2010 (CET)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal_unter_Ubuntu_kompilieren&amp;diff=15372</id>
		<title>Opal unter Ubuntu kompilieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal_unter_Ubuntu_kompilieren&amp;diff=15372"/>
		<updated>2010-11-15T19:19:09Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* OCS Compilierung */ link zu den Sources korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Da es anscheinend Probleme mit den Paketen von Debian unter Ubuntu 5.10 &amp;quot;The Breezy Badger&amp;quot; gibt, wird hier die Quellcode-Installation beschrieben. Die Installation muss als root ausgeführt werden. &lt;br /&gt;
&lt;br /&gt;
Da Ubuntu standardmäßig den root-Account &amp;quot;deaktiviert&amp;quot; hat, könnt Ihr mit einem vorangestellten sudo die Befehle als &amp;quot;root&amp;quot; ausführen. Wer das Anmelden als root zulassen will oder mit ''su'' sich temporär im xterm root-Rechte geben will, sollte erst [http://wiki.ubuntuusers.de/sudo dies] lesen. Wenn es das ist was Du willst und Du wirklich weißt was Du machst, ließt Du [http://wiki.ubuntuusers.de/Serverinstallation?highlight=%28root%29%7C%28account%29#head-1954963dfa5a5e3c03e86f08fddfb6c49f62f80f hier] weiter.&lt;br /&gt;
Es wird dringend abgeraten den root-Account zu aktivieren.&lt;br /&gt;
&lt;br /&gt;
==== Benötigte Pakete ====&lt;br /&gt;
&lt;br /&gt;
==== Breezy 5.10 ====&lt;br /&gt;
tk8.3-dev, libreadline4-dev, gcc, flex&lt;br /&gt;
&lt;br /&gt;
==== Dapper 6.06 und Edgy 6.10 ====&lt;br /&gt;
tk8.3-dev, libreadline'''5'''-dev, gcc, flex&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paketinstallation:&lt;br /&gt;
* xterm oder Konsole öffnen&lt;br /&gt;
* Apt-get aufrufen:&lt;br /&gt;
 apt-get install tk8.3-dev&lt;br /&gt;
 apt-get install libreadline4-dev &lt;br /&gt;
 apt-get install gcc&lt;br /&gt;
 apt-get install flex&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 apt-get install tk8.3-dev libreadline4-dev gcc flex&lt;br /&gt;
&lt;br /&gt;
==== OCS Compilierung ====&lt;br /&gt;
Unter &lt;br /&gt;
http://projects.uebb.tu-berlin.de/opal/trac/wiki/OCS&lt;br /&gt;
&lt;br /&gt;
findet Ihr die Quellen und die Dokumentation.&lt;br /&gt;
$VERSION ist die Version des Opalpakets (aktuell dürfte das 2.3m sein).&lt;br /&gt;
Wir nehmen mal an Ihr habt sie in Eurem Homeverzeichnis.&lt;br /&gt;
&lt;br /&gt;
* cd ~/&lt;br /&gt;
* tar xvjf ocs-$VERSION-src.tar.bz2&lt;br /&gt;
* tar xvjf gunzip ocs-$VERSION-doc.tar.bz2&lt;br /&gt;
* cd /usr/src&lt;br /&gt;
* mv ~/ocs-$VERSION-src ./&lt;br /&gt;
* cd ocs&lt;br /&gt;
* ./configure&lt;br /&gt;
* ''(ab jetzt werden root-Rechte benötigt, daher entweder 'sudo' verwenden oder als root einloggen)''&lt;br /&gt;
* make install 2&amp;gt;&amp;amp;1 &amp;gt; log&lt;br /&gt;
* cd /usr/local&lt;br /&gt;
* mv ~/ocs-$VERSION-doc ./&lt;br /&gt;
* ln -s /usr/local/ocs-$VERSION /usr/local/ocs&lt;br /&gt;
&lt;br /&gt;
Es kann ein Weilchen dauern, bei mir hat es ungefähr 5-10 Minuten gedauert (Pentium M 1,6 GHz, 512 MB RAM).&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=15250</id>
		<title>Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=15250"/>
		<updated>2010-10-21T15:18:22Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Illustration &amp;quot;OPAL&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Opal.jpg|miniatur]]&lt;br /&gt;
&lt;br /&gt;
Opal ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmiersprache]], die Euch in [[MPGI 1 (Bachelor)]] begegnen wird. Sie wurde an der TU Berlin von Prof. [[Pepper]] entwickelt. Die [[Freitagsrunde]] bietet euch mehrere Ressourcen rund um das Thema Opal.&lt;br /&gt;
&lt;br /&gt;
== [[Opal FAQ]] ==&lt;br /&gt;
In der [[Opal FAQ]] findet Ihr häufige Probleme, die bei der Benutzung von Opal aufreten, einschließlich ihrer Lösungen.&lt;br /&gt;
&lt;br /&gt;
== [[Opalix]] ==&lt;br /&gt;
Wir haben für Euch auch eine Linux Live-CD erstellt, auf der das lauffähige Opal gleich dabei ist. Ihr müsst also nichts installieren, einfach die CD reinschieben und fertig. Wo ihr die [[Opalix]]-CD bekommt, werden wir euch in der ersten MPGI 1-Vorlesung ankündigen. Insbesondere für Leute, die noch kein Linux bei sich installiert haben, ist dies wohl die einfachste Möglichkeit in Opal einzusteigen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal für Linux/Unix]] ==&lt;br /&gt;
Wenn Ihr nicht Opalix benutzen möchtet, könnt ihr [[Opal für Linux/Unix|fertige Opal-Pakete für verschiedene Linux-Distributionen]] herunterladen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal Syntax-Highlighting]] ==&lt;br /&gt;
Eine Liste der Editoren, die [[Opal Syntax-Highlighting|Syntax-Highlighting für Opal]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen mit Opal ==&lt;br /&gt;
* [[MPGI 1 (Bachelor)]]&lt;br /&gt;
* [[Informatik 1]]&lt;br /&gt;
* [[PSS]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zu Opal und [[OCS]] findet Ihr hier:&lt;br /&gt;
* http://projects.uebb.tu-berlin.de/opal/&lt;br /&gt;
&lt;br /&gt;
Genesis Opalis (Das 1. Buch Pepper):&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/1pepper.html&lt;br /&gt;
&lt;br /&gt;
Die 10 Opalismen:&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/die_10_Opalismen.html&lt;br /&gt;
&lt;br /&gt;
opal-examples:&lt;br /&gt;
* http://opal-examples.googlecode.com/&lt;br /&gt;
&lt;br /&gt;
== Fragen/Probleme ==&lt;br /&gt;
&lt;br /&gt;
Bei Fragen/Problemen rund um Opal/Opalix könnt ihr euch an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] wenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
[[Kategorie: Opalix]]&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datei:Opal.jpg&amp;diff=15249</id>
		<title>Datei:Opal.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datei:Opal.jpg&amp;diff=15249"/>
		<updated>2010-10-21T15:15:43Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Grundlagen_des_Management_I&amp;diff=15039</id>
		<title>Grundlagen des Management I</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Grundlagen_des_Management_I&amp;diff=15039"/>
		<updated>2010-09-25T09:57:10Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Tipps und nützliche Infos */ Homepage korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Klausuren&amp;lt;/h2&amp;gt;&lt;br /&gt;
SoSe 2006&lt;br /&gt;
* Vierteilige Klausur:&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2006.07-TIM.pdf TIM]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2006.07-Marketing.pdf Marketing]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2006.07-Logistik.pdf Logistik]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2006.07-ABWL.pdf ABWL]&lt;br /&gt;
&lt;br /&gt;
WiSe 2004/2005&lt;br /&gt;
* Vierteilige Klausur:&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2005.02-TIM.pdf TIM]&lt;br /&gt;
* [http://docs.freitagsrunde.org/klausuren/Grundlagen_des_Management_1/2005.02-Marketing.pdf Marketing]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2005.02-Logistik.pdf Logistik]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2005.02-ABWL.pdf ABWL]&lt;br /&gt;
&lt;br /&gt;
WiSe 2003/2004&lt;br /&gt;
* Drei Teile der vierteiligen Klausur:&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2004.02-TIM.pdf TIM]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2004.02-Logistik.pdf Logistik]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2004.02-Controlling.pdf Controlling]&lt;br /&gt;
&lt;br /&gt;
SoSe 2003&lt;br /&gt;
* [http://docs.freitagsrunde.org/Klausuren/Grundlagen_des_Management_1/2003.07.pdf Komplette Klausur]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Grundlagen des Management I''' ist eine Veranstaltung aus der Reihe &amp;quot;Fachübergreifendes Studium&amp;quot;, die von der Fakultät VII (Wirtschaft und Management) angeboten wird. Sie ist seit der neuen [[StuPO Informatik|Bachelor-StuPO]] Pflichtveranstaltung im fünften Semester des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]]. Bestehend aus reinen 4 SWS [[Vorlesung]] erbringt sie 6 [[ECTS]]-Leistungspunkte.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
* Grundlagen der Betriebswirtschaftslehre (Controlling, &amp;quot;ABWL in a nutstell&amp;quot;)&lt;br /&gt;
* Innovations- und Technologiemanagement&lt;br /&gt;
* Marketing&lt;br /&gt;
* Logistik-Management&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
* Ringvorlesung mit vier Themenblöcken, wobei vier Profs jeweils 3 Vorlesungen halten.&lt;br /&gt;
* Homepage: http://www.fues7.tu-berlin.de/&lt;br /&gt;
* Folgeveranstaltung: [[Grundlagen des Management II]].&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
:Die Vorlesung, die den gesamten Donnerstagmorgen füllt (8:30-12:00) hat mich eines gelehrt: Die Tischbänke im H1058 sind deutlich härter als mein Kopfkissen.&lt;br /&gt;
: - - [[Benutzer:Buchholz|Robert Buchholz]] 02:26, 19. Aug 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
:Diese Vorlesung, zu meiner Zeit noch freiwillig belegt, war eine der schlechtesten im ganzen Grundstudium. Unstrukturiert, oberflächlich, und als Einführung ungeeignet. Anstatt die Grundlagen detailliert einzuführen, jagen einen vier Dozenten durch einen Stapel von Powerpoint-Folien. Ein logischer, in sich konsistenter Aufbau der Grundlagen der angewandten Wirtschaftswissenschaften wird hier nicht vermittelt. Wenigstens kennt man danach noch mehr Anglizismen und weiß, vor welchen &amp;quot;Buzz Words&amp;quot; man in Zukunft davonlaufen sollte.&lt;br /&gt;
: --[[Benutzer:BjörnBrandenburg|BjörnBrandenburg]] 13:36, 31. Okt. 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=14545</id>
		<title>Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=14545"/>
		<updated>2010-08-05T00:23:06Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Opal für Linux */ Linux/Unix heißt die seite...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opal ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmiersprache]], die Euch in [[MPGI 1 (Bachelor)]] begegnen wird. Sie wurde an der TU Berlin von Prof. [[Pepper]] entwickelt. Die [[Freitagsrunde]] bietet euch mehrere Ressourcen rund um das Thema Opal.&lt;br /&gt;
&lt;br /&gt;
== [[Opal FAQ]] ==&lt;br /&gt;
In der [[Opal FAQ]] findet Ihr häufige Probleme, die bei der Benutzung von Opal aufreten, einschließlich ihrer Lösungen.&lt;br /&gt;
&lt;br /&gt;
== [[Opalix]] ==&lt;br /&gt;
Wir haben für Euch auch eine Linux Live-CD erstellt, auf der das lauffähige Opal gleich dabei ist. Ihr müsst also nichts installieren, einfach die CD reinschieben und fertig. Wo ihr die [[Opalix]]-CD bekommt, werden wir euch in der ersten MPGI 1-Vorlesung ankündigen. Insbesondere für Leute, die noch kein Linux bei sich installiert haben, ist dies wohl die einfachste Möglichkeit in Opal einzusteigen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal für Linux/Unix]] ==&lt;br /&gt;
Wenn Ihr nicht Opalix benutzen möchtet, könnt ihr [[Opal für Linux/Unix|fertige Opal-Pakete für verschiedene Linux-Distributionen]] herunterladen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal Syntax-Highlighting]] ==&lt;br /&gt;
Eine Liste der Editoren, die [[Opal Syntax-Highlighting|Syntax-Highlighting für Opal]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen mit Opal ==&lt;br /&gt;
* [[MPGI 1 (Bachelor)]]&lt;br /&gt;
* [[Informatik 1]]&lt;br /&gt;
* [[PSS]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zu Opal und [[OCS]] findet Ihr hier:&lt;br /&gt;
* http://uebb.cs.tu-berlin.de/~opal/&lt;br /&gt;
&lt;br /&gt;
Genesis Opalis (Das 1. Buch Pepper):&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/1pepper.html&lt;br /&gt;
&lt;br /&gt;
Die 10 Opalismen:&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/die_10_Opalismen.html&lt;br /&gt;
&lt;br /&gt;
opal-examples:&lt;br /&gt;
* http://opal-examples.googlecode.com/&lt;br /&gt;
&lt;br /&gt;
== Fragen/Probleme ==&lt;br /&gt;
&lt;br /&gt;
Bei Fragen/Problemen rund um Opal/Opalix könnt ihr euch an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] wenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
[[Kategorie: Opalix]]&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Vorlage:HauptseiteWasWikiBietetBoxAlternative&amp;diff=14544</id>
		<title>Vorlage:HauptseiteWasWikiBietetBoxAlternative</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Vorlage:HauptseiteWasWikiBietetBoxAlternative&amp;diff=14544"/>
		<updated>2010-08-05T00:20:52Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Was Euch dieses Wiki bietet */ Übersicht_Opal -&amp;gt; Opal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über die Freitagsrunde ==&lt;br /&gt;
Wir sind die studentische Initiative an der Fakultät IV &amp;quot;Informatik und Elektrotechnik&amp;quot;. Wir treffen uns freitags 13:00 im [[FR 5046]].&lt;br /&gt;
&lt;br /&gt;
* [[Freitagsrunde | Wer sind wir?]]&lt;br /&gt;
* [[Freitagsrunde:Grundkonsens | Was ist uns wichtig?]]&lt;br /&gt;
* [[Mitglieder der Freitagsrunde|Mitglieder]]&lt;br /&gt;
* offene Mailinglisten:&lt;br /&gt;
** [[Infoliste | Info-Mailingliste]]&lt;br /&gt;
** [[Fopen | Fopen-Mailingliste]]&lt;br /&gt;
* [[Kontakt]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Was Euch dieses Wiki bietet ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 120%&amp;quot;&amp;gt;&lt;br /&gt;
* '''[[Einführungswoche|Infos zur Einführungswoche]]'''&lt;br /&gt;
* '''[[Tipps zum richtigen Studieren]]'''&lt;br /&gt;
* '''[[:Kategorie:Fakultäts-ABC|Fakultäts-ABC]]'''&lt;br /&gt;
* '''[[Opal|Opalix / OPAL für Linux]]'''&lt;br /&gt;
* '''[[Klausurensammlung | Klausurensammlung]]'''&lt;br /&gt;
* '''[[:Kategorie:Veranstaltungen der Freitagsrunde | Veranstaltungen der Freitagsrunde]]'''&lt;br /&gt;
&amp;lt;!-- * '''[[aktuelle Probleme | Aktuelles aus der Fakultät]]''' --&amp;gt;&lt;br /&gt;
* '''[[:Kategorie:Hochschulpolitik | Informationen zur Hochschulpolitik]]'''&lt;br /&gt;
* '''[[Feedback | Anonymes Feedback]]''' an Lehrveranstalter&lt;br /&gt;
* '''[[Beamer für studentische Projekte | Beamer-Verleih]]'''&lt;br /&gt;
* '''[[Jobs | Jobs-Mailingliste]]'''&lt;br /&gt;
* '''[[TechTalks]]'''&lt;br /&gt;
* '''[[Diverses|mehr...]]'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal_FAQ&amp;diff=14543</id>
		<title>Opal FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal_FAQ&amp;diff=14543"/>
		<updated>2010-08-05T00:17:27Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Hilfreiche Tipps */  SSH-Hinweis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vor noch nicht allzu langer Zeit, an einem nicht allzu weit entfernten Ort wurden einst alle Studis von einer schweren Programmiersprache dahin gerafft...&lt;br /&gt;
&lt;br /&gt;
Aber nein! Nicht alle!&lt;br /&gt;
&lt;br /&gt;
Eine kleine Gruppe unermüdlich lernender Studenten widersetzten sich dem Bösen, wild entschlossen diesem Missstand ein ende zu bereiten, setzten sie sich zusammen und schrien &amp;quot;[[FAQ]]-[[Opal]]&amp;quot; gen Himmel...&lt;br /&gt;
&lt;br /&gt;
Nun ja, mehr spare ich mir hier, auf jeden Fall haben &amp;quot;damals&amp;quot; jede menge Leute in der Newsgroup informatik1 (bln.lv.tub.cs.informatik1) gepostet und sehr wertvolle Tips und Tricks zusammengetragen. Diese sind hier aufgeführt mit der ausdrücklichen Bitte, sie zu ergänzen.&lt;br /&gt;
&lt;br /&gt;
==Benutzung des Interpreters oasys==&lt;br /&gt;
&lt;br /&gt;
===Starten von oasys, Ausführen von Programmen===&lt;br /&gt;
oasys lässt sich von der Shell aus starten mit:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oasys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um den Interpreter zu verlassen gibt man im Interpreter ein q für Quit ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hat man nun seine Dateien erstellt (z.B. Aufgabe1.impl und Aufgabe1.sign), muss man diese Dateien zuerst laden. Dafür muss man i.A. oasys in dem Verzeichnis starten, in dem die Dateien gespeichert sind.&lt;br /&gt;
Also wechselt in das Verzeichnis wo sich die Dateien Aufgabe1.impl und Aufgabe1.sign beispielsweise befinden und starten von dort aus auf der shell den oasys-Interpreter. &lt;br /&gt;
Als nächstes müssen die Dateien dem Interpreter zur Verfügung gestellt werden. Mit dem Interpreter-Befehl a (append file = Datei anfügen) lassen sich Dateien in den Interpreter laden. Dabei gibt man nur den Dateinamen ohne die Dateiendung an.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; a Aufgabe1&lt;br /&gt;
loading Aufgabe1.impl&lt;br /&gt;
loading Aufgabe1.sign&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn die Dateien erfolgreich geladen wurden wird das wie hier in dem Beispiel gezeigt quittiert.&lt;br /&gt;
&lt;br /&gt;
Für oasys ist es notwendig, dass man die entsprechende impl-Datei fokussiert bevor man auf die Funktionen zugreifen kann die implementiert wurden. Dies erreicht man mit dem Befehl f (f für set focus).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; f Aufgabe1.impl&lt;br /&gt;
Aufgabe1.impl&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Wenn das Fokussieren funktioniert hat, verändert sich eure Eingabe wie im Beispiel angegeben.&lt;br /&gt;
Um Funktionen auszuführen befehligt man oasys mit dem Befehl e (e für evaluate). Dabei wird aus der fokussierten Datei eine Funktion mit den Parametern die ihr in der Signatur festgelegt habt ausgewertet. Um diese vielen Begriffe zu verdeutlichen gehen wir mal davon aus, dass wir in der Datei eine Funktion add implementiert haben die zwei ganze Zahlen addiert. Diese Funktion ruft man dann so auf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aufgabe1.impl&amp;gt;e add(1,2)&lt;br /&gt;
starting evaluator process&lt;br /&gt;
3&lt;br /&gt;
Aufgabe1.impl&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Eingabe von Zahlen, Denotations (Strings), Sequenzen und einzelne Buchstaben (Chars)===&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; e FunktionMitVielenArgument(&amp;quot;lkajbblsd&amp;quot;, &amp;quot;627849&amp;quot;!, 30,&amp;quot;c&amp;quot;!, %(1,23,9,1,8))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erklärung: Das erste Argument ist eine Denotation, d.h. einfach ein String. &lt;br /&gt;
Die muss man einfach immer in Anführungszeichen setzen. :)&lt;br /&gt;
&lt;br /&gt;
Das zweite ist  eine Zahl. Da sie größer als 32 ist muss man sie als String hinschreiben (Anführungszeichen), den man dann mit dem Operator &amp;quot;!&amp;quot; in eine Zahl umwandeln kann.&lt;br /&gt;
&lt;br /&gt;
Das dritte ist eine kleinere Zahl als 32, daher kann man sie direkt hinschreiben.&lt;br /&gt;
&lt;br /&gt;
Das vierte ist ein Char, also ein einfacher Buchstabe. Da man das nicht direkt eingeben kann übergibt man Opal wieder einen String und wandelt ihn (da er nur einen Buchstaben enthält mit dem &amp;quot;!&amp;quot; in einen Buchstaben um.&lt;br /&gt;
&lt;br /&gt;
Das fünfte ist eine Sequenz, man kann sie direkt in dieser Form &lt;br /&gt;
hinschreiben, zu beachten gibt es nur ;) dass man so höchstens 8 Elemente verknüpfen kann. Will man mehr eingeben muss man eben 2 (oder noch mehr) dieser Dinger mit ++ verknüpft hinschreiben.&lt;br /&gt;
&lt;br /&gt;
WICHTIG: Sequenzen in dieser Form hin zuschreiben ist _böse_!!! Vor allem sorgt das für viel Verwirrung und verbirgt den wahren Charakter einer Sequenz!! Siehe dazu auch Beitrag Nummer 4. :)&lt;br /&gt;
&lt;br /&gt;
Bsp: eine seq[nat] könnte man also so schreiben.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%(4,3,5,8,2,21,5,5) ++ %(6,&amp;quot;78&amp;quot;!,&amp;quot;269&amp;quot;!,&amp;quot;987&amp;quot;!,&amp;quot;654&amp;quot;!,&amp;quot;321&amp;quot;!)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine seq[seq[nat]] könnte man dann so schreiben&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%( %(1,3,2), %(1,2,3))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(man beachte die notwendige Umwandlung da die Zahlen zum Teil größer als 32 sind. :))&lt;br /&gt;
&lt;br /&gt;
(!!!) Vorsicht (!!!) man sollte im Normalfall keine Leerzeichen zwischen die Argumente setzen! Das funktioniert zwar meistens, leider aber nicht immer! &lt;br /&gt;
(Das gilt natürlich nur für die Kommandozeile, in den Syntax-Files selber sind Leerzeichen ziemlich wurscht. :))&lt;br /&gt;
&lt;br /&gt;
Also nochmal: Vorsicht vor Leerzeichen in Funktionsaufrufen!&lt;br /&gt;
&lt;br /&gt;
Ich hatte schon Fehlermeldungen weil ich in Funktionen nach dem Komma ein Leerzeichen eingebaut hatte.&lt;br /&gt;
&lt;br /&gt;
Bsp: func1(&amp;quot;9023&amp;quot;!, &amp;quot;0234&amp;quot;!)&lt;br /&gt;
&lt;br /&gt;
Lässt man das weg, funktionierte (bisher) alles:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func1(&amp;quot;9023&amp;quot;!,&amp;quot;0234&amp;quot;!)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speziell wenn man Texte in Nummern umwandelt (siehe oben) scheint das zu Problemen zu führen. (Dieses Problem hatte ich selbst bisher nur wenn ich von der Shell (Kommandozeile aus direkt Argumente in eine Funktion füttern wollte. Ansonsten trat es nicht auf. :)&lt;br /&gt;
&lt;br /&gt;
=== Konstruktion von Listen ===&lt;br /&gt;
Herzlichen dank für diesen Beitrag an Florian Lorenzen .&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Man kann dann viele aussagekräftige Beispiele mit :: und &amp;lt;&amp;gt;&lt;br /&gt;
&amp;gt; angeben (seq, seq[seq], leere seq usw.)&lt;br /&gt;
&lt;br /&gt;
Da ich, wie ich fürchte, mit diesem unsäglichen % angefangen habe -- nicht ahnend welchen didaktischen Flurschaden ich damit anrichten würde -- hier zum Ausgleich einige erklärende Beispiele mit den Listenkonstruktoren.&lt;br /&gt;
&lt;br /&gt;
1. Sei S eine Sequenz aus alphas (FUN S : seq[alpha]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == a :: b :: c :: d :: &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
S ist eine Sequenz aus a, b, c, d und der leeren Liste. Da :: &lt;br /&gt;
rechtsassoziativ ist, wird der obige Ausdruck wie folgt aufgelöst:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~~~&amp;gt; a :: (b :: (c :: (d :: &amp;lt;&amp;gt;)))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es wird also zunächst eine Liste aus d und &amp;lt;&amp;gt; konstruiert, vor die dann c gehängt wird. Die rekursive Struktur der Liste &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Liste := Element :: Liste&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ist deutlich.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
S ist eine leere Liste.&lt;br /&gt;
&lt;br /&gt;
2. Sei S eine Sequenz von Sequenzen von alphas (FUN S : seq[seq[alpha]]).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == (a :: b :: c :: &amp;lt;&amp;gt;) :: (d :: e :: &amp;lt;&amp;gt;) :: &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Ausdruck wird wie folgt aufgelöst:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~~~&amp;gt; (a :: b :: c :: &amp;lt;&amp;gt;) :: ((d :: e :: &amp;lt;&amp;gt;) :: &amp;lt;&amp;gt;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es wird also zuerst eine Liste aus dem (d :: e :: &amp;lt;&amp;gt;) und &amp;lt;&amp;gt; kostruiert, vor die dann das Element (a :: b :: c :: &amp;lt;&amp;gt;) gehängt wird. Das die beiden erwähnten Elemente wiederum Listen sind, ändert nichts daran, wie die äußere Sequenz konstruiert wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == (a :: b :: c :: &amp;lt;&amp;gt;) :: &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
S ist eine Liste mit gerade genau einem Element, das wiederum eine Liste ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == &amp;lt;&amp;gt; :: &amp;lt;&amp;gt; :: &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
S ist eine Liste, die aus zwei leeren Listen besteht, nicht aus dreien, wie es zuerst scheint. Dies wird wiederum deutlich, wenn der Ausdruck aufgelöst wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~~~&amp;gt; &amp;lt;&amp;gt; :: (&amp;lt;&amp;gt; :: &amp;lt;&amp;gt;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Klammer wird aus dem Listenelement &amp;quot;&amp;lt;&amp;gt;&amp;quot; durch &amp;quot;:: &amp;lt;&amp;gt;&amp;quot; eine Liste erzeugt, vor die dann das Element &amp;quot;&amp;lt;&amp;gt;&amp;quot; gehängt wird. dass die beiden Elemente der Liste nun leere Listen (dass es Listen seien müssen, ist sowieso klar) sind, ändert nichts daran, wie die äußere Liste konstruiert wird. Man beachte, dass die enstandene Liste nicht leer ist, dass also aus vielen leeren Listen eine nicht-leere Liste entstehen kann.&lt;br /&gt;
&lt;br /&gt;
Eine Liste aus drei leeren Listen sieht dann dementsprechend folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == &amp;lt;&amp;gt; :: &amp;lt;&amp;gt; :: &amp;lt;&amp;gt; :: &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Liste aus einer leeren Liste so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == &amp;lt;&amp;gt; :: &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erst die Definition&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF S == &amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
erzeugt eine Liste von Listen, die wirklich leer ist.&lt;br /&gt;
&lt;br /&gt;
Programmierpraktisch sollte beachtet werden, dass&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
S == &amp;lt;&amp;gt; :: &amp;lt;&amp;gt; oder S == &amp;lt;&amp;gt; :: &amp;lt;&amp;gt; :: &amp;lt;&amp;gt; :: ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
nicht durch &amp;lt;&amp;gt;?(S) oder das Muster f(&amp;lt;&amp;gt;) angefangen werden kann, da S eindeutig nicht leer ist.&lt;br /&gt;
&lt;br /&gt;
=== Oasys an der Shell herumkommandieren: ===&lt;br /&gt;
Herzlichen Dank an Roman Lechtchinsky&lt;br /&gt;
&lt;br /&gt;
Warum funktioniert der Aufruf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; e f(\\x. 2 * x, 4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unter oasys nicht?&lt;br /&gt;
&lt;br /&gt;
Das liegt daran, dass Du in oasys fuer jeden Backslash \\ eingeben muss, also&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; e f(\\\\x. ...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das hat nichts mit OPAL zu tun, sondern mit der Skript-Sprache (TCL), in der&lt;br /&gt;
das Interpreter-Frontend implementiert ist (nehme ich zumindest an).&lt;br /&gt;
Anm.: angeblich ist die readline-Bibliothek verantwortlich...&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man das quote von TCL (das sind geschweifte Klammern) um den ganzen Ausdruck legen, dann kann man es auch bequem, wie in einer Datei eingeben, also&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; e {f(\\x. 2 * x, 4)}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fehler / Probleme mit OPAL ==&lt;br /&gt;
&lt;br /&gt;
=== WHERE funktioniert nicht ohne weiteres mit Lambda-Ausdrücken! ===&lt;br /&gt;
&lt;br /&gt;
Wenn man Lambda mit WHERE kombinieren will muss man den ganzen Body der Funktion klammern&lt;br /&gt;
&lt;br /&gt;
Das geht so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEF qsolve1 == \\ a, b, c .(   /* &amp;lt;--- */&lt;br /&gt;
   (x1, x2)&lt;br /&gt;
        WHERE&lt;br /&gt;
        x1 == (-(b) + d) / (2 * a)&lt;br /&gt;
        x2 == (-(b) - d) / (2 * a)&lt;br /&gt;
        d == sqrt((b * b) -  (4 * a * c))   &lt;br /&gt;
&lt;br /&gt;
)  /* &amp;lt;----- */&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist dabei, dass nach dem Punkt, mit dem der Lambda Ausdruck die Argumentliste abschließt, kein Leerzeichen oder irgendetwas anderes ist, sondern gleich die öffnende Klammer kommt. Ansonsten funktioniert es nicht!&lt;br /&gt;
&lt;br /&gt;
=== Opal funktioniert nicht mit Zahlen über 32? ===&lt;br /&gt;
&lt;br /&gt;
Wenn man in [[Opal]] direkt Zahlen über 32 eingeben möchte, muß man das so hinschreiben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;zahl&amp;quot;!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wobei 'Zahl' irgendeine Zahl sein kann. Wichtig sind die Anführungszeichen und das Ausrufungszeichen dahinter.&lt;br /&gt;
&lt;br /&gt;
=== Eigene Backtick-Funktion (`) wird nicht benutzt ===&lt;br /&gt;
&lt;br /&gt;
Die Backtick-Funktion für eigene Datentypen muss in der .sign-Datei mit deklariert sein.&lt;br /&gt;
&lt;br /&gt;
=== Häufige Fehlermeldungen ===&lt;br /&gt;
&lt;br /&gt;
Folgende Fehlermeldung ist ziemlich haeufig:&lt;br /&gt;
&lt;br /&gt;
==== Expected ... instead of .... ====&lt;br /&gt;
&lt;br /&gt;
Hier handelt es sich um einen einfachen Syntaxfehler. Falls Ihr meint, alles korrekt geschrieben zu haben, überprueft auch nochmal die Klammerung der Ausdrücke (es muss genausoviele öffnende wie schliessende Klammern geben). Vielleicht ist ja auch nur ein FI vergessen worden...&lt;br /&gt;
&lt;br /&gt;
==== Expected was `:' instead of `-&amp;gt;' ====&lt;br /&gt;
&lt;br /&gt;
Dieser Fehler kann trotz korrekt vorhandenem &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; auftreten. Beispiel:&lt;br /&gt;
 FUN `: nat -&amp;gt; stream -&amp;gt; denotation&lt;br /&gt;
erzeugt den Fehler, dahingegen&lt;br /&gt;
 FUN ` : nat -&amp;gt; stream -&amp;gt; denotation&lt;br /&gt;
nicht.&lt;br /&gt;
&lt;br /&gt;
Es hilft also eventuell das Einfügen von Whitespace.&lt;br /&gt;
&lt;br /&gt;
==== improperly named function definition target or parameter ... ====&lt;br /&gt;
&lt;br /&gt;
In diesem Fall sollte man ueberpruefen, ob die Deklaration der Funktion (FUN ...) fehlt. Vielleicht ist gerade dieser Teil auskommentiert, oder  man hat schlicht und einfach vergessen, die Signaturdatei zu speichern. Mir ist letzteres auch schon unterlaufen, d.h. man sucht nach einem Fehler, der eigentlich nicht vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
==== missing else in ... ====&lt;br /&gt;
&lt;br /&gt;
Passiert, wenn bei der Verwendung des Dijkstra-IFs während der Auswertung ein Fall eingetreten ist, der nicht abgedeckt wird. Bei dieser Funktion würde es z.B. bei testeZahl(10) auftreten:&lt;br /&gt;
 DEF testeZahl(x) == IF x &amp;gt; 10 THEN true IF x &amp;lt; 10 THEN false FI&lt;br /&gt;
Es müsste ein &amp;lt; oder &amp;gt; durch &amp;lt;= bzw. &amp;gt;= ersetzt werden, oder der Fall = explizit aufgeführt werden.&lt;br /&gt;
&lt;br /&gt;
=== Präfix, Infix und Postfixnotation===&lt;br /&gt;
...oder wie man Minuszeichen hassen lernt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erhält man solche Fehlermeldungen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERROR [HOF.impl at 32.5-32.33]: undefined identification&lt;br /&gt;
 1. &amp;lt;32,5-33&amp;gt; wrongly typed implementation&lt;br /&gt;
     left:  real-&amp;gt;real&lt;br /&gt;
     right: ((nat**nat-&amp;gt;nat)-&amp;gt;real)-&amp;gt;real&lt;br /&gt;
 2. &amp;lt;32,5-33&amp;gt; wrongly typed implementation&lt;br /&gt;
     left:  real-&amp;gt;real&lt;br /&gt;
     right: ((real**real-&amp;gt;real)-&amp;gt;real)-&amp;gt;real&lt;br /&gt;
 3. &amp;lt;32,5-33&amp;gt; wrongly typed implementation&lt;br /&gt;
     left:  real-&amp;gt;real&lt;br /&gt;
     right: ((real-&amp;gt;real)-&amp;gt;real)-&amp;gt;real&lt;br /&gt;
&lt;br /&gt;
ERROR [check]: language error&lt;br /&gt;
aborted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Könnte das etwas mit dem Gebrauch von Minuszeichen zu tun haben. :(&lt;br /&gt;
&lt;br /&gt;
Ich hatte größte Schwierigkeiten den folgenden Code zum Funktionieren zu überreden, Code-Zeilen wie das hier:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FUN test : ( real -&amp;gt; real ) -&amp;gt; ( real -&amp;gt; real )&lt;br /&gt;
DEF test( r ) == \\ x . r( -x )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funktionieren nicht.&lt;br /&gt;
&lt;br /&gt;
Das Problem ist das der Compiler für das minuszeichen ( r( -x )) zwei Argumente zu erwarten scheint. (Obwohl er das laut Spezifikation nicht müsste)&lt;br /&gt;
&lt;br /&gt;
Die Löung lag für mich darin entweder &amp;quot;0 - x&amp;quot; zu schreiben oder das x in eigene Klammern zu setzen  ( x ). Beides funktioniert hier.&lt;br /&gt;
&lt;br /&gt;
Einen änlichen Fehler hatte ich als ich so etwas schreib: &amp;quot; a - b + c &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ich musste das dann als ( a - ( b + c ) ) schreiben damit es &lt;br /&gt;
funktionierte.&lt;br /&gt;
&lt;br /&gt;
Hope it helps!&lt;br /&gt;
&lt;br /&gt;
Hier habe ich noch eine Erklärung von Klaus Didrich bekommen (thx!)&lt;br /&gt;
&lt;br /&gt;
Das Prinzip, dass Funktionen keine Sonderbehandlung erfahren, erstreckt sich auch auf das unäre Minuszeichen. Folgendes geht:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-(1)       (analog zu &amp;quot;f(1)&amp;quot;)&lt;br /&gt;
(1-)    (analog etwa zu &amp;quot;(5!)&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dein Problem mit &amp;quot;a - b + c&amp;quot; kann ich allerdings nicht nachvollziehen.&lt;br /&gt;
&lt;br /&gt;
Und gleich nochmal etwas, hierfür danke ich Archi Varius.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+ ( 0, 1 ) = 0 + 1 = ( 0, 1 ) +&lt;br /&gt;
&lt;br /&gt;
! 5 = 120 = 5 !&lt;br /&gt;
&lt;br /&gt;
- 1 = 1 -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Und nochmal. :)) Diesmal herzlichen Dank wieder an Klaus Didrich.&lt;br /&gt;
&lt;br /&gt;
Wird den in [[Opal]], jeder Infixoperator der nur einen Operand bekommt hinter&lt;br /&gt;
den Operand geschrieben wird? (Das fände ich ja etwas beschränkt...)&lt;br /&gt;
&lt;br /&gt;
:Es ist viel schlimmer :-) Es ist beides möglich. Du kannst jeden einstelligen Operator auch hinter den Operanden schreiben, dazu brauchst Du keine besondere Deklaration.&lt;br /&gt;
&lt;br /&gt;
:Ob man IF &amp;lt;&amp;gt;?(S) THEN ... oder IF S &amp;lt;&amp;gt;? THEN ... schreibt, macht keinen Unterschied. Eine Mischung aus Postfix- und Infix-Applikationen kann der Compiler leider nicht analysieren, da kommt dann die Meldung &amp;quot;no possible bracketing for infix found&amp;quot;. In dem Fall hilft Klammern: (5!) + 3, (S#) &amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
:Auch bei zweistelligen Funktionen kann man es sich aussuchen, ob man die Präfix- oder die Infixschreibweise vorzieht: +(5,3) oder 3 + 5 sind beide erlaubt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opal und Zugriffsrechte (ext2 versus fat) ===&lt;br /&gt;
Herzlichen Dank für diesen Tip an Thomas Brinker!&lt;br /&gt;
&lt;br /&gt;
==== Du setzt [[Opal]] unter [[Linux]] ein ====&lt;br /&gt;
&lt;br /&gt;
[[Opal]]-fehlermeldung:&lt;br /&gt;
Operation not permitted&lt;br /&gt;
&lt;br /&gt;
Grund:&lt;br /&gt;
Die Dateien liegen nicht in einer ext2-Partition sondern in einer &lt;br /&gt;
FAT-Partition. (in FAT geht das mit den named Pipes nicht)&lt;br /&gt;
&lt;br /&gt;
Abhilfe:&lt;br /&gt;
&lt;br /&gt;
Dateien in ext2 Partition umkopieren. Alternativ die aktuelle Opal-Version 2.3m&lt;br /&gt;
benutzen, wenn /tmp auf einer Partition liegt, die named Pipes unterstützt.&lt;br /&gt;
&lt;br /&gt;
==== Du setzt [[Opalix]] unter VirtualBox mit Shared Folders ein ====&lt;br /&gt;
&lt;br /&gt;
Im Grunde das gleiche wie vorher, siehe [[Opalix 2007#Fehler:_Operation_not_permitted|Opalix-Seite]].&lt;br /&gt;
&lt;br /&gt;
=== Fehler in Zeile 1 ===&lt;br /&gt;
&lt;br /&gt;
Bei einem ansonsten korrekten Programm hat mich diese Fehlermeldung vorhin eine laaange Fehlerjagd gekostet...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Person.impl&amp;gt;e Birthday(date(30,12,&amp;quot;79&amp;quot;!)&lt;br /&gt;
ERROR [at 1.3-1.4]: Expected was `)' instead of `IN'&lt;br /&gt;
ERROR [check]: language error&lt;br /&gt;
aborted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Fall hatte ich auf der Eingebe-Zeile im Interpreter eine schließende Klammer vergessen. :))&lt;br /&gt;
&lt;br /&gt;
Man kann diese Fehler recht leicht erkennen. Sie finden immer auf Zeile _1_ Statt. Das ist die Eingabe-Zeile in der Shell. :))&lt;br /&gt;
(&amp;quot; ERROR [at 1.3-1.4]:&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Hilfreiche Tipps == &lt;br /&gt;
&lt;br /&gt;
=== Zwischenergebnisse zur Fehlersuche ausgeben (&amp;lt;code&amp;gt;printf&amp;lt;/code&amp;gt;-Debugging) ===&lt;br /&gt;
&lt;br /&gt;
Oftmals wünscht man sich eine Möglichkeit, Zwischenergebnisse auf der Konsole auszugeben, z.B. um Fehler zu finden und den Programmablauf zu verfolgen. Da man in einer rein-funktionalen Sprache wie Opal nicht einfach ein &amp;lt;code&amp;gt;printf&amp;lt;/code&amp;gt; einfügen kann, muss man etwas tricksen. Mit Hilfe der &amp;quot;Funktion&amp;quot; &amp;lt;code&amp;gt;EXEC&amp;lt;/code&amp;gt; aus der &amp;lt;code&amp;gt;Com&amp;lt;/code&amp;gt;-Struktur kann aus dem Ablauf heraus Text ausgeben, da sie eine Möglichkeit darstellt, Seiteneffekte auszufühen. Das sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SIGNATURE DebugHelper[ResultType]&lt;br /&gt;
&lt;br /&gt;
SORT ResultType&lt;br /&gt;
&lt;br /&gt;
FUN || : ResultType ** denotation -&amp;gt; ResultType&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IMPLEMENTATION DebugHelper[ResultType]&lt;br /&gt;
&lt;br /&gt;
IMPORT	Com		COMPLETELY&lt;br /&gt;
	Stream		COMPLETELY&lt;br /&gt;
	ComCompose	COMPLETELY&lt;br /&gt;
&lt;br /&gt;
FUN || : ResultType ** denotation -&amp;gt; ResultType&lt;br /&gt;
DEF result || msg == EXEC(writeLine(stdOut, msg); succeed(result))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichert die beiden Code-Schnippsel in den Dateien &amp;lt;code&amp;gt;DebugHelper.{sign,impl}&amp;lt;/code&amp;gt; und schon könnt ihr auf einfachste Weise Debug ausgaben machen. Schreibt dafür einfach die Debugausgabe auf die rechte Seite des &amp;quot;Debugoperators&amp;quot; &amp;lt;code&amp;gt;||&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IMPLEMENTATION Beispiel&lt;br /&gt;
&lt;br /&gt;
IMPORT 	Nat 		COMPLETELY&lt;br /&gt;
	NatConv		COMPLETELY&lt;br /&gt;
	Denotation	COMPLETELY&lt;br /&gt;
	DebugHelper	COMPLETELY&lt;br /&gt;
&lt;br /&gt;
FUN foo: nat ** nat -&amp;gt; nat&lt;br /&gt;
DEF foo(x, y) ==&lt;br /&gt;
  LET&lt;br /&gt;
    res == (x + y) 	|| &amp;quot;in x=&amp;quot; ++ `(x) ++ &amp;quot; y=&amp;quot; ++ `(y)&lt;br /&gt;
  IN&lt;br /&gt;
    res 		|| &amp;quot;out =&amp;quot; ++ `(res)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Beispiel.impl&amp;gt;e foo(2,3)&lt;br /&gt;
starting evaluator process&lt;br /&gt;
in x=2 y=3                   &amp;lt;&amp;lt;----- Debug&lt;br /&gt;
out =5                       &amp;lt;&amp;lt;----- Infos&lt;br /&gt;
5&lt;br /&gt;
Beispiel.impl&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ähnliche Funktionalität bietet auch die &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt; Struktur aus der Bibliotheca Opalica, allerdings sind dort die Funktionen IMHO nicht ganz so schön einzubauen.&lt;br /&gt;
&lt;br /&gt;
=== Syntax Highlighting ===&lt;br /&gt;
&lt;br /&gt;
Anleitungen und Vorgaben zum [[Opal Syntax-Highlighting]] finden sich auf einer extra Seite.&lt;br /&gt;
&lt;br /&gt;
=== Opal-Quelltexte mit TeX/LaTeX setzen ===&lt;br /&gt;
&lt;br /&gt;
[[WikiPedia:TeX|TeX]]/[[WikiPedia:LaTeX|LaTeX]] ist ein sehr mächtiges Textsatzsystem, das für kleinere Dokumente über Diplomarbeiten bis hin zu kompletten Büchern verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Da liegt es nahe, einfach auch Hausaufgaben optisch ansprechend in hoher Qualität damit setzen zu lassen.&lt;br /&gt;
&lt;br /&gt;
Für das Setzen von Quellcodes gibt es u.a. das Listings-Package für TeX/LaTeX. Doch weil die Einarbeitung etwas Zeit braucht, gibt es unter [http://web.archive.org/web/20070206172953/http://user.cs.tu-berlin.de/~pdmef/opal/inf-latex.pdf] eine kurze Anleitung mit allem, was man so braucht, um schnell zu guten Ergebnissen zu kommen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
&lt;br /&gt;
=== Opal für Windows ===&lt;br /&gt;
&lt;br /&gt;
Kurz: Es gibt kein Opal für [[Windows]].&lt;br /&gt;
&lt;br /&gt;
Lang: Jedenfalls in keiner benutzbaren Fassung. Im Rahmen einer Dissertation entsteht zwar Opal.NET (also Opal für die MS .NET Plattform), diese Version wird jedoch vorraussichtlich nicht als &amp;quot;stable release&amp;quot; erscheinen.&lt;br /&gt;
&lt;br /&gt;
=== Opal unter Cygwin ===&lt;br /&gt;
&lt;br /&gt;
Opal unter Cygwin wird nicht von der PSS Gruppe unterstützt und funktioniert erfahrungsgemäß '''nicht'''.&lt;br /&gt;
&lt;br /&gt;
Erfahrungsbericht von Tobias Deichmann in der Info1 Newsgroup:&lt;br /&gt;
&lt;br /&gt;
:''...also ich hab mich da letztes Jahr knapp 4 Wochen lang dran probiert und kann dir nur einen Tipp geben: Lass es.''&lt;br /&gt;
&lt;br /&gt;
:''Hab es zwar soweit geschafft, dass wenigstens einige Kommandozeilenbasierende OPAL-Programme wenigstens halbwegs fehlerfrei liefen (ok, sie stürzten trotzdem einigermaßen oft ab oder wir man das auch immer bezeichnen möchte), aber das richtige Problem kommt erst, wenn du das Ganze dann noch mit der grafischen Java Benutzeroperfläche (kurz GUI) von OPAL verwenden willst. Da funktioniert dann gar keins der Programme, es zerschießt dir dabei regelmäig die komplette cygwin bzw. OPAL Installation und es ist einfach nervig. Mein Rat an dich ist also, es lieber mit Opalix oder sonstwas zu probieren, als dich durch cygwin zu quälen, denn das führt  eigentlich zu nichts...''&lt;br /&gt;
&lt;br /&gt;
Als Alternative bieten sich [[Opalix]] und [[Opal für Linux]] an.&lt;br /&gt;
&lt;br /&gt;
=== Opal via SSH ===&lt;br /&gt;
&lt;br /&gt;
Eine weitere Möglichkeit Opal von Zuhause aus zu benutzen ist sich über SSH auf einen der Uni-Server zu verbinden und so &amp;quot;remote&amp;quot; zu arbeiten. Welche Server zur Verfügung stehen und wie SSH benutzt wird steht auf der [[SSH|SSH-Seite]].&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal&amp;diff=14541</id>
		<title>Diskussion:Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal&amp;diff=14541"/>
		<updated>2010-08-05T00:10:32Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strike&amp;gt;Vorschlag für Zusammenführung von Opal und Übersicht Opal.&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: Irgendwo auf den Opal-Seiten sollte die Möglichkeit erwähnt werden per SSH auf den Uni-Rechnern zu arbeiten.--[[Benutzer:Stefan|Stefan]] 22:02, 1. Aug. 2010 (CEST)&amp;lt;/strike&amp;gt; hab das jetzt so umgesetzt. --[[Benutzer:Stefan|Stefan]] 02:10, 5. Aug. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=14540</id>
		<title>Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Opal&amp;diff=14540"/>
		<updated>2010-08-05T00:09:23Z</updated>

		<summary type="html">&lt;p&gt;Stefan: merge mit Uebersicht Opal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Opal ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmiersprache]], die Euch in [[MPGI 1 (Bachelor)]] begegnen wird. Sie wurde an der TU Berlin von Prof. [[Pepper]] entwickelt. Die [[Freitagsrunde]] bietet euch mehrere Ressourcen rund um das Thema Opal.&lt;br /&gt;
&lt;br /&gt;
== [[Opal FAQ]] ==&lt;br /&gt;
In der [[Opal FAQ]] findet Ihr häufige Probleme, die bei der Benutzung von Opal aufreten, einschließlich ihrer Lösungen.&lt;br /&gt;
&lt;br /&gt;
== [[Opalix]] ==&lt;br /&gt;
Wir haben für Euch auch eine Linux Live-CD erstellt, auf der das lauffähige Opal gleich dabei ist. Ihr müsst also nichts installieren, einfach die CD reinschieben und fertig. Wo ihr die [[Opalix]]-CD bekommt, werden wir euch in der ersten MPGI 1-Vorlesung ankündigen. Insbesondere für Leute, die noch kein Linux bei sich installiert haben, ist dies wohl die einfachste Möglichkeit in Opal einzusteigen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal für Linux]] ==&lt;br /&gt;
Wenn Ihr nicht Opalix benutzen möchtet, könnt ihr [[Opal für Linux|fertige Opal-Pakete für verschiedene Linux-Distributionen]] herunterladen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal Syntax-Highlighting]] ==&lt;br /&gt;
Eine Liste der Editoren, die [[Opal Syntax-Highlighting|Syntax-Highlighting für Opal]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen mit Opal ==&lt;br /&gt;
* [[MPGI 1 (Bachelor)]]&lt;br /&gt;
* [[Informatik 1]]&lt;br /&gt;
* [[PSS]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zu Opal und [[OCS]] findet Ihr hier:&lt;br /&gt;
* http://uebb.cs.tu-berlin.de/~opal/&lt;br /&gt;
&lt;br /&gt;
Genesis Opalis (Das 1. Buch Pepper):&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/1pepper.html&lt;br /&gt;
&lt;br /&gt;
Die 10 Opalismen:&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/die_10_Opalismen.html&lt;br /&gt;
&lt;br /&gt;
opal-examples:&lt;br /&gt;
* http://opal-examples.googlecode.com/&lt;br /&gt;
&lt;br /&gt;
== Fragen/Probleme ==&lt;br /&gt;
&lt;br /&gt;
Bei Fragen/Problemen rund um Opal/Opalix könnt ihr euch an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] wenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
[[Kategorie: Opalix]]&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal&amp;diff=14418</id>
		<title>Diskussion:Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal&amp;diff=14418"/>
		<updated>2010-08-01T20:07:04Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vorschlag für Zusammenführung von [[Opal]] und [[Übersicht Opal]].&amp;lt;br /&amp;gt;&lt;br /&gt;
TODO: Irgendwo auf den Opal-Seiten sollte die Möglichkeit erwähnt werden per SSH auf den Uni-Rechnern zu arbeiten.--[[Benutzer:Stefan|Stefan]] 22:02, 1. Aug. 2010 (CEST)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opal ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmiersprache]], die Euch in [[MPGI 1 (Bachelor)]] begegnen wird. Sie wurde an der TU Berlin von Prof. [[Pepper]] entwickelt. Die [[Freitagsrunde]] bietet euch mehrere Ressourcen rund um das Thema Opal.&lt;br /&gt;
&lt;br /&gt;
== [[Opal FAQ]] ==&lt;br /&gt;
In der [[Opal FAQ]] findet Ihr häufige Probleme, die bei der Benutzung von Opal aufreten, einschließlich ihrer Lösungen.&lt;br /&gt;
&lt;br /&gt;
== [[Opalix]] ==&lt;br /&gt;
Wir haben für Euch auch eine Linux Live-CD erstellt, auf der das lauffähige Opal gleich dabei ist. Ihr müsst also nichts installieren, einfach die CD reinschieben und fertig. Wo ihr die [[Opalix]]-CD bekommt, werden wir euch in der ersten MPGI 1-Vorlesung ankündigen. Insbesondere für Leute, die noch kein Linux bei sich installiert haben, ist dies wohl die einfachste Möglichkeit in Opal einzusteigen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal für Linux]] ==&lt;br /&gt;
Wenn Ihr nicht Opalix benutzen möchtet, könnt ihr [[Opal für Linux|fertige Opal-Pakete für verschiedene Linux-Distributionen]] herunterladen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal Syntax-Highlighting]] ==&lt;br /&gt;
Eine Liste der Editoren, die [[Opal Syntax-Highlighting|Syntax-Highlighting für Opal]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen mit Opal ==&lt;br /&gt;
* [[MPGI 1 (Bachelor)]]&lt;br /&gt;
* [[Informatik 1]]&lt;br /&gt;
* [[PSS]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zu Opal und [[OCS]] findet Ihr hier:&lt;br /&gt;
* http://uebb.cs.tu-berlin.de/~opal/&lt;br /&gt;
&lt;br /&gt;
Genesis Opalis (Das 1. Buch Pepper):&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/1pepper.html&lt;br /&gt;
&lt;br /&gt;
Die 10 Opalismen:&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/die_10_Opalismen.html&lt;br /&gt;
&lt;br /&gt;
opal-examples:&lt;br /&gt;
* http://opal-examples.googlecode.com/&lt;br /&gt;
&lt;br /&gt;
== Fragen/Probleme ==&lt;br /&gt;
&lt;br /&gt;
Bei Fragen/Problemen rund um Opal/Opalix könnt ihr euch an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] wenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
[[Kategorie: Opalix]]&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal&amp;diff=14415</id>
		<title>Diskussion:Opal</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Opal&amp;diff=14415"/>
		<updated>2010-08-01T20:02:13Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Die Seite wurde neu angelegt: „Vorschlag für Zusammenführung von Opal und Übersicht Opal. --~~~~  ----  Opal ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmi...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Vorschlag für Zusammenführung von [[Opal]] und [[Übersicht Opal]]. --[[Benutzer:Stefan|Stefan]] 22:02, 1. Aug. 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Opal ist eine [[WikiPedia:Funktionale Programmiersprache|funktionale Programmiersprache]], die Euch in [[MPGI 1 (Bachelor)]] begegnen wird. Sie wurde an der TU Berlin von Prof. [[Pepper]] entwickelt. Die [[Freitagsrunde]] bietet euch mehrere Ressourcen rund um das Thema Opal.&lt;br /&gt;
&lt;br /&gt;
== [[Opal FAQ]] ==&lt;br /&gt;
In der [[Opal FAQ]] findet Ihr häufige Probleme, die bei der Benutzung von Opal aufreten, einschließlich ihrer Lösungen.&lt;br /&gt;
&lt;br /&gt;
== [[Opalix]] ==&lt;br /&gt;
Wir haben für Euch auch eine Linux Live-CD erstellt, auf der das lauffähige Opal gleich dabei ist. Ihr müsst also nichts installieren, einfach die CD reinschieben und fertig. Wo ihr die [[Opalix]]-CD bekommt, werden wir euch in der ersten MPGI 1-Vorlesung ankündigen. Insbesondere für Leute, die noch kein Linux bei sich installiert haben, ist dies wohl die einfachste Möglichkeit in Opal einzusteigen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal für Linux]] ==&lt;br /&gt;
Wenn Ihr nicht Opalix benutzen möchtet, könnt ihr [[Opal für Linux|fertige Opal-Pakete für verschiedene Linux-Distributionen]] herunterladen.&lt;br /&gt;
&lt;br /&gt;
== [[Opal Syntax-Highlighting]] ==&lt;br /&gt;
Eine Liste der Editoren, die [[Opal Syntax-Highlighting|Syntax-Highlighting für Opal]] unterstützen.&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen mit Opal ==&lt;br /&gt;
* [[MPGI 1 (Bachelor)]]&lt;br /&gt;
* [[Informatik 1]]&lt;br /&gt;
* [[PSS]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zu Opal und [[OCS]] findet Ihr hier:&lt;br /&gt;
* http://uebb.cs.tu-berlin.de/~opal/&lt;br /&gt;
&lt;br /&gt;
Genesis Opalis (Das 1. Buch Pepper):&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/1pepper.html&lt;br /&gt;
&lt;br /&gt;
Die 10 Opalismen:&lt;br /&gt;
* http://wwwwbs.cs.tu-berlin.de/user/riess/ns20/die_10_Opalismen.html&lt;br /&gt;
&lt;br /&gt;
opal-examples:&lt;br /&gt;
* http://opal-examples.googlecode.com/&lt;br /&gt;
&lt;br /&gt;
== Fragen/Probleme ==&lt;br /&gt;
&lt;br /&gt;
Bei Fragen/Problemen rund um Opal/Opalix könnt ihr euch an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] wenden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Opal]]&lt;br /&gt;
[[Kategorie: Opalix]]&lt;br /&gt;
[[Kategorie: Fachbegriffe der Informatik]]&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Lehrveranstaltungen_Informatik_Bachelor/Master_(StuPO_2006)&amp;diff=14122</id>
		<title>Diskussion:Lehrveranstaltungen Informatik Bachelor/Master (StuPO 2006)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Lehrveranstaltungen_Informatik_Bachelor/Master_(StuPO_2006)&amp;diff=14122"/>
		<updated>2010-07-26T17:59:39Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informatisches Propädeutikum und Informatik und Gesellschaft werden nicht in den Semestern angeboten in denen sie im empfohlenen Studienverlauf stehen&lt;br /&gt;
:: Hallo - wenn solche Probleme auftreten melde Dich doch bitte mal bei uns - und leg Dir ruhig einen Account im Wiki an... --[[Benutzer:Mutax|Florian]] 09:29, 19. Mär. 2010 (CET)&lt;br /&gt;
&lt;br /&gt;
== verbesserter Studienplan verändert ==&lt;br /&gt;
&lt;br /&gt;
der verbesserte Studienverlaufsplan wurde verändert, bitte Reviewen und bei Bedarf neu gestalten --[[Benutzer:Jungnickel|Jungnickel]] 23:14, 16. Apr. 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
Ich bin etwas skeptisch, ob das so gut ist das so zu machen... Es stimmt zwar, dass es sinnvoll ist IPro später zu machen, weil dann schon viele Themen in den anderen Modulen rankamen, aber ANA2 ist schon noch ein Ende (zeit)aufwändiger als LinA, da wäre dann das 3. Semester ziemlich vollpackt... --[[Benutzer:Stefan|Stefan]] 19:59, 26. Jul. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13997</id>
		<title>Datenbankpraktikum/Abschlusstest SoSe 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13997"/>
		<updated>2010-07-24T09:56:33Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abschlusstest (19.07.2010) - Gedächtnisprotokoll ggf. ziemlich unvollständig; keine Hilfsmittel waren zugelassen&lt;br /&gt;
&lt;br /&gt;
Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)&lt;br /&gt;
&lt;br /&gt;
* DDL&lt;br /&gt;
** Ausdruck zum Erstellen der Tabelle Auto angeben (einschließlich Primärschlüssel, Fremdschlüssel und CHECK-Constraints)&lt;br /&gt;
** Der Tabelle Auto eine Spalte und einen CHECK-Constraint hinzufügen.&lt;br /&gt;
* SQL-Abfrage formulieren&lt;br /&gt;
** Anzahl von irgendwas zurückgeben (irgendwas, wo JOIN, GROUP BY und COUNT benutzt werden musste)&lt;br /&gt;
** Von Kunden, die in einem Zeitraum einen bestimmten Autotyp reserviert hatten, Vor- und Nachnamen durch ein Leerzeichen verbunden innerhalb einer Spalte; keine Duplikate (SELECT DISTINCT, String-Konktatenation, Joins, WHERE-Condition)&lt;br /&gt;
* SQL-Abfrage lesen&lt;br /&gt;
** Eine etwas größere SQL-Abfrage war gegeben. Das Ergebnis sollte in eine Tabelle eingetragen werden und (natürlichsprachlich) beschrieben werden. Sie enthielt verschiedene Joins (u.a. CROSS JOIN und LEFT OUTER JOIN), CASE-Anweisung und GROUP BY mit SUM-Aggregation. Sofern ich es richtig erkannt hatte, hat die Abfrage hat pro Filiale und Autoklasse den Umsatz zusammengerechnet. Der CASE war dazu da die NULLs des Outer-Joints durch &amp;quot;0.0&amp;quot; zu ersetzen, wenn für die entsprechende Kombination kein Umsatz vorlag.&lt;br /&gt;
* Views&lt;br /&gt;
** Wofür können Views verwendet werden?&lt;br /&gt;
** Wie greift man auf Views zu?&lt;br /&gt;
* Trigger (multiple Choice)&lt;br /&gt;
* Indexes (multiple Choice)&lt;br /&gt;
* Transaktionen&lt;br /&gt;
** Es war ein Aktivitätsdiagramm gegeben bei dem dirty-read und non-repeatable-read Phänomene auftauchen konnten. Diese Probleme sollte man finden und beschreiben, wo sie auftreten.&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Tipps_zum_richtigen_Studieren&amp;diff=13995</id>
		<title>Tipps zum richtigen Studieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Tipps_zum_richtigen_Studieren&amp;diff=13995"/>
		<updated>2010-07-23T17:31:53Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Angebote der Uni */ Uni-Sport war 404 - korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Da gibts hier nicht viel zu sagen...&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen ==&lt;br /&gt;
&lt;br /&gt;
* [[gute Gruppen finden|Sucht euch eine gut funktionierende Lern-Gruppe]]. (Dreiergruppen sind am besten. Andere Größen taugen nicht viel im Vergleich. Wenn ihr keine Wahl habt, trefft euch zu noch größeren Gruppen und teilt euch dann in Dreiergruppen auf.) &lt;br /&gt;
** Am besten ist es, wenn eine Gruppe für mehrere Veranstaltungen besteht, da es sich besser koordinieren lässt.&lt;br /&gt;
** Gut funktionierend heißt, ihr macht alle die Hausaufgaben zusammen. Nicht einer TechGI, einer TheGI, etc.&lt;br /&gt;
* '''immer''' die Hausaufgaben machen&lt;br /&gt;
* Zwei Tutorien sind manchmal besser als ein Tutorium und eine schlechte Vorlesung (vor allem am Anfang)&lt;br /&gt;
* Es lohnt sich, zwischen zwei Veranstaltungen Freistunden zu haben, weil man dann Zeit für Hausaufgaben hat - außerdem haben da automatisch alle Gruppenmitglieder Zeit.&lt;br /&gt;
&lt;br /&gt;
== Prüfungen ==&lt;br /&gt;
* Wenn ihr auf Klausuren lernt, holt euch [[Klausurensammlung|alte Klausuren]] und rechnet die durch. Wichtig: Erst zu dritt durchrechnen, dann gegenseitig korrigieren und ERST DANN in die Musterlösung schauen. Nichts ist schlimmer als die Lösung zuerst anzuschauen, da man dann denkt: &amp;quot;Och, das kann ich ja...&amp;quot;. Den Fehler macht zwar trotzdem jeder, aber steter Tropfen höhlt den Stein... :)&lt;br /&gt;
* Bitte achtet auf die [[StuPO]]. Egal was ein Sekretariat besser wissen möchte - die Fristen sind durch die StuPO festgelegt. Ein Beispiel: Zu einer Prüfungsleistung (Klausur) kann sich der Student bis zu 3 Werktage vor dem Prüfungstermin abmelden. Diese Frist ist in der StuPO §13 festgelegt und kann durch kein Sekretariat außer Kraft gesetzt werden. Spätere Abmeldungen führen automatisch zu: &amp;quot;Prüfungsleistung nicht bestanden&amp;quot;. Ausnahme: Nachweis einer Krankmeldung.&lt;br /&gt;
&lt;br /&gt;
== Angebote der Uni ==&lt;br /&gt;
* Als Student habt ihr nicht nur Vergünstigungen im täglichen Leben, sondern auch noch andere Möglichkeiten, kostenlos an sonst teure Dinge zu kommen:&lt;br /&gt;
** Über Kooperationen der [[Bibliothek|Uni-Bibliothek]] habt ihr Zugang zu vielen Online-Zeitschriften und IEEE/ACM-Datenbanken mit wissenschaftlichen Texten&lt;br /&gt;
** Die Fakultät 4 hat ein Programm mit [[Microsoft]] und ermöglicht Euch den [[MSDNAA|kostenlosen Download von Windows, Visual Studio und mehr]].&lt;br /&gt;
** Im [[Lötlabor]] und in [[Cafe Shila|studentischen]] [[icafe|Cafes]] findet viel Leben statt, man kann Freunde treffen und Freizeit verbringen.&lt;br /&gt;
* Der [http://www.tu-sport.de/ Uni-Sport] hat ein riesiges Angebot. Es ist günstig, macht Spaß, hält fit und man lernt neue Leute kennen!&lt;br /&gt;
&lt;br /&gt;
== Freitagsrunde ==&lt;br /&gt;
* Melde dich auf unserer [[Infoliste]] an, um immer über aktuelle Entwicklungen in der Freitagsrunde oder an der Uni informiert zu sein.&lt;br /&gt;
* Besuche uns bei unseren [[FR 5046|Treffen freitags]],  und melde dich auf der [[Freitagsrunde:fopen|fopen-Diskussionsliste]] an, wo sich unsere wöchentlichen Protokolle finden.&lt;br /&gt;
* [[Mitmachen|Hilf uns]], wenn Du etwas hast, mit dem Du dich einbringen kannst!&lt;br /&gt;
&lt;br /&gt;
== Beratunsstellen ==&lt;br /&gt;
&lt;br /&gt;
Und schliesslich gibt es noch diverse [[Beratungsstellen]] die auf die Uni verteilt sind.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Einführungswoche]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13994</id>
		<title>Datenbankpraktikum/Abschlusstest SoSe 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13994"/>
		<updated>2010-07-23T16:15:02Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abschlusstest (19.07.2010) - Gedächtnisprotokoll ggf. ziemlich unvollständig; keine Hilfsmittel waren zugelassen&lt;br /&gt;
&lt;br /&gt;
Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)&lt;br /&gt;
&lt;br /&gt;
* DML&lt;br /&gt;
** Ausdruck zum Erstellen der Tabelle Auto angeben (einschließlich Primärschlüssel, Fremdschlüssel und CHECK-Constraints)&lt;br /&gt;
** Der Tabelle Auto eine Spalte und einen CHECK-Constraint hinzufügen.&lt;br /&gt;
* SQL-Abfrage formulieren&lt;br /&gt;
** Anzahl von irgendwas zurückgeben (irgendwas, wo JOIN, GROUP BY und COUNT benutzt werden musste)&lt;br /&gt;
** Von Kunden, die in einem Zeitraum einen bestimmten Autotyp reserviert hatten, Vor- und Nachnamen durch ein Leerzeichen verbunden innerhalb einer Spalte; keine Duplikate (SELECT DISTINCT, String-Konktatenation, Joins, WHERE-Condition)&lt;br /&gt;
* SQL-Abfrage lesen&lt;br /&gt;
** Eine etwas größere SQL-Abfrage war gegeben. Das Ergebnis sollte in eine Tabelle eingetragen werden und (natürlichsprachlich) beschrieben werden. Sie enthielt verschiedene Joins (u.a. CROSS JOIN und LEFT OUTER JOIN), CASE-Anweisung und GROUP BY mit SUM-Aggregation. Sofern ich es richtig erkannt hatte, hat die Abfrage hat pro Filiale und Autoklasse den Umsatz zusammengerechnet. Der CASE war dazu da die NULLs des Outer-Joints durch &amp;quot;0.0&amp;quot; zu ersetzen, wenn für die entsprechende Kombination kein Umsatz vorlag.&lt;br /&gt;
* Views&lt;br /&gt;
** Wofür können Views verwendet werden?&lt;br /&gt;
** Wie greift man auf Views zu?&lt;br /&gt;
* Trigger (multiple Choice)&lt;br /&gt;
* Indexes (multiple Choice)&lt;br /&gt;
* Transaktionen&lt;br /&gt;
** Es war ein Aktivitätsdiagramm gegeben bei dem dirty-read und non-repeatable-read Phänomene auftauchen konnten. Diese Probleme sollte man finden und beschreiben, wo sie auftreten.&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13993</id>
		<title>MPGI 3 (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13993"/>
		<updated>2010-07-23T16:12:54Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Praktikum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Methodische und Praktische Grundlagen der Informatik 3: Softwaretechnik''' ist eine Pflichtveranstaltung im zweiten Jahr des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] im dritten Semester und anschließend 6 SWS [[#Praktikum|Praktikum]] im vierten Semester. Die gesamte Veranstaltung entspricht damit 12 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zitat von der MPGI3-Seite:&lt;br /&gt;
&lt;br /&gt;
Für Diplomstudiengänge ([[Lehrveranstaltungen Informatik Diplom (StuPO90)|Informatik]], TI, TWM, Wi-Ing, ITM u.A.) auch als [[Basisveranstaltung]] [[Softwaretechnik]] anrechenbar.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
Die Lehrveranstaltung behandelt grundlegende Methoden und Techniken zur Softwareentwicklung von der Anforderungsanalyse über den Entwurf bis zur Implementierung unter Berücksichtigung von Qualitätssicherungsmaßnahmen.&lt;br /&gt;
&lt;br /&gt;
Schwerpunkte sind dabei:&lt;br /&gt;
&lt;br /&gt;
* Prozess- und Produktübersicht auf Software&lt;br /&gt;
* Anforderungsermittlung&lt;br /&gt;
* Vorgehensmodelle&lt;br /&gt;
* Objektorientierte Entwicklungsmethode auf Basis von UML&lt;br /&gt;
** Ausgangspunkt: Anforderungsspezifikation&lt;br /&gt;
** Aufstellung von Analyse-, Architektur- und Entwurfsmodellen&lt;br /&gt;
** Umsetzung in ein Ausführungsmodell&lt;br /&gt;
** Konsistenzprüfung zwischen Modellen und Qualitätssicherung&lt;br /&gt;
* Komponenten und Modularisierung&lt;br /&gt;
* Klassifikation von Softwaresystemen nach Architektur- und Anwendungszweck&lt;br /&gt;
* Qualitätssicherung durch Testen&lt;br /&gt;
* formale und diagrammatische Modellierungstechniken (z.B. Statecharts)&lt;br /&gt;
&lt;br /&gt;
== Praktikum ==&lt;br /&gt;
Im Rahmen dieser Veranstaltung muss (im selben oder folgenden Semester) ein Praktikum gemacht werden. Es werden verschiedene Praktika zur Auswahl gestellt. Eine Möglichkeit ist das [[Datenbankpraktikum]]. Das Praktikum selbst wird nicht gesondert benotet.&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
* Die Vorlesung befasst sich vor allem mit dem gesamten theoretischen Hintergrund des modellierten Softwareengineerings, während in den Übungen durchgehend der Umgang von und mit UML gelehrt wird.&lt;br /&gt;
* Im WS 2007/08 war der Höreransturm so groß, das sich die Veranstalter gezwungen sahen, die Arbeit von Vierergruppen zu forcieren. Wer hier vorbereitet ist, vermeidet das Erlebnis, plötzlich mit vollkommen Unbekannten arbeiten zu müssen.&lt;br /&gt;
* Ob der hohen Besucherzahl empfiehlt sich außerdem die Verwendung weiterer Ressourcen zum Erlernen von UML, z.B. [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Literatur| Lehrbücher] oder [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Weblinks| Web-Ressourcen]. Als Empfehlung seien hier das &amp;quot;Lehrbuch der Objektmodellierung, Analyse und Entwurf mit der UML 2&amp;quot; ISBN 3-8274-1162-9 von Heide Balzert und der Online-Lehrgang &amp;quot;[http://www.highscore.de/uml/| Der moderne Software­entwicklungs­prozess mit UML]&amp;quot; von Boris Schäling genannt.&lt;br /&gt;
* Zum WS08/09 bietet der Fachbereich auf ISIS die Mitschnitte der Vorlesungen an. Passender RSS-Feed: http://user.cs.tu-berlin.de/~helldgra/mpgi3.cgi&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|(möglicherweise inhaltlich) [[Softwaretechnik]]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;br /&gt;
* Der Inhalt dieser Veranstaltung ist m.E. weitaus weniger konkret als die bisherigen MPGI-Vorlesungen und erfordert daher ein höheres Maß an Nacharbeit bzw. Eigeninformation, als es z.B. MPGI I verlangt&lt;br /&gt;
&lt;br /&gt;
Im WS 2007/08 war die Veranstaltung extrem unorganisiert. Die Korrektur hing immer 2 Aufgabenblätter hinter dem aktuellen Blatt, was sehr schön ist, wenn die Blätter aufeinander Aufbauen. Die Bewertungen sind ziemlich undurchsichtig, man weiß eigentlich gar nicht was an der eigenen Abgabe jetzt gut oder schlecht war. Auch wenn ich denke, dass UML für Informatiker ein wichtiges Thema ist, sollte man sich lieber ein gutes Buch zu diesem Thema besorgen und die Veranstaltung meiden (wenn man kann).--[[Benutzer:Ripper2256|Ripper2256]] 14:09, 14. Feb. 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* Die Veranstaltung ist von der Thematik her schon sehr interessant, allerdings ist die Ausführung recht bescheiden. Die VL war recht zäh, da Prof. Jähnichen sehr viel redet, aber wenig sagt. Seine Ausschweifungen haben den eh schon fragilen Roten Faden immer wieder zerstört. In den Tutorien lief es wenig besser. Ich hatte immer Angst, dass mein Tutor im Stehen einschläft. Die Aufgabenbewertungen waren sehr mysteriös, dabei hätte man schon ne 1,0 verdient, wenn man es schafft die unvöllständigen und auch sinnfreien Aufgaben zu verstehen. ;-) Zu allem Überfluss war die Kontrolle noch sehr langsam. Die ist insofern ärgerlich, wenn die Aufgaben aufeinander aufbauen und man durch deren Langsamkeit dann zweimal den gleichen Fehler angekreidet bekommt. Einzig positiv war das Diskussionsforum, welches auch vom Lehrpersonal (insbesondere den Assistenten) genutzt wurde. Somit konnte man dort recht schnell eine Antwort auf seine Fragen erhalten. --mkter 14:42, 21. Feb. 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)&amp;diff=13992</id>
		<title>MPGI 5 (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)&amp;diff=13992"/>
		<updated>2010-07-23T16:03:21Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Gedächtnisprotokoll verlinkt; Inhalt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;	 &lt;br /&gt;
SoSe 2008&lt;br /&gt;
* [[MPGI 5 (Bachelor)/Gedächtnisprotokoll der Nachklausur vom 03.10.2008|Gedächtnisprotokoll der Nachklausur vom 03.10.2008]]&lt;br /&gt;
SoSe 2010&lt;br /&gt;
* [[MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010|Gedächtnisprotokoll der Klausur vom 23.07.2010]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Methodische und Praktische Grundlagen der Informatik 5: Datenbanksysteme''' ist eine Pflichtveranstaltung im vierten Semester des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] und entspricht 6 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
unter anderem: (E)ER-Diagramme; erstellung Relationales Modell; Relationale Algebra; SQL; Anfragebearbeitung und Optimierung; Transaktionen; Data Warehouses; Map-Reduce&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|(mglw.) Basisveranstaltung Datenbanken und Informationssysteme [[Grundlagen der Informationsmodellierung]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Nachklausur_vom_03.10.2008&amp;diff=13990</id>
		<title>MPGI 5 (Bachelor)/Gedächtnisprotokoll der Nachklausur vom 03.10.2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Nachklausur_vom_03.10.2008&amp;diff=13990"/>
		<updated>2010-07-23T16:01:09Z</updated>

		<summary type="html">&lt;p&gt;Stefan: hat „MPGI 5 (Bachelor)/Gedächtnisprotokoll der Nachklausur vom 03.10.08“ nach „MPGI 5 (Bachelor)/Gedächtnisprotokoll der Nachklausur vom 03.10.2008“ verschoben:&amp;amp;#32;nochmal Jahreszahl angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 ==&lt;br /&gt;
&lt;br /&gt;
Tabellen gegeben:&lt;br /&gt;
&lt;br /&gt;
Arzt(PersNr, Name)&lt;br /&gt;
Chirurg(PersNr, Dienstjahre, Station)&lt;br /&gt;
Chefarzt(PersNr,Station)&lt;br /&gt;
Patient(PatNr,Name, Privat?)&lt;br /&gt;
Assistiert(PersNr, OpNr)&lt;br /&gt;
Führt_durch(PersNr, OpNr)&lt;br /&gt;
Operation(OpNr, Raum, Beginn, Ende, PatNr)&lt;br /&gt;
&lt;br /&gt;
a) EER-Reengineering inkl. Kardinalität und Integritätsbedingungen&lt;br /&gt;
b) Vorgegebene Integritätsbedingungen in den Tabellen überprüfen&lt;br /&gt;
c) GgF. Integritätsbedingungen in EER-Modell übernehmen - nicht darstellbare als logische Formeln angeben&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 ==&lt;br /&gt;
&lt;br /&gt;
Anforderungsbeschreibung von Containern verschiedener Größe, Kapazität und Typs, unterschiedliche Arten, in den varianten Standard und Kühlcontainer. Außerdem Sicherheitscontainer, die als Castor- oder Chemiecontainer ausgelegt sein können. Chemiecontainer sind zusätzlich nach Chemikalienart und Aggregatszustand klassifiziert. Kühlcontainer haben Lagerbereich und ein bis mehrere Kühlaggregate mit bestimmter Kühldauer.&lt;br /&gt;
&lt;br /&gt;
a) EER - Modell anfertigen&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 ==&lt;br /&gt;
&lt;br /&gt;
Relationaler Datenbankentwurf gegeben als EER - Modell und Schema&lt;br /&gt;
&lt;br /&gt;
a) Einteilung von Darstellungsschritten (E/R - Modell, Relationelles Schema) in die Phasen des Datenbankentwurfs&lt;br /&gt;
b) Einteilung der gegebenen Schemata in die Normalformen, d.h. welche erfüllt sind&lt;br /&gt;
c) Beschreibung einer Anomalie die bei der Normierung in einer der Tabellen behandelt wird&lt;br /&gt;
d) Normierung bis zur 3. Form aller Schemata&lt;br /&gt;
e) SQL Code für eine spezielles Schema (Tabelle erstellen mit Integritätsbedingungen und Kardinalitäten)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 ==&lt;br /&gt;
&lt;br /&gt;
Relationen auf Attributen gegeben, mit funktionalen Abhängigkeiten auf atomaren Attributen&lt;br /&gt;
&lt;br /&gt;
a) Primärschlüssel für die Relationen festlegen&lt;br /&gt;
b) Eigenschaften eines Primärschlüssels angeben&lt;br /&gt;
c) Festgelegte Primärschlüssel charakterisieren(zusammengesetzt, embedded, etc.)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 ==&lt;br /&gt;
&lt;br /&gt;
Relationale Anfragen&lt;br /&gt;
&lt;br /&gt;
Tabellen von Mitarbeitern, Einsätzen und Firmen gegeben&lt;br /&gt;
&lt;br /&gt;
a) Anfrage nach Mitarbeitern die an ihrem Wohnort eingesetzt wurden in form des Relationenkalküls&lt;br /&gt;
b) Anfrage in form der Relationenalgebra&lt;br /&gt;
c) SQL Anfrage nach Firmen die die Mitarbeiter an ihrem Wohnort und Firmensitz eingesetzt haben&lt;br /&gt;
d) SQL Anfrage nach FirmenNr und Firmenname und Anzahl der Einsätze im Bereich Elektrik&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Klausur_vom_23.07.2010&amp;diff=13988</id>
		<title>MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Klausur_vom_23.07.2010&amp;diff=13988"/>
		<updated>2010-07-23T15:57:24Z</updated>

		<summary type="html">&lt;p&gt;Stefan: hat „Gedächtnisprotokoll der Nachklausur vom 23.07.10“ nach „MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010“ verschoben:&amp;amp;#32;MPGI 5 untergeordnet; außerdem war es keine Nachklausur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 ==&lt;br /&gt;
EER-Diagramm erstellen.&lt;br /&gt;
Es war eine grobe Anforderungsbeschreibung einer Musikdatenbank gegeben.&lt;br /&gt;
In der es Musikstücke gibt (einfaches Poplied oder komplexes Kammerorchester) die einen oder mehrere Autoren hat.&lt;br /&gt;
Personen können auch in einer Musik-Gruppe Mitglied sein.&lt;br /&gt;
== Aufgabe 2 ==&lt;br /&gt;
Es waren zwei Tabellen gegeben und Funktionale Abhängigkeiten&lt;br /&gt;
 R(A,B,C,D)&lt;br /&gt;
 S(E,F,G,C,D)&lt;br /&gt;
 FD: &lt;br /&gt;
 (C,D) -&amp;gt; B&lt;br /&gt;
 B -&amp;gt; A&lt;br /&gt;
 G -&amp;gt; (C,D)&lt;br /&gt;
 E -&amp;gt; F&lt;br /&gt;
=== 2.a) ===&lt;br /&gt;
Schlüssel angeben&lt;br /&gt;
=== 2.b) ===&lt;br /&gt;
Angeben in welcher Normalform sich die Tabellen mit dem gewählten Schlüssel befinden mit Begründung.&lt;br /&gt;
=== 2.c.) ===&lt;br /&gt;
Die Tabellen bis zur BCNF normalisieren&lt;br /&gt;
== Aufgabe 3 ==&lt;br /&gt;
Es war ein EER-Diagramm gegeben und diese auch in Tabellenform (Relationen: Flug, Person, bucht, Flughafen, Flugzeugtyp).&lt;br /&gt;
Dazu waren mehrer Aussagen getroffen worde die:&lt;br /&gt;
* in relationaler Algebra&lt;br /&gt;
* in SQL &lt;br /&gt;
angegeben werden sollen.&lt;br /&gt;
&lt;br /&gt;
Eine SQL-Query über diese Tabellen war vorgegeben und es sollte natürlichsprachlich beschrieben werden, was sie abfragt (Ergebis war vermutlich etwas wie &amp;quot;Flug-IDs von Flügen anzeigen, die von Berlin Tegel nach New York fliegen und noch freie Plätze haben&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 ==&lt;br /&gt;
Aussagen über relationaler Algebra.&lt;br /&gt;
* Es waren 4 Aussagen über Mengen bzw. Multimengen gegeben und man sollte ankreuzen ob die Aussage stimmt oder nicht. Es sollte auch dazu jedesmal eine Begründung angegeben werden.&lt;br /&gt;
== Aufgabe 5 ==&lt;br /&gt;
Serialisierbarkeit.&lt;br /&gt;
Es waren 3 Transaktionengegeben in der Form:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Transaktion T1&lt;br /&gt;
|-&lt;br /&gt;
| a = a+1&lt;br /&gt;
|-&lt;br /&gt;
| b = a+b&lt;br /&gt;
|-&lt;br /&gt;
| c = c+a&lt;br /&gt;
|}&lt;br /&gt;
diese 3 Transaktionen sollten dann in einer Tabelle konfliktserialisierbar angegeben werden (die Tabelle sah so aus wie in den Vorlesungen).&lt;br /&gt;
Und dazu sollte ein Serialisierbarkeitsgraph angegeben werden&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ged%C3%A4chtnisprotokoll_der_Nachklausur_vom_23.07.10&amp;diff=13989</id>
		<title>Gedächtnisprotokoll der Nachklausur vom 23.07.10</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ged%C3%A4chtnisprotokoll_der_Nachklausur_vom_23.07.10&amp;diff=13989"/>
		<updated>2010-07-23T15:57:24Z</updated>

		<summary type="html">&lt;p&gt;Stefan: hat „Gedächtnisprotokoll der Nachklausur vom 23.07.10“ nach „MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010“ verschoben:&amp;amp;#32;MPGI 5 untergeordnet; außerdem war es keine Nachklausur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Nachklausur_vom_03.10.2008&amp;diff=13986</id>
		<title>MPGI 5 (Bachelor)/Gedächtnisprotokoll der Nachklausur vom 03.10.2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Nachklausur_vom_03.10.2008&amp;diff=13986"/>
		<updated>2010-07-23T15:56:40Z</updated>

		<summary type="html">&lt;p&gt;Stefan: hat „Gedächtnisprotokoll der Nachklausur vom 03.10.08“ nach „MPGI 5 (Bachelor)/Gedächtnisprotokoll der Nachklausur vom 03.10.08“ verschoben:&amp;amp;#32;MPGI 5 untergeordnet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 ==&lt;br /&gt;
&lt;br /&gt;
Tabellen gegeben:&lt;br /&gt;
&lt;br /&gt;
Arzt(PersNr, Name)&lt;br /&gt;
Chirurg(PersNr, Dienstjahre, Station)&lt;br /&gt;
Chefarzt(PersNr,Station)&lt;br /&gt;
Patient(PatNr,Name, Privat?)&lt;br /&gt;
Assistiert(PersNr, OpNr)&lt;br /&gt;
Führt_durch(PersNr, OpNr)&lt;br /&gt;
Operation(OpNr, Raum, Beginn, Ende, PatNr)&lt;br /&gt;
&lt;br /&gt;
a) EER-Reengineering inkl. Kardinalität und Integritätsbedingungen&lt;br /&gt;
b) Vorgegebene Integritätsbedingungen in den Tabellen überprüfen&lt;br /&gt;
c) GgF. Integritätsbedingungen in EER-Modell übernehmen - nicht darstellbare als logische Formeln angeben&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 ==&lt;br /&gt;
&lt;br /&gt;
Anforderungsbeschreibung von Containern verschiedener Größe, Kapazität und Typs, unterschiedliche Arten, in den varianten Standard und Kühlcontainer. Außerdem Sicherheitscontainer, die als Castor- oder Chemiecontainer ausgelegt sein können. Chemiecontainer sind zusätzlich nach Chemikalienart und Aggregatszustand klassifiziert. Kühlcontainer haben Lagerbereich und ein bis mehrere Kühlaggregate mit bestimmter Kühldauer.&lt;br /&gt;
&lt;br /&gt;
a) EER - Modell anfertigen&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 3 ==&lt;br /&gt;
&lt;br /&gt;
Relationaler Datenbankentwurf gegeben als EER - Modell und Schema&lt;br /&gt;
&lt;br /&gt;
a) Einteilung von Darstellungsschritten (E/R - Modell, Relationelles Schema) in die Phasen des Datenbankentwurfs&lt;br /&gt;
b) Einteilung der gegebenen Schemata in die Normalformen, d.h. welche erfüllt sind&lt;br /&gt;
c) Beschreibung einer Anomalie die bei der Normierung in einer der Tabellen behandelt wird&lt;br /&gt;
d) Normierung bis zur 3. Form aller Schemata&lt;br /&gt;
e) SQL Code für eine spezielles Schema (Tabelle erstellen mit Integritätsbedingungen und Kardinalitäten)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 ==&lt;br /&gt;
&lt;br /&gt;
Relationen auf Attributen gegeben, mit funktionalen Abhängigkeiten auf atomaren Attributen&lt;br /&gt;
&lt;br /&gt;
a) Primärschlüssel für die Relationen festlegen&lt;br /&gt;
b) Eigenschaften eines Primärschlüssels angeben&lt;br /&gt;
c) Festgelegte Primärschlüssel charakterisieren(zusammengesetzt, embedded, etc.)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 5 ==&lt;br /&gt;
&lt;br /&gt;
Relationale Anfragen&lt;br /&gt;
&lt;br /&gt;
Tabellen von Mitarbeitern, Einsätzen und Firmen gegeben&lt;br /&gt;
&lt;br /&gt;
a) Anfrage nach Mitarbeitern die an ihrem Wohnort eingesetzt wurden in form des Relationenkalküls&lt;br /&gt;
b) Anfrage in form der Relationenalgebra&lt;br /&gt;
c) SQL Anfrage nach Firmen die die Mitarbeiter an ihrem Wohnort und Firmensitz eingesetzt haben&lt;br /&gt;
d) SQL Anfrage nach FirmenNr und Firmenname und Anzahl der Einsätze im Bereich Elektrik&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Klausur_vom_23.07.2010&amp;diff=13983</id>
		<title>MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Klausur_vom_23.07.2010&amp;diff=13983"/>
		<updated>2010-07-23T14:08:53Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 ==&lt;br /&gt;
EER-Diagramm erstellen.&lt;br /&gt;
Es war eine grobe Anforderungsbeschreibung einer Musikdatenbank gegeben.&lt;br /&gt;
In der es Musikstücke gibt (einfaches Poplied oder komplexes Kammerorchester) die einen oder mehrere Autoren hat.&lt;br /&gt;
Personen können auch in einer Musik-Gruppe Mitglied sein.&lt;br /&gt;
== Aufgabe 2 ==&lt;br /&gt;
Es waren zwei Tabellen gegeben und Funktionale Abhängigkeiten&lt;br /&gt;
 R(A,B,C,D)&lt;br /&gt;
 S(E,F,G,C,D)&lt;br /&gt;
 FD: &lt;br /&gt;
 (C,D) -&amp;gt; B&lt;br /&gt;
 B -&amp;gt; A&lt;br /&gt;
 G -&amp;gt; (C,D)&lt;br /&gt;
 E -&amp;gt; F&lt;br /&gt;
=== 2.a) ===&lt;br /&gt;
Schlüssel angeben&lt;br /&gt;
=== 2.b) ===&lt;br /&gt;
Angeben in welcher Normalform sich die Tabellen mit dem gewählten Schlüssel befinden mit Begründung.&lt;br /&gt;
=== 2.c.) ===&lt;br /&gt;
Die Tabellen bis zur BCNF normalisieren&lt;br /&gt;
== Aufgabe 3 ==&lt;br /&gt;
Es war ein EER-Diagramm gegeben und diese auch in Tabellenform (Relationen: Flug, Person, bucht, Flughafen, Flugzeugtyp).&lt;br /&gt;
Dazu waren mehrer Aussagen getroffen worde die:&lt;br /&gt;
* in relationaler Algebra&lt;br /&gt;
* in SQL &lt;br /&gt;
angegeben werden sollen.&lt;br /&gt;
&lt;br /&gt;
Eine SQL-Query über diese Tabellen war vorgegeben und es sollte natürlichsprachlich beschrieben werden, was sie abfragt (Ergebis war vermutlich etwas wie &amp;quot;Flug-IDs von Flügen anzeigen, die von Berlin Tegel nach New York fliegen und noch freie Plätze haben&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 ==&lt;br /&gt;
Aussagen über relationaler Algebra.&lt;br /&gt;
* Es waren 4 Aussagen über Mengen bzw. Multimengen gegeben und man sollte ankreuzen ob die Aussage stimmt oder nicht. Es sollte auch dazu jedesmal eine Begründung angegeben werden.&lt;br /&gt;
== Aufgabe 5 ==&lt;br /&gt;
Serialisierbarkeit.&lt;br /&gt;
Es waren 3 Transaktionengegeben in der Form:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Transaktion T1&lt;br /&gt;
|-&lt;br /&gt;
| a = a+1&lt;br /&gt;
|-&lt;br /&gt;
| b = a+b&lt;br /&gt;
|-&lt;br /&gt;
| c = c+a&lt;br /&gt;
|}&lt;br /&gt;
diese 3 Transaktionen sollten dann in einer Tabelle konfliktserialisierbar angegeben werden (die Tabelle sah so aus wie in den Vorlesungen).&lt;br /&gt;
Und dazu sollte ein Serialisierbarkeitsgraph angegeben werden&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Klausur_vom_23.07.2010&amp;diff=13982</id>
		<title>MPGI 5 (Bachelor)/Gedächtnisprotokoll der Klausur vom 23.07.2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_5_(Bachelor)/Ged%C3%A4chtnisprotokoll_der_Klausur_vom_23.07.2010&amp;diff=13982"/>
		<updated>2010-07-23T14:06:02Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Aufgabe 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe 1 ==&lt;br /&gt;
EER-Diagramm erstellen.&lt;br /&gt;
Es war ein Spezifikation einer Musikdatenbank. &lt;br /&gt;
In der es Musikstücke gibt (einfaches Poplied oder komplexes Kammerorchester) die einen oder mehrere Autoren hat.&lt;br /&gt;
Personen können auch in einer Musik-Gruppe Mitglied sein.&lt;br /&gt;
== Aufgabe 2 ==&lt;br /&gt;
Es waren zwei Tabellen gegeben und Funktionale abhängigkeiten&lt;br /&gt;
R(A,B,C,D)&lt;br /&gt;
S(E,F,G,C,D)&lt;br /&gt;
FD: &lt;br /&gt;
(C,D) -&amp;gt; B&lt;br /&gt;
B -&amp;gt; A&lt;br /&gt;
G -&amp;gt; (C,D)&lt;br /&gt;
E -&amp;gt; F&lt;br /&gt;
=== 2.a) ===&lt;br /&gt;
Schlüssel angeben&lt;br /&gt;
=== 2.b) ===&lt;br /&gt;
Angeben in welcher Normalform sich die Tabellen mit dem gewählten Schlüssel befinden mit Begründung.&lt;br /&gt;
=== 2.c.) ===&lt;br /&gt;
Die Tabellen bis zur BCNF normalisieren&lt;br /&gt;
== Aufgabe 3 ==&lt;br /&gt;
Es war ein EER-Diagramm gegeben und diese auch in Tabellenform (Relationen: Flug, Person, bucht, Flughafen, Flugzeugtyp).&lt;br /&gt;
Dazu waren mehrer Aussagen getroffen worde die:&lt;br /&gt;
* in relationaler Algebra&lt;br /&gt;
* in SQL &lt;br /&gt;
angegeben werden sollen.&lt;br /&gt;
&lt;br /&gt;
Eine SQL-Query über diese Tabellen war vorgegeben und es sollte natürlichsprachlich beschrieben werden, was sie abfragt (Ergebis war vermutlich etwas wie &amp;quot;Flug-IDs von Flügen anzeigen, die von Berlin Tegel nach New York fliegen und noch freie Plätze haben&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 4 ==&lt;br /&gt;
Aussagen über relationaler Algebra.&lt;br /&gt;
* Es waren 4 Aussagen über Mengen bzw. Multimengen gegeben und man sollte ankreuzen ob die Aussage stimmt oder nicht. Es sollte auch dazu jedesmal eine Begründung angegeben werden.&lt;br /&gt;
== Aufgabe 5 ==&lt;br /&gt;
Serialisierbarkeit.&lt;br /&gt;
Es waren 3 Transaktionengegeben in der Form:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Transaktion T1&lt;br /&gt;
|-&lt;br /&gt;
| a = a+1&lt;br /&gt;
|-&lt;br /&gt;
| b = a+b&lt;br /&gt;
|-&lt;br /&gt;
| c = c+a&lt;br /&gt;
|}&lt;br /&gt;
diese 3 Transaktionen sollten dann in einer Tabelle konfliktserialisierbar angegeben werden (die Tabelle sah so aus wie in den Vorlesungen).&lt;br /&gt;
Und dazu sollte ein Serialisierbarkeitsgraph angegeben werden&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13962</id>
		<title>Datenbankpraktikum/Abschlusstest SoSe 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13962"/>
		<updated>2010-07-20T16:54:54Z</updated>

		<summary type="html">&lt;p&gt;Stefan: eine Aufgabe Ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abschlusstest (19.07.2010) - Gedächtnisprotokoll ggf. ziemlich unvollständig&lt;br /&gt;
&lt;br /&gt;
Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)&lt;br /&gt;
&lt;br /&gt;
* DML&lt;br /&gt;
** Ausdruck zum Erstellen der Tabelle Auto angeben (einschließlich Primärschlüssel, Fremdschlüssel und CHECK-Constraints)&lt;br /&gt;
** Der Tabelle Auto eine Spalte und einen CHECK-Constraint hinzufügen.&lt;br /&gt;
* SQL-Abfrage formulieren&lt;br /&gt;
** Anzahl von irgendwas zurückgeben (irgendwas, wo JOIN, GROUP BY und COUNT benutzt werden musste)&lt;br /&gt;
** Von Kunden, die in einem Zeitraum einen bestimmten Autotyp reserviert hatten, Vor- und Nachnamen durch ein Leerzeichen verbunden innerhalb einer Spalte; keine Duplikate (SELECT DISTINCT, String-Konktatenation, Joins, WHERE-Condition)&lt;br /&gt;
* SQL-Abfrage lesen&lt;br /&gt;
** Eine etwas größere SQL-Abfrage war gegeben. Das Ergebnis sollte in eine Tabelle eingetragen werden und (natürlichsprachlich) beschrieben werden. Sie enthielt verschiedene Joins (u.a. CROSS JOIN und LEFT OUTER JOIN), CASE-Anweisung und GROUP BY mit SUM-Aggregation. Sofern ich es richtig erkannt hatte, hat die Abfrage hat pro Filiale und Autoklasse den Umsatz zusammengerechnet. Der CASE war dazu da die NULLs des Outer-Joints durch &amp;quot;0.0&amp;quot; zu ersetzen, wenn für die entsprechende Kombination kein Umsatz vorlag.&lt;br /&gt;
* Views&lt;br /&gt;
** Wofür können Views verwendet werden?&lt;br /&gt;
** Wie greift man auf Views zu?&lt;br /&gt;
* Trigger (multiple Choice)&lt;br /&gt;
* Indexes (multiple Choice)&lt;br /&gt;
* Transaktionen&lt;br /&gt;
** Es war ein Aktivitätsdiagramm gegeben bei dem dirty-read und non-repeatable-read Phänomene auftauchen konnten. Diese Probleme sollte man finden und beschreiben, wo sie auftreten.&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13956</id>
		<title>Datenbankpraktikum/Abschlusstest SoSe 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13956"/>
		<updated>2010-07-19T12:10:51Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abschlusstest (19.07.2010) - Gedächtnisprotokoll ggf. ziemlich unvollständig&lt;br /&gt;
&lt;br /&gt;
Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)&lt;br /&gt;
&lt;br /&gt;
* DML&lt;br /&gt;
** Ausdruck zum Erstellen der Tabelle Auto angeben (einschließlich Primärschlüssel, Fremdschlüssel und CHECK-Constraints)&lt;br /&gt;
** Der Tabelle Auto eine Spalte und einen CHECK-Constraint hinzufügen.&lt;br /&gt;
* SQL-Abfrage formulieren&lt;br /&gt;
** Anzahl von irgendwas zurückgeben (irgendwas, wo JOIN, GROUP BY und COUNT benutzt werden musste)&lt;br /&gt;
** Von Kunden, die in einem Zeitraum einen bestimmten Autotyp reserviert hatten, Vor- und Nachnamen durch ein Leerzeichen verbunden innerhalb einer Spalte; keine Duplikate (SELECT DISTINCT, String-Konktatenation, Joins, WHERE-Condition)&lt;br /&gt;
* Views&lt;br /&gt;
** Wofür können Views verwendet werden?&lt;br /&gt;
** Wie greift man auf Views zu?&lt;br /&gt;
* Trigger (multiple Choice)&lt;br /&gt;
* Indexes (multiple Choice)&lt;br /&gt;
* Transaktionen&lt;br /&gt;
** Es war ein Aktivitätsdiagramm gegeben bei dem dirty-read und non-repeatable-read Phänomene auftauchen konnten. Diese Probleme sollte man finden und beschreiben, wo sie auftreten.&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13955</id>
		<title>MPGI 3 (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13955"/>
		<updated>2010-07-19T12:04:43Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Praktikum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Methodische und Praktische Grundlagen der Informatik 3: Softwaretechnik''' ist eine Pflichtveranstaltung im zweiten Jahr des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] im dritten Semester und anschließend 6 SWS [[#Praktikum|Praktikum]] im vierten Semester. Die gesamte Veranstaltung entspricht damit 12 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zitat von der MPGI3-Seite:&lt;br /&gt;
&lt;br /&gt;
Für Diplomstudiengänge ([[Lehrveranstaltungen Informatik Diplom (StuPO90)|Informatik]], TI, TWM, Wi-Ing, ITM u.A.) auch als [[Basisveranstaltung]] [[Softwaretechnik]] anrechenbar.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
Die Lehrveranstaltung behandelt grundlegende Methoden und Techniken zur Softwareentwicklung von der Anforderungsanalyse über den Entwurf bis zur Implementierung unter Berücksichtigung von Qualitätssicherungsmaßnahmen.&lt;br /&gt;
&lt;br /&gt;
Schwerpunkte sind dabei:&lt;br /&gt;
&lt;br /&gt;
* Prozess- und Produktübersicht auf Software&lt;br /&gt;
* Anforderungsermittlung&lt;br /&gt;
* Vorgehensmodelle&lt;br /&gt;
* Objektorientierte Entwicklungsmethode auf Basis von UML&lt;br /&gt;
** Ausgangspunkt: Anforderungsspezifikation&lt;br /&gt;
** Aufstellung von Analyse-, Architektur- und Entwurfsmodellen&lt;br /&gt;
** Umsetzung in ein Ausführungsmodell&lt;br /&gt;
** Konsistenzprüfung zwischen Modellen und Qualitätssicherung&lt;br /&gt;
* Komponenten und Modularisierung&lt;br /&gt;
* Klassifikation von Softwaresystemen nach Architektur- und Anwendungszweck&lt;br /&gt;
* Qualitätssicherung durch Testen&lt;br /&gt;
* formale und diagrammatische Modellierungstechniken (z.B. Statecharts)&lt;br /&gt;
&lt;br /&gt;
== Praktikum ==&lt;br /&gt;
Im Rahmen dieser Veranstaltung muss (im selben oder folgenden Semester) ein Praktikum gemacht werden. Es werden verschiedene Praktika zur Auswahl gestellt. Eine Möglichkeit ist das [[Datenbankpraktikum (DBPRA)]]. Das Praktikum selbst wird nicht gesondert benotet.&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
* Die Vorlesung befasst sich vor allem mit dem gesamten theoretischen Hintergrund des modellierten Softwareengineerings, während in den Übungen durchgehend der Umgang von und mit UML gelehrt wird.&lt;br /&gt;
* Im WS 2007/08 war der Höreransturm so groß, das sich die Veranstalter gezwungen sahen, die Arbeit von Vierergruppen zu forcieren. Wer hier vorbereitet ist, vermeidet das Erlebnis, plötzlich mit vollkommen Unbekannten arbeiten zu müssen.&lt;br /&gt;
* Ob der hohen Besucherzahl empfiehlt sich außerdem die Verwendung weiterer Ressourcen zum Erlernen von UML, z.B. [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Literatur| Lehrbücher] oder [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Weblinks| Web-Ressourcen]. Als Empfehlung seien hier das &amp;quot;Lehrbuch der Objektmodellierung, Analyse und Entwurf mit der UML 2&amp;quot; ISBN 3-8274-1162-9 von Heide Balzert und der Online-Lehrgang &amp;quot;[http://www.highscore.de/uml/| Der moderne Software­entwicklungs­prozess mit UML]&amp;quot; von Boris Schäling genannt.&lt;br /&gt;
* Zum WS08/09 bietet der Fachbereich auf ISIS die Mitschnitte der Vorlesungen an. Passender RSS-Feed: http://user.cs.tu-berlin.de/~helldgra/mpgi3.cgi&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|(möglicherweise inhaltlich) [[Softwaretechnik]]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;br /&gt;
* Der Inhalt dieser Veranstaltung ist m.E. weitaus weniger konkret als die bisherigen MPGI-Vorlesungen und erfordert daher ein höheres Maß an Nacharbeit bzw. Eigeninformation, als es z.B. MPGI I verlangt&lt;br /&gt;
&lt;br /&gt;
Im WS 2007/08 war die Veranstaltung extrem unorganisiert. Die Korrektur hing immer 2 Aufgabenblätter hinter dem aktuellen Blatt, was sehr schön ist, wenn die Blätter aufeinander Aufbauen. Die Bewertungen sind ziemlich undurchsichtig, man weiß eigentlich gar nicht was an der eigenen Abgabe jetzt gut oder schlecht war. Auch wenn ich denke, dass UML für Informatiker ein wichtiges Thema ist, sollte man sich lieber ein gutes Buch zu diesem Thema besorgen und die Veranstaltung meiden (wenn man kann).--[[Benutzer:Ripper2256|Ripper2256]] 14:09, 14. Feb. 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* Die Veranstaltung ist von der Thematik her schon sehr interessant, allerdings ist die Ausführung recht bescheiden. Die VL war recht zäh, da Prof. Jähnichen sehr viel redet, aber wenig sagt. Seine Ausschweifungen haben den eh schon fragilen Roten Faden immer wieder zerstört. In den Tutorien lief es wenig besser. Ich hatte immer Angst, dass mein Tutor im Stehen einschläft. Die Aufgabenbewertungen waren sehr mysteriös, dabei hätte man schon ne 1,0 verdient, wenn man es schafft die unvöllständigen und auch sinnfreien Aufgaben zu verstehen. ;-) Zu allem Überfluss war die Kontrolle noch sehr langsam. Die ist insofern ärgerlich, wenn die Aufgaben aufeinander aufbauen und man durch deren Langsamkeit dann zweimal den gleichen Fehler angekreidet bekommt. Einzig positiv war das Diskussionsforum, welches auch vom Lehrpersonal (insbesondere den Assistenten) genutzt wurde. Somit konnte man dort recht schnell eine Antwort auf seine Fragen erhalten. --mkter 14:42, 21. Feb. 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13954</id>
		<title>MPGI 3 (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13954"/>
		<updated>2010-07-19T12:04:22Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Methodische und Praktische Grundlagen der Informatik 3: Softwaretechnik''' ist eine Pflichtveranstaltung im zweiten Jahr des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] im dritten Semester und anschließend 6 SWS [[#Praktikum|Praktikum]] im vierten Semester. Die gesamte Veranstaltung entspricht damit 12 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zitat von der MPGI3-Seite:&lt;br /&gt;
&lt;br /&gt;
Für Diplomstudiengänge ([[Lehrveranstaltungen Informatik Diplom (StuPO90)|Informatik]], TI, TWM, Wi-Ing, ITM u.A.) auch als [[Basisveranstaltung]] [[Softwaretechnik]] anrechenbar.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
Die Lehrveranstaltung behandelt grundlegende Methoden und Techniken zur Softwareentwicklung von der Anforderungsanalyse über den Entwurf bis zur Implementierung unter Berücksichtigung von Qualitätssicherungsmaßnahmen.&lt;br /&gt;
&lt;br /&gt;
Schwerpunkte sind dabei:&lt;br /&gt;
&lt;br /&gt;
* Prozess- und Produktübersicht auf Software&lt;br /&gt;
* Anforderungsermittlung&lt;br /&gt;
* Vorgehensmodelle&lt;br /&gt;
* Objektorientierte Entwicklungsmethode auf Basis von UML&lt;br /&gt;
** Ausgangspunkt: Anforderungsspezifikation&lt;br /&gt;
** Aufstellung von Analyse-, Architektur- und Entwurfsmodellen&lt;br /&gt;
** Umsetzung in ein Ausführungsmodell&lt;br /&gt;
** Konsistenzprüfung zwischen Modellen und Qualitätssicherung&lt;br /&gt;
* Komponenten und Modularisierung&lt;br /&gt;
* Klassifikation von Softwaresystemen nach Architektur- und Anwendungszweck&lt;br /&gt;
* Qualitätssicherung durch Testen&lt;br /&gt;
* formale und diagrammatische Modellierungstechniken (z.B. Statecharts)&lt;br /&gt;
&lt;br /&gt;
== Praktikum ==&lt;br /&gt;
Im Rahmen dieser Veranstaltung muss (im selben oder folgenden Semester) ein Praktikum gemacht werden. Es werden verschiedene Praktika zur Auswahl gestellt. Eine Möglichkeit ist das [[Datenbankpraktikum (DBPRA)]].&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
* Die Vorlesung befasst sich vor allem mit dem gesamten theoretischen Hintergrund des modellierten Softwareengineerings, während in den Übungen durchgehend der Umgang von und mit UML gelehrt wird.&lt;br /&gt;
* Im WS 2007/08 war der Höreransturm so groß, das sich die Veranstalter gezwungen sahen, die Arbeit von Vierergruppen zu forcieren. Wer hier vorbereitet ist, vermeidet das Erlebnis, plötzlich mit vollkommen Unbekannten arbeiten zu müssen.&lt;br /&gt;
* Ob der hohen Besucherzahl empfiehlt sich außerdem die Verwendung weiterer Ressourcen zum Erlernen von UML, z.B. [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Literatur| Lehrbücher] oder [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Weblinks| Web-Ressourcen]. Als Empfehlung seien hier das &amp;quot;Lehrbuch der Objektmodellierung, Analyse und Entwurf mit der UML 2&amp;quot; ISBN 3-8274-1162-9 von Heide Balzert und der Online-Lehrgang &amp;quot;[http://www.highscore.de/uml/| Der moderne Software­entwicklungs­prozess mit UML]&amp;quot; von Boris Schäling genannt.&lt;br /&gt;
* Zum WS08/09 bietet der Fachbereich auf ISIS die Mitschnitte der Vorlesungen an. Passender RSS-Feed: http://user.cs.tu-berlin.de/~helldgra/mpgi3.cgi&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|(möglicherweise inhaltlich) [[Softwaretechnik]]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;br /&gt;
* Der Inhalt dieser Veranstaltung ist m.E. weitaus weniger konkret als die bisherigen MPGI-Vorlesungen und erfordert daher ein höheres Maß an Nacharbeit bzw. Eigeninformation, als es z.B. MPGI I verlangt&lt;br /&gt;
&lt;br /&gt;
Im WS 2007/08 war die Veranstaltung extrem unorganisiert. Die Korrektur hing immer 2 Aufgabenblätter hinter dem aktuellen Blatt, was sehr schön ist, wenn die Blätter aufeinander Aufbauen. Die Bewertungen sind ziemlich undurchsichtig, man weiß eigentlich gar nicht was an der eigenen Abgabe jetzt gut oder schlecht war. Auch wenn ich denke, dass UML für Informatiker ein wichtiges Thema ist, sollte man sich lieber ein gutes Buch zu diesem Thema besorgen und die Veranstaltung meiden (wenn man kann).--[[Benutzer:Ripper2256|Ripper2256]] 14:09, 14. Feb. 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* Die Veranstaltung ist von der Thematik her schon sehr interessant, allerdings ist die Ausführung recht bescheiden. Die VL war recht zäh, da Prof. Jähnichen sehr viel redet, aber wenig sagt. Seine Ausschweifungen haben den eh schon fragilen Roten Faden immer wieder zerstört. In den Tutorien lief es wenig besser. Ich hatte immer Angst, dass mein Tutor im Stehen einschläft. Die Aufgabenbewertungen waren sehr mysteriös, dabei hätte man schon ne 1,0 verdient, wenn man es schafft die unvöllständigen und auch sinnfreien Aufgaben zu verstehen. ;-) Zu allem Überfluss war die Kontrolle noch sehr langsam. Die ist insofern ärgerlich, wenn die Aufgaben aufeinander aufbauen und man durch deren Langsamkeit dann zweimal den gleichen Fehler angekreidet bekommt. Einzig positiv war das Diskussionsforum, welches auch vom Lehrpersonal (insbesondere den Assistenten) genutzt wurde. Somit konnte man dort recht schnell eine Antwort auf seine Fragen erhalten. --mkter 14:42, 21. Feb. 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Softwaretechnik-Praktikum&amp;diff=13953</id>
		<title>Softwaretechnik-Praktikum</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Softwaretechnik-Praktikum&amp;diff=13953"/>
		<updated>2010-07-19T12:03:29Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Weiterleitung nach MPGI 3 (Bachelor)#Praktikum erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MPGI 3 (Bachelor)#Praktikum]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13952</id>
		<title>MPGI 3 (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_3_(Bachelor)&amp;diff=13952"/>
		<updated>2010-07-19T12:02:10Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Methodische und Praktische Grundlagen der Informatik 3: Softwaretechnik''' ist eine Pflichtveranstaltung im zweiten Jahr des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] im dritten Semester und anschließend 6 SWS [[Praktikum]] im vierten Semester. Die gesamte Veranstaltung entspricht damit 12 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zitat von der MPGI3-Seite:&lt;br /&gt;
&lt;br /&gt;
Für Diplomstudiengänge ([[Lehrveranstaltungen Informatik Diplom (StuPO90)|Informatik]], TI, TWM, Wi-Ing, ITM u.A.) auch als [[Basisveranstaltung]] [[Softwaretechnik]] anrechenbar.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
Die Lehrveranstaltung behandelt grundlegende Methoden und Techniken zur Softwareentwicklung von der Anforderungsanalyse über den Entwurf bis zur Implementierung unter Berücksichtigung von Qualitätssicherungsmaßnahmen.&lt;br /&gt;
&lt;br /&gt;
Schwerpunkte sind dabei:&lt;br /&gt;
&lt;br /&gt;
* Prozess- und Produktübersicht auf Software&lt;br /&gt;
* Anforderungsermittlung&lt;br /&gt;
* Vorgehensmodelle&lt;br /&gt;
* Objektorientierte Entwicklungsmethode auf Basis von UML&lt;br /&gt;
** Ausgangspunkt: Anforderungsspezifikation&lt;br /&gt;
** Aufstellung von Analyse-, Architektur- und Entwurfsmodellen&lt;br /&gt;
** Umsetzung in ein Ausführungsmodell&lt;br /&gt;
** Konsistenzprüfung zwischen Modellen und Qualitätssicherung&lt;br /&gt;
* Komponenten und Modularisierung&lt;br /&gt;
* Klassifikation von Softwaresystemen nach Architektur- und Anwendungszweck&lt;br /&gt;
* Qualitätssicherung durch Testen&lt;br /&gt;
* formale und diagrammatische Modellierungstechniken (z.B. Statecharts)&lt;br /&gt;
&lt;br /&gt;
== Praktikum ==&lt;br /&gt;
Im Rahmen dieser Veranstaltung muss (im selben oder folgenden Semester) ein Praktikum gemacht werden. Es werden verschiedene Praktika zur Auswahl gestellt. Eine Möglichkeit ist das [[Datenbankpraktikum (DBPRA)]].&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
* Die Vorlesung befasst sich vor allem mit dem gesamten theoretischen Hintergrund des modellierten Softwareengineerings, während in den Übungen durchgehend der Umgang von und mit UML gelehrt wird.&lt;br /&gt;
* Im WS 2007/08 war der Höreransturm so groß, das sich die Veranstalter gezwungen sahen, die Arbeit von Vierergruppen zu forcieren. Wer hier vorbereitet ist, vermeidet das Erlebnis, plötzlich mit vollkommen Unbekannten arbeiten zu müssen.&lt;br /&gt;
* Ob der hohen Besucherzahl empfiehlt sich außerdem die Verwendung weiterer Ressourcen zum Erlernen von UML, z.B. [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Literatur| Lehrbücher] oder [http://de.wikipedia.org/wiki/Unified_Modeling_Language#Weblinks| Web-Ressourcen]. Als Empfehlung seien hier das &amp;quot;Lehrbuch der Objektmodellierung, Analyse und Entwurf mit der UML 2&amp;quot; ISBN 3-8274-1162-9 von Heide Balzert und der Online-Lehrgang &amp;quot;[http://www.highscore.de/uml/| Der moderne Software­entwicklungs­prozess mit UML]&amp;quot; von Boris Schäling genannt.&lt;br /&gt;
* Zum WS08/09 bietet der Fachbereich auf ISIS die Mitschnitte der Vorlesungen an. Passender RSS-Feed: http://user.cs.tu-berlin.de/~helldgra/mpgi3.cgi&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|(möglicherweise inhaltlich) [[Softwaretechnik]]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;br /&gt;
* Der Inhalt dieser Veranstaltung ist m.E. weitaus weniger konkret als die bisherigen MPGI-Vorlesungen und erfordert daher ein höheres Maß an Nacharbeit bzw. Eigeninformation, als es z.B. MPGI I verlangt&lt;br /&gt;
&lt;br /&gt;
Im WS 2007/08 war die Veranstaltung extrem unorganisiert. Die Korrektur hing immer 2 Aufgabenblätter hinter dem aktuellen Blatt, was sehr schön ist, wenn die Blätter aufeinander Aufbauen. Die Bewertungen sind ziemlich undurchsichtig, man weiß eigentlich gar nicht was an der eigenen Abgabe jetzt gut oder schlecht war. Auch wenn ich denke, dass UML für Informatiker ein wichtiges Thema ist, sollte man sich lieber ein gutes Buch zu diesem Thema besorgen und die Veranstaltung meiden (wenn man kann).--[[Benutzer:Ripper2256|Ripper2256]] 14:09, 14. Feb. 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
* Die Veranstaltung ist von der Thematik her schon sehr interessant, allerdings ist die Ausführung recht bescheiden. Die VL war recht zäh, da Prof. Jähnichen sehr viel redet, aber wenig sagt. Seine Ausschweifungen haben den eh schon fragilen Roten Faden immer wieder zerstört. In den Tutorien lief es wenig besser. Ich hatte immer Angst, dass mein Tutor im Stehen einschläft. Die Aufgabenbewertungen waren sehr mysteriös, dabei hätte man schon ne 1,0 verdient, wenn man es schafft die unvöllständigen und auch sinnfreien Aufgaben zu verstehen. ;-) Zu allem Überfluss war die Kontrolle noch sehr langsam. Die ist insofern ärgerlich, wenn die Aufgaben aufeinander aufbauen und man durch deren Langsamkeit dann zweimal den gleichen Fehler angekreidet bekommt. Einzig positiv war das Diskussionsforum, welches auch vom Lehrpersonal (insbesondere den Assistenten) genutzt wurde. Somit konnte man dort recht schnell eine Antwort auf seine Fragen erhalten. --mkter 14:42, 21. Feb. 2008 (CET)&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13951</id>
		<title>Datenbankpraktikum/Abschlusstest SoSe 2010</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum/Abschlusstest_SoSe_2010&amp;diff=13951"/>
		<updated>2010-07-19T11:55:34Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Die Seite wurde neu angelegt: „Abschlusstest (19.07.2010)  Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)  * D...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abschlusstest (19.07.2010)&lt;br /&gt;
&lt;br /&gt;
Es war als Tabellen ein Datenbankschema vorgegeben (Mietwagen-System: Tabellen Auto, Reservierung, Kunde, Rechnung, Filiale, ...)&lt;br /&gt;
&lt;br /&gt;
* DML&lt;br /&gt;
** Ausdruck zum Erstellen der Tabelle Auto angeben (einschließlich Primärschlüssel, Fremdschlüssel und CHECK-Constraints)&lt;br /&gt;
** Der Tabelle Auto eine Spalte und einen CHECK-Constraint hinzufügen.&lt;br /&gt;
* SQL-Abfrage formulieren&lt;br /&gt;
** Anzahl von irgendwas zurückgeben (irgendwas, wo JOIN, GROUP BY und COUNT benutzt werden musste)&lt;br /&gt;
** Von Kunden, die in einem Zeitraum einen bestimmten Autotyp reserviert hatten, Vor- und Nachnamen durch ein Leerzeichen verbunden innerhalb einer Spalte; keine Duplikate (SELECT DISTINCT, String-Konktatenation, Joins, WHERE-Condition)&lt;br /&gt;
* Views&lt;br /&gt;
** Wofür können Views verwendet werden?&lt;br /&gt;
** Wie greift man auf Views zu?&lt;br /&gt;
* Trigger (multiple Choice)&lt;br /&gt;
* Indexes (multiple Choice)&lt;br /&gt;
* Transaktionen&lt;br /&gt;
** Es war ein Aktivitätsdiagramm gegeben bei dem dirty-read und non-repeatable-read Phänomene auftauchen konnten. Diese Probleme sollte man finden und beschreiben, wo sie auftreten.&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum&amp;diff=13950</id>
		<title>Datenbankpraktikum</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datenbankpraktikum&amp;diff=13950"/>
		<updated>2010-07-19T11:43:31Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Die Seite wurde neu angelegt: „&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt; Sose 2010 * [[Datenbankpraktikum (DBPRA)/Abschlusstest S...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
Sose 2010&lt;br /&gt;
* [[Datenbankpraktikum (DBPRA)/Abschlusstest SoSe 2010|Gedächtnisprotokoll Abschlusstest]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Datenbankpraktikum (DBPRA) kann als (unbenoteter) Praktikums-Teil für [[MPGI 3 (Bachelor)]] oder als einzelne Lehrveranstaltung im Bachelor Fachstudium Informatik gemacht werden. Es wird vom Fachgebiet Datenbanksysteme und Informationsmanagement (DIMA) angeboten.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
Anhand von Informix (früher war es DB2) werden die wesentlichen Möglichkeiten relationaler Datenbanken gelehrt (Data Modeling Language, Data Definition Language, Subqueries, Views, Triggers, Constraints, Transactions, User Defined Routines, Indexes). Es gibt ein (dreiwöchiges) Projekt: Entwicklung einer (Java-)Applikation mit Anbindung an eine Informix-Datenbank.&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
Es ist sehr empfehlenswert das DBPRA im 4. Semester als MPGI3-Praktikumsteil zu machen und zeitgleich mit [[MPGI 5 (Bachelor)]] (Datenbanksysteme) zu belegen. Die Veranstaltungen ergänzen sich sehr gut, so dass man gegenseitig von profitieren kann. Im Gegensatz zu den ansonsten sehr theorielastigen Veranstaltungen des Informatikstudiums ist das Praktikum eine sehr angenehme praxisnahe Abwechslung. Es ist etwas skuril, dass ausgerechnet Informix benutzt wird, wovon vermutlich die meisten vorher noch nie was gehört haben, aber letztendlich geht es ja darum die Prinzipien hinter den Konzepten zu verstehen und das Wichtigste ist in SQL ja auch standardisiert. Im SoSe 2010 wurde am Ende eine kostenlose Informix-Zertifizierung von IBM angeboten. Um diese zu bestehen müssen 61 % an Multiple Choice Fragen richtig beantwortet werden. Dafür müssten schon ein paar Tage Vorbereitungszeit eingeplant werden, um die Kommandozeilenargumente sämtlicher Informix-Tools auswendig zu lernen.--[[Benutzer:Stefan|Stefan]] 13:43, 19. Jul. 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Praktikum&amp;diff=13949</id>
		<title>Praktikum</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Praktikum&amp;diff=13949"/>
		<updated>2010-07-19T11:19:49Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Praktika nach StuPO 90 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das '''Praktikum''' (PR) ist eine Lehrveranstaltungsform, bei denen die Studierenden praktische Aufgaben lösen sollen. &lt;br /&gt;
&lt;br /&gt;
== Praktika nach StuPO Bachelor/Master ==&lt;br /&gt;
In der neuen [[StuPO Informatik | StuPO Bachelor/Master]] ist das [[Softwaretechnik-Praktikum]] Pflicht im vierten Semester.&lt;br /&gt;
&lt;br /&gt;
== Praktika nach StuPO 90 ==&lt;br /&gt;
In der alten [[StuPO 90]] waren im Informatik-Grundstudium zwei Praktika Pflicht, man konnte aus einem großen Angebot wählen. Alle Praktika erbrachten mit 6 [[SWS]]. Vorzugsweise wurden diese im 3. und 4. Semester belegt, doch aufgrund des hohen Arbeitsaufwands und bei den geringen Kapazitäten der Lehrveranstalter waren Praktika ein beliebtes Anwendungsgebiet des Losverfahrens.&lt;br /&gt;
&lt;br /&gt;
Liste der Praktika:&lt;br /&gt;
&lt;br /&gt;
* [[Cpp-Praktikum (StuPO90)]]&lt;br /&gt;
* [[UNIX-Praktikum (SS) (StuPO90)]]&lt;br /&gt;
* [[IPA]] Internet Protokolle und Anwendungen&lt;br /&gt;
* [[Betriebssytem Praktikum]]&lt;br /&gt;
* [[Simulative Untersuchung von Internet Protokollen]]&lt;br /&gt;
* [[Datenbankpraktikum (DBPRA)]]&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
[[Lehrveranstaltungen]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=SunRay&amp;diff=13919</id>
		<title>SunRay</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=SunRay&amp;diff=13919"/>
		<updated>2010-07-01T20:42:48Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die SunRays werden vom [[IRB]] genutzt, um mit wenigen zentralen Servern alle Studenten der Fakultät IV mit Arbeitsumgebungen zu versorgen.&lt;br /&gt;
&lt;br /&gt;
Seit 2009 können sich auch andere Mitglieder der TU mit ihrer [[TubIT]]-Kennung an den SunRays anmelden.&lt;br /&gt;
&lt;br /&gt;
Neben Solaris stehen auch Linux (Ubuntu) und Windows-Server als Anmeldeziele zur Verfügung. Geplant ist ausserdem möglicherweise MacOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mehr Details auf: [[Wikipedia:Sun_Ray]].&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Campus&amp;diff=13918</id>
		<title>Campus</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Campus&amp;diff=13918"/>
		<updated>2010-07-01T20:28:37Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Links gefixt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lagepläne aller TU Gebäude: http://www.tu-berlin.de/menue/service/standortuebersicht/&lt;br /&gt;
----&lt;br /&gt;
Ein aktueller Gebäudeplan findet sich hier: http://www.tu-berlin.de/fileadmin/a70100710/Plaene_und_Karten/campusplan_300dpi.jpg&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Bild:Campusplan.jpg]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    1 Gebäude Kerntechnik (KT)&lt;br /&gt;
    2 Gebäude der Flugtechnischen Institute (F)&lt;br /&gt;
    3 Gebäudeteil Technische Akustik (TA)&lt;br /&gt;
    4 Gebäudeteil Hochfrequenztechnik (HFT)&lt;br /&gt;
    5 ehemaliges Telefunken-Hochhaus (TEL)&lt;br /&gt;
    6 Architekturgebäude (A)&lt;br /&gt;
    7 Gebäude Heizung und Lüftung (HL)&lt;br /&gt;
    8 Gebäude Wasserbau und Wasserwirtschaft (W)&lt;br /&gt;
    9 Mathematik-Gebäude ([[MA]])&lt;br /&gt;
   10 Gebäude der Elektrotechnischen Institute (E)&lt;br /&gt;
   10 Elektrotechnik Neubau ([[EN][E-N]])&lt;br /&gt;
   11 Gebäudeteile EM und HT (EMH)&lt;br /&gt;
   12 Gebäude Technische Chemie (TC)&lt;br /&gt;
   13 Ernst-Reuter-Haus (ER)&lt;br /&gt;
   14 Gebäude Bergbau und Hüttenwesen (BH)&lt;br /&gt;
   15 Erweiterungsbau (EB)&lt;br /&gt;
   16 Hauptgebäude der Technischen Universität Berlin ([[H]])&lt;br /&gt;
   17 Chemiegebäude (C)&lt;br /&gt;
   18 Gebäude Hardenbergstraße 4/5 (HAD)&lt;br /&gt;
   19 Bauingenieur Gebäude (B)&lt;br /&gt;
   20 Physikgebäude (P)&lt;br /&gt;
   20 Physik-Neubau (P-N)&lt;br /&gt;
   21 Gebäude Thermodynamik und Kältetechnik (TK)&lt;br /&gt;
   22 ehm. Fernheizwerk Fasanenstr. 1A (KF)&lt;br /&gt;
   23 Gebäudeteil Stadtbauwesen, Straßen- und Verkehrswesen, Eisenbahnwesen (SE)&lt;br /&gt;
   24 Gebäude Physikalische Chemie (PC)&lt;br /&gt;
   25 Gebäudeteile Kraftfahrzeuge und Mechanik (K/M)&lt;br /&gt;
   26 Gebäude Kraftwerktechnik und Apparatebau (KWT)&lt;br /&gt;
   27 Gebäude Verbrennungskraftmaschinen (VK)&lt;br /&gt;
   28 Rudolf-Drawe-Haus (RDH)&lt;br /&gt;
   29 Gebäude Werkzeugmaschinen und Fertigungstechnik (WF)&lt;br /&gt;
   30 Hermann-Föttinger-Gebäude (HF)&lt;br /&gt;
   31 Gebäude Lebensmittelchemie (L)&lt;br /&gt;
   32 Gebäude Müller-Breslau-Str. 11 (MB)&lt;br /&gt;
   33 Versuchsanstalt für Wasserbau und Schiffsbau (VWS)&lt;br /&gt;
   34 Gebäude Hardenbergstr. 10 (HAS)&lt;br /&gt;
   34 Hoechst-Haus (HH)&lt;br /&gt;
   35 Cranzbau (CR)&lt;br /&gt;
   35 Gebäude Jebensstraße 1 (J)&lt;br /&gt;
   36 Fasanenstraße (FAS)&lt;br /&gt;
   37 Gebäude Franklinstraße Neubau ([[FR]])&lt;br /&gt;
   38 Gebäudekomplex Severin-Gelände (SG)&lt;br /&gt;
   39 Gebäude Dovestraße (DO)&lt;br /&gt;
    A AStA Villa&lt;br /&gt;
    M [[Mensa]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Gebäude]]&lt;br /&gt;
[[Kategorie: Uni-ABC]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Stochastik_f%C3%BCr_Informatik_(Bachelor)&amp;diff=13909</id>
		<title>Stochastik für Informatik (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Stochastik_f%C3%BCr_Informatik_(Bachelor)&amp;diff=13909"/>
		<updated>2010-06-23T23:09:33Z</updated>

		<summary type="html">&lt;p&gt;Stefan: notoc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Klausuren&amp;lt;/h2&amp;gt;&lt;br /&gt;
[http://docs.freitagsrunde.org/Klausuren/Stochastik_fuer_Informatiker/ Klausuren ab 1997]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Stochastik für Informatiker''' ist eine Pflichtveranstaltung im vierten Semester des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] und entspricht 6 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
(basierend auf den Schwerpunkten des Skripts:) Grundlagen Wahrscheinlichkeitstheorie, Bedingte Wahrscheinlichkeiten, Diskrete Zufallsvariablen, Kenngrößen reeller Zufallsvariablen, Konvergenz von Zufallsvariablen, Markov-Ketten, Allgemeine Zufallsvariablen&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|[[Stochastik für Informatiker (StuPO90)]]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Stochastik_f%C3%BCr_Informatik_(Bachelor)&amp;diff=13908</id>
		<title>Stochastik für Informatik (Bachelor)</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Stochastik_f%C3%BCr_Informatik_(Bachelor)&amp;diff=13908"/>
		<updated>2010-06-23T23:09:13Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Klausuren&amp;lt;/h2&amp;gt;&lt;br /&gt;
[http://docs.freitagsrunde.org/Klausuren/Stochastik_fuer_Informatiker/ Klausuren ab 1997]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Stochastik für Informatiker''' ist eine Pflichtveranstaltung im vierten Semester des [[Lehrveranstaltungen Informatik|Studiengangs Informatik]] nach neuer [[StuPO Informatik|Bachelor-StuPO]]. Sie besteht aus 2 SWS [[Vorlesung]] und 2 SWS [[Übung]] und entspricht 6 [[ECTS]]-Leistungspunkten.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
(basierend auf den Schwerpunkten des Skripts:) Grundlagen Wahrscheinlichkeitstheorie, Bedingte Wahrscheinlichkeiten, Diskrete Zufallsvariablen, Kenngrößen reeller Zufallsvariablen, Konvergenz von Zufallsvariablen, Markov-Ketten, Allgemeine Zufallsvariablen&lt;br /&gt;
&lt;br /&gt;
== Tipps und nützliche Infos ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
&lt;br /&gt;
{{EntsprechungD|[[Stochastik für Informatiker (StuPO90)]]}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Lehrveranstaltungen]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=TechTalks&amp;diff=13813</id>
		<title>TechTalks</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=TechTalks&amp;diff=13813"/>
		<updated>2010-04-17T23:07:23Z</updated>

		<summary type="html">&lt;p&gt;Stefan: /* Die letzten Vorträge */ 2009 ergänzt, dass es jetzt in 2010 nicht verwirrend wird&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Freitagsrunden TechTalk ist eine Vortragsreihe, in der Studenten technische und informatische Themen vorstellen mit denen sie sich im Beruf, Uni oder in der Freizeit beschäftigen. Der TechTalk soll dazu dienen Ideen und Erfahrung auszutauschen und über neue oder eher unbekannte Technologien zu informieren und findet in unregelmäßigen Abständen statt.&lt;br /&gt;
&lt;br /&gt;
== Mitmachen ==&lt;br /&gt;
&lt;br /&gt;
Jeder ist herzlich willkommen den TechTalks beizuwohnen, eine Anmeldung ist nicht nötig, schaut einfach vorbei. Wenn ihr selbst einen Vortrag&lt;br /&gt;
halten wollt, dann schickt einfach eine Mail an &amp;lt;email&amp;gt;info@freitagsrunde.org&amp;lt;/email&amp;gt;.&lt;br /&gt;
Ein TechTalk besteht hauptsächlich aus ein oder zwei Kurzvorträgen und Zeit für Fragen und Diskussion. Die Kurzvorträge sollten dabei&lt;br /&gt;
nicht länger als 30 Minuten dauern.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Die TechTalks werden üblicherweise Freitags im Anschluss an die Freitagsrunde gehalten (15 Uhr). Jeder TechTalk wird hier auf dieser Seite als auch über die Freitagsrunden Infoliste per Mail bekannt gegeben.&lt;br /&gt;
&lt;br /&gt;
== Nächster Termin ==&lt;br /&gt;
&lt;br /&gt;
-noch keiner-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die letzten Vorträge == &lt;br /&gt;
&lt;br /&gt;
* 31. Juli 2009&lt;br /&gt;
*# &amp;quot;Burning CPU Cycles For Sun and Profit -- How To Compute Four CPU Years in One Day with Dan, Flo, and Rob&amp;quot;. [http://stan.freitagsrunde.org/~rbu/hashchallenge/talk-notes.txt Notizen/Folien], [http://git.goodpoint.de/?p=hashchallenge.git;a=summary Code], [http://stan.freitagsrunde.org/~rbu/hashchallenge/ Graphen], [http://www.engineyard.com/blog/2009/programming-contest-win-iphone-3gs-2k-cloud-credit/ Aufruf] und [http://www.engineyard.com/blog/2009/programming-contest-and-the-winners-are/ Gewinner].&lt;br /&gt;
*# &amp;quot;Object Tracking Camera&amp;quot; - Thaddäus&lt;br /&gt;
* 8. Mai 2009&lt;br /&gt;
*# &amp;quot;Let's Talk About Code. Sourcecode-centric presentations with LaTeX-Beamer&amp;quot; - Kai Dietrich mail@cleeus.de&lt;br /&gt;
* 3. April 2009 &lt;br /&gt;
*# &amp;quot;Einführung TechTalk &amp;amp; Funktionales Programmieren mit Python&amp;quot; -Daniel&lt;br /&gt;
&lt;br /&gt;
== Vortragsthemen ==&lt;br /&gt;
&lt;br /&gt;
Welche Vortragsthemen sind gewünscht?&lt;br /&gt;
Als Themen ist alles gewünscht, was mit Elektrotechnik&lt;br /&gt;
oder (technischer) Informatik zu tun hat. Das könnten sein:&lt;br /&gt;
&lt;br /&gt;
* Linuxdistributionen vorstellen, die wahrscheinlich eher unbekannt sind.&lt;br /&gt;
* Coole Software (z.B. solche, die man auf andere Architekturen portiert hat).&lt;br /&gt;
* Ungewöhnliche Programmiersprachen (Lisp, Groovy, Erlang, F#, Eiffel, ... )&lt;br /&gt;
* Experimente mit Hardware, Mikrocontrollern und Robotern&lt;br /&gt;
* Amüsante Bugs oder Exploits&lt;br /&gt;
* Eigene Softwareprojekte&lt;br /&gt;
* Aktuelle politische Themen, zB Softwarepatente, Filesharing, Überwachung, etc.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Veranstaltungen der Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13406</id>
		<title>MPGI 4 (Bachelor)/Gedächtnisprotokoll WiSe 2009/10</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13406"/>
		<updated>2010-02-26T16:17:22Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gedächtnisprotokoll Klausur (26.02.2010)&lt;br /&gt;
&lt;br /&gt;
* Drei Layoutmanager nennen und erklären.&lt;br /&gt;
* GUI implementieren für eine Art Taschenrechner (oben ein Label, dadrunter Grid-mäßig Buttons, deren Beschriftungen in einem Array gegeben waren).&lt;br /&gt;
* Ein vorgegebenes Programm dahingehend erweitern, dass ein Text auf der Konsole ausgegeben wird, wenn ein Button geklickt wird (also ActionListener dafür implementieren).&lt;br /&gt;
* Programm implementieren, welches eine Textdatei einliest, die in jeder Zeile wiederum durch Komma getrennt Zahlen enthält. Die in einer Zeile enthaltenen Zahlen sollten addiert werden und wenn bei einer Zeile das Ergebnis kleiner gleich 2000 war sollte die Methode abbrechen und false zurückgeben - andernfalls beim kompletten Durchlaufen true. Es sollte sichergestellt werden, dass bei jedem Beenden der Methode die Datei geschlossen wird.&lt;br /&gt;
* Wodurch unterscheiden sich Exception, RuntimeException und Error und wie können sie behandelt werden?&lt;br /&gt;
* Vorgegeben: Programm, mit try-catch-finally-Block, welches versucht Datei zu öffnen und zwischen den Operationen A, B, C, D auf der Konsole ausgibt. Es sollte angegeben werden, welche Ausgaben beim Programm auftreten können. (Also wenn die Datei gefunden wurde wird z.B. die Ausgabe, die im catch-Block steht, nicht getätigt.)&lt;br /&gt;
* UDP-Client in einer Methode implementieren, die ein Wort an einen vorgegebenen Server und Port schickt und daraufhin eine Antwort erhält und diese als String zurückgibt.&lt;br /&gt;
* Lebenszyklus von Applets grafisch darstellen und einzelne Zustände erklären&lt;br /&gt;
* Welche Sicherheitsrisiken könnte es durch Applets geben und wie werden diese Probleme von der JVM umgangen?&lt;br /&gt;
* Welchen Sinn kann die Benutzung von Threads bei GUIs haben, welche Probleme treten in Zusammenhang mit Swing auf und wie löst man diese?&lt;br /&gt;
* Producer/Consumer implementieren&lt;br /&gt;
* Anhand eines Schemas den Ablauf bei RMI erklären.&lt;br /&gt;
* Klasse, die in ihrer main-Methode ein Objekt von sich erzeugt, dieses serialisiert und in eine Datei schreibt.&lt;br /&gt;
* ...'''(unvollständig)'''&lt;br /&gt;
&lt;br /&gt;
Als Hilfsmittel was ein beidseitig handbeschriebenes Blatt zugelassen. Die Klausur enthielt einer Art Kurz-API, auf der fast alle Klassen (mit ihren wichtigsten Methoden), die man benutzen musste, enthalten waren (Layoutmanager jedoch nicht und die Vererbungshierarchie war nicht angegeben). Die Auswahl der Klassen und Methoden, die dort drauf standen war bei manchen Aufgaben eine kleine Hilfe um zu sehen, wie es gelöst werden sollte (z.B. dass man für die UDP-Aufgabe eben DatagramSocket und DatagramPacket verwenden musste und nicht etwa Socket oder ServerSocket).&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13405</id>
		<title>MPGI 4 (Bachelor)/Gedächtnisprotokoll WiSe 2009/10</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13405"/>
		<updated>2010-02-26T14:40:49Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gedächtnisprotokoll Klausur (26.02.2010)&lt;br /&gt;
&lt;br /&gt;
* Drei Layoutmanager nennen und erklären.&lt;br /&gt;
* GUI implementieren für eine Art Taschenrechner (oben ein Label, dadrunter Grid-mäßig Buttons, deren Beschriftungen in einem Array gegeben waren).&lt;br /&gt;
* Ein vorgegebenes Programm dahingehend erweitern, dass ein Text auf der Konsole ausgegeben wird, wenn ein Button geklickt wird (also ActionListener dafür implementieren).&lt;br /&gt;
* Programm implementieren, welches eine Textdatei einliest, die in jeder Zeile wiederum durch Komma getrennt Zahlen enthält. Die in einer Zeile enthaltenen Zahlen sollten addiert werden und wenn bei einer Zeile das Ergebnis kleiner gleich 2000 war sollte das komplette Programm abbrechen und false zurückgeben - andernfalls true. Es sollte sichergestellt werden, dass bei jedem Beenden der Methode die Datei geschlossen wird.&lt;br /&gt;
* Wodurch unterscheiden sich Exception, RuntimeException und Error und wie können sie behandelt werden?&lt;br /&gt;
* Vorgegeben: Programm, mit try-catch-finally-Block, welches versucht Datei zu öffnen und zwischen den Operationen A, B, C, D auf der Konsole ausgibt. Es sollte angegeben werden, welche Ausgaben beim Programm auftreten können. (Also wenn die Datei gefunden wurde wird z.B. die Ausgabe, die im catch-Block steht, nicht getätigt.)&lt;br /&gt;
* UDP-Client in einer Methode implementieren, die ein Wort an einen vorgegebenen Server und Port schickt und daraufhin eine Antwort erhält und diese als String zurückgibt.&lt;br /&gt;
* Lebenszyklus von Applets grafisch darstellen und einzelne Zustände erklären&lt;br /&gt;
* Welche Sicherheitsrisiken könnte es durch Applets geben und wie werden diese Probleme von der JVM umgangen?&lt;br /&gt;
* Welchen Sinn kann die Benutzung von Threads bei GUIs haben, welche Probleme treten in Zusammenhang mit Swing auf und wie löst man diese?&lt;br /&gt;
* Producer/Consumer implementieren&lt;br /&gt;
* Anhand eines Schemas den Ablauf bei RMI erklären.&lt;br /&gt;
* Klasse, die in ihrer main-Methode ein Objekt von sich erzeugt, dieses serialisiert und in eine Datei schreibt.&lt;br /&gt;
* ...'''(unvollständig)'''&lt;br /&gt;
&lt;br /&gt;
Als Hilfsmittel was ein beidseitig handbeschriebenes Blatt zugelassen. Die Klausur enthielt einer Art Kurz-API, auf der fast alle Klassen (mit ihren wichtigsten Methoden), die man benutzen musste, enthalten waren (Layoutmanager jedoch nicht und die Vererbungshierarchie war nicht angegeben). Die Auswahl der Klassen und Methoden, die dort drauf standen war bei manchen Aufgaben eine kleine Hilfe um zu sehen, wie es gelöst werden sollte (z.B. dass man für die UDP-Aufgabe eben DatagramSocket und DatagramPacket verwenden musste und nicht etwa Socket oder ServerSocket).&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13404</id>
		<title>MPGI 4 (Bachelor)/Gedächtnisprotokoll WiSe 2009/10</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13404"/>
		<updated>2010-02-26T14:32:04Z</updated>

		<summary type="html">&lt;p&gt;Stefan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gedächtnisprotokoll Klausur (26.02.2010) - vorsicht, sehr '''unvollständig'''!&lt;br /&gt;
&lt;br /&gt;
* Drei Layoutmanager nennen und erklären.&lt;br /&gt;
* GUI implementieren für eine Art Taschenrechner (oben ein Label, dadrunter Grid-mäßig Buttons, deren Beschriftungen in einem Array gegeben waren).&lt;br /&gt;
* Programm implementieren, welches eine Textdatei einliest, die in jeder Zeile wiederum durch Komma getrennt Zahlen enthält. Die in einer Zeile enthaltenen Zahlen sollten addiert werden und wenn bei einer Zeile das Ergebnis kleiner gleich 2000 war sollte das komplette Programm abbrechen und false zurückgeben - andernfalls true. Es sollte sichergestellt werden, dass bei jedem Beenden der Methode die Datei geschlossen wird.&lt;br /&gt;
* Wodurch unterscheiden sich Exception, RuntimeException und Error und wie können sie behandelt werden?&lt;br /&gt;
* Vorgegeben: Programm, mit try-catch-finally-Block, welches versucht Datei zu öffnen und zwischen den Operationen A, B, C, D auf der Konsole ausgibt. Es sollte angegeben werden, welche Ausgaben beim Programm auftreten können. (Also wenn die Datei gefunden wurde wird z.B. die Ausgabe, die im catch-Block steht, nicht getätigt.)&lt;br /&gt;
* UDP-Client in einer Methode implementieren, die ein Wort an einen vorgegebenen Server und Port schickt und daraufhin eine Antwort erhält und diese als String zurückgibt.&lt;br /&gt;
* Lebenszyklus von Applets grafisch darstellen und einzelne Zustände erklären&lt;br /&gt;
* Welchen Sinn kann die Benutzung von Threads bei GUIs haben, welche Probleme treten in Zusammenhang mit Swing auf und wie löst man diese?&lt;br /&gt;
* Producer/Consumer implementieren&lt;br /&gt;
* Anhand eines Schemas den Ablauf bei RMI erklären.&lt;br /&gt;
* Klasse, die in ihrer main-Methode ein Objekt von sich erzeugt, dieses serialisiert und in eine Datei schreibt.&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13403</id>
		<title>MPGI 4 (Bachelor)/Gedächtnisprotokoll WiSe 2009/10</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=MPGI_4_(Bachelor)/Ged%C3%A4chtnisprotokoll_WiSe_2009/10&amp;diff=13403"/>
		<updated>2010-02-26T14:30:16Z</updated>

		<summary type="html">&lt;p&gt;Stefan: Die Seite wurde neu angelegt: „Gedächtnisprotokoll Klausur (26.02.2010) - vorsicht, sehr '''unvollständig'''!  * Drei Layoutmanager nennen und erklären. * GUI implementieren für eine Art Ta...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gedächtnisprotokoll Klausur (26.02.2010) - vorsicht, sehr '''unvollständig'''!&lt;br /&gt;
&lt;br /&gt;
* Drei Layoutmanager nennen und erklären.&lt;br /&gt;
* GUI implementieren für eine Art Taschenrechner (oben ein Label, dadrunter Grid-mäßig Buttons, deren Beschriftungen in einem Array gegeben waren).&lt;br /&gt;
* Programm implementieren, welches eine Textdatei einliest, die in jeder Zeile wiederum durch Komma getrennt Zahlen enthält. Die in einer Zeile enthaltenen Zahlen sollten addiert werden und wenn bei einer Zeile das Ergebnis kleiner gleich 2000 war sollte das komplette Programm abbrechen und false zurückgeben - andernfalls true. Es sollte sichergestellt werden, dass bei jedem Beenden der Methode die Datei geschlossen wird.&lt;br /&gt;
* Wodurch unterscheiden sich Exception, RuntimeException und Error und wie können sie behandelt werden?&lt;br /&gt;
* Vorgegeben: Programm, mit try-catch-finally-Block, welches versucht Datei zu öffnen und zwischen den Operationen A, B, C, D auf der Konsole ausgibt. Es sollte angegeben werden, welche Ausgaben beim Programm auftreten können. (Also wenn die Datei gefunden wurde wird z.B. die Ausgabe, die im catch-Block steht, nicht getätigt.)&lt;br /&gt;
* UDP-Client in einer Methode implementieren, die ein Wort an einen vorgegebenen Server und Port schickt und daraufhin eine Antwort erhält und diese als String zurückgibt.&lt;br /&gt;
* Lebenszyklus von Applets grafisch darstellen und einzelne Zustände erklären&lt;br /&gt;
* Welchen Sinn kann die Benutzung von Threads bei GUIs haben, welche Probleme treten in Zusammenhang mit Swing auf und wie löst man diese?&lt;br /&gt;
* Producer/Consumer implementieren&lt;br /&gt;
* Anhand eines Schemas den Ablauf bei RMI erklären.&lt;br /&gt;
* Klasse, die in ihrer main-Methode ein Objekt von sich erzeugt und dieses serialisiert und in eine Datei schreibt.&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
		
	</entry>
</feed>