wiki:UnterrichtLinuxAg
close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Version 2 (modified by Rüdiger Kupper, 15 years ago) ( diff )

--

Linux-AG

Idee

Hier das Ergebnis eines Brainstormings zu den möglichen Themen für eine Linux-AG. Die Reihenfolge ist grob sortiert.

Umfang

Das hier ist natürlich viel zu viel. Die Themen wird man nach Interesse und Kenntnisstand der Teilnehmer auswählen. Grundsätzlich sollten wohl die wesentlichen Teile der ersten beiden Abschnitte behandelt werden (Geschichte und Linux verwenden). Dort finden sich auch die Inhalte, die sich für junge Schüler eignen. Gesellschaftliche Implikationen, Administration und große Softwareprojekte ist sicher nur für Mittel- und Oberstufe geeignet.

Unterrichtsgang

Geschichte

  • Geschichte von Unics, Unix, Minix und Linux, Linus Torvalds
  • Die Free Software Foundation, GNU und Richard Stallman
  • Freie Software und Open Source Software
    • Konsequenzen für die Entwicklung von Software.
      • Beispiel: Emacs, Lucid Emacs, XEmacs
    • Freie Lizenzen:
      • BSD-Lizenz, Copyleft, GPL und Derivate
      • Creative Commons.
        • Projekt: Erstellen eines eigenen Blogs und Veröffentlichen eigener und fremder Beiträge unter einer Creative-Commons-Lizenz.

Linux verwenden

  • Grundlegende Shell-Kommandos
  • Editoren: ed, vi und Derivate, Emacs
  • UNIX-Rechte, User und Gruppen
  • Stdin, stdout, stderr: Prozesse mit Augen und Ohren
    • Anspruchsvoll: Inter Process Communication, Expect
  • Shells und Shellscripte
  • Kommandointerpreter
    • Beispiele: Python, Pearl, PHP, (Ruby...)
  • Projekt: Erstellen von Webseiten mit Skripten
    • CGI, PHP, wsgi, (mod_python)
    • Ausflug freie Software: Apache, ein freier Webserver
      • Recherche: Welche Websites verwenden alle den Apache?
    • Mozilla, Firefox: freie Browser
  • (LaTeX -- hat Ruben schon in der Mathe-AG gemacht)

optional: Verwalten großer Softwareprojekte

  • Compiler, gcc, g++, configure, autotools
    • Weiterführend: Modulares Programmieren, Pre- und Postconditions, Unit Testing
  • Dokumentation
    • Beispiel: Doxygen
  • Versionsverwaltung
    • Beispiel: svn, (git, bazaar...)
  • Bug-Tracking
    • Beispiele: Trac, (Bugzilla)
  • Roadmaps, Milestones und Releases
    • ev. weiterführend: Softwareentwicklungsmodelle, Wasserfallmodell, etc.
  • (Integrierte Entwicklungsumgebungen -- hab ich wenig Erfahrung mit)
    • Beispiel: Eclipse
  • (Verwenden von Datenbanken, Zugriff aus Programmen und Webscripten -- hier fehlt mir noch selbst die Übersicht!)

Linux administrieren

  • Projekt während der gesamten Laufzeit der AG: Installation und Wartung einer gängigen Linux-Distribution (Ubuntu)
    • [Idee: z.B. auf den Rechnern im Computerraum -- die habe ja noch Festplatten, die sie als LTSP-Clients nicht mehr benötigen]
    • Pakete und Distributionen
      • Suse, Fedora, Debian, Ubuntu et al.
  • Sourcen von Hand kompilieren
  • Kernel und Bootmanager
  • mount
  • Festplatten verwalten: Partitionslayout, LVM, RAID
  • weiterführend: verschiedene Filesysteme

Freie Software in Wirtschaft und Gesellschaft

  • Geschäftsmodelle mit freier Software
    • Beispiele: Google, Canonical und Ubuntu, Novell und Suse, Sun und Open Office, Libre-Office
  • Zum Vergleich: Geschäftsmodelle mit proprietärer Software. - Typisches Beispiel: Microsoft, MS Windows, MS Office
  • Gesellschaftliche Bedeutung von Open Source Software.
    • Beispiel: Phillip Zimmerman's PGP, OpenPGP, GnuPG
  • Public Key Infrastructure
    • Erstellen und Verwenden eines eigenen PGP-Schlüssels, Keysigning-Party
    • Projekt: Schulweiter Aufruf zur Erstellung von PGP-Schlüsseln
    • ev. Einrichten einer Authentifizierungsstelle (z.B. in der Obhut der SMV).
Note: See TracWiki for help on using the wiki.