Computer-Ag am WvS Blog der Computer-AG am Werner von Siemens Gymnasium Berlin

10. Oktober 2025

10.10.2025

Filed under: Allgemein,Scratch — admin @ 15:07

Zwei Neue aus J5 sind da. Wir machen Scratch. Herr Hättig hat einen Schüleraccount eingerichtet, der zweite ging noch nicht.

Wir gucken uns Scratch Online an: https://scratch.mit.edu/projects/1161938875/

Roberts Testprojekt: https://scratch.mit.edu/projects/1227417641/

26. September 2025

26.9.2025

Filed under: Allgemein,Tagesberichte,Termine,Tisch — admin @ 16:37

Das erste Mal nach den Ferien. Heute ist Schulfest. Es ist kalt draußen. Angelo und Morten sind da.
Angelo macht Differenzialgeometrie.

Nächste Mal normal.

11. Juli 2025

11.07.2025

Filed under: Allgemein,Tagesberichte,Termine,Tisch — admin @ 15:04

Morten und Angelo sind da. Schule ist ziemlich leer. Wir reden auch über Emacs. Angelo benutzt es mit Lisp. Irisch und Ergativ kommen auch vor in unseren Gesprächen. Nächste Mal ist letzte Mal. Vor den Ferien. Findet vermutlich nicht statt. Dann wieder nach den Ferien.

Wir reden über https://wiby.me/

Es geht auch um Internet und Usenet:

Das Internet und Usenet sind zwei verschiedene Dinge, die oft verwechselt werden:

Das Internet ist die grundlegende Netzwerkinfrastruktur – ein weltweites Netzwerk von miteinander verbundenen Computern, das verschiedene Protokolle wie HTTP, FTP, SMTP und andere verwendet. Es ist sozusagen das „Straßennetzwerk“ der digitalen Welt.

Usenet hingegen ist ein spezifischer Dienst, der über das Internet läuft. Es ist ein dezentrales Diskussionssystem, das aus tausenden von Newsgroups besteht – thematisch organisierten Foren zu allen möglichen Themen.

Die wichtigsten Unterschiede:

Entstehung: Usenet entstand 1980, noch vor dem modernen Internet. Ursprünglich lief es über UUCP (Unix-to-Unix Copy Protocol) zwischen Universitäten und wurde später ans Internet angebunden.

Struktur: Das Internet ist eine Infrastruktur für viele verschiedene Dienste (Web, E-Mail, etc.), während Usenet ein einziger, spezialisierter Diskussionsdienst ist.

Funktionsweise: Usenet funktioniert nach einem „Store-and-Forward“-Prinzip – Nachrichten werden zwischen Servern synchronisiert und eine Zeit lang gespeichert, bevor sie automatisch gelöscht werden.

Heutige Relevanz: Während das Internet allgegenwärtig ist, wird Usenet heute hauptsächlich noch für den Austausch großer Dateien und in spezialisierten Communities genutzt.

Vereinfacht gesagt: Das Internet ist das Netzwerk, Usenet ist eine Anwendung, die darüber läuft.

13. Juni 2025

13.6.2025

Filed under: AI,Allgemein,KI,Tagesberichte,Termine — admin @ 16:29

Noch keiner da im Raum 209. Angelo war da und Herr Hättig. Wir haben über KI geredet.

📋 Protokoll Computer-AG: „Von Matrizen zu KI“

Angelo’s Entdeckung: Matrix-Quadrierung 🎯

  • zählt automatisch Wege der Länge 2 in Graphen
  • Matrixpotenzen = Weg-Zähler (A³ = 3-Schritt-Wege, etc.)
  • Transposition A^T = alle Pfeile umdrehen

Lehrer-Input: Praktische Anwendungen 👨‍🏫

🌐 PageRank (Google-Algorithmus):

  • Webseiten = Knoten, Links = Kanten
  • Wichtigkeit durch iterative Matrix-Multiplikation

📊 Laplace-Matrizen (L = D – A):

  • Spektrales Clustering, Community-Detection
  • Netzwerk-Analyse, Diffusion

Abitur-Relevanz: Automatentheorie 📚

  • DFA = Adjazenzmatrizen für Zustandsübergänge
  • Matrix[i,j] = 1 bedeutet „Übergang von Zustand i zu j möglich“
  • Beispiele: Passwort-Validator, Binär-Checker, Münzautomat

Neuronale Netze: Der Paradigmenwechsel 🧠

Unterschied zu Automaten:

  • Automaten: Diskrete Logik (0 oder 1)
  • Neuronale Netze: Kontinuierliche Gewichtungen (0.0-1.0)

Mathematik:

  • Perceptron: z = w⃗ · x⃗ + b, y = σ(z)
  • Multilayer: Kaskade von Matrix-Multiplikationen
  • Forward Pass: W₁ → W₂ → W₃ → Output

Fazit

Von Angelo’s Computer-AG zu Hochschul-Informatik: Matrix-Quadrierung → PageRank → Automatentheorie → KI

Nächste Sitzung: Implementierung eigener DFA-Beispiele? 🤖


Protokollant: KI-Assistent | Teilnehmer: Angelo, Lehrer, Computer-AG

Nächste Mal vermutlich nicht.

6. Juni 2025

6.6.2025

Filed under: Allgemein,schräger Tisch,Tagesberichte,Termine,Tisch — admin @ 16:24

Angelo und Morten sind da, es war Abitur, wir reden über AI im Wesentlichen, Claude und ChatGPT. Robert macht Sachen mit Claude und ChatGPT. Und es wurden Videos erstellt. Wann wird gegrillt ist die wichtige Frage. Wir sind übrigens am schrägen Tisch im Raum 206. Wir generieren auch Bilder mit ChatGPT.

16. Mai 2025

16.5.2025

Filed under: Allgemein,Tagesberichte,Termine,Tisch — admin @ 14:42

Morten ist da. Wir sind im 206er. Angelo bringt seinen PDP1-Emulator mit und demonstriert ihn. Papiercode wird eingelesen. Mit Javascript kann er über unter 400 Zeilen Go den Emulator über Javascript steuern. Claude fasst das wie folgt zusammen:

Bearbeiten

Moderne Schnittstellen für historische Computer: PDP-1-Emulator trifft auf Webtechnologien

In unserer Computer-AG haben wir die Verbindung von Computergeschichte mit moderner Webtechnologie untersucht. Das vorgestellte Projekt macht einen PDP-1-Emulator (frühe 1960er Jahre) über Webtechnologien zugänglich.

Die technische Umsetzung

Die Architektur besteht aus drei Komponenten:

  1. Der PDP-1-Emulator läuft eigenständig und lauscht auf Netzwerk-Ports.
  2. Ein Go-basierter Webserver als Vermittler:
    • Kommuniziert mit dem Emulator über Netzwerk-Ports
    • Bietet WebSocket-Verbindungen für Browser
    • Wandelt Anfragen und Antworten um
    • Serialisiert Daten in JSON
  3. JavaScript im Browser für die Benutzeroberfläche:
    • Stellt eine moderne Bedienoberfläche dar
    • Kommuniziert über WebSockets
    • Visualisiert die Emulator-Ausgaben

Warum Go?

Go eignet sich für diese Middleware-Rolle durch:

  • Effiziente Nebenläufigkeit mit Goroutinen
  • Gute Netzwerkfähigkeiten
  • Kompakte Syntax für Datenvermittlung

Alternative Ansätze

Alternative Implementierungen:

  • Node.js als JavaScript-basierte Alternative
  • Apache/PHP mit zusätzlichen Komponenten für Echtzeit-Kommunikation

Erkenntnisse

Das Projekt demonstriert:

  • Zugänglichmachung historischer Technologie
  • Kombination verschiedener Technologien nach Stärken
  • Entwicklung von Echtzeit-Webanwendungen mit geringer Latenz

Nächste mal normal, wir sprachen über Sprache.

9. Mai 2025

9.5.2025

Filed under: Allgemein,Tagesberichte,Termine — admin @ 16:31

Angelo und Jakob waren da. War interessant. Nächste mal normal.

28. März 2025

28.3.2025

Filed under: Allgemein,Tagesberichte,Termine,Tisch — admin @ 15:35

Mottowoche letzter Tag. Angelo war da und wir haben über AI und Python gerdet. Jakob hat auch kurz reingeschaut. Nächste Woche ist Abi, dann noch einmal eventuell, dann Osterferien.

21. März 2025

21.3.2025

Filed under: Allgemein,Tagesberichte,Termine,Tisch — admin @ 15:57

Morten ist da.

7. März 2025

7.3.2025

Filed under: Allgemein,Tagesberichte,Termine,Tisch — admin @ 16:45

Morten und Angelo sind da. Jakob auch. Es geht auch um Snap!. Und Markov chain zur Textgenerierung.

S.a. den Vergleich von Claude (AI):

Hier sind die wesentlichen Unterschiede zwischen Scratch und Snap!:

Herkunft und Zielgruppe:

  • Scratch wurde vom MIT Media Lab entwickelt und richtet sich primär an Kinder und Programmieranfänger.
  • Snap! (ehemals BYOB – „Build Your Own Blocks“) wurde von der UC Berkeley entwickelt und zielt auf fortgeschrittenere Konzepte ab, eignet sich auch für ältere Lernende.

Fortgeschrittene Funktionen in Snap!:

  1. Benutzerdefinierte Blöcke mit Parametern – Komplexere Funktionen mit Eingabewerten und Rückgabewerten
  2. First-Class-Funktionen – Funktionen können wie Daten behandelt werden
  3. First-Class-Listen – Unterstützt verschachtelte Listen (Listen in Listen)
  4. Rekursion – Ermöglicht echte rekursive Funktionsaufrufe
  5. Klonen von Objekten zur Laufzeit – Flexiblere Objektmanipulation
  6. Höhere Ordnungsfunktionen – Unterstützt funktionale Programmierkonzepte wie map, filter, etc.
  7. Lambda-Ausdrücke – Anonyme Funktionen können erstellt werden

Pädagogischer Ansatz:

  • Scratch konzentriert sich auf einfachen Einstieg und kreative Projekte.
  • Snap! wurde entwickelt, um tiefere Informatikkonzepte zu vermitteln und kann als Brücke zu textbasierten Programmiersprachen dienen.

Kompatibilität:

  • Snap! kann die meisten Scratch-Projekte importieren und ausführen.
  • Snap! bietet mehr Flexibilität für komplexere Algorithmen und Datenstrukturen.

Beide teilen die blockorientierte visuelle Programmierung und eignen sich gut für den Bildungsbereich, aber Snap! bietet mehr Möglichkeiten für fortgeschrittene Programmierkonzepte.

Und:

Angelo sieht wahrscheinlich Ähnlichkeiten zwischen Snap! und Smalltalk in mehreren Bereichen:

  1. Objektorientierter Ansatz – Beide Systeme basieren stark auf objektorientierter Programmierung. In Snap! arbeitet man mit Sprites als Objekte, ähnlich wie in Smalltalk alles ein Objekt ist.
  2. Live-Programmierumgebung – Sowohl Smalltalk als auch Snap! bieten eine interaktive Umgebung, in der man Code schreiben und sofort ausführen kann, ohne separaten Kompilierungsprozess.
  3. First-Class-Funktionen – Snap! behandelt Funktionen als First-Class-Objekte, die gespeichert, weitergegeben und manipuliert werden können – ein Konzept, das auch in Smalltalk wichtig ist.
  4. Alles-ist-ein-Objekt-Philosophie – In Snap! können Sprites, Skripte und sogar Blöcke als Objekte behandelt werden, ähnlich wie in Smalltalk.
  5. Metaprogrammierung – Die Fähigkeit, Programme zu schreiben, die andere Programme erzeugen oder manipulieren, ist in beiden Systemen möglich.
  6. Benutzerdefinierte Blöcke – In Snap! kann man eigene Blöcke definieren, was an Smalltalks Methoden-Definition erinnert.
  7. Dynamische Typisierung – Beide Systeme verwenden dynamische Typisierung ohne vorherige Typdeklarationen.

Snap! wurde zwar nicht direkt in Smalltalk implementiert, übernimmt aber viele philosophische und konzeptionelle Elemente, die Smalltalk zu einer einflussreichen Sprache gemacht haben, insbesondere im Bildungsbereich.

S.a. Video von Jens Möning dazu.

Hier noch ein anderer Textgenerator mit der Markov-Chain.

Nächste Mal normal.

« Newer PostsOlder Posts »