<?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=Schpammor</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=Schpammor"/>
	<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/Spezial:Beitr%C3%A4ge/Schpammor"/>
	<updated>2026-04-15T07:27:11Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium04&amp;diff=19108</id>
		<title>Ckurs2012/Tutorium04</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium04&amp;diff=19108"/>
		<updated>2012-09-14T15:46:36Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 4 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;H. Ertl&amp;lt;/b&amp;gt; &amp;lt;email&amp;gt;h.ertl@gmx.de&amp;lt;/email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/07_TUT4_Fehlersuche_GDB.pdf Tutoriumsfolien]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/07_TUT4_Fehlersuche_GDB.zip Quellcode der Folien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
* Beliebte Fehler in C&lt;br /&gt;
* Assertions&lt;br /&gt;
* Compilerwarnungen&lt;br /&gt;
* Einführung in Debugging mit GDB&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen ===&lt;br /&gt;
* [[Ckurs2010/Vortrag06| Debugging 1 - VL vom CKurs 2010]]&lt;br /&gt;
* [[Ckurs2010/Vortrag08| Debugging 2 - VL vom CKurs 2010]]&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen fürs nächste Jahr ===&lt;br /&gt;
* In den Codevorgaben steht in cbugs/debug.c zweimal die for-Schleife, aber das zweite Mal ausserhalb der Main-Funktion. (Nicht gut^^)&lt;br /&gt;
* Im Beispiel wo debug.c mit gdb debuggt wird: Der Breakpoint sollte auf den Inhalt der Schleife, also Zeile 10 und nicht 9, gesetzt werden. Der Breakpoint hält die Ausführung nämlich vor der Ausführung derjenigen Zeile an, auf die er gesetzt ist, und wenn wir auf Zeile 9 breaken hat er i noch gar nicht initialisiert (wie es in den Folien aber gesagt wurde).&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/DreiD&amp;diff=19107</id>
		<title>C-Kurs/DreiD</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/DreiD&amp;diff=19107"/>
		<updated>2012-09-14T15:36:50Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In dieser Aufgabe wollen wir eine stark vereinfachte 3D-Anwendung schreiben, welche einen 3D-Körper rotieren lässt.&lt;br /&gt;
Du kannst selbst entscheiden, bis zu welchem Zwischenergebnis du die Aufgabe lösen willst.&lt;br /&gt;
&lt;br /&gt;
== Vorgabe ==&lt;br /&gt;
Lade dir zunächst die [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2010/aufgaben/C-3D_V1.0_Vorlagen.zip Vorgaben] herunter. Die &amp;quot;screen&amp;quot;-Dateien brauchen nicht verändert werden, sie sorgen für die grafische Ausgabe. Deine Aufgabe ist es, die Rechenoperationen der main.c zu ergänzen.&lt;br /&gt;
&lt;br /&gt;
Kompiliert wird das Programm mit:&lt;br /&gt;
 gcc main.c screen.c -lX11 -lm -o 3D.out&lt;br /&gt;
Denke daran, in der Konsole die Pfeiltaste Hoch zu verwenden, statt es jedesmal neu einzugeben.&lt;br /&gt;
&lt;br /&gt;
Werden die Vorgaben direkt kompiliert und ausgeführt, ist ein Quadrat mit Linien zu sehen. Dies ist ein frontal betrachteter Drahtgitter-Würfel. Für die Rotationen fehlen die zu ergänzenen Transformationsoperationen. Beende das Programm mit Ctrl+C in der Konsole.&lt;br /&gt;
&lt;br /&gt;
== Rechenoperationen ==&lt;br /&gt;
&lt;br /&gt;
Für die Aufgabe könnte es hilfreich sein, einen Schmierzettel bereitzulegen.&lt;br /&gt;
&lt;br /&gt;
LinA-Grundkenntnisse sind von Vorteil.&lt;br /&gt;
&lt;br /&gt;
=== Transformation === &lt;br /&gt;
Wir befinden uns in der Funktion &amp;quot;refresh_transformation_matrix&amp;quot; und wollen den Würfel nun erst um die X-Achse und dann um die Y-Achse drehen. Dazu verwenden wir [http://de.wikipedia.org/wiki/Drehmatrix Rotationsmatrizen], welche wir als 3x3-Array umsetzen, wobei wir uns einigen, dass der erste Array-Index die Zeile und der zweite die Spalte der Matrix ist. Die rot_x ist bereits vorgegeben. Initialisiere auf gleiche Weise darunter die rot_y, unter Verwendung des Winkels &amp;quot;alpha&amp;quot;.&lt;br /&gt;
Schreibe direkt darunter einen Algorithmus, der die Matrizen rot_x und rot_y miteinander multipliziert und das Ergebnis auf der globalen Matrix &amp;quot;transform&amp;quot; speichert. Versuche dabei Schleifen, statt konstanter Indizes zu verwenden. Beachte: Matrix-Multiplikation ist nicht kommutativ.&lt;br /&gt;
&lt;br /&gt;
Die resultierende Matrix auf einen Vektor angewandt, rotiert diesen nun entsprechend um die X- und Y-Achse. Dies soll in der Funktion &amp;quot;apply_transform&amp;quot; geschehen.&lt;br /&gt;
apply_transform nimmt einen Punkt der Figur im Raum und soll diesen entsprechend der aktuellen Rotation verändern. Die Parameter sind Call-by-Reference. Bisher sind in den Funktionen nur Zuweisungen ohne Effekt. Ändere mit Hilfe der globalen &amp;quot;transform&amp;quot;-Matrix die Inhalte der Parameter so, dass der x-y-z-Vektor am Ende rotiert ist (Matrix-Vektor-Multiplikation).&lt;br /&gt;
&lt;br /&gt;
Teste deine Implementierung. Zu diesem Zeitpunkt sollte schon ein rotierender Würfel zu sehen sein. Falls der Würfel beim Rotieren verzerrt wird, sind möglicherweise Indizes bei der Matrix Multiplikation verdreht.&lt;br /&gt;
&lt;br /&gt;
Nebenbei: echte 3D-Anwendungen verwenden 4x4-Matrizen, damit auch Translationen möglich sind. Da wir aber nur rotieren wollen, reichen 3x3-Matrizen.&lt;br /&gt;
&lt;br /&gt;
=== Culling ===&lt;br /&gt;
Schalte den &amp;quot;WIREFRAMES_MODE&amp;quot; auf 0, wodurch der Würfel ausgefüllte Flächen bekommt und sieh dir zunächst das Ergebnis an. Zu sehen ist das Problem, dass wir strikt jede Fläche zeichnen, egal ob sie räumlich vor oder hinter den bisher gezeichneten Flächen ist. Die allgemeine und standardmäßige Lösung wäre ein Z-Buffer, wodurch Pixel, die verdeckt werden würden, einfach nicht gezeichnet werden. Dies ist für unsere Zwecke zu aufwändig, daher nehmen wir eine speziellere Lösung: Culling.&lt;br /&gt;
&lt;br /&gt;
Die Überlegung ist, dass es bei einem soliden Würfel nicht passieren kann, dass wir irgendeine fläche von Innen sehen, da diese immer von einer Außenfläche verdeckt wird. Außerdem verdeckt nie eine Außenfläche eine andere (sichtbare) Außenfläche, da der Würfel konvex ist. Wir brauchen also nur die Außenflächen zu zeichnen. &lt;br /&gt;
&lt;br /&gt;
Wir befinden uns in der Funktion &amp;quot;render_primitive&amp;quot;, welche ein einzelnes Dreieck zeichnet. Nachdem die Punkte (x1,y1, ... ,z3) transformiert wurden, muss geprüft werden, ob wir von innen auf die Fläche schauen. Bilde dazu aus den Koordinaten die beiden Richtungsvektoren des Dreiecks (der Ortsvektor ist egal) und bilde aus ihnen das Kreuzprodukt. Nun kann man sich überlegen, dass das Dreieck genau dann von außen zu sehen ist, wenn die Z-Koordinate des Kreuzprodukts kleiner als 0 ist (somit brauch man streng genommen die X- und Y-Koordinaten des Kreuzprodukts gar nicht). Ist die Z-Koordinate also größer-gleich 0, verlasse die Funktion vorzeitig (vor dem Zeichnen des Dreiecks).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun sollte ein rotierender, ausgefüllter, fehlerfreier Würfel zu sehen sein.&lt;br /&gt;
&lt;br /&gt;
=== Licht ===&lt;br /&gt;
Wir wollen nun die einfachste Art von Licht implementieren: Direktionales Licht. &lt;br /&gt;
Wir haben lediglich einen Licht-Vektor (lgt_x,lgt_y,lgt_z), welcher von der Vorgabe bereits gesetzt wird und normalisiert ist. Zeigt dieser nun in die gleiche Richtung, wie unser Kreuzprodukt von eben, gehen wir davon aus, dass das Dreieck frontal beleuchtet wird. Wie könnte man prüfen, inwiefern die Richtungen der Vektoren übereinstimmen? Als wichtiger Hinweis: Das Kreuzprodukt muss noch normalisiert werden, da die Länge des Vektors das Ergebnis verfälscht.&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis deiner Berechnung soll ein Float zwischen 0 (nicht angeleuchtet) und 1 (voll angeleuchtet) sein. Multipliziere dein Ergebnis jeweils mit den Farb-Parametern im &amp;quot;set_color&amp;quot;-Aufruf.&lt;br /&gt;
Wenn alles stimmt, sollte schon ein (wenn auch etwas zu kontrastreiches) Licht zu sehen sein. Experimentiere mit dem Helligkeitswert um die Lichtausbreitung etc. anzupassen. Setze beispielsweise eine Untergrenze größer 0, bilde Wurzeln oder/und gleiche den Wert mit Addition und Multiplikation an.&lt;br /&gt;
&lt;br /&gt;
== Andere Figuren ==&lt;br /&gt;
Wenn du Lust hast, kannst du mit Hilfe von render_primitive und render_face eigene 3D-Figuren erstellen. Ersetze dazu den Würfel in der main.c zwischen begin_scene und end_scene einfach durch deinen Algorithmus. Denke aber daran, dass, sofern Wireframes aus sind, die Figur konvex sein sollte und die Koordinaten der Dreiecke/Vierecke jeweils im Uhrzeigersinn angegeben werden müssen.&lt;br /&gt;
Eine mögliche Figur ist der Kegel:&lt;br /&gt;
&lt;br /&gt;
    /* Kegel */&lt;br /&gt;
    refresh_color(1,1,1);&lt;br /&gt;
    int acc = 32; //Genauigkeit&lt;br /&gt;
    float rad = 1.2; //Radius&lt;br /&gt;
    int i;&lt;br /&gt;
    float ang = 0, lst_ang;&lt;br /&gt;
    for(i=1; i&amp;lt;acc+1; i++)&lt;br /&gt;
    {&lt;br /&gt;
        refresh_color(0.8,0.8,1);&lt;br /&gt;
        lst_ang = ang;&lt;br /&gt;
        ang = (float)i/acc*2*M_PI;&lt;br /&gt;
        render_primitive(0,-1.2,0, sin(ang)*rad,1.2,cos(ang)*rad, sin(lst_ang)*rad,1.2,cos(lst_ang)*rad);&lt;br /&gt;
        if(i%2 == 0)&lt;br /&gt;
            refresh_color(0.1,0.1,0.5);&lt;br /&gt;
        else&lt;br /&gt;
            refresh_color(0.2,0.2,0.6);&lt;br /&gt;
        render_primitive(0,1.2,0, sin(lst_ang)*rad,1.2,cos(lst_ang)*rad, sin(ang)*rad,1.2,cos(ang)*rad);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Theoretisch können auch animierte Figuren gezeichnet werden. Benutze dazu den Zähler &amp;quot;c_time&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium02&amp;diff=19079</id>
		<title>Ckurs2012/Tutorium02</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium02&amp;diff=19079"/>
		<updated>2012-09-13T14:39:28Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 2 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Katrin L.&amp;lt;/b&amp;gt; &amp;lt;email&amp;gt;langk@cs.tu-berlin.de&amp;lt;/email&amp;gt;&lt;br /&gt;
* Überarbeitet von: &amp;lt;b&amp;gt;C. Struck&amp;lt;/b&amp;gt; &amp;lt;email&amp;gt;struck@freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/tut2.tar Folien &amp;amp; Beispielcode]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
* enum&lt;br /&gt;
* array&lt;br /&gt;
* struct&lt;br /&gt;
* union&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen ===&lt;br /&gt;
[[Ckurs2010/Vortrag04|Fachlich passende Vorlesung vom CKurs 2010 (mit Video-Aufzeichnung)]]&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen fürs nächste Jahr ===&lt;br /&gt;
Folien Seite 13: das Array heisst colors, nicht rainbow&lt;br /&gt;
Folien Seite 18: In Zeile 14 fehlt ein Semikolon&lt;br /&gt;
Anmerkung zum union-Beispiel: vielleicht besseres beispiel wählen, weil völlig unklar ist wie die drei 1-Byte großen char's im einen (meistens) 4-Byte großen Integer aligned werden (belegen sie die ersten oder letzten drei byte des int?) bzw. dabei die benutzung auch noch vond er Architektur abhängt (little- oder big-endian-architektur?)&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19055</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19055"/>
		<updated>2012-09-11T08:04:43Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: /* Aufnahmen von 2011 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen von 2012===&lt;br /&gt;
[http://freitagsrunde.org/~aeichner/Tutorium1.mov vorläufiger Link]&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;br /&gt;
* Wildschwein-Beispiel: scanf vergleicht text nur bis zum ersten einzulesenden wert? -&amp;gt; überprüfen, ggf. korrigieren&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19054</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19054"/>
		<updated>2012-09-11T08:04:30Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: /* Aufnahmen von 2011 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen von 2011===&lt;br /&gt;
[http://freitagsrunde.org/~aeichner/Tutorium1.mov vorläufiger Link]&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;br /&gt;
* Wildschwein-Beispiel: scanf vergleicht text nur bis zum ersten einzulesenden wert? -&amp;gt; überprüfen, ggf. korrigieren&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19053</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19053"/>
		<updated>2012-09-11T08:00:58Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen von 2011===&lt;br /&gt;
&amp;lt;TODO&amp;gt;&lt;br /&gt;
[http://freitagsrunde.org/~aeichner/Tutorium1.mov vorläufiger Link]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;br /&gt;
* Wildschwein-Beispiel: scanf vergleicht text nur bis zum ersten einzulesenden wert? -&amp;gt; überprüfen, ggf. korrigieren&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19052</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19052"/>
		<updated>2012-09-11T08:00:20Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen von 2011===&lt;br /&gt;
&amp;lt;TODO&amp;gt;&lt;br /&gt;
([freitagsrunde.org/~aeichner/Tutorium1.mov vorläufiger Link])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;br /&gt;
* Wildschwein-Beispiel: scanf vergleicht text nur bis zum ersten einzulesenden wert? -&amp;gt; überprüfen, ggf. korrigieren&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19051</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19051"/>
		<updated>2012-09-11T07:58:32Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen von 2011===&lt;br /&gt;
Video(all rights reserved): &lt;br /&gt;
[freitagsrunde.org/~aeichner/Tutorium1.mov Video]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;file=Tutorium1.mov|width=720|height=370|path=freitagsrunde.org/~aeichner/|flashvars=&amp;amp;type=lighttpd&amp;amp;streamer=start&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;br /&gt;
* Wildschwein-Beispiel: scanf vergleicht text nur bis zum ersten einzulesenden wert? -&amp;gt; überprüfen, ggf. korrigieren&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19041</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19041"/>
		<updated>2012-09-10T15:21:53Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen ===&lt;br /&gt;
[[Ckurs2010/Vortrag02|Kursseite von 2010 mit Video-Aufzeichnung]]&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;br /&gt;
* Wildschwein-Beispiel: scanf vergleicht text nur bis zum ersten einzulesenden wert? -&amp;gt; überprüfen, ggf. korrigieren&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19040</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19040"/>
		<updated>2012-09-10T15:17:19Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.tar.gz Aufgaben / Lösungen]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_TUT1_Ein+Ausgabe.pdf Tutoriumsfolien]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Aufnahmen ===&lt;br /&gt;
[[Ckurs2010/Vortrag02|Kursseite von 2010 mit Video-Aufzeichnung]]&lt;br /&gt;
&lt;br /&gt;
=== Anmerkungen für nächstes Jahr ===&lt;br /&gt;
* Problem mit hängenden Newlines in Streams ansprechen&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs_2012&amp;diff=19006</id>
		<title>C-Kurs 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs_2012&amp;diff=19006"/>
		<updated>2012-09-03T18:31:54Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: /* Termine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ich nehm mal an, das hier ist obsolet? &lt;br /&gt;
== Vortragende und Tutoren gesucht ==&lt;br /&gt;
Wir suchen noch Vortragende und Tutoren für den Kurs. Wenn ihr C schon beherrscht und Interesse habt, dieses Wissen in der vorlesungsfreien Zeit anderen Studierenden zu vermitteln, ist das der richtige Job für euch!&lt;br /&gt;
Für die Zeit des Kurses seid ihr Angestellte an der Fakultät 4 und erhaltet den üblichen Tariflohn. Bereits Angestellte können soweit möglich ihren Vertrag aufstocken lassen. Abgesehen davon ist natürlich auch eine ehrenamtliche Beteiligung möglich.&lt;br /&gt;
Habt ihr noch Fragen oder möchtet euch direkt bewerben, dann meldet euch bitte unter '''ckurs2012-orga@lists.freitagsrunde.org'''.&lt;br /&gt;
Für eine Bewerbung brauchen wir dabei noch die folgenden Daten:&lt;br /&gt;
*vollständiger Name&lt;br /&gt;
*Geburtsdatum&lt;br /&gt;
*Adresse&lt;br /&gt;
*E-Mail-Adresse&lt;br /&gt;
*evtl. Handynummer&lt;br /&gt;
*ob Ihr bereits in irgendeiner Art an der TU angestellt seid&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;center style=&amp;quot;background-color:yellow;font-face:bold;&amp;quot;&amp;gt; &lt;br /&gt;
'''Bitte [https://anmeldung.freitagsrunde.org/?event=ckurs12 meldet] euch an''' ,damit wir besser Planen können.&lt;br /&gt;
&amp;lt;/center&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt;'''[[ckurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/center&amp;gt; &lt;br /&gt;
 &amp;lt;center&amp;gt;'''[https://www.isis.tu-berlin.de/course/view.php?id=6903 --&amp;gt; Zum ISIS-Kurs &amp;lt;-- ]'''&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;center style=&amp;quot;background-color:greenyellow;font-face:bold;font-size:300%;&amp;quot;&amp;gt; &lt;br /&gt;
'''Aufgabe fürs Wochenende - Vorgaben HIER: [[Ckurs/ckdu  | CKDU]] '''&lt;br /&gt;
&amp;lt;/center&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Termine == &lt;br /&gt;
&lt;br /&gt;
Der C-Kurs findet dieses Jahr vom '''10.09.2012 bis zum 14.09.2012''' statt.&lt;br /&gt;
Vorträge und Vorlesungen gibt es immer im [[Mathegebäude]] im Raum MA 004.&lt;br /&gt;
Die Tutorien werden in den ersten beiden Etagen [[Telefunken-Gebäude]] stattfinden.&lt;br /&gt;
Insgesamt gibt es immer zwei Tutorien pro Etage und ihr könnt euch einfach in die Tutorien reinsetzen. Die Übungen sind dann in den selben Etagen in den beiden Rechnerräumen [[Rechnerraum#IRB | TEL106]] und [[Rechnerraum#IRB | TEL206]].&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;8&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Zeit (s.t.)&lt;br /&gt;
 !Mo 10.09.2012&lt;br /&gt;
 !Di 11.09.2012&lt;br /&gt;
 !Mi 12.09.2012&lt;br /&gt;
 !Do 13.09.2012&lt;br /&gt;
 !Fr 14.09.2012&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |10:15-11:00&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2012/Einführungsvortrag | Vorlesung 1 (MA 004)]]&amp;lt;br /&amp;gt;Einführung in C&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium02 | Tutorium 2 (TEL 1/2)]]&amp;lt;br /&amp;gt;enum, struct, union&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | freiwillige Übung im TEL&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Vorlesung_Malloc | Vorlesung 3 (MA 004)]]&amp;lt;br /&amp;gt;Malloc&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium04 | Tutorium 4 (TEL 1/2)]]&amp;lt;br /&amp;gt;Debugging&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |11:30-13:00&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 | freiwillige Übung im TEL&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 |13:00-14:00&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |14:15-15:00&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2012/Tutorium01 | Tutorium 1 (TEL 1/2)]]&amp;lt;br /&amp;gt;printf, scanf, fopen&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Vorlesung_Pointer | Vorlesung 2 (MA 004)]]&amp;lt;br /&amp;gt;Pointer&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | freiwillige Übung im TEL&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium03 | Tutorium 3 (TEL 1/2)]]&amp;lt;br /&amp;gt;Präprozessor, Makros &lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium05 | Tutorium 5 (TEL 1/2)]]&amp;lt;br /&amp;gt;Libraries, SVN, IDE&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |15:30-17:00&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 | freiwillige Übung im TEL&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
|}&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Unser C-Kurs findet vor dem Wintersemester statt. Wir, also die Studenten und Studentinnen der Fakultät IV, organisieren den Kurs und vermitteln euch das Wissen, was ihr für den Einstieg in die Programmierung mit der Programmiersprache C brauchen werdet.&lt;br /&gt;
&lt;br /&gt;
Dazu haben wir uns folgendes Konzept für den Kurs überlegt: Wir bringen euch die wichtigsten Themen in Tutorien bei, welche daraufhin in Rechnerübungen selbstständig gefestigt werden. Die Tutorien sind seit letztem Jahr neu und ersetzen die Vorlesungen aus den vergangenen Jahren. Mit guten Erfahrungen nach der Umstellung aus dem letzten Jahr erhoffen wir uns davon ein intensiveres und spannenderes Lernen für euch. Auch in den Rechnerübungen können wir ganz individuell auf euch eingehen: Wir streben ein Betreuungsverhältnis von 10 Teilnehmer auf einen Tutor an. D.h. ihr könnt nach eurem eigenen Tempo arbeiten und ein Tutor wird euch stets begleiten.&lt;br /&gt;
&lt;br /&gt;
Möglich wird dieser Kurs durch zweierlei Dinge: Erstens engagierte StudentenInnen, die auch anderen Studierenden gerne ihr Wissen vermitteln und der Fakultät IV, die das Nötige an Geld und Räumen zur Verfügung stellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Warum teilnehmen? ==&lt;br /&gt;
Der C-Kurs richtet sich an alle, die gerne C lernen möchten. Wir haben uns zum Ziel gesetzt, möglichst gut verständliche und vor allem motivierende Lehre zu machen, weil wir glauben, dass die Uni-Lehre manchmal zu langweilig ist und deshalb viele StudentInnen unnötigerweise Probleme haben. Lernen sollte Spass machen, nicht anstrengen.&lt;br /&gt;
&lt;br /&gt;
Hauptsächlich hoffen wir damit den Teilnehmern von TechGI3 einen Kickstart für ihre Vorlesung zu geben, weil es je nach Dozent und Zuhörer manchmal zu schnell und manchmal zu langsam geht. Allerdings steht der Kurs jedem offen!&lt;br /&gt;
&lt;br /&gt;
Wenn du also einfach gerne C lernen möchtest, dann bist du herzlich eingeladen!&lt;br /&gt;
&lt;br /&gt;
Der Kurs beruht auf dem Konzept des Javakurses, mit dem wir sehr gute Erfahrungen gemacht haben. Viele InformatikerInnen und Technische InformatikerInnen haben in den Übungsaufgaben des 3. Semesters nicht unbedingt Probleme mit dem Stoff des Semesters selbst, sondern quälen sich jedoch sehr beim Erlernen der Sprache C. &lt;br /&gt;
&lt;br /&gt;
Der Kurs wird wie der Javakurs fast komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen fünfzehn TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf bis zehn Studentierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere Vortragenden in den Vorlesungen.&lt;br /&gt;
&lt;br /&gt;
Der Kurs kann in der Kürze der Zeit bei weitem nicht alle Aspekte von C beleuchten, hierfür sind weiterführende Lehrveranstaltungen und das Lehrpersonal der Uni da. Er stellt jedoch eine gute Starthilfe dar und hilft vor allem StudentInnen denen die Umgang mit der Programmiersprache C noch fremd ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Es gibt für diesen Kurs keinerlei Scheine.'''&lt;br /&gt;
&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre. :)&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
Bitte schreibt euch in folgenden ISIS-Kurs ein und füllt das Formular &amp;quot;Vorbefragung&amp;quot; aus:&lt;br /&gt;
&lt;br /&gt;
[https://www.isis.tu-berlin.de/course/view.php?id=6903 isis.tu-berlin.de/course/view.php?id=6903]&lt;br /&gt;
&lt;br /&gt;
Alle Nicht-TU-Teilnehmer können in regelmäßigen Abständen die Nachrichten aus den Foren verfolgen oder den RSS Feed abonnieren.&lt;br /&gt;
&lt;br /&gt;
== Teilnahmevoraussetzungen ==&lt;br /&gt;
Der C-Kurs ist für StudentInnen, die schon Erfahrung mit Java haben. Wir setzen rudimentäre Programmierkenntnisse voraus. Ausserdem setzen wir rudimentäre Kentnisse wie man einen Computer bedient voraus. Wir bringen euch nicht bei, wie ihr eine Datei öffnet oder einen Browser bedient.&lt;br /&gt;
&lt;br /&gt;
Die zweite Voraussetzung ist eine Möglichkeit bzw. ein Account um in den Übungsräumen zu arbeiten. Die Übungen finden in den Rechnerräumen des IRB statt. In diese Rechner kann man sich mit einem TubIT- oder CS-Account einloggen. Wenn du noch keinen TubIT oder CS-Account hast, bist du vermutlich auch nicht Student an der TU Berlin. Dann ist die einfachste Lösung für Dich deinen eigenen Laptop mitzubringen.&lt;br /&gt;
&lt;br /&gt;
Auf dem Laptop sollte Linux (oder vergleichbar) laufen und der C-Compiler gcc installiert sein. Melde dich im Zweifel einfach per Mail bei uns.&lt;br /&gt;
&lt;br /&gt;
== Fragen? ==&lt;br /&gt;
Wenn Du Fragen hast schreib doch einfach eine Email an:&lt;br /&gt;
&amp;lt;email&amp;gt;ckurs2012-orga@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
Die Übungsaufgaben findest du [[Ckurs/Übungsaufgaben|hier]].&lt;br /&gt;
&lt;br /&gt;
== Podcasts/Screencasts ==&lt;br /&gt;
&lt;br /&gt;
Vorletztes Jahr wurden die Vorträge auf Video festgehalten und veröffentlicht. Links dazu findest Du auf der Seite des [[ckurs2010| C-Kurses 2010]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Audio-Podcasts gibt es hier: http://podcasts.freitagsrunde.org/C-Kurs-2009/ - die Videomitschnitte werden gerade geschnitten und konvertiert. Sobald die einzelnen Videos fertig sind werden sie sofort auf der Seite des entsprechenden Vortrags verlinkt, ansonsten findet man sie zur Zeit hier: http://media.freitagsrunde.org/ckurs/2009/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
''Feedback-Seite folgt''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Ckurs2012/Feedback|Feedback zum Kurs 2012]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Organisation==&lt;br /&gt;
Gibt es auf unserer Orgaseite: [[Ckurs2012/orga | Organisation]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;br /&gt;
[[Kategorie: CKurs]]&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs_2012&amp;diff=19005</id>
		<title>C-Kurs 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs_2012&amp;diff=19005"/>
		<updated>2012-09-03T18:31:07Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: /* Termine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ich nehm mal an, das hier ist obsolet? &lt;br /&gt;
== Vortragende und Tutoren gesucht ==&lt;br /&gt;
Wir suchen noch Vortragende und Tutoren für den Kurs. Wenn ihr C schon beherrscht und Interesse habt, dieses Wissen in der vorlesungsfreien Zeit anderen Studierenden zu vermitteln, ist das der richtige Job für euch!&lt;br /&gt;
Für die Zeit des Kurses seid ihr Angestellte an der Fakultät 4 und erhaltet den üblichen Tariflohn. Bereits Angestellte können soweit möglich ihren Vertrag aufstocken lassen. Abgesehen davon ist natürlich auch eine ehrenamtliche Beteiligung möglich.&lt;br /&gt;
Habt ihr noch Fragen oder möchtet euch direkt bewerben, dann meldet euch bitte unter '''ckurs2012-orga@lists.freitagsrunde.org'''.&lt;br /&gt;
Für eine Bewerbung brauchen wir dabei noch die folgenden Daten:&lt;br /&gt;
*vollständiger Name&lt;br /&gt;
*Geburtsdatum&lt;br /&gt;
*Adresse&lt;br /&gt;
*E-Mail-Adresse&lt;br /&gt;
*evtl. Handynummer&lt;br /&gt;
*ob Ihr bereits in irgendeiner Art an der TU angestellt seid&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;center style=&amp;quot;background-color:yellow;font-face:bold;&amp;quot;&amp;gt; &lt;br /&gt;
'''Bitte [https://anmeldung.freitagsrunde.org/?event=ckurs12 meldet] euch an''' ,damit wir besser Planen können.&lt;br /&gt;
&amp;lt;/center&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;center&amp;gt;'''[[ckurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/center&amp;gt; &lt;br /&gt;
 &amp;lt;center&amp;gt;'''[https://www.isis.tu-berlin.de/course/view.php?id=6903 --&amp;gt; Zum ISIS-Kurs &amp;lt;-- ]'''&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;center style=&amp;quot;background-color:greenyellow;font-face:bold;font-size:300%;&amp;quot;&amp;gt; &lt;br /&gt;
'''Aufgabe fürs Wochenende - Vorgaben HIER: [[Ckurs/ckdu  | CKDU]] '''&lt;br /&gt;
&amp;lt;/center&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Termine == &lt;br /&gt;
&lt;br /&gt;
Der C-Kurs findet dieses Jahr vom '''10.09.2012 bis zum 14.09.2012''' statt.&lt;br /&gt;
Vorträge und Vorlesungen gibt es immer im [[Mathegebäude]] im Raum MA 004.&lt;br /&gt;
Die Tutorien werden in den ersten beiden Etagen [[Telefunken-Gebäude]] stattfinden.&lt;br /&gt;
Insgesamt gibt es immer zwei Tutorien pro Etage und ihr könnt euch einfach in die Tutorien reinsetzen. Die Übungen sind dann in den selben Etagen in den beiden Rechnerräumen [[Rechnerraum#IRB | TEL106]] und [[Rechnerraum#IRB | TEL206]].&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;8&amp;quot; cellspacing=&amp;quot;4&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Zeit (s.t.)&lt;br /&gt;
 !Mo 10.09.2012&lt;br /&gt;
 !Di 11.09.2012&lt;br /&gt;
 !Mi 12.09.2012&lt;br /&gt;
 !Do 13.09.2012&lt;br /&gt;
 !Fr 14.09.2012&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |10:15-11:00&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2012/Einführungsvortrag | Vorlesung 1 (MA 004)]]&amp;lt;br /&amp;gt;Einführung in C&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2012/Tutorium02 | Tutorium 2 (TEL 1/2)]]&amp;lt;br /&amp;gt;enum, struct, union&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | freiwillige Übung im TEL&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Vorlesung_Malloc | Vorlesung 3 (MA 004)]]&amp;lt;br /&amp;gt;Malloc&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium04 | Tutorium 4 (TEL 1/2)]]&amp;lt;br /&amp;gt;Debugging&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |11:30-13:00&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 | freiwillige Übung im TEL&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 |13:00-14:00&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 | Mittagspause&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |14:15-15:00&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium01 | Tutorium 1 (TEL 1/2)]]&amp;lt;br /&amp;gt;printf, scanf, fopen&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Vorlesung_Pointer | Vorlesung 2 (MA 004)]]&amp;lt;br /&amp;gt;Pointer&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | freiwillige Übung im TEL&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium03 | Tutorium 3 (TEL 1/2)]]&amp;lt;br /&amp;gt;Präprozessor, Makros &lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[ckurs2011/Tutorium05 | Tutorium 5 (TEL 1/2)]]&amp;lt;br /&amp;gt;Libraries, SVN, IDE&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |15:30-17:00&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 | freiwillige Übung im TEL&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
|}&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Unser C-Kurs findet vor dem Wintersemester statt. Wir, also die Studenten und Studentinnen der Fakultät IV, organisieren den Kurs und vermitteln euch das Wissen, was ihr für den Einstieg in die Programmierung mit der Programmiersprache C brauchen werdet.&lt;br /&gt;
&lt;br /&gt;
Dazu haben wir uns folgendes Konzept für den Kurs überlegt: Wir bringen euch die wichtigsten Themen in Tutorien bei, welche daraufhin in Rechnerübungen selbstständig gefestigt werden. Die Tutorien sind seit letztem Jahr neu und ersetzen die Vorlesungen aus den vergangenen Jahren. Mit guten Erfahrungen nach der Umstellung aus dem letzten Jahr erhoffen wir uns davon ein intensiveres und spannenderes Lernen für euch. Auch in den Rechnerübungen können wir ganz individuell auf euch eingehen: Wir streben ein Betreuungsverhältnis von 10 Teilnehmer auf einen Tutor an. D.h. ihr könnt nach eurem eigenen Tempo arbeiten und ein Tutor wird euch stets begleiten.&lt;br /&gt;
&lt;br /&gt;
Möglich wird dieser Kurs durch zweierlei Dinge: Erstens engagierte StudentenInnen, die auch anderen Studierenden gerne ihr Wissen vermitteln und der Fakultät IV, die das Nötige an Geld und Räumen zur Verfügung stellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Warum teilnehmen? ==&lt;br /&gt;
Der C-Kurs richtet sich an alle, die gerne C lernen möchten. Wir haben uns zum Ziel gesetzt, möglichst gut verständliche und vor allem motivierende Lehre zu machen, weil wir glauben, dass die Uni-Lehre manchmal zu langweilig ist und deshalb viele StudentInnen unnötigerweise Probleme haben. Lernen sollte Spass machen, nicht anstrengen.&lt;br /&gt;
&lt;br /&gt;
Hauptsächlich hoffen wir damit den Teilnehmern von TechGI3 einen Kickstart für ihre Vorlesung zu geben, weil es je nach Dozent und Zuhörer manchmal zu schnell und manchmal zu langsam geht. Allerdings steht der Kurs jedem offen!&lt;br /&gt;
&lt;br /&gt;
Wenn du also einfach gerne C lernen möchtest, dann bist du herzlich eingeladen!&lt;br /&gt;
&lt;br /&gt;
Der Kurs beruht auf dem Konzept des Javakurses, mit dem wir sehr gute Erfahrungen gemacht haben. Viele InformatikerInnen und Technische InformatikerInnen haben in den Übungsaufgaben des 3. Semesters nicht unbedingt Probleme mit dem Stoff des Semesters selbst, sondern quälen sich jedoch sehr beim Erlernen der Sprache C. &lt;br /&gt;
&lt;br /&gt;
Der Kurs wird wie der Javakurs fast komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen fünfzehn TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf bis zehn Studentierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere Vortragenden in den Vorlesungen.&lt;br /&gt;
&lt;br /&gt;
Der Kurs kann in der Kürze der Zeit bei weitem nicht alle Aspekte von C beleuchten, hierfür sind weiterführende Lehrveranstaltungen und das Lehrpersonal der Uni da. Er stellt jedoch eine gute Starthilfe dar und hilft vor allem StudentInnen denen die Umgang mit der Programmiersprache C noch fremd ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Es gibt für diesen Kurs keinerlei Scheine.'''&lt;br /&gt;
&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre. :)&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
Bitte schreibt euch in folgenden ISIS-Kurs ein und füllt das Formular &amp;quot;Vorbefragung&amp;quot; aus:&lt;br /&gt;
&lt;br /&gt;
[https://www.isis.tu-berlin.de/course/view.php?id=6903 isis.tu-berlin.de/course/view.php?id=6903]&lt;br /&gt;
&lt;br /&gt;
Alle Nicht-TU-Teilnehmer können in regelmäßigen Abständen die Nachrichten aus den Foren verfolgen oder den RSS Feed abonnieren.&lt;br /&gt;
&lt;br /&gt;
== Teilnahmevoraussetzungen ==&lt;br /&gt;
Der C-Kurs ist für StudentInnen, die schon Erfahrung mit Java haben. Wir setzen rudimentäre Programmierkenntnisse voraus. Ausserdem setzen wir rudimentäre Kentnisse wie man einen Computer bedient voraus. Wir bringen euch nicht bei, wie ihr eine Datei öffnet oder einen Browser bedient.&lt;br /&gt;
&lt;br /&gt;
Die zweite Voraussetzung ist eine Möglichkeit bzw. ein Account um in den Übungsräumen zu arbeiten. Die Übungen finden in den Rechnerräumen des IRB statt. In diese Rechner kann man sich mit einem TubIT- oder CS-Account einloggen. Wenn du noch keinen TubIT oder CS-Account hast, bist du vermutlich auch nicht Student an der TU Berlin. Dann ist die einfachste Lösung für Dich deinen eigenen Laptop mitzubringen.&lt;br /&gt;
&lt;br /&gt;
Auf dem Laptop sollte Linux (oder vergleichbar) laufen und der C-Compiler gcc installiert sein. Melde dich im Zweifel einfach per Mail bei uns.&lt;br /&gt;
&lt;br /&gt;
== Fragen? ==&lt;br /&gt;
Wenn Du Fragen hast schreib doch einfach eine Email an:&lt;br /&gt;
&amp;lt;email&amp;gt;ckurs2012-orga@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übungsaufgaben ==&lt;br /&gt;
&lt;br /&gt;
Die Übungsaufgaben findest du [[Ckurs/Übungsaufgaben|hier]].&lt;br /&gt;
&lt;br /&gt;
== Podcasts/Screencasts ==&lt;br /&gt;
&lt;br /&gt;
Vorletztes Jahr wurden die Vorträge auf Video festgehalten und veröffentlicht. Links dazu findest Du auf der Seite des [[ckurs2010| C-Kurses 2010]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Audio-Podcasts gibt es hier: http://podcasts.freitagsrunde.org/C-Kurs-2009/ - die Videomitschnitte werden gerade geschnitten und konvertiert. Sobald die einzelnen Videos fertig sind werden sie sofort auf der Seite des entsprechenden Vortrags verlinkt, ansonsten findet man sie zur Zeit hier: http://media.freitagsrunde.org/ckurs/2009/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Feedback ==&lt;br /&gt;
''Feedback-Seite folgt''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Ckurs2012/Feedback|Feedback zum Kurs 2012]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Organisation==&lt;br /&gt;
Gibt es auf unserer Orgaseite: [[Ckurs2012/orga | Organisation]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;br /&gt;
[[Kategorie: CKurs]]&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs_2011/Tutorium01&amp;diff=19004</id>
		<title>C-Kurs 2011/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs_2011/Tutorium01&amp;diff=19004"/>
		<updated>2012-09-03T18:30:40Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: /* Here be Kirbies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Mario B.&amp;lt;/b&amp;gt; &amp;lt;email&amp;gt;mario@freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2011/unterlagen/Block2_1.Tutorium_CKursIOTut-Loesung.pdf Musterloesung]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2011/unterlagen/Tut1/io.pdf Folien zum Tutorium]&lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen&lt;br /&gt;
Hier folgt eine Liste von den Inhalten, die in diesem Tutorium vermittelt werden. Außerdem gibt es kleine Beschreibungen und Minitutorials zum jeweiligen Inhalt.&lt;br /&gt;
&lt;br /&gt;
=== Link zu den verwandten Aufgaben ===&lt;br /&gt;
Hier stehen am Ende Links auf die verwanden Aufgaben die im Rahmen der Übung bearbeitet werden können.&lt;br /&gt;
&lt;br /&gt;
[[Ckurs2010/Vortrag02|Kursseite vom letzten Jahr mit Video-Aufzeichnung]]&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19003</id>
		<title>Ckurs2012/Tutorium01</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Ckurs2012/Tutorium01&amp;diff=19003"/>
		<updated>2012-09-03T18:30:19Z</updated>

		<summary type="html">&lt;p&gt;Schpammor: Die Seite wurde neu angelegt: „== Tutorium 1 == * Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;  === Unterlagen === * [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_T…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutorium 1 ==&lt;br /&gt;
* Tutorium ausgearbeitet von: &amp;lt;b&amp;gt;Robert H.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unterlagen ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2012/unterlagen/02_Tut1_Ein+Ausgabe.zip ALLE] -&amp;gt; Folien .odp/.pdf, Aufgaben, und auch Lösungen - aber nicht vor dem Bearbeiten der Aufgaben luschern! ;) &lt;br /&gt;
&lt;br /&gt;
=== Inhalt ===&lt;br /&gt;
Eingabe, Ausgabe, Umgang mit Dateien&lt;br /&gt;
* printf&lt;br /&gt;
* scanf&lt;br /&gt;
* fopen / fclose&lt;br /&gt;
* fprintf / fscanf&lt;br /&gt;
* feof&lt;br /&gt;
* falls Zeit reicht: Konsolenparameter&lt;br /&gt;
&lt;br /&gt;
=== Link zu den verwandten Aufgaben ===&lt;br /&gt;
Hier stehen am Ende Links auf die verwanden Aufgaben die im Rahmen der Übung bearbeitet werden können.&lt;br /&gt;
&lt;br /&gt;
[[Ckurs2010/Vortrag02|Kursseite von 2010 mit Video-Aufzeichnung]]&lt;/div&gt;</summary>
		<author><name>Schpammor</name></author>
		
	</entry>
</feed>