Jun
19
2009

Lösungen zum Praktikum Informatik 1

Dir listingIm zweiten Semester des Bachelor-Studiengangs “Elektrotechnik / Informationstechnik / Technische Informatik” gibt es ein Programmierpraktikum unter dem Titel “Praktikum Informatik 1″.

Ich habe das alles vorgearbeitet um es schnell hinter mir zu haben und hin und wieder Kommilitonen geholfen, wenn sie mich um Hilfe fragten. Auf Dauer lud ich die Sourcecodes einfach aus Bequemlichkeit hoch und durch die bald darauf folgende Verlinkung auf uni.ist.hirnlos.net hat sich die entsprechende Adresse schnell und weit verbreitet. Gerade weil das eher ein Bequemlichkeitsakt war, sind die Sourcecodes auch nicht lehrsam dokumentiert. Ich habe einfach nur programmiert was das Praktikumsskript verlangt um dafür meine Testate zu bekommen und das war’s.

Da mittels Google oft nach “Student im Urlaub Programmierpraktikum Lösungen” o.ä. gesucht wird, dieses Blog hier allerdings nicht darauf verlinkt, verlinke ich die Adresse mal in diesem Artikel, um vielen sonst ins Leere gehenden Suchanfragen doch ein Ziel zu geben.

Alle meine Lösungen sind unter http://www.student-im-urlaub.de/source erreichbar.
Ich übernehme weder Haftung für die Richtigkeit der Sourcecodes, noch für Schäden oder irgendwelche unmittelbare Folgen durch Benutzung dieser Programmcodes. (Schließlich bin ich nur Kommilitone und habe sonst nichts mit dem Praktikum am Hut)

Mittlerweile ist diese Quelle auch den Tutoren aufgefallen. Offenbar ist ihnen auch aufgefallen, dass viele den Code einfach kopieren, aber nicht richtig verstehen. Der Sinn dieses Praktikums ist dadurch natürlich für diejenigen, die sowas tun, gebrochen.

Mit ist das prinzipiell völlig egal, zumal wir alle erwachsen genug sind, um selbst zu entscheiden. Wie gesagt, ich schreibe diesen Artikel hier, um ins Leere gehende Suchanfragen zu verhindern.

Sobald das Praktikum vorbei ist, lade ich die Lösungen auf www.bsetitti.de, das Forum für Kommilitonen dieses Studiengangs, hoch. Das verzögert sich deshalb auf das Ende des Praktikums, weil bis dahin nicht sicher ist, ob noch Änderungen/Korrekturen folgen.

0 Kommentare
Written by Jacek in: Uni | Schlagwörter:, , , ,
Mai
27
2009

Boolesche Ausdrücke vereinfachen

KV-Diagramme vereinfachen war nie leichter!Um boolesche Ausdrücke zu vereinfachen, kann man Karnaugh-Veitch-Diagramme benutzen. Die Problematik gibt es praktisch überall, wo es um Low-Level-Logik geht.

Um mein eigenes Verständnis so tief zu treiben, wie es nur geht, habe ich ein Java-Applet dazu programmiert.

Da sich weit und breit im Internet kaum sinnvolle Sourcecodes zu solchen Anwendungen finden lassen, die auch noch Betriebssystem-unabhängig sind, gebe ich den Sourcecode frei.

Die lauffähige Version findet sich unter student-im-urlaub.de/kvdes

Und der Sourcecode unter student-im-urlaub.de/kvdes/kvdeskiller-2009-05-27.zip

Der Sourcecode darf völlig frei verwendet werden. Meinen Namen bei Weiterverwendung zu erwähnen wäre zwar nett, ist aber nicht nötig.

Viel Spaß damit, falls wer etwas damit anfangen kann. ;)

1 Kommentar
Dez
21
2008

Tic-Tac-Toe-Robotik

Nun, seit Freitag ist das “LEGO Mindstorms meets MATLAB”-Projekt zuende.

Mein Kommilitone und ich haben in der Wahlversuchsphase einen Roboter gebaut, der Tic Tac Toe spielen kann.

Die mathematische, bzw. algorithmische Betrachtungsweise solch einfacher Spiele war sehr interessant. Dasselbe gilt für die Auswertung und Interpretation der gesammelten Daten über die Sensorik.

Eine vollständigere Projektbeschreibung gibt es hier auf der RWTH-Mindstorms-Seite zu sehen.

Team Tic Tac Toe!

Team Tic Tac Toe!

 

 

1 Kommentar
Written by Jacek in: Uni | Schlagwörter:, , , , , , , ,
Nov
01
2008

Programmieren in C an der RWTH

Im Studiengang “Elektrotechnik / Technische Informatik / Informationstechnik” an der RWTH Aachen hört man im ersten Semester unter anderem “Grundgebiete der Informatik 1″.

Es geht hier nicht darum, programmieren zu lernen, sondern um Algorithmen und Datenstrukturen. Die offizielle Vorlesungsprogrammiersprache ist C.

An der Uni ist man sich der Tatsache bewusst, dass viele noch nie programmiert haben, also werden in der Globalübung und in den Kleingruppenübungen durchaus ein paar Dinge erklärt.

Die meisten Anfänger benutzen Windows – und sie haben das typische Problem, dass ihr Konsolenfenster ( Unter Windows mehr “Eingabeaufforderung” genannt – das entspricht auch dem lächerlichen Funktionsumfang!) sich sofort nach Ablauf des Programms wieder schließt. Das passiert UNIX-Benutzern nicht, denn sie rufen ihr Programm in der Konsole mit “./meinprogramm” auf, sehen die Ausgabe und landen zurück in der Eingabezeile. Das sieht dann so aus:

tfc@photon u2 % ./aufg3_1_b                                                9:13
[Ausgabe des Programms (...)]
tfc@photon u2 %                                                                     9:13

Nichts klappt sich zu. Wozu auch? UNIX hin oder her – unter Windows ist es unüblich, die Konsole dauerhaft offen zu haben (Weil sie dort nichts kann), also besteht dieses Problem für einen Windowsprogrammierer nunmal.

Viele Windowsprogrammierer setzen deshalb vor dem “return 0;” in ihrem Sourcecode ein kurzes “getchar();” ab. Das ist sogar noch in der stdio.h enthalten, weshalb unnötige Includes wegfallen. Diese kleine Funktion lässt die Konsolenanwendung nach Ablauf des eigentlichen Programms auf die Eingabe eines Buchstaben warten. Was für ein Buchstabe das ist, ist ja völlig egal – das Programm blockiert an dieser Stelle und die Konsole geht nicht zu. Das erfüllt seinen Zweck. Abgesehen davon, dass es UNIX-Programmierer total nervt, weil man ständig Enter drücken muss, um zurück zur Konsole zu kommen.

Gestern allerdings war der erste Kleinübungsgruppentermin für Informatik (Erst letzte Woche wurden die Gruppenplätze verteilt). Hier wurde für die Total-Anfänger noch einmal gezeigt, wie man seinen ersten C-Sourcecode schreibt und kompiliert. Mit wxDev-C++ (oder sowas in der Art) unter Windows. Der Tutor erwähnte das “Zuklapp-Problem” mit der Konsole. Sein Lösungsvorschlag:

Man bindet über “#include <stdlib.h>” die stdlib.h ein und verwendet vor dem “return 0;” am Ende des Programms die Funktion system() mit folgendem Aufruf: “system(“PAUSE”);”. Dies hat zur Folge, dass am Ende des Programms das Programm “PAUSE” aufgerufen wird und die Konsolenausgabe so aussieht:

C:\winDOS\> meinprogramm
[Ausgabe (...)]
Bitte drücken Sie eine beliebige Taste, um fortzufahren…

Ja, toll. Den PAUSE-Befehl gibt es unter UNIX nicht. Weil an der Uni so verantwortungsbewusst Systemunabhängig gelehrt wird, darf ich während meinem Studium die Sourcecodes meiner UNIX-fremden Kommilitonen umhacken, damit sie bei mir überhaupt laufen und später schlage ich mich später im Berufsleben mit Arbeitskollegen herum, die kein wirkliches C können, sondern sich Müll zusammenprogrammieren, den sie sich unter Visual Studio oder so angewöhnt haben.

Ich richte einen Appell an alle Windows-Kommilitonen: Bitte, bitte nutzt Präprozessor-Anweisungen! Mit folgendem kurzen Code kann man sein Programm Plattform-Unabhängig machen:

#ifdef WIN32
system(“PAUSE”);
#endif 

Diese Anweisung bewirkt, dass der Compiler diesen “Windows-Behelf” auslässt, wenn man das Programm überhaupt nicht unter Windows kompiliert.

Bei einem einzelnen Entertastendruck ist das ja alles noch nicht soooo schlimm, aber schlimmere Zeiten werden kommen.

4 Kommentare
Written by Jacek in: Computerstuff, Uni | Schlagwörter:, , , , , , , ,
Jul
17
2008

Twitternde Mensen

Was gibt’s heute für Aachener Studenten in der Mensa?

Entweder man geht hin um nachzuschauen, was nervig ist, da es in Aachen verschiedene Mensen an verschiedenen Orten gibt. Oder man schaut in das Mensa-Heftchen, in dem ein Plan abgedruckt ist.

Oder wenn man sowieso schon twittert (www.twitter.com – Ein Mikro-Blogging-Service), dann abonniert man einfach die Twits der Mensen!

So weiß man schon morgens, wann man nicht hingehen sollte. Wobei ich persönlich dadurch kaum etwas an meinem Verhalten geändert habe, zumal ich sowieso fast nie dort bin.

Danke an Martin für den Tipp! ;)

3 Kommentare
Written by Jacek in: Uni | Schlagwörter:, , , , ,
Mai
21
2008

Über mich

Hallo, dies ist mein persönliches Blog. Zu meiner Person:Me, myself and I.

Ich komme ursprünglich aus Köln und studiere seit Oktober 2008 Elektrotechnik / technische Informatik / Informationstechnik an der RWTH Aachen.

Seit November 2009 arbeite ich als Hiwi am Lehrstuhl für Betriebssysteme, Aachen, wo ich bei den Forschungsarbeiten an NUMA-Systemen mithelfe.

Mich faszinieren UNIX-Betriebssysteme, Mikrocontroller und allgemein interessante Hard- und Software.

In meiner Freizeit befasse ich mich mit elektronischen Basteleien und lerne Chinesisch.

0 Kommentare
Written by Jacek in: Allgemein | Schlagwörter:, , , , , , ,

Powered by WordPress. Theme: TheBuckmaker. Darlehen, Geld verdienen

3.14159