<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bioinformatik Blog &#187; Bereiche</title>
	<atom:link href="http://bioinfoblog.de/kategorie/bereiche/feed/" rel="self" type="application/rss+xml" />
	<link>http://bioinfoblog.de</link>
	<description>Details zum Bachelorstudiengang Bioinformatik in TÃ¼bingen</description>
	<lastBuildDate>Wed, 25 Jan 2012 13:36:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Lineare Optimierung mit Open Office</title>
		<link>http://bioinfoblog.de/bereiche/informatik-teil/2009/01/16/lineare-optimierung-mit-open-office/</link>
		<comments>http://bioinfoblog.de/bereiche/informatik-teil/2009/01/16/lineare-optimierung-mit-open-office/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 14:52:57 +0000</pubDate>
		<dc:creator>Till Helge</dc:creator>
				<category><![CDATA[Informatik-Teil]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/?p=123</guid>
		<description><![CDATA[Im Rahmen der Vorlesung &#8220;Algorithmen &#038; Komplexität I&#8221; beschäftigen wir uns gerade mit Linearen Programmen und ihrer Lösung mittels des Simplex-Algorithmus. Da dieses Thema von einiger Bedeutung ist und es sehr praktisch sein kann, wenn man eine Lösung kennt, um schnell an die Lösung eines LP zu kommen, will ich hier einmal zusammenfassen, wie man [...]]]></description>
			<content:encoded><![CDATA[<p>Im Rahmen der Vorlesung &#8220;Algorithmen &#038; Komplexität I&#8221; beschäftigen wir uns gerade mit Linearen Programmen und ihrer Lösung mittels des Simplex-Algorithmus. Da dieses Thema von einiger Bedeutung ist und es sehr praktisch sein kann, wenn man eine Lösung kennt, um schnell an die Lösung eines LP zu kommen, will ich hier einmal zusammenfassen, wie man mittels Open Office Calc eine solche berechnen lassen kann:</p>
<h4>Vorbereitung</h4>
<p>Zuerst einmal muss man das Problem in einer für Open Office Calc lesbaren Variante in eine Tabelle eingeben. Als Beispiel nehme ich dieses (sinnlose, beispielhafte) LP:</p>
<pre>
max  5a +7b -6c +2d
s.t.  6a +8b <= 7
     -4c +9d <= 20
     a,b,c,d >= 0
</pre>
<p>Als Spreadsheet sieht das Ganze bei mir dann so aus:</p>
<p><img src="http://bioinfoblog.de/wp-content/uploads/2009/01/solver-tut-011.png" alt="LP als Open Office Spreadsheet" title="solver-tut-01" width="374" height="257" class="size-full wp-image-132" /></p>
<p>In der oberen Tabelle gibt man die Zielfunktion an. Dazu legt man zuerst einmal für jede Variable eine Zelle an (im Bild blau markiert). Jetzt braucht man eine Zelle, in der die Zielfunktion berechnet wird (im Bild rot umrahmt). Diese Berechnung muss natürlich mit Referenzen auf die Zellen erfolgen. Ich habe der Einfachheit halber noch die Koeffizienten aus der Zielfunktion in extra Zellen notiert (grüner Rahmen), so dass ich in der Zielfunktionszelle einfach aufsummieren kann. In der ersten Zelle im grünen Rahmen steht bspw.: </p>
<p><code>=B2*5</code></p>
<p>Und in der roten Zelle steht entsprechend nur:</p>
<p><code>=SUMME(C2:C5)</code></p>
<p>Wenn man lieber die Zielfunktion direkt eintragen will, würde das in unserem Beispielfall so aussehen:</p>
<p><code>=5*B2+7*B2-6*B4+2+B5</code></p>
<p>Der nächste Schritt ist nun die Eingabe der Nebenbedingungen. Es gibt dafür unterschiedliche Möglichkeiten, aber ich habe es jetzt mal übertrieben exakt notiert, damit es übersichtlich bleibt. Die Zellen in der gelb umrahmten Box enthalten die Bedingungen aus dem LP als Gleichung mit Referenzen auf die Zellen in der blauen Box. Die letzte Zeile enthält die erste Nebenbedingung und sieht so aus:</p>
<p><code>=(-4)*B4+9*B5</code></p>
<p>Der Teil rechts davon ist nicht so wichtig. Man kann das so machen, aber genauso gut kann man es sich auch schenken.</p>
<h4>Der Solver</h4>
<p>Nun ruft man über das Menü &#8220;Extras&#8221; den &#8220;Solver&#8221; auf. Es öffnet sich ein Dialog, den man wie folgt ausfüllen muss:</p>
<p><img src="http://bioinfoblog.de/wp-content/uploads/2009/01/solver-tut-02.png" alt="Solver-Dialog in Open Office" title="solver-tut-02" width="546" height="373" class="size-full wp-image-128" /></p>
<p>Als Ziel gibt man die Zelle mit dem Wert der Zielfunktion an (im Bild oben mit rotem Rahmen). In dem etwas seltsam betitelten Feld &#8220;Durch Zellenänderung&#8221; soll man die Zellen angeben, in denen die Variablen stehen. Man markiert also den Bereich, der im Bild oben blau umrahmt ist.</p>
<p>Etwas aufwändiger ist es nun, die Nebenbedingungen einzugeben, da man sie alle einzeln angeben muss. Man wählt &#8220;hinzufügen&#8221; und in dem kleinen Dialog kann man dann die Zelle auswählen, in der der Wert der Nebenbedingung berechnet wird. Dann kann man eine Relation auswählen und einen Wert eingeben (oder wie hier im Beispiel referenzieren).</p>
<p>Wenn es nötig ist, kann man jetzt unter &#8220;Optionen&#8221; noch einstellen, dass nur positive oder nur ganze Zahlen als Variablenbelegungen erlaubt sind.</p>
<p><em>Hinweis:</em> Im neuen Open Office 3.0 sieht der Solver etwas anders aus. Funktionieren sollte er aber genauso.</p>
<h4>Die Lösung</h4>
<p>Ist alles fertig eingegeben, drückt man auf &#8220;Lösen&#8221; und bekommt (hoffentlich) eine Bestätigung, dass eine Lösung gefunden wurde. In meinem Fall sah das Spreadsheet dann so aus:</p>
<p><img src="http://bioinfoblog.de/wp-content/uploads/2009/01/solver-tut-03.png" alt="Gelöstes LP in Open Office" title="solver-tut-03" width="335" height="238" class="size-full wp-image-129" /></p>
<p>Open Office hat nun die Variablen so belegt, dass der Zielfunktions-Wert maximiert wird. </p>
<p>Wenn du dir nochmal mein Beispiel genauer anschauen willst, kannst du dir hier auch das Spreadsheet runterladen. Wenn du den Solver öffnest, ist es möglich durch einen Klick auf &#8220;Laden&#8221; meine Einstellungen aufzurufen.</p>
<ul>
<li class="file zip"><a href='http://bioinfoblog.de/wp-content/uploads/2009/01/solver-tutorial-ods.zip'>Solver Tutorial Spreadsheet</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/informatik-teil/2009/01/16/lineare-optimierung-mit-open-office/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Programmierprojekt] Bericht III</title>
		<link>http://bioinfoblog.de/bereiche/informatik-teil/2007/09/17/programmierprojekt-bericht-iii/</link>
		<comments>http://bioinfoblog.de/bereiche/informatik-teil/2007/09/17/programmierprojekt-bericht-iii/#comments</comments>
		<pubDate>Mon, 17 Sep 2007 14:21:20 +0000</pubDate>
		<dc:creator>Gastautor</dc:creator>
				<category><![CDATA[Bachelor-Studium]]></category>
		<category><![CDATA[Informatik-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/bereiche/informatik-teil/2007/09/17/programmierprojekt-bericht-iii/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/informatik-teil/2007/09/17/programmierprojekt-bericht-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Programmierprojekt] Bericht II</title>
		<link>http://bioinfoblog.de/bereiche/informatik-teil/2007/07/21/programmierprojekt-bericht-ii/</link>
		<comments>http://bioinfoblog.de/bereiche/informatik-teil/2007/07/21/programmierprojekt-bericht-ii/#comments</comments>
		<pubDate>Sat, 21 Jul 2007 16:22:36 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Bachelor-Studium]]></category>
		<category><![CDATA[Informatik-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/bereiche/informatik-teil/2007/07/21/programmierprojekt-bericht-ii/</guid>
		<description><![CDATA[Nachdem ich endlich etwas Luft zum Atmen gefunden habe folgt nun ein Einblick über den Verlauf meines Programmierprojekts.
  
Aufgabenstellung:
Die Aufgabe unserer Gruppe bestand darin, ein P2P-Pokerspiel zu entwickeln.
Dazu wurde die sieben Mann und eine Frau starke Gruppe in 3 Teilgruppen unterteilt, die jeweils eigenständige Aufgabenstellungen zu erledigen hatten und am Ende alles zu einem [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich endlich etwas Luft zum Atmen gefunden habe folgt nun ein Einblick über den Verlauf meines Programmierprojekts.<br />
  <span id="more-78"></span></p>
<h4>Aufgabenstellung:</h4>
<p>Die Aufgabe unserer Gruppe bestand darin, ein <abbr title="Peer to Peer, eine Art von Netzwerk">P2P</abbr>-Pokerspiel zu entwickeln.<br />
Dazu wurde die sieben Mann und eine Frau starke Gruppe in 3 Teilgruppen unterteilt, die jeweils eigenständige Aufgabenstellungen zu erledigen hatten und am Ende alles zu einem funktionierenden Ganzen verschmelzen sollten.<br />
Team 1 war für das Erstellen des eigentlichen Pokerspiels verantwortlich und zwar sollte im speziellen der Spieltyp &#8220;Texas Hold&#8217;em&#8221; implementiert werden. Das Spiel sollte aber erweiterbar für weitere Spieltypen sein und der Spielablauf sollte durch das Server-Client-Konzept realisiert werden.<br />
Team 2 sollte das Matchmaking implementieren. Es sollte also durch den Aufbau eines <abbr title="Peer to Peer, eine Art von Netzwerk">P2P</abbr>-Netzwerkes möglich sein, Kontrahenten und Freunde für das gemeinsame Pokervergnügen zu finden. Zudem noch ein Ranking-System mithilfe dessen man sich mit seinen Mitspielern vergleichen kann.<br />
Der Auftrag von Team 3 bestand darin, einen Webcam-Stream einzurichten der es ermöglichen sollte, seine Mitspieler sehen zu können.</p>
<h4>Projektablauf</h4>
<div style="float: left; margin: 0 8px 8px 0"><a href='http://bioinfoblog.de/wp-content/uploads/2007/07/bild-24.jpg' title='42'><img src='http://bioinfoblog.de/wp-content/uploads/2007/07/bild-24.thumbnail.jpg' alt='42' /></a></div>
<p>Ã„hnlich wie in Bericht I lief es bei uns ab. Zuerst stand die ausführliche Planung des Projekts an, die aber z.T. immer wieder über den Haufen geworfen wurde. Da wir uns schon dachten, dass unser Projekt etwas aufwendiger sein könnte, fingen wir mit dem Programmieren bereits in den &#8220;Pfingstferien&#8221; an. Während die ersten Gruppen bereits 2 Wochen nach den &#8220;Pfingstferien&#8221; mit ihrem Projekt im Großen und Ganzen fertig waren, stieg bei uns unterdessen der Druck. Neben den normalen Übungsblättern, Proseminaren und Klausurvorbereitungen galt es das Netzwerk und Spiel zum Laufen zu bringen. Vor allem Team 2 machte die fehlerhafte <abbr title="Peer to Peer, eine Art von Netzwerk">P2P</abbr>-Software schwer zu schaffen. Nachdem auch noch die Milestones mit der Projektabgabe nach vorne verlegt wurden, blieb uns in den letzten Tagen des Projektes nichts anderes über, als uns zusammen am Sand zu treffen und Tief in die Nächte zu programmieren.</p>
<p>Das UML nach der Planung sah bei Team 1 so aus: <a href='http://bioinfoblog.de/wp-content/uploads/2007/07/holdempoker_umlgeplant.png' title='UML voher'>UML geplant</a><br />
Am Ende fiel es dann doch etwas umfangreicher aus: <a href='http://bioinfoblog.de/wp-content/uploads/2007/07/holdempoker_umljetztige.png' title='UML nachher'>UML des fertigen Projekts</a></p>
<h4>Arbeitsklima</h4>
<p>Trotz all des Stresses herrschte bei uns im Großen und Ganzen ein angenehmes Arbeitsklima.<br />
In den wöchentlichen Sitzungen mit den Betreuern wurden Probleme angesprochen und Lösungswege überdacht. Abgerundet wurden diese Sitzungen immer von einer Runde Kuchen für alle. Die Kommunikation erfolgte über alle vorstellbaren Formen vom Teamspeakgespräch bis hin zum Ticket im Trac. Am effektivesten war meiner Meinung nach aber doch das gemeinsame Programmieren. </p>
<h4>Fazit</h4>
<p>Schlussendlich haben wir es doch geschafft, ein halbwegs zufriedenstellendes Ergebnis zu erzielen. Einige Bugs konnten wir trotz allem aus zeitlichen Gründen aber nicht mehr ausbügeln.<br />
Nach der Abgabe der Dokumentation unseres über 18.000 Zeilen umfassenden Projekts waren wir alle ein bisschen froh es endlich hinter uns gebracht zu haben und uns dem zuwenden zu können, was wir im Verlauf der letzten 4 Wochen stark vernachlässigen mussten.</p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/informatik-teil/2007/07/21/programmierprojekt-bericht-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Programmierprojekt] Bericht I</title>
		<link>http://bioinfoblog.de/bereiche/informatik-teil/2007/07/05/programmierprojekt-bericht-i/</link>
		<comments>http://bioinfoblog.de/bereiche/informatik-teil/2007/07/05/programmierprojekt-bericht-i/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 17:14:17 +0000</pubDate>
		<dc:creator>Till Helge</dc:creator>
				<category><![CDATA[Bachelor-Studium]]></category>
		<category><![CDATA[Informatik-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/bereiche/informatik-teil/2007/07/05/programmierprojekt-bericht-i/</guid>
		<description><![CDATA[Im Laufe dieses Semesters stand das Programmierprojekt auf dem Plan. Sowohl für die Studenten, als auch für die Dozenten war das ein komplett neues Konzept, das so noch nie vorher in der Informatik an der Uni Tübingen zum Einsatz kam. Erwartungsgemäß kam es dabei zu vielen verschiedenen Problemen und Unstimmigkeiten. Wir wollen in den folgenden [...]]]></description>
			<content:encoded><![CDATA[<p>Im Laufe dieses Semesters stand das Programmierprojekt auf dem Plan. Sowohl für die Studenten, als auch für die Dozenten war das ein komplett neues Konzept, das so noch nie vorher in der Informatik an der Uni Tübingen zum Einsatz kam. Erwartungsgemäß kam es dabei zu vielen verschiedenen Problemen und Unstimmigkeiten. Wir wollen in den folgenden Tagen versuchen Berichte zu unterschiedlichen Projekten zusammenzutragen und ein Fazit ziehen. Den ersten Schritt dazu werde ich selber machen:<br />
<span id="more-77"></span></p>
<h4>Aufgabenstellung</h4>
<p>Das Projekts, an dem ich beteiligt war, sah vor, dass wir eine Software entwickeln, um Daten zu analysieren, die beispielsweise durch <a href="http://de.wikipedia.org/wiki/Massenspektrometrie" title="Zum Wikipedia-Artikel">Massenspektrometrie</a> ermittelt wurden. Dabei handelt es sich konkret um kurze Bruchstücke (sog. Peptide) von Proteinen, die gegen Proteindatenbanken verglichen werden, indem die Bruchstücke an die Sequenzen der Proteine angelagert werden. Visualisiert werden soll dann in einem Histogramm die Abdeckung der einzelnen Aminosäuren eines Proteins durch die Peptide und das Alignment in einer einfachen grafischen Darstellung. Die Implementierung sollte in Java gemacht werden und alle Funktionen der Software über ein grafisches Interface verfügbar sein.</p>
<h4>Projektablauf</h4>
<p>In den ersten vier Wochen hatten wir die Aufgabe aus einem zur Verfügung gestellten <a href="http://de.wikipedia.org/wiki/Lastenheft" title="Zum Wikipedia-Artikel">Lastenheft</a> alle Anforderungen an die Software herauszuarbeiten, ein konkretes Konzept zu erstellen und den gesamten Entwurf in einem <a href="http://de.wikipedia.org/wiki/Pflichtenheft" title="Zum Wikipedia-Artikel">Pflichtenheft</a> aufzuschreiben. Teil des Entwurfs war natürlich ein fertiges Klassenmodell notiert in Form eines <abbr title="Unified Modeling Language">UML</abbr>-Diagramms.</p>
<p>Das zweite Drittel des Projekts verbrachten wir dann mit der tatsächlichen Programmierung der modellierten Software. Da wir zu dritt an diesem Projekt saßen, haben wir eine entsprechende Aufteilung des Konzepts vorgenommen, so dass jeder unabhängig von den anderen seinen Teil umsetzen konnte.</p>
<p>Die letzten Wochen waren dann vom Zusammenbau der einzelnen Teile, der Vorbereitung für die Präsentation in der projektbegleitenden Vorlesung, dem Erstellen von Testfällen für die finale Abnahme des Programms und dem Schreiben der Dokumentation geprägt.</p>
<p>Die gesamte Dauer des Projekts wurde wöchentlich in einem Seminar mit den beiden Betreuern besprochen, ob Teilziele erreicht wurden und wie weiter vorgegangen werden soll. Gearbeitet wurde zur Unterstützung der Teamarbeit mit <a href="http://de.wikipedia.org/wiki/Subversion" title="Zum Wikipedia-Artikel">Subversion</a>, dessen Verwendung uns zu Beginn des Projekts allen neu war und nun ziemlich zur Routine geworden ist.</p>
<h4>Arbeitsklima</h4>
<p>Während der Seminare war die Atmosphäre sehr angenehm und locker. Nach einigen allgemeinen Dingen in den einzelnen Arbeitsgruppen (insgesamt 3 Gruppen von jeweils 3 Studenten) wurde meistens projektspezifisches besprochen, wobei meistens diskutiert wurde, um letztendlich im Konsens zu einer Einigung zu kommen. Dabei waren unsere eigenen Ideen sehr gefragt, was eigentlich durchgängig das gesamte Projekt über immer der Fall war. Wir hatten nur die grobe Vorgabe, was die Software tun soll, und gänzlich freie Hand in der Gestaltung.</p>
<h4>Fazit</h4>
<p>Sowohl vom Umfang her, als auch von der Aufgabenstellung war das Projekt ziemlich gut auf unsere Situation abgestimmt. Wir haben bei der insgesamt recht stressfreien, wenn auch dennoch zeitaufwendigen, Umsetzung eine ganze Menge über Abläufe und natürlich auch Programmierung gelernt und das war ja das erklärte Ziel der ganzen Veranstaltung.</p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/informatik-teil/2007/07/05/programmierprojekt-bericht-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debuggen mit eclipse</title>
		<link>http://bioinfoblog.de/bereiche/informatik-teil/2007/06/25/debuggen-mit-eclipse/</link>
		<comments>http://bioinfoblog.de/bereiche/informatik-teil/2007/06/25/debuggen-mit-eclipse/#comments</comments>
		<pubDate>Sun, 24 Jun 2007 23:12:34 +0000</pubDate>
		<dc:creator>Till Helge</dc:creator>
				<category><![CDATA[Informatik-Teil]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/bereiche/informatik-teil/2007/06/25/debuggen-mit-eclipse/</guid>
		<description><![CDATA[
Programmieren ist definitiv ein wichtiger Teil des Informatik- und damit auch des Bioinformatik-Studiums. Immernoch sehr beliebt ist hierbei die Sprache Java, mit der sich in Tübingen jeder (Bio-)Informatik-Student irgendwann einmal herumschlagen muss. Viele greifen dabei zur IDE eclipse, doch annähernd genauso viele wissen garnicht, was man mit eclipse alles machen kann und dieses Programm zu [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; margin: 0 0 5px 5px"><img src='http://bioinfoblog.de/wp-content/uploads/2007/06/eclipse_logo.gif' alt='eclipse Logo' /></div>
<p>Programmieren ist definitiv ein wichtiger Teil des Informatik- und damit auch des Bioinformatik-Studiums. Immernoch sehr beliebt ist hierbei die Sprache <a href="http://de.wikipedia.org/wiki/Java_(Programmiersprache)" title="Wikipedia-Artikel zu Java">Java</a>, mit der sich in Tübingen jeder (Bio-)Informatik-Student irgendwann einmal herumschlagen muss. Viele greifen dabei zur <abbr title="Integrated Development Environment">IDE</abbr> <a href="http://www.eclipse.org" title="eclipse Homepage">eclipse</a>, doch annähernd genauso viele wissen garnicht, was man mit eclipse alles machen kann und dieses Programm zu mehr macht als nur einem relativ langsamen und überladenen Texteditor.</p>
<p>Wenn man nämlich mal an dem Punkt angelangt ist, dass der Compiler sich nicht mehr über irgendwelche Syntaxfehler beklagt, dann kommt man oft in die Situation, dass sich bei der Ausführung Probleme ergeben, wie beispielsweise die immer wieder sehr beliebte &#8220;ArrayIndexOutOfBoundsException&#8221;, die den Programmierer darauf hinweist, dass er irgendwo einen Denkfehler gemacht hat und auf etwas zugreifen will, das nicht existiert. Und hier wird es jetzt interessant, denn eclipse bietet mit seinem Debugger eine gute Möglichkeit, um solchen Fehlern ein wenig auf den Zahn zu fühlen. Wenn jetzt Fragezeichen aufgetaucht sind und die Frage &#8220;Was zum Geier ist ein Debugger?&#8221; im Raum steht, spätestens dann lohnt es sich jetzt hier weiterzulesen.<br />
<span id="more-72"></span></p>
<h4>Was kann der Debugger?</h4>
<p>Wenn ein Programm ausgeführt wird (also von der Java Virtual Machine interpretiert wird), dann läuft es einfach so lange durch, bis es entweder fertig ist oder einen Fehler produziert. Mittels des Debuggers kann man das Programm gezielt während der Ausführung anhalten und einen Blick ins Innere der Virtual Machine werfen. Konkret heißt das, dass man beispielsweise die Variablenbelegungen zum Zeit der Ausführung begutachten kann.</p>
<h4>Wie starte ich den Debugger?</h4>
<p>Zuerst mal muss man sich klarmachen, dass es nur dann Sinn macht den Debugger zu starten, wenn man eine grobe Idee hat, wo man genauer hinschauen will. Wenn man nämlich einfach direkt statt auf &#8220;Run&#8221; auf &#8220;Debug&#8221; drückt, um das Programm auszuführen, passiert nichts Besonderes, sondern es wird eben einfach das Programm ausgeführt und nach der Ausführung beendet. Das ist natürlich nicht der Sinn der Sache.</p>
<p>Bevor man den Debugger startet muss man einen oder mehrere sogenannte <strong>Breakpoints</strong> setzen. Das sind Haltepunkte, an denen der Debugger die Ausführung unterbricht und uns den Blick ins Innere ermöglicht. Um solche Haltepunkte zu setzen, gibt es in eclipse mehrere Möglichkeiten. Die einfachste ist, neben der Zeile, in der man anhalten möchte, auf die Leiste einen Doppelklick zu machen, die normalerweise die Symbole für Warnungen und Fehler enhält. Dort erscheint dann ein blauer Punkt.</p>
<div style="text-align: center"><a href='http://bioinfoblog.de/wp-content/uploads/2007/06/eclipsetut1.png' title='Breakpoint setzen [Kompletten Screenshot zeigen]'><img src='http://bioinfoblog.de/wp-content/uploads/2007/06/eclipsetut1-cut.png' alt='Breakpoint setzen' /></a></div>
<p>Solche Punkte kann man soviele setzen, wie man möchte. Wenn man sie mit einem Rechtsklick erwischt, dann gibt es in diesem Menü auch die Möglichkeit Breakpoints zu deaktivieren. Das ist während eines Debugvorgangs oft die bessere Idee als den Punkt direkt wieder zu entfernen.</p>
<p>Nun ist es an der Zeit den Debugger zu starten. Dies geht über das Symbol &#8220;Debug&#8221; direkt neben dem Icon &#8220;Run&#8221;, mit dem man normalerweise die Ausführung des Programms veranlasst. (Passenderweise ist das Icon mit einem Käfer versehen.) Wenn man einfach auf den Button klickt, wird der Debugger mit der zuletzt verwendeten Einstellung aus dem &#8220;Run&#8221;-Menü gestartet. Man kann auch direkt auswählen, dass man als Java-Applikation debuggen möchte. Das geht absolut äquivalent wie das simple Starten des Programms:</p>
<div style="text-align: center"><img src='http://bioinfoblog.de/wp-content/uploads/2007/06/eclipsetut2.png' alt='Debugger starten' /></div>
<p>Wenn man einen Breakpoint gesetzt hat, dann fragt eclipse während der Ausführung, ob man in die &#8220;Debug-Perspektive&#8221; wechseln möchte. Das sollte man bestätigen und am besten direkt auch den Haken setzen, damit eclipse nicht wieder nachfragt. Nun erscheint eine neue Übersicht, die viel mehr Informationen enthält, als die vorherige. Um zur einfachen Ansicht zurückzukehren, kann man oben rechts auf &#8220;Java&#8221; klicken. Jetzt mal eine kurze Erklärung zu den einzelnen Komponenten von links oben nach rechts unten:</p>
<div style="text-align: center"><a href='http://bioinfoblog.de/wp-content/uploads/2007/06/eclipsetut3.png' title='Debug-Perspektive [Screenshot in Originalgröße zeigen]'><img src='http://bioinfoblog.de/wp-content/uploads/2007/06/eclipsetut3.thumbnail.png' alt='Debug-Perspektive' /></a></div>
<ul>
<li><strong>Debug:</strong><br />
       Dieser Bereich enthält den Stack der aktuellen Ausführung. Aus diesem Fensterchen kann man ersehen, welche Methoden gerade im Moment aufgerufen wurden und dazu geführt haben, dass der aktuelle Breakpoint erreicht wurde. Außerdem findet man hier die Schaltfläche (grüner Pfeil nach rechts), mit dem man den nächsten Auswertungsschritt einleiten kann, sowie den Button, um die Ausführung abzubrechen (rotes Quadrat).</li>
<li><strong>Variables:</strong><br />
       Der vielleicht interessanteste Teil der Debug-Perspektive. Hier kann man sich die zum aktuellen Ausführungszeitpunkt belegten Variablen und natürlich die Werte anschauen.</li>
<li><strong>Quelltext:</strong><br />
       Das ist ja nichts Neues bis auf die Tatsache, dass hier immer die aktuelle Zeile hervorgehoben wird, in der die Ausführung angehalten wurde. Hier kann man auch noch während des Debuggens Breakpoints setzen und entfernen. Veränderungen am Code wirken sich allerdings erst nach einem Neustart des Debuggers aus.</li>
<li><strong>Outline:</strong><br />
       Ebenfalls ein bekanntes Element aus der üblichen Java-Perspektive.</li>
</ul>
<p>Über die Möglichkeit schrittweise durch die Ausführung einer Schleife genau zu verfolgen, was mit den Werten passiert etc., kann man meistens sehr gut Fehlerquellen ermitteln, die man vielleicht vorher nicht bedacht hat. Auch bei Rekursionen kann das sehr nützlich sein, da im &#8220;Debug&#8221;-Fenster als Stack aufgezeigt wird, welche Methoden aufgerufen wurden und man sich so genauer ein Bild davon machen kann, was genau der Quelltext, den man zwar selber verfasst, aber vielleicht nicht ganz verstanden hat, eigentlich wirklich auslöst.</p>
<p>Zum Schluss kann ich nur empfehlen einfach mal mit dem Debugger herumzuspielen und vielleicht auch mal gezielt ein paar Fehler zu verursachen und sie zu beobachten. Während des normalen Programmierens treten zwar normalerweise auch genug Fehler auf, um Routine zu bekommen im Debuggen, aber da sollte es nach Möglichkeit dann schon etwas leichter von der Hand gehen, da man doch eher nicht die Zeit oder den Nerv hat sich mit den Details des Debuggers auseinanderzusetzen.</p>
<p>Wenn noch Fragen offen geblieben sind, dann nutzt doch einfach die Kommentar-Funktion hier im Blog oder schreibt mir eine <a href="http://bioinfoblog.de/impressum/" title="Kontaktformular im Impressum">eMail</a> mit euren Anregungen.</p>
<p>Viel Erfolg beim Debuggen. </p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/informatik-teil/2007/06/25/debuggen-mit-eclipse/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Infos zur Biochemievorlesung</title>
		<link>http://bioinfoblog.de/bereiche/biologie-teil/2007/05/10/infos-zur-biochemievorlesung/</link>
		<comments>http://bioinfoblog.de/bereiche/biologie-teil/2007/05/10/infos-zur-biochemievorlesung/#comments</comments>
		<pubDate>Thu, 10 May 2007 15:28:15 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Biologie-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/bereiche/biologie-teil/2007/05/10/infos-zur-biochemievorlesung/</guid>
		<description><![CDATA[Für alle, die es auf Grund der Überschneidung mit Algo oder sonstigen Gründen zur heutigen Vorlesung nicht geschafft haben, hier nochmals das Wichtigste zur Vorlesung &#8220;Allgemeine Biochemie&#8221; zusammengefasst:

Vorlesung findet statt am Do 10:15-11 Uhr und Fr 09:15-10:45 Uhr
Vorlesung morgen am 11. Mai fällt aus
Klausur findet statt am 25.10.07 im N7 von 14-17 Uhr
Nachklausur ist am [...]]]></description>
			<content:encoded><![CDATA[<p>Für alle, die es auf Grund der Überschneidung mit Algo oder sonstigen Gründen zur heutigen Vorlesung nicht geschafft haben, hier nochmals das Wichtigste zur Vorlesung &#8220;Allgemeine Biochemie&#8221; zusammengefasst:</p>
<ul>
<li>Vorlesung findet statt am <strong>Do 10:15-11 Uhr</strong> und <strong>Fr 09:15-10:45 Uhr</strong></li>
<li><strong>Vorlesung morgen am 11. Mai fällt aus</strong></li>
<li><strong>Klausur</strong> findet statt am <strong>25.10.07 im N7 von 14-17 Uhr</strong></li>
<li><strong>Nachklausur</strong> ist am <strong>26.11.07</strong>, Raum und Zeit noch unklar &#8211; hängt davon ab wie viele durchfallen</li>
<li>Biologen finden das Wort &#8220;Algo&#8221; sehr amüsant</li>
</ul>
<p>Es wird wieder ein <strong>Tutorium</strong> geben bei Herrn Helge Miller, welches ich nur empfehlen kann. Für dieses gibt es 2 Termine in der Woche: </p>
<ul>
<li><strong>Montag 11:15-13:00 Uhr</strong></li>
<li>Dienstag 11:15-13:00 Uhr</li>
</ul>
<p>Dieses findet im E-Bau in E3A40 statt.</p>
<p>Folien zur Vorlesung werden Online gestellt&#8230;vermutlich auf der <a href="http://www.uni-tuebingen.de/plant.biochemistry/LehreSS07.html" title="Externe Seite aufrufen">Homepage des Instituts</a>.<br />
Ist aber noch nichts zu finden &#8211; der Benutzername und Passwort ist jedenfalls der selbe wie vor einem Jahr.</p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/biologie-teil/2007/05/10/infos-zur-biochemievorlesung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programmierpraktikum</title>
		<link>http://bioinfoblog.de/bereiche/informatik-teil/2007/03/12/programmierpraktikum-2/</link>
		<comments>http://bioinfoblog.de/bereiche/informatik-teil/2007/03/12/programmierpraktikum-2/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 15:26:21 +0000</pubDate>
		<dc:creator>Till Helge</dc:creator>
				<category><![CDATA[Informatik-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/bereiche/informatik-teil/2007/03/12/programmierpraktikum-2/</guid>
		<description><![CDATA[Es gibt neue Informationen zum Programmierpraktikum, das uns im kommenden Semester erwartet. Einige Verwirrung hat die Tatsache zutage gefördert, dass alle angebotenen Seminare und Praktika mit dem Hinweis auf das Programmierpraktikum &#8220;nur&#8221; 6 LP bringen. Des Rätsels Lösung ist, dass das Programmierpraktikum aus zwei Teilen besteht:

Vorlesung &#8220;Software Engineering&#8221; (Prof. Huson)
Praktikum bzw. Seminar

Die Praktika bzw. Seminare [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt neue Informationen zum Programmierpraktikum, das uns im kommenden Semester erwartet. Einige Verwirrung hat die Tatsache zutage gefördert, dass alle angebotenen Seminare und Praktika mit dem Hinweis auf das Programmierpraktikum &#8220;nur&#8221; 6 <abbr title="Leistungspunkte">LP</abbr> bringen. Des Rätsels Lösung ist, dass das Programmierpraktikum aus zwei Teilen besteht:</p>
<ul>
<li>Vorlesung &#8220;Software Engineering&#8221; (Prof. Huson)</li>
<li>Praktikum bzw. Seminar</li>
</ul>
<p>Die Praktika bzw. Seminare werden von unterschiedlichen Lehrstühlen angeboten, um alle Studenten ausreichend betreuen zu können. Entsprechend unterscheiden sich dann auch die Themen.</p>
<p>Ein herzliches Dankeschön und ein dickes Lob an dieser Stelle mal an Prof. Kohlbacher, der uns wiedermal das <a href="http://bioinformatikforum.de/index.php/topic,493.msg6646.html#msg6646" title="Beitrag im BIT-Board">Licht ins Dunkle</a> getragen hat.</p>
<h4>Nachtrag (24.03.):</h4>
<p>Auf der <a href="http://www-ab.informatik.uni-tuebingen.de/teaching/ss07/soft/welcome.html" title="Zur Vorlesungsseite 'Software Engineering'">Vorlesungsseite</a> findet sich inzwischen folgende Information:</p>
<blockquote><p>Die Themen der Seminare werden am 16. April in der ersten Vorlesung vorgestellt. Nach der Vorstellung der Themen wird es die Möglichkeit geben,  Präferenzen für die jeweiligen Seminare anzugeben. Die Studierenden werden dann auf die verschiedenen Seminare verteilt, möglichst unter Berücksichtigung der Präferenzen.</p></blockquote>
<h4>Nachtrag (01.04., Update 14.04.):</h4>
<p>Inzwischen gibt es eine <a href="http://www-ab.informatik.uni-tuebingen.de/teaching/ss07/soft/seminare.html" title="Externe Seite aufrufen">vorläufige und unvollständige Themenliste</a> zum Programmierprojekt, die in den nächsten Wochen wohl noch erweitert wird, sobald die einzelnen Lehrstühle neue Informationen veröffentlichen:</p>
<ul>
<li>Literature Mining in der Systembiologie</li>
<li>Implementierung eines 3D-Clustering-Verfahrens</li>
<li>Implementierung und Anwendung des Apriori-Algorithmus</li>
<li>2D/3D Strukturvergleich mit Graphalgorithmen</li>
<li>Peptide Viewer</li>
<li>Sekundärstrukturvorhersagen zu Sequenzen</li>
<li>Genome-Viewer (in drei Teilprojekten)</li>
<li>Drahtloses Informations- und Aktionssystem in drei Teilprojekten</li>
<li>Peer-2-Peer Poker in 3 Teilprojekten</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/informatik-teil/2007/03/12/programmierpraktikum-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kleines Terminupdate</title>
		<link>http://bioinfoblog.de/bereiche/biologie-teil/2007/01/25/kleines-terminupdate/</link>
		<comments>http://bioinfoblog.de/bereiche/biologie-teil/2007/01/25/kleines-terminupdate/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 18:41:02 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Biologie-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/internes/2007/01/25/kleines-terminupdate/</guid>
		<description><![CDATA[Aufgrund einer Überschneidung des Mikrobiologischen Kurses und der Vorbesprechung für das PC-Praktikum, wurde die Vorbesprechung vom 1. Februar auf den 15. Februar um 13 Uhr im normalen PC-Hörsaal (N4?) gelegt.

Die Überschneidung der zweiten PC-Klausur mit dem Mikrobiologischen Kurs soll am ersten Kurstag durch den Kursleiter &#8211; Herrn Muth &#8211; gelöst werden.
Update:
Der am 8. Februar stattfindende [...]]]></description>
			<content:encoded><![CDATA[<p>Aufgrund einer Überschneidung des Mikrobiologischen Kurses und der <strong>Vorbesprechung für das PC-Praktikum</strong>, wurde die Vorbesprechung vom 1. Februar auf den <strong>15. Februar um 13 Uhr</strong> im normalen PC-Hörsaal (N4?) gelegt.<br />
<em><br />
Die Überschneidung der zweiten PC-Klausur mit dem Mikrobiologischen Kurs soll am ersten Kurstag durch den Kursleiter &#8211; Herrn Muth &#8211; gelöst werden.</em></p>
<p><strong>Update:</strong><br />
Der am 8. Februar stattfindende Mikrobiologische Kurs wurde auf 8-12 Uhr vorverlegt, sodass es nun keine Überschneidung mit der PC-Klausur mehr gibt.</p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/biologie-teil/2007/01/25/kleines-terminupdate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Und täglich grüßt die Chemie</title>
		<link>http://bioinfoblog.de/bereiche/biologie-teil/2006/12/23/und-taglich-grust-die-chemie/</link>
		<comments>http://bioinfoblog.de/bereiche/biologie-teil/2006/12/23/und-taglich-grust-die-chemie/#comments</comments>
		<pubDate>Sat, 23 Dec 2006 10:27:43 +0000</pubDate>
		<dc:creator>Till Helge</dc:creator>
				<category><![CDATA[Bachelor-Studium]]></category>
		<category><![CDATA[Biologie-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/internes/2006/12/23/und-taglich-grust-die-chemie/</guid>
		<description><![CDATA[Damit hier mal nicht nur Negatives steht, möchte ich ganz kurz noch zusammenfassen, was sich in Reaktion auf die Aktion mit der Klausur in physikalischer Chemie jetzt noch getan hat:
Für das restliche Semester und in Zukunft für das gesamte Semester haben die Bioinformatiker Übungen zur physikalischen Chemie. Das soll dafür sorgen, dass ein Verständnis für [...]]]></description>
			<content:encoded><![CDATA[<p>Damit hier mal nicht nur Negatives steht, möchte ich ganz kurz noch zusammenfassen, was sich in Reaktion auf die Aktion mit der Klausur in physikalischer Chemie jetzt noch getan hat:</p>
<p>Für das restliche Semester und in Zukunft für das gesamte Semester haben die Bioinformatiker Übungen zur physikalischen Chemie. Das soll dafür sorgen, dass ein Verständnis für den Umgang mit den relevanten Formeln entsteht etc. Da eigentlich schon seit Beginn des Wintersemesters entsprechende Übungen in den Plan hineingehören, ist das zwar kein sonderlich unerwarteter Schritt, aber doch schön, dass sich da endlich etwas getan hat.</p>
<p>Da die Klausur durchweg so schlecht ausgefallen ist, wird wohl überlegt ein klein wenig am Maßstab zu drehen, damit eine Chance besteht in der zweiten Klausur (deren Termin sich nachwievor mit dem mikrobiologischen Kurs überschneidet, der ebenfalls eine Pflichtveranstaltung ist) genug Punkte zu holen, um letztendlich bestanden zu haben. Dazu gibt es aber keine konkreteren Informationen bisher.</p>
<p>Die Kritik ist also zumindest teilweise nicht ganz auf taube Ohre gestoßen. Inwieweit sich die Situation jetzt noch zum Positiven wendet was konkret den Jahrgang 2005 betrifft, bleibt abzuwarten. Aber so kann man zumindest etwas beruhigter in die &#8220;Ferien&#8221; gehen. In diesem Sinne:</p>
<p><strong>Frohes Fest und einen guten Rutsch ins neue Jahr!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/biologie-teil/2006/12/23/und-taglich-grust-die-chemie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bioinformatik III &#8211; Die Rache der Chemiker</title>
		<link>http://bioinfoblog.de/bereiche/biologie-teil/2006/12/16/bioinformatik-iii-die-rache-der-chemiker/</link>
		<comments>http://bioinfoblog.de/bereiche/biologie-teil/2006/12/16/bioinformatik-iii-die-rache-der-chemiker/#comments</comments>
		<pubDate>Sat, 16 Dec 2006 13:14:12 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Bachelor-Studium]]></category>
		<category><![CDATA[Biologie-Teil]]></category>

		<guid isPermaLink="false">http://bioinfoblog.de/internes/2006/12/16/bioinformatik-iii-die-rache-der-chemiker/</guid>
		<description><![CDATA[Es herrscht eine betrübte Stimmung unter den Bioinformatikern. Einen Grund zur Freude hatte wohl keiner am Ende dieser Woche.
Vor 48 Stunden: Das Ende der Woche ist greifbar nahe, die Sonne scheint, es liegt jedoch eine dunkle Bedrohung in der Luft: die physikalische Chemie Klausur steht unmittelbar bevor. 
Noch wissen wir nicht was uns auf uns [...]]]></description>
			<content:encoded><![CDATA[<p>Es herrscht eine betrübte Stimmung unter den Bioinformatikern. Einen Grund zur Freude hatte wohl keiner am Ende dieser Woche.<br />
Vor 48 Stunden: Das Ende der Woche ist greifbar nahe, die Sonne scheint, es liegt jedoch eine dunkle Bedrohung in der Luft: die physikalische Chemie Klausur steht unmittelbar bevor. </p>
<p>Noch wissen wir nicht was uns auf uns zukommt.<br />
60 Minuten später: Dank einem gut durchdachten und bis ins letzte Detail ausgetüffelten Sitzsystem finden alle Studenten in N7 auf Anhieb ihren Platz.<br />
14:15 Uhr &#8211; die Schlacht beginnt.<br />
Keine 24 Stunden später die Ernüchterung: Dem Aushang ist zu entnehmen: <strong>kein</strong> einziger Bioinformatiker hat die 50% geschafft, die es zu erreichen galt. Schnitt 25%. 100% Durchfallquote. Fragen werfen sich auf: Ist eine angemessene Korrektur von rund 150 Klausuren in weniger als 24h möglich? Warum hat kein Bioinformatiker bestanden? Lag es daran, dass wir keine Übungsblätter und Tutorien hatten? Lag es daran, dass wir die Klausur unterschätzt haben (Stichwort <strong>1-2 Rechenaufgaben</strong>? Steckt dahinter ein tieferer Sinn, den wir nicht durchschauen?</p>
<p>Ich für meinen Teil bin etwas enttäuscht &#8211; über die (unangemessene) Klausur selbst &#8211; über das Schnellkorrekturverfahren und ein etwas übersichtlicheres Skript wäre auch nett gewesen.</p>
<p>Fühlt euch frei zu kommentieren. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://bioinfoblog.de/bereiche/biologie-teil/2006/12/16/bioinformatik-iii-die-rache-der-chemiker/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

