Size: 25120
Comment:
|
Size: 7945
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
Die Vorlesung wird gehalten von [[http://ad.informatik.uni-freiburg.de/staff/bast|Prof. Dr. Hannah Bast]]. Die Tutoren sind: [[http://ad.informatik.uni-freiburg.de/staff/hoffmaje|Jens Hoffmann]], Axel Lehmann, Felix Ruzzoli, Oday Jubran, Robin Schirrmeister, [[http://ad.informatik.uni-freiburg.de/staff/skilevis|Simon Skilevis]], [[http://mailhide.recaptcha.net/d?k=01RS4fZLoCu3-UCmaBmiO7Ww==&c=PEKu9X0LkTtTtyrlCNW_7xvuDOp2Y_y45sOImK6QzD-N5PaMYnVL-CyuunzLsSJJ|Tim Lechler]], Yaser Öztürk. | |
Line 4: | Line 3: |
[[http://ad-svn.informatik.uni-freiburg.de/ldap/register.py|Bitte hier klicken zum (einmaligen) Registrieren.]] | Die Vorlesung wird gehalten von [[http://ad.informatik.uni-freiburg.de/staff/bast|Prof. Dr. Hannah Bast]]. Sie findet statt jeden Mittwoch von 16:15 bis ca. 17:45 Uhr, im Hörsaal 026 (µ-Saal) in Gebäude 101. Die Tutoren sind: [[http://ad.informatik.uni-freiburg.de/staff/hoffmaje|Jens Hoffmann]], [[http://www.google.com/recaptcha/mailhide/d?k=0147cwg7cwp6_mnPunAOkZ2A==&c=9ORt-gQE4k_huoPELCTs0_UczN8I67WZ8O0Efh5pYaqhimj9Ix1ou_NGpOGkFpUd|Axel Lehmann]], Felix Ruzzoli, O(Happy)day Jubran, Robin Schirrmeister, [[http://ad.informatik.uni-freiburg.de/staff/skilevis|Simon Skilevis]], [[http://mailhide.recaptcha.net/d?k=01RS4fZLoCu3-UCmaBmiO7Ww==&c=PEKu9X0LkTtTtyrlCNW_7xvuDOp2Y_y45sOImK6QzD-N5PaMYnVL-CyuunzLsSJJ|Tim Lechler]], Yaser Öztürk. Chef-Tutor und SVN-Administrator ist Jens Hoffmann, mit Unterstützung von Axel Lehmann. Unsere Hudson-Administratorin und Chef-Linterin ist [[http://ad.informatik.uni-freiburg.de/staff/baumgari|Ina Baumgarten]]. Unser Video-Scheider und -Konvertierer ist Jochen Kempfle, mit Unterstützung von Tim Lechler. |
Line 6: | Line 5: |
Die Folien von den einzelnen Vorlesungen als PDF: [[attachment:ProgrammierenCplusplusSS2010/vorlesung-1.pdf|Vorlesung 1]]. | ||<tablewidth="100%"99% style="text-align: center;">'''Zum [[ProgrammierenCplusplusSS2010/FAQ|FAQ (Häufig gestellte Fragen)]]''' || ||<99% style="text-align: center;">[[ProgrammierenCplusplusSS2010/AktuellesBlattFragen|Fragen zum aktuellen Übungsblatt]] | [[ProgrammierenCplusplusSS2010/Archiv|Fragen zu allen bisherigen Übungsblättern]] || |
Line 8: | Line 8: |
Die Aufnahmen der Vorlesungen als AVI: [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-1.avi|Vorlesung 1]]. | == Materialien == * Die Folien von den einzelnen Vorlesungen als PDF: [[attachment:ProgrammierenCplusplusSS2010/vorlesung-1.pdf|Vorlesung 1]], [[attachment:ProgrammierenCplusplusSS2010/vorlesung-2.pdf|Vorlesung 2]], [[attachment:ProgrammierenCplusplusSS2010/vorlesung-3.pdf|Vorlesung 3]], [[attachment:ProgrammierenCplusplusSS2010/vorlesung-4.pdf|Vorlesung 4]], [[attachment:ProgrammierenCplusplusSS2010/vorlesung-5.pdf|Vorlesung 5]], [[attachment:ProgrammierenCplusplusSS2010/vorlesung-6.pdf|Vorlesung 6]], [[attachment:ProgrammierenCplusplusSS2010/vorlesung-7.pdf|Vorlesung 7]]. * Die Übungsblätter als PDF: [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-1.pdf|Übungsblatt 1]], [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-2.pdf|Übungsblatt 2]], [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-3.pdf|Übungsblatt 3]], [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-4.pdf|Übungsblatt 4]], [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-5.pdf|Übungsblatt 5]], [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-6.pdf|Übungsblatt 6]], [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-7.pdf|Übungsblatt 7]]. * Hier sind die Dateien aus den bisherigen Vorlesungen (bekommt man auch mit ''svn checkout / update''): http://ad-svn.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/vorlesungen * Hier sind die bisherigen Musterlösungen (bekommt man auch mit ''svn checkout / update''): http://ad-svn.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/musterloesungen * Erklärungen zu den diversen "Systemen" die Sie in dieser Veranstaltung benutzen: [[ProgrammierenCplusplusSS2010/SVN|SVN]], [[ProgrammierenCplusplusSS2010/Make|Make]], [[ProgrammierenCplusplusSS2010/GTest|GTest]], [[ProgrammierenCplusplusSS2010/Lint|Lint]], [[ProgrammierenCplusplusSS2010/Editor|Editor]], [[ProgrammierenCplusplusSS2010/IDE|Keine IDE]]. * Hier geht es zu [[http://stromboli.informatik.uni-freiburg.de:8082|Hudson]] |
Line 10: | Line 16: |
Die Übungsblätter als PDF: [[attachment:ProgrammierenCplusplusSS2010/uebungsblatt-1.pdf|Übungsblatt 1]]. | |
Line 12: | Line 17: |
Erklärungen zu den diversen "Systemen" die Sie benutzen sollen: [[ProgrammierenCplusplusSS2010/SVN|SVN]], [[ProgrammierenCplusplusSS2010/Make|Make]], [[ProgrammierenCplusplusSS2010/GTest|GTest]], [[ProgrammierenCplusplusSS2010/Lint|Lint]], [[ProgrammierenCplusplusSS2010/Editor|Editor]]. | == Vorlesungsaufzeichnungen == |
Line 14: | Line 19: |
Hier die vier Dateien aus der Vorlesung 1 in einem ZIP Archiv: [[attachment:SumOfDigits.zip]] | Die ungeschnittenen AVI Dateien sind immer schon kurz nach der Vorlesung verfügbar, sind aber relativ groß, ungeschnitten und nur Folien + Ton. Die geschnittenen, streambaren WMV Dateien stehen in zwei Auflösungen ab ca. Freitag nach der Vorlesung zur Verfügung. Bei halbwegs vernünftiger Bandbreite sollten Sie die WMV Aufnahme mit der hohen Auflösung wählen. |
Line 16: | Line 21: |
== Mitteilungen == Axel Lehmann hat uns ein vorkunfiguriertes Linux-Image gebaut, zu finden unter http://78.143.60.101/cpp/. '''JensHoffmann 24.Apr2010''' |
* Die Aufnahmen der Vorlesungen als WMV (Screen + Audio + Dozentin, hohe Auflösung, ca. 400 MB / Vorlesung, mit Streaming): [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-2.high-resolution.wmv|Vorlesung 2]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-3.high-resolution.wmv|Vorlesung 3]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-4.high-resolution.wmv|Vorlesung 4]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-5.high-resolution.wmv|Vorlesung 5]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-6.high-resolution.wmv|Vorlesung 6]]. * Die Aufnahmen der Vorlesungen als WMV (Screen + Audio + Dozentin, niedrige Auflösung, ca. 200 MB / Vorlesung, mit Streaming): [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-2.low-resolution.wmv|Vorlesung 2]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-3.low-resolution.wmv|Vorlesung 3]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-4.low-resolution.wmv|Vorlesung 4]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-5.low-resolution.wmv|Vorlesung 5]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-6.low-resolution.wmv|Vorlesung 6]]. |
Line 19: | Line 24: |
Hier noch der offizielle Witz zur Vorlesung: [[http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html|Evolution of a Programmer]]. | * Die Aufnahmen der Vorlesungen als AVI (nur Screen + Audio, hohe Auflösung, ca. 500 MB / Vorlesung, kein Streaming): [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-1.avi|Vorlesung 1]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-2.avi|Vorlesung 2]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-3.avi|Vorlesung 3]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-4.avi|Vorlesung 4]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/tmp/vorlesung-5.avi|Vorlesung 5]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-6.avi|Vorlesung 6]], [[http://vulcano.informatik.uni-freiburg.de/recordings/cplusplus-ss2010/vorlesung-7.avi|Vorlesung 7]]. |
Line 21: | Line 26: |
Der Termin für den Kurs steht jetzt fest: Montag, 26. April, 16 - 18 Uhr im SR 00-010/014 im Gebäude 101. Bringen Sie unbedingt Ihren Laptop mit, damit Sie alles gleich live nachvollziehen können. Und wenn irgend möglich sollte schon ein Linux installiert sein. Ob als einziges Betriebssystem, als zweites Betriebssystem neben Ihrem Windows, oder in einer Virtual Box/Machine ist egal, Hauptsache es ist etwas da. Wenn Sie das gar nicht selber hinkriegen (Tim Lechler wollte ja noch eine Anleitung schicken), schreiben Sie eine Mail an Jens Hoffmann < hoffmaje@informatik.uni-freiburg.de >. '''Hannah 23Apr10 14:23''' | |
Line 23: | Line 27: |
[[ProgrammierenCplusplusSS2010/Linux|Wer Interesse an einem Linux-Crash-Course nächsten Montag hat, bitte hier klicken.]] (Wer sich von der ersten Vorlesung sehr überfordert gefühlt hat und keinen Schimmer hat, wie er / sie das erste Übungsblatt lösen soll, sollte sich auf jeden Fall auch anmelden.) '''Hannah 21Apr10''' | == Fragetermine == |
Line 25: | Line 29: |
''Allgemeine Mitteilung: Liebe Teilnehmerinnen und Teilnehmer. Manche von Ihnen, speziell die, die bisher noch gar keine Programmiererfahrung hatten, haben sich sicher von der ersten Vorlesung etwas überfahren gefühlt. Machen Sie sich bitte keine Sorgen. Ich habe die erste Vorlesung extra ein wenig als Rundumschlag angelegt, damit man einen Eindruck bekommt was alles dazu gehört und sich die Erfahreneren nicht langweilen. Versuchen Sie einfach das erste Übungsblatt so gut wie möglich zu lösen. Die vier Dateien aus der Vorlesung finden Sie unten, und es ist nicht notwendig zu diesem Zeitpunkt die ganzen Details zu verstehen. Je nach den Ergebnissen der ersten Übungsblätter und dem Feedback was von Ihnen kommt, werden wir dann schauen in welchem Tempo und an welcher Stelle wir weitermachen.'' '''Hannah 13Apr10''' | * Der Termin am Freitag 16- 18 Uhr ist mangels Interesse gestrichen worden. * Jeden Montag, 14 - 16 Uhr im Raum 00 030 in Gebäude 51 = da wo unser Lehrstuhl ist. Nächster Termin: 14. Juni, Tutor: Tim Lechler. * Jeden Dienstag, 16 - 18 Uhr im SR 00 028 in Gebäude 82 = TF-Pool. Nächster Termin: 15. Juni, Tutor: Simon Skilevic. |
Line 27: | Line 33: |
== Fragen und Kommentare zur Vorlesung 1 / Übungsblatt (die neueste Frage zuoberst) == ---- /!\ '''Edit conflict - other version:''' |
== Aktuelle Mitteilungen == |
Line 31: | Line 35: |
---- So ich versuche das mit dem Test gerade, was auch funktioniert. Nur wenn ich das jetzt in die makefile schreibe und diese danach ausführe, gibt er mir folgende Antwort: "make: `test' is up to date.". Wenn ich nun aber in der makefile "test:" in "test1:" umändere und mit "make test1" ausführe, dann lässt er alle Tests durchlaufen. Woran kann das liegen? '''Luc 25Apr10 11:26''' |
Mich würde Ihre Meinung zu den Vorlesungsaufzeichnungen interessieren. Benutzen Sie es überhaupt? Benutzen Sie eher das AVI? Oder eher die low-resolution WMV Datei? Oder eher die high-resolution WMV Datei? Gäbe es Ihrer Ansicht nach irgendetwas zu verbessern? [[ProgrammierenCplusplusSS2010/FeedbackVideos|Geben Sie Ihr Feedback bitte auf dieser Seite, anonym oder mit Namen, wie Sie möchten!]] Zur Info noch: Am Anfang sieht man in den WMV-Schnitten hauptsächlich mich und nicht die Folien, weil ich da eh alles vorlese was auf den Folien steht, und weil ich denke, dass es so lebendiger ist für diejenigen die die Vorlesung remote verfolgen (da gibt es einige) oder sie in Zukunft irgendwann schauen (da wird es wohl auch einige geben). Spätestens zum Programmierteil sieht man dann vor allem den Bildschirm und mich nur noch unten in einem kleinen Fenster. '''Hannah 9Jun10 20:04''' |
Line 34: | Line 37: |
---- /!\ '''Edit conflict - your version:''' |
Es stehen jetzt zur Verfügung: (1) Die Folien für die 7. Vorlesung + die ungeschnittene AVI Aufnahme (die geschnittene WMV Aufnahme mit streaming kommt am Freitag); (2) Die Dateien aus der 7. Vorlesung mit einigen Verbesserungen und den Spezifikationen die Sie brauchen um das 7. Übungsblatt zu machen; (3) Die Musterlösungen für das 6. Übungsblatt. '''Hannah 9Jun10 19:32''' |
Line 37: | Line 39: |
---- Morgen Luc, dass make sagt, dass das test-target "up to date" ist, kann daran liegen, dass make denkt, dass sich seit dem letzten vorgang nichts mehr geändert hat. Make ist üblicherweise zum erstellen grösserer Projekte gedacht, und unterstützt das wiederaufnehmen abgebrochener Kompiliervorgänge. Daher sucht make beim aufruf, ob die Datei bereits in übersetzter Form vorliegt. Versuche einmal folgendes: Füge ein target mit dem Namen "clean" hinzu. als Anweisung für dieses target wählst du: "rm *.o <dateiname der testbinary> <dateiname des fertigen programms>". Probiere anschliessend, make clean auszuführen, und danach make test. Eigentlich sollte es dann funktionieren '''TimLechler ''''''1272187934 UTC -1''' So ich versuche das mit dem Test gerade, was auch funktioniert. Nur wenn ich das jetzt in die makefile schreibe und diese danach ausführe, gibt er mit folgende Antwort: "make: `test' is up to date.". Wenn ich nun aber in der makefile "test:" in "test1:" umändere und mit "make test1" ausführe, dann lässt er alle Tests durchlaufen. Woran kann das liegen? '''Luc 25Apr10 11:26''' ---- /!\ '''End of edit conflict''' ---- @Martin + alle: Bei Fragen die das SVN betreffen, bitte immer den username des RZ-accounts angeben, damit wir schauen können ob von unserer Seite alles in Ordnung ist. '''Hannah 24Apr10 23:38''' Der Link auf die Aufnahme von der Vorlesung sollte jetzt wieder funktionieren. Wir hatten etwas an der Konfiguration unseres SVN geändert, und dadurch hatte sich der Pfad geändert, ich habe das jetzt korrigiert. '''Hannah 24Apr10 23:36''' Svn sieht nicht, dass sich im Verzeichnis uebungsblatt-1 etwas geändert hat, obwohl ich das verzeichnis geadded habe. wenn ich svn diff eingebe erkennt er nur das erfahrungen.txt anders ist und lädt die datei mit svn commit auch hoch, lässt aber den ordner außer acht. hab' schon probiert den ordner zu löschen. fand' er nicht so gut und wollte dann gar nicht mehr, weil der ordner fehlte. '''Martin 24Apr10 22:37''' @JonathanN Grandissimo!Danke fuer den Trick jetzt hat es geklappt und bin endlich mal fertig!Der Test war echt eine knifflige Sache!:D '''Dario 24Apr10 17:00''' @Dario Versuche es mal mit dem "Trick" den man z.B. bei den Rechner im Pool machen muss, bzw. wie ich schon etwas weiter unten erwähnt habe auch bei der Ubuntu-VirtualBox-Version welche letztes Semester in Systeme I verteil wurde du musst den Zusatz von -pthread in der MakeFile hinzuschreiben. '''JonathanN 24Apr10 15:33''' Hallo, ich habe gtest installiert aber ich kriege trotzdem sowas: {{{ g++ -o sumOfRealDivisorTest sumOfRealDivisorTest.cpp /usr/local/lib/libgtest.a /usr/local/lib/libgtest.a(gtest-all.o): In function `testing::internal::ThreadLocal<testing::TestPartResultReporterInterface*>::CreateKey()': /home/dario/gtest-1.5.0/./include/gtest/internal/gtest-port.h:1139: undefined reference to `pthread_key_create' /usr/local/lib/libgtest.a(gtest-all.o): In function `testing::internal::ThreadLocal<std::vector<testing::internal::TraceInfo, std::allocator<testing::internal::TraceInfo> > >::CreateKey()': /home/dario/gtest-1.5.0/./include/gtest/internal/gtest-port.h:1139: undefined reference to `pthread_key_create' }}} ich kann nicht den Fehler finden. '''Dario 24Apr10 15:14''' Auf den Rechnern der TF gibt's auch ein kleines Tutorial zu vim... einfach in der Konsole vimtutor eingeben. '''Christiane 24Apr10 15:10''' Der Link zur Avi-Datei scheint defekt zu sein. Zumindest kann ich sie nicht herunterladen... '''JonasReinmuth 24Apr10 14:02''' sudo apt-get install http://vulcano.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/vorlesung-1.avianpages-dev '''JensHoffmann 24Apr10 11:05''' welche pakete muss ich den installieren, damit ich in der konsole die manual pages für c++ befehle aufgerufen bekomme? wenn ich die Hilfeseiten aufrufen will bekomme ich nur folgendes: {{{ martin@martin-laptop:~/Cplusplus/uebungsblatt-1$ man 3 exit No manual entry for exit in section 3 martin@martin-laptop:~/Cplusplus/uebungsblatt-1$ man exit No manual entry for exit }}} '''Martin 24Apr10 10:36''' @Dario: Siehe [[ProgrammierenCplusplusSS2010/Editor|Editor]], da habe ich jetzt auch erklärt, wie man zwischen verschiedenen Teilen hin und her wechselt. Ich werde am Mittwoch eine kurze Einführung in Vim geben, bis dahin können Sie auf einfach einen anderen Editor benutzen. Es ist ja ganz egal mit welchem Editor Sie Ihre Dateien erzeugen und bearbeiten. '''Hannah 24Apr10 00:26''' hi, ich benutze grad diese vim editor und habe vorhin den make file erzeugt.nun ist mein fenster in 2 teile gespaltet worden und kann nicht mehr auf die make-befehle zugreifen.ich bin wie auf der 45 min monitor der erste vorlesung. Was fuer ein befehl sollte ich verwenden? bsp esc : .. '''Dario 24Apr10 00:00''' Ach, und wo wir gerade bei den perfekten Zahlen sind, die kann man übrigens wie folgt generieren. Und zwar ist für jedes ''n'', für das ''2^n^ - 1'' eine Primzahl ist (sogenannte Mersenne-Primzahl), die Zahl ''2^n-1^ * (2^n^ - 1)'' eine perfekte Zahl, d.h., die Summer ihrer echten Teiler ist die Zahl selber. Der Beweis ist gar nicht schwer (sogar Euklid konnte das schon), wer Überschuss hat kann sich ja mal dran probieren. '''Hannah 23Apr10 20:52''' @Peter: Die echten Teiler sind alle positiven Teiler außer der Zahl selber. Nach der Definition hat die 1 keine echten Teiler, und die Summe ist also 0. Übrigens: würde man die 1 hier mitzählen, wäre die Summe 1 und 1 wäre eine sogenannte [[http://de.wikipedia.org/wiki/Vollkommene_Zahl|perfekte Zahl]] (Summer der echten Teiler = die Zahl selber). Die 1 zählt man aber gemeinhin nicht zu den perfekten Zahlen, sondern 6 ist die erste. Aber das nur nebenbei. '''Hannah 23Apr10 20:46''' Meiner Einschätzung nach verläuft das analog zu der Tatsache, dass 1 auch keine Primzahl ist. In dem Fall hätte 1 keinen echten Teiler, die Summe wäre also 0. '''SebastianD 23Apr10 20:41''' Hallo. So wie ich das sehe, gilt 1 als echter Teiler und die selbe Zahl nicht. Was ist dann die Summe der echten Teiler von 1? 0 oder 1? '''Peter 23Apr10 20:37''' @Ben: Nachdem man die Zusammenfassung geschrieben hat, einfach abspeichern und den Editor schließen. Bei Vim geht das mit '':wq'' gefolgt von Return (mit : fängt jedes Kommando in Vim an, w steht für write und q steht für quit). Ich habe übrigens angefangen, eine kleine Einführung für Vim zu schreiben, siehe den Link zu Editor unter den "Erklärungen zu den diversen Systemen ..." oben. '''Hannah 23Apr10 18:32''' Hallo. Wie schickt man, nachdem man svn commit gemacht hat und sich nun in vim befindet seine Zusammenfassung endgültig ab? Also svn add => svn commit => vim öffnet sich => Zusammenfassung eintragen => und dann? Danke. '''Ben 23Apr10 18:27''' @Tina + alle: Ja, der Linux+Überhaupt-Crash-Kurs findet am Montag, den 26. April von 16 - 18 Uhr statt und zwar im SR 00-010/14. Zu der Zeit konnten fast alle, ich hoffe auch Sie. Jens Hoffmann wird den Kurs halten aber ich werde auch mal vorbei schauen um mir ein Bild davon zu machen, wo die Probleme liegen. Ich denke, wenn klar ist wie man unter Linux eine Konsole und einen Editor öffnet, ist der Rest relativ einfach, zumal Sie ja das Programm aus der Vorlesung haben, das dem, das Sie für die Übung schreiben sollen sehr ähnlich ist (sie müssen da jetzt die ganzen Details noch gar nicht verstehen). Versuchen Sie es bis Mittwoch, wenn das gar nicht klappt, reden wir nochmal. Aber wird schon klappen. '''Hannah 23Apr10 14:24''' Steht jetzt schon der Termin für den Linux-Crash Kurs am Montag fest? Ich muss nämich Montags immer arbeiten und dann evtl. sehr dringend eine Vertretung finden, wenn sich s überschneidet. Ich hab versucht mich auf eigene Faust ein bissl in Linux zurecht zu finden und das Übungsblatt zu machen - nun machts mich schon ganz nervös, dass ich frühestens Dienstag damit anfangen kann. Können wir das erste Blatt dann evtl. auch etwas verspätet abgeben? '''Tina 23Apr10 13:39''' Das klappt ja super mit der gegenseitigen Hilfe hier, das freut mich :-) '''Hannah 23Apr10 12:46''' @Madeleine: Ja, das bekomme ich auch ganz oft. Das SVN möchte vor dem commit gerne einen kurzen Text der zusammenfasst was Sie da in diesem commit machen. Dazu braucht es einen Editor, und dazu guckt SVN in einer der Umgebungsvariablen SVN_EDITOR, VISUAL oder EDITOR nach. Die sind bei Ihnen alle drei nicht gesetzt, wie bei mir auch oft. Machen Sie dazu einfach {{{ export EDITOR=vim }}} bzw. ersetzen Sie vim durch den Editor Ihrer Wahl (ich habe in der Vorlesung vim benutzt). Dann sollte das ''svn commit'' klappen, wenn nicht, fragen Sie bitte nochmal. '''Hannah 23Apr10 12:41''' Hi MadeleineP, die Fehlermeldung besagt, dass subversion den voreingestellten editor nicht finden kann. Probiere bitte aus, ob einer der folgenden Editoren vorhanden ist: vi, vim, nano, emacs. Einer dieser editoren ist mit Sicherheit bei dir vorhanden. anschliessend wählst du vor dem commit deinen favoriten unter diesen Editoren aus, und setzt diesen mit dem Befehl "export SVN_EDITOR=nano" als Standard. nano musst du hier durch den von dir ausgewählten editor ersetzen. Anschliessend sollte der commit aufruf von svn fehlerfrei funktionieren.'''TimL 23Apr10 12:40''' Hallo, ich habe Probleme beim Übertragen der Daten über den svn commit Befehl und bekomme folgende Fehlermeldung: "svn: Commit failed (details follow) svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found" Kann mir vielleicht jemand sagen, welche Einstellungen ich da wo ändern muss?Danke schön. '''MadeleineP 23Apr10 12:24''' @Sebastian: (1) Ich persönlich finde 2010-04-22 22:27:32 nicht so richtig gut lesbar; (2) Die meisten Leute machen Änderungen ohne eingeloggt sein; (3) So richtig viel Arbeit finde ich es nicht sowas wie ''Xyz 23Apr10 12:00'' zu schreiben. Ich würde von daher sehr gerne bei der jetzigen Version bleiben und bitte alle sich daran zu halten, sonst wird es nämlich unübersichtlich. Es ist im Grunde ganz ähnlich wie mit dem Stylesheet für unseren Code, da kann man auch drüber streiten ob jetzt zwei oder drei Leerzeichen Einrückung besser ist, oder ob man wirklich die öffnenden geschweiften Klammern in eine eigene Zeile setzen sollte. Das wichtigste bei der Sache ist aber ''Konsistenz'', also dass es alle gleich machen. '''Hannah 23Apr10 12:04''' Hi alle, im Pool gibt es ein Problem mit gtest, zumindest wenn man es so macht wie in der Vorlesung. Man muss beim kompilieren -pthread anhängen (zumindest gehts so bei mir :)).Beispiel aus der VL, so dass es im Pool geht: ''g++ -o SumOfDigitsTest SumOfDigitsTest.cpp /usr/local/lib/libgtest.a -pthread'' (muss im Makefile geändert werden). '''RobinS 23Apr10 11:53''' Dies gilt auch für die Ubuntu Version in Virtual Box, welche letztes Semester, in Systeme I verteilt wurde. '''JonathanN 23Apr10 14:00''' Wer auf Windows besteht, kann übrigens auch Cygwin benutzen. Das ist allerdings nur für Leute zu empfehlen, die auch einigermaßen mit Linux klarkommen.<<BR>> Eine Frage noch: Könnten wir nicht auf die Wiki-Signaturen (-- 84.23.67.137 <<DateTime(2010-04-23T10:40:15Z)>> wird zu -- [[SebastianD]] <<DateTime(2010-04-23T00:27:32+0200)>>) umsteigen? Ich persönlich finde die schöner und weniger Mühe ist es allemal. :D '''SebastianD 23Apr10 00:26''' @Dario (und alle anderen Linuxunwissenden): Ich hab mich letzte Nacht auch mit meiner Unwissenheit Ubuntu in der Virtualbox rumgeschlagen und bin damit nicht sehr weit gekommen (es tauchten bei ''sudo apt-get install subversion'' so lustigen Sachen auf wie Fehlermeldungen welche beim anschauen eine Fehlermeldung erzeugten, dass ich die Fehlermeldung nicht ansehen können weil es einen Fehler mit dem Programm gäbe welches die Fehlermeldung ausgelöst habe). Bin dann heute auf das hier http://stadt-bremerhaven.de/ubuntu-ohne-angst-auf-der-festplatte/ gestoßen, hab es ausgeführt und bin dann fast in meinen Monitor gehüpft weil es auch erst nicht ging. Aber dank dem hier http://wiki.ubuntuusers.de/Wubi#Start und vor allem der Problembeschreibung ganz unten läuft es nun alles ganz gut. Ich finde im Moment, dass es ein gutes Mittelding zwischen VirtualBox und eigener Linux-Partition ist. '''Ben 23Apr10 00:03''' @Daniel: Ja, man muss beim Kompilieren der Tests ''/usr/local/lib/libgtest.a'' mit angeben, sonst findet er die ganzen gtest Funktionen nicht. Steht aber auch in meinem Makefile aus der Vorlesung genau so. '''Hannah 22Apr10 20:20''' Okay, habs. {{{ $ g++ SumOfDivisorTest.cpp /usr/local/lib/libgtest.a }}} Wer Probleme beim compilieren der Test Datei hat sollte diesen Parameter mal probieren.''' Daniel 22Apr10 20:08''' {{{ $ g++ SumOfDivisorTest.cpp /tmp/cchDafPB.o: In function main: undefined reference to `testing::InitGoogleTest(int*, char**)' undefined reference to `testing::UnitTest::GetInstance()' undefined reference to `testing::UnitTest::Run()' }}} Ich habe mich an die kleine Anleitung von Axel Lehmann auf der [[ProgrammierenCplusplusSS2010/GTest|GTest Seite]] gehalten. gtest/make/sample1_unittest läuft ohne Probleme durch.''' Daniel 22Apr10 19:38''' @Tim: Bei solchen Anfragen bitte immer den RZ-Account nennen, sonst wissen wir nicht wo wir nachgucken sollen. '''Hannah 22Apr10 19:36''' Ich habe so meine Probleme mit Subversion. Ich habe per "svn add" mein uebungsblatt-1 Verzeichnis zum Repository hinzugefügt und dann mit "svn commit" bestätigt. Wenn ich jetzt aber mit "svn list" nachschauen möchte, ob der Ordner auch im Repository ist, werden mir dort nur die Dateien angezeigt, die dort von Anfang an drin waren. Mache ich irgendwas falsch oder habe ich sonst irgendwo einen Denkfehler? '''TimV 22Apr10 19:32''' Die URL ist tatsächlich falsch. Auf der [[http://vulcano.informatik.uni-freiburg.de/wiki/teaching/ProgrammierenCplusplusSS2010/SVN|SVN-Seite]] beginnt sie mit "svn-ad" und nicht mit "ad-svn". Damit hat der Checkout dann auch geklappt, danke. '''SebastianD 22Apr10 18:27''' @Sebastian: Ich habe es gerade noch einmal probiert, und ich kann mit ''svn checkout http://ad-svn.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/hb1003 hb1003 --username=hb1003'' mein Unterverzeichnis auschecken. Bei solchen Problemen: Schicken Sie doch bitte eine Mail mit dem user name von Ihrem RZ-Account an Jens Hoffmann < jgk.hoffmann@googlemail.com >, und er schaut dann nach ob bei Ihrer Registrierung alles geklappt hat und Ihre Daten bei uns angekommen sind. '''Hannah 22Apr10 18:21''' Blöde Frage, aber kann es sein, dass die URL zum Repository falsch ist? ''Could not resolve hostname `svn-ad.informatik.uni-freiburg.de': Der angegebene Host ist unbekannt.'' Ich habe es dann mit einem Punkt nach dem svn versucht: ''svn: Das Projektarchiv wurde zeitweilig nach »https://svn.ad.informatik.uni-freiburg.de:443/teaching/cplusplus-ss2010/meinlogindings« verschoben; bitte umplatzieren'' Also habe ich versucht, mir davon meine Kopie zu holen. Ergebnis war Error 200. '''SebastianD 22Apr10 18:18''' Hi @'''all''', ich werde heute abend eine Schritt-Für Schritt Anleitung fertig machen, die euch mit einem Video zeigen soll, wie man sich selbst ein Linux-System in einer virtuellen Maschine einrichtet, mit dem ihr dann alles habt, was ihr benötigt, um die Übungsaufgaben bearbeiten zu können. Mfg '''Tim 22Apr10 18:03''' @Luc, http://lmgtfy.com/?q=vim+zeilennummer+anzeigen -> Das erste Ergebnis zeigt dir eine Step-By-Step Lösung auf. @Luc2, wenn du das Dokument schon offen hast: ":set number" eingeben! (nonumber zum ausschalten) <- Alex 23. Apr 9:17 So, dank nettem Hiwi im RZ hab ich s geschafft eine Konsole unter Linux zu öffnen:-) Wie öffne ich nun die Datei daten.txt? Mit ls? Da kommt, dass die Datei nicht verfügbar ist obwohl ich mich eigentlich wie in der Beschreibung angemeldet habe. Tina @Windows allgemein: Sie können das auch schon alles von einem DOS-Fenster unter Windows machen (das sind die schwarzen Fenster, die man als Normal-Benutzer unter Windows eigentlich nicht braucht, außer in Notfällen). Sie müssen sich dann halt so Programme wie den C++ Compiler und make und svn von Hand installieren, und auch die ganzen Standardbibliotheken. Auf einer Linux-Kiste ist das alles standardmäßig drauf. Es ist aber fuddelig und auch einfach unüblich die Sachen unter Windows von einer Konsole aus zu machen, und deswegen würde ich Ihnen das auch nicht raten. Und um es nochmal zu sagen, Sie müssen nicht viel von Linux verstehen um das zu machen, was wir für die Vorlesung brauchen. Und ein Window Manager mit Desktop und Fenstern, wie man das von Windows kennt, ist auch unter Linux / Unix schon lange Standard (das heißt dann da KDE oder GNOME oder so). '''Hannah 22Apr10 16:02''' @Luc: Ja, ein MAC mit seinem Pseudo-Unix ist kein Problem. Sie werden ja die Konsole auch wirklich nur für ein paar ganz wenige und grundlegende Sachen brauchen, die Hauptsache werden schon die Programme sein die wir schreiben. Ich möchte halt nur nicht, dass Sie jetzt am Anfang schon eine integrierte Entwicklungsumgebung a la Eclipse oder NetBeans oder Visual C++ benutzen, weil man dann die Zusammenhänge auf der Ebene unten drunter nicht wirklich verstehen lernt, und das sollen Sie aber. '''Hannah 22Apr10 15:53''' Hallo, was ist mit den MAC Usern? Viele terminal Befehle die unter Linux existieren, funktionieren auch unter MAC, nur jetzt ist halt die Frage, reicht das aus um alle Übungen schreiben zu können? Gruß '''Luc 22 Apr20 15:39''' @Dario: Hallo Dario. Ich schlage dir zum Ausprobieren Ubuntu in einer Virtual Box vor. Die Virtual Box bekommst du hier: http://www.virtualbox.org/wiki/Downloads. Das neueste Ubuntu findest du z.B. hier: http://www.ubuntu.com/GetUbuntu/download. VBox installieren, Festplatte an Ubuntu angepasst erstellen, Ubuntu-iso-image einbinden und fertig. Es ist wirklich sehr einfach, einfach mal ausprobieren und bei Fragen noch einmal melden. '''Jens 22Apr10 14.57''' Hallo, ich habe noch nie im meinem Leben Linux benutzt und deshalb kenne mich gar nicht aus. Ich habe Windows Vista und wollte fragen was für ein Version von Linux drauf machen konnte. Ich habe mich schon bei der Linux-crash-gruppe eingetragen aber wollte schon einiges ausprobieren. Ich lade gerade eine Ubuntu Version herunter , weil sie mir für Anfänger empfohlen wurde.Konnte mir jemand einfach seiner Meinung dazu sagen? '''Dario 22Apr10 10:47''' Ein allgemeiner Hinweis noch zur Benutzung des Wiki: Wenn Sie sich anmelden (Link ganz oben links) können Sie eine Seite abonnieren. Sie bekommen dann immer eine E-Mail, sobald sich etwas an der Seite geändert hat. Das macht speziell bei dieser Seite hier mit den Fragen und Antworten hier Sinn. Es ist dann quasi wie eine Mailingliste. Wenn Sie selber etwas an der Seite ändern und es ist nur eine Kleinigkeit (z.B. Korrektur von einem Tippfehler o.ä.), setzen Sie bitte ein Häkchen in das Feld ''Triviale Änderung'' oben recht über dem Editierfeld. Damit verhindern Sie, dass bei trivialen Änderungen eine E-Mail an alle Leute geschickt wird, die die Seite abonniert haben. Wenn Sie aber etwas Substantielles zu der Seite hinzufügen, wie z.B. eine Frage, sollten Sie das Häkchen nicht setzen. '''Hannah 21Apr10 21:52''' @Johannes: Das nennt man halt echte Teiler, siehe z.B. http://de.wikipedia.org/wiki/Echter_Teiler#Formale_Definition. Die Teiler die sowohl ungleich 1 als auch ungleich die Zahl selber sind nennt man ''nicht-triviale'' Teiler. Anyway, ist für die Aufgabe ja nicht wirklich wichtig. '''Hannah 21Apr10 21:45''' Ich verstehe nicht ganz, wieso bei der Übungsaufgabe die 1 als echter Teiler angenommen wird, jedoch nicht die Zahl selbst. Sie teilt die Zahl doch auch ohne Rest. '''Johannes 21Apr10 20:44''' ---- /!\ '''Edit conflict - other version:''' ---- Ich bin auf der Suche nach der in der Lesung verwendeten cpplint.py. Ich bekomme leider noch einige Fehlermeldungen. Vielleicht ist es keine schlechte Idee die .zip anzupassen: Makefile den Pfad vom Linter anpassen so, dass er in der .zip Datei zu finden ist. Vielen Dank. '''Alex R. 23. Apr. 21:09Uhr''' Hier einfach eine Frage hinschreiben und dann am Ende mit Name, Datum und Uhrzeit "unterschreiben" so wie in dem Beispiel hier (bitte jeder in demselben Format). '''Hannah 21Apr10 00:36''' ---- /!\ '''Edit conflict - your version:''' ---- Hier einfach eine Frage hinschreiben und dann am Ende mit Name, Datum und Uhrzeit "unterschreiben" so wie in dem Beispiel hier (bitte jeder in demselben Format). '''Hannah 21Apr10 00:36''' ---- /!\ '''End of edit conflict''' ---- |
[[ProgrammierenCplusplusSS2010/ÄltereMitteilungen|Hier geht es zu den älteren Mitteilungen.]] |
Willkommen zum Wiki der Vorlesung '''Programmieren in C++''' im Sommersemester 2010
Die Vorlesung wird gehalten von Prof. Dr. Hannah Bast. Sie findet statt jeden Mittwoch von 16:15 bis ca. 17:45 Uhr, im Hörsaal 026 (µ-Saal) in Gebäude 101. Die Tutoren sind: Jens Hoffmann, Axel Lehmann, Felix Ruzzoli, O(Happy)day Jubran, Robin Schirrmeister, Simon Skilevis, Tim Lechler, Yaser Öztürk. Chef-Tutor und SVN-Administrator ist Jens Hoffmann, mit Unterstützung von Axel Lehmann. Unsere Hudson-Administratorin und Chef-Linterin ist Ina Baumgarten. Unser Video-Scheider und -Konvertierer ist Jochen Kempfle, mit Unterstützung von Tim Lechler.
Materialien
Die Folien von den einzelnen Vorlesungen als PDF: Vorlesung 1, Vorlesung 2, Vorlesung 3, Vorlesung 4, Vorlesung 5, Vorlesung 6, Vorlesung 7.
Die Übungsblätter als PDF: Übungsblatt 1, Übungsblatt 2, Übungsblatt 3, Übungsblatt 4, Übungsblatt 5, Übungsblatt 6, Übungsblatt 7.
Hier sind die Dateien aus den bisherigen Vorlesungen (bekommt man auch mit svn checkout / update): http://ad-svn.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/vorlesungen
Hier sind die bisherigen Musterlösungen (bekommt man auch mit svn checkout / update): http://ad-svn.informatik.uni-freiburg.de/teaching/cplusplus-ss2010/musterloesungen
Erklärungen zu den diversen "Systemen" die Sie in dieser Veranstaltung benutzen: SVN, Make, GTest, Lint, Editor, Keine IDE.
Hier geht es zu Hudson
Vorlesungsaufzeichnungen
Die ungeschnittenen AVI Dateien sind immer schon kurz nach der Vorlesung verfügbar, sind aber relativ groß, ungeschnitten und nur Folien + Ton. Die geschnittenen, streambaren WMV Dateien stehen in zwei Auflösungen ab ca. Freitag nach der Vorlesung zur Verfügung. Bei halbwegs vernünftiger Bandbreite sollten Sie die WMV Aufnahme mit der hohen Auflösung wählen.
Die Aufnahmen der Vorlesungen als WMV (Screen + Audio + Dozentin, hohe Auflösung, ca. 400 MB / Vorlesung, mit Streaming): Vorlesung 2, Vorlesung 3, Vorlesung 4, Vorlesung 5, Vorlesung 6.
Die Aufnahmen der Vorlesungen als WMV (Screen + Audio + Dozentin, niedrige Auflösung, ca. 200 MB / Vorlesung, mit Streaming): Vorlesung 2, Vorlesung 3, Vorlesung 4, Vorlesung 5, Vorlesung 6.
Die Aufnahmen der Vorlesungen als AVI (nur Screen + Audio, hohe Auflösung, ca. 500 MB / Vorlesung, kein Streaming): Vorlesung 1, Vorlesung 2, Vorlesung 3, Vorlesung 4, Vorlesung 5, Vorlesung 6, Vorlesung 7.
Fragetermine
- Der Termin am Freitag 16- 18 Uhr ist mangels Interesse gestrichen worden.
- Jeden Montag, 14 - 16 Uhr im Raum 00 030 in Gebäude 51 = da wo unser Lehrstuhl ist. Nächster Termin: 14. Juni, Tutor: Tim Lechler.
- Jeden Dienstag, 16 - 18 Uhr im SR 00 028 in Gebäude 82 = TF-Pool. Nächster Termin: 15. Juni, Tutor: Simon Skilevic.
Aktuelle Mitteilungen
Mich würde Ihre Meinung zu den Vorlesungsaufzeichnungen interessieren. Benutzen Sie es überhaupt? Benutzen Sie eher das AVI? Oder eher die low-resolution WMV Datei? Oder eher die high-resolution WMV Datei? Gäbe es Ihrer Ansicht nach irgendetwas zu verbessern? Geben Sie Ihr Feedback bitte auf dieser Seite, anonym oder mit Namen, wie Sie möchten! Zur Info noch: Am Anfang sieht man in den WMV-Schnitten hauptsächlich mich und nicht die Folien, weil ich da eh alles vorlese was auf den Folien steht, und weil ich denke, dass es so lebendiger ist für diejenigen die die Vorlesung remote verfolgen (da gibt es einige) oder sie in Zukunft irgendwann schauen (da wird es wohl auch einige geben). Spätestens zum Programmierteil sieht man dann vor allem den Bildschirm und mich nur noch unten in einem kleinen Fenster. Hannah 9Jun10 20:04
Es stehen jetzt zur Verfügung: (1) Die Folien für die 7. Vorlesung + die ungeschnittene AVI Aufnahme (die geschnittene WMV Aufnahme mit streaming kommt am Freitag); (2) Die Dateien aus der 7. Vorlesung mit einigen Verbesserungen und den Spezifikationen die Sie brauchen um das 7. Übungsblatt zu machen; (3) Die Musterlösungen für das 6. Übungsblatt. Hannah 9Jun10 19:32