Table of Contents Herzlich willkommen bei den C-Noobs ! Aktuelles Anwesenheit Ideen Offene Fragen Fragen&Antworten Treffen 16.05.14 Treffen 04.04.14 Treffen 21.03.14 Treffen 21.02.14 Treffen 07.02.14 Treffen 24.01.14 Treffen 10.01.14 Diskussion Chaosknoten zum Mitnehmen Herzlich willkommen bei den C-Noobs ! Was: Wir sind eine heterogene Gruppe die sich das Ziel gesetzt hat C zu lernen Wann: Alle 2 Wochen um 19:00 Uhr. Für genaue Termine siehe unten (Anwesenheit). Termine werden in der Talk-Mailing Liste angekündigt. Wo: Schleißheimer Strasse ++41, München Wer: Mitmachen darf jeder: neue Gesichter, auch non-CCC-members, sind gerne willkommen! Kontakt: Siehe: irc Kosten: Alles gratis Weitere Infos: Fragen&Antworten und Offene Fragen Aktuelles … stay tuned! Anwesenheit 16.05.14 19:00 Dr.Elch Joon Nastia Alex Alte Termine 10.01.14 19:00 24.01.14 19:00 07.02.14 19:00 21.02.14 19:00 07.03.14 19:00 21.03.14 19:00 04.04.14 19:00 Joon Joon Joon Joon Joon Joon Joon Richard Richard Richa Peete n_to n_to Ausgefallen! accxev (nicht ganz sicher) Dr.Elch Dr.Elch Dr.Elch Dr.Elch Dr.Elch Dr.Elch Nastia Nastia Nastia Nastia Nastia Nastia Lukas (l. verhindert) Lukas (evtl.) Uwe (nicht ganz sicher) Uwe (nicht ganz sicher) Martina (nicht ganz sicher) elian elian elian Alex (non-CCC-member) Ideen NetzwerkprogrammierungSpiel programmieren?gui Offene Fragen Wer Fragen hat hier stellen Fragen&Antworten Wie oft trefft ihr euch? Wir versuchen es alle 2 Wochen zu machen Was ist die Zielgruppe? Dieser Workshop richtet sich an $noobs. Ob totaler Noob oder nur Semi-Noob etc. Noob = Anfänger. Es richtet sich nicht an Kernel-Hacker, Treiber Programmierer, oder Grafik-Zauberer. Was ist der Scope? Wir gehen Beispiele durch die man Online findet. Als theoretische Grundlage nehmen wir das K&R oder eben menschliche Wissensquelle. http://www.c-howto.de/tutorial-einfuehrung.html Welche Voraussetzungen sollte man mit bringen (Wissen und Technik)? Keine. Laptop mitzuhaben ist vielleicht ganz sinnvoll. Da der Workshop auf die vorigen Workshops aufbaut, können wir leider nicht immer bei 0 beginnen. Aber es wird jedes Mal eine Zusammenfassung der Themen hier im Wiki erstellt. So kann man sich vorbereiten Wer moderiert das ganze (wird es moderiert)? Erstmal Int80. Aber wir können gerne das mal rotieren lassen. Dr. Elch moderiert auch manchmal Wie kann ich mich vorbereiten? Siehe Zusammenfassungen (unten) http://www.programmingsimplified.com/c-hello-world-program http://net.pku.edu.cn/~course/cs101/2008/resource/The_C_Programming_Language.pdf Für Windows-Benutzer eignen sich folgende Entwicklungsumgebungen: Code::Blocks http://www.codeblocks.org/ Bloodshed http://bloodshed.net/ Nur für CCC-Members? Nein. Für alle! Wo findet das Treffen statt? Im Club. Schleißheimer Str. ++41 (München) Treffen 16.05.14 2048 Spielregelnhttp://pastebin.com/zz2che52 Treffen 04.04.14 * Ideensammlung: Welches Spiel möchten wir Programmieren? * Einigung auf ein Spiel* Analyse der Spielregeln und des Spiels ansich* Erstellung einer kleinen Architektur für das Spiel* Identifizierung welche C-Techniken wir noch benötigen für die Umsetzung* Let's code! Buffer Overflow Reverse Engineering Treffen 21.03.14 Einführung Pointers Adressierung vs. Referenzierung Beispiel für Pointer - Wozu eigentlich? Pointers vs. Arrays Malloc und Free Übungen Übungen:http://ideone.com/Zzjcf9 http://ideone.com/SXULSl http://ideone.com/N5fUBy http://ideone.com/ko3ViX Treffen 21.02.14 Themen: Wiederholung Funktionen, Kontrollstrukturen, Datentypen Arrays Einführung zum Thema Arrays Zugriffe Indexierung sizeof Operator Übungen Source-Code: Übung1: http://ideone.com/HQbUqi Übung2: http://ideone.com/cq0dJG Übung3: http://ideone.com/UxZmnm Übung4: http://ideone.com/eGUhzt Tutorial: http://www.c-howto.de/tutorial-arrays-felder.html Treffen 07.02.14 Themen: Funktionen Was sind Funktionen Wie werden Funktionen verwendet Nützliche Details zu Funktionen Getränkeautomat wird erweitert Rekursion Source-Code: Folienbegleitender Code: http://ideone.com/5hPgDd Getränkeautomat 0.3: http://ideone.com/oy6eTn Getränkeautomat 0.4: http://ideone.com/YMyXLi Getränkeautomat 0.5: http://ideone.com/CJ3zga C-Howto Sektion: http://www.c-howto.de/tutorial-funktionen.html Treffen 24.01.14 Themen: Verzweigungen: http://www.c-howto.de/tutorial-verzweigungen.html Schleifen http://www.c-howto.de/tutorial-schleifen.html Pentabug Matemat goes Console Treffen 10.01.14 Themen:- Hello World- Datentypen- Speicherverwaltung- Kernel- Parameter- Funktionen- Was ist C?- Deklaration- Bits und Bytes- Variablen Diskussion (Dr.Elch) Können wir für das zweite Treffen eine Liste an Themen erstellen, die wir behandeln wollen? Ich mach hier mal Vorschläge (@Joon: Ich will dir hier nix vorwegnehmen oder deinen Vortrag hijacken): Review vom letzten Mal anhand eines kleinen Beispiels. Dann: Erweiterung des Beispiels mit den Themen, die neu erlernt werden sollen. Erläuterung Schleifen While-Loop; Do-Loop; For-Loop; Kurz: Break; Continue; Boolean Operations und ihre Möglichkeiten Optional: Kommt auf die Zeit drauf an: Arrays und ganz kurze Einführung in Strings. Aber würde ich lieber aufs nächste mal verschieben, bevor es zu viel Input ist. Review Libraryfunktionen. Einführung des Zufallszahlengenerators Erstellung eines Beispielprogramms durch die Teilnehmer, um das gelernte Anzuwenden. Zum Beispiel ein kleines Ratespiel, bei dem durch den User eine vom PC vorgegebene Zahl erraten werden muss. (Joon): Moin Dr. Elch (Hilf, mir auf die Sprünge, wer warst du nochmal? Danke das du dich so interessierst für den Workshop.1. Wir können gerne zum Start immer ein kurzes Review vom letzten Workshop machen. Ist ne gute Idee.2. Die Ganzen Themen die es bei der C Programmierung gibt, wollen wir natürlich auch alle behandeln.3. Ich würde gerne die Struktur von hier nehmen: http://www.c-howto.de/tutorial-einfuehrung.html 4. Das heißt als Nächstes Thema würde ich gerne die Verzweigungen in Angriff nehmen: http://www.c-howto.de/tutorial-verzweigungen.html 5. Die Erklärungen sind gut und brauchbar. Zum Schluss gibt es auch immer eine Übungsaufgabe!6. Desweiteren würde ich es gerne so machen: 1 Workshop, 1 Thema.7. Schleifen wären dann das Thema für den übernächsten Workshop! @Dr.Elch: Du kannst aber gerne eine Präse oder ähnliches Vorbereiten und vortragen (also nur wenn du willst)… (Dr.Elch): Ich war der Typ der links von dir saß und mit Anastasia da war. Ich dachte, da Verzweigungen letztes mal schon dran waren, du gleich weiter zu Schleifen gehen wolltest, aber mir auch recht, die Themen nicht zu schnell durchzuboxen. Wobei man vielleicht auch ein wenig Material zu Schleifen haben sollte, da Bedingungen gerade mit Schleifen doch ganz nett harmonieren Aber it's up to you. Ich mach gern mal nen Vortrag bei einem der nächsten Themen, dann hast du nicht die ganze Arbeit.P.S: ich finds lustig, dass du das C-Tutorial von Elias Fischer nimmst. Das is nämlich ein alter Kollege von mir (joon): du kennst E. FIscher? Nice Also, für den kommenden Freitag: Verzweigungen+Schleifen = MateMat Du kannst dann gerne dir dieses etwas komplexeren Themen schnappen, wobei ich nicht weiß ob man die zusammen durch kriegt oder ob man die an einzelnen Tagen machen sollte:Funktionen und Pointers… Pointers ist ein wichtiges aber schweres Thema. Vielleicht solltest du das vortragen, da du ja skilled bist (Dr.Elch): Funktionen und Pointer würde ich nicht an einem Tag machen. Vielmehr würde ich Funktionen mit etwas mehr Wissen über Library Funktionen verknüpfen und die Limitationen aufzeigen, an die wir stoßen ohne Pointer. Alternativ auch Rekursion einführen. Quasi als Hinführung an Pointer. Pointer und Arrays “kann” man an einem Tag machen, wenn alle Mitkommen, sonst eben nur Pointer. Dieses Thema kann ich gern übernehmen. Chaosknoten zum Mitnehmen ..;;;+++@@@@@@@+++';,. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# @@@++;,,.```````.......``.,'@@@. ;@#`,,:::::::;@+;;;;;;@@;;;:::'@@.` #@ ,;;;;::::::;@;,,,,,@@,,,,:::@@;, @@`:;:.````` #@,` @@`,` ``@@;:` @+`;:` @@, @@.;. @@:;. @;.;, @#. @@.;. `.,;, `. @;.;. .@+. ,@@@@++++++++#@@@@++;` @: @+ @;,:` ;@;` :@@@@@@@@@@@@@@@@@@@@@; .@`.@: #' @;,:` #@;` `:;,..````..``.....``;@@;'@.#@,,@` @+::` #@@@@@+++++++++++++++++@':,;@'##.@+,@+. @+::` ,;:;;;+++++#@@@@@@@@@@@@@@#;@,@;;@:'@:. @+:;` `,;,....`.....`````````...'@@@;@:@':@,@` @+:;` #@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@#@''@:@@@. @+:;` #@@; ``````................:+@@@@'@:@+@@@:.. @#:;` #@# `.,'#@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@+@;;, @@,;` '@+ `:@@@@@++;;;;;;;+++++++++#@@@@@@@@@';@;@;, @@,;` ,@+ `,@@.````............,,,,,'@@@@@@@';#@+##;,` @@,;. `@# `,;@# `,::;;@@:::::::::::::::;'';;;+@@''@:#,. @@,;. @@ ,;,@+`::,..`@@```````````````,'+@@@@@;;@+;@:. @@;;. @@` .;,`@#.;. @@`,` #@@@@+:,'@@;@@:.` '@@;, '@, .::` @@,;` `@@.;, `...,@@@:'@',,, .@@;:` .@' `::. @',;` #@;,;, `:;@@@#,.@@,.:, @@@+, ......`,;. :;,.;#@@`,;. @@@@@@:`.@@;.,;. #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`:;` .;.``.:@@+#.;:` .;'';;;;;;;;;;;;;;;;;;;'++++;`,;:` `,:;#@@;#@:;. .;;;::::::::::::::::::::::::;;;, `,+@@;``;@#,` `,:::::::::::::::::::::::;;;;;:. ```@@,;#@;, ````````````````````````````` ;@@;:.@@;` @@@#:.@@@@';@@, +@+@@;::@#@@@@@' `@@ ;@;:`@;;;,.``.. @@ `;@;;.@+;;;;:;;: ;@, ,+@.:.@':;,.,,,. @@ `:#@`:.@,,:` @'`,;@+`::@ ,;` @..;,@;`:+@ ,:` @.,;,@`.;@.`::` ::+@ #@# `:, ,:@@+@#` ,:` #@@@,@##::`,;, ++;. @;.;,:;,` `,,@:,;,:,` .:;@::;.` ```@;::` @@::` @@::` ;@#;` #@;. ';:` ,;, `,,` `` c-noobs.txt Last modified: 2021/04/18 12:35(external edit)