Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| lehrkraefte:blc:informatik:ffprg1-2023:start [2023/02/01 07:10] – [Freifach Programmieren, Einstieg] Ivo Blöchliger | lehrkraefte:blc:informatik:ffprg1-2023:start [2023/06/27 06:30] (current) – [Freifach Programmieren, Einstieg] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Freifach Programmieren, | ||
| + | ===== Lerneinheiten ===== | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * [[.: | ||
| + | * Beispiel für ein Dialog-Fenster: | ||
| + | * [[.: | ||
| + | ===== Theorie / Dokumentation ===== | ||
| + | * [[.: | ||
| + | |||
| + | ===== Programm ===== | ||
| + | |||
| + | * alias, ssh, scp, ~/ | ||
| + | * upload script | ||
| + | * Hello World: | ||
| + | * JS auf der Konsole | ||
| + | * HTML | ||
| + | * JS inline | ||
| + | * JS in separater Datei | ||
| + | * CSS | ||
| + | * Variablen in JS: global, var und let. | ||
| + | * JS mit nur einer oder ohne globale Variablen | ||
| + | * Manipulation von HTML-Elementen | ||
| + | * Event-Loop im Browser, DOM | ||
| + | |||
| + | ====== Übersicht ====== | ||
| + | |||
| + | {{lehrkraefte: | ||
| + | |||
| + | Wir werden JavaScript im Browser erlernen. Dazu gehören auch grundlegende Kenntnisse in HTML und CSS. | ||
| + | |||
| + | Die Vorteile sind: | ||
| + | * Ein Browser und ein Text-Editor sind auf fast allen Computern standardmässig vorhanden und installiert. | ||
| + | * Die Programme funktionieren auf praktisch allen Geräten, die Webseiten anzeigen können. Und zwar ohne Installation. | ||
| + | * Heutige Browser haben sehr gute und hilfreiche «Developper Tools» integriert, die einem das Programmiererleben vereinfachen. | ||
| + | * Sie lernen en passant, wie moderne Webseiten funktionieren und können das nutzen, um mit Webseiten zu interagieren (Stichworte UserScripts, | ||
| + | * Es gibt sehr viele Libraries für fast alles. | ||
| + | |||
| + | Die Nachteile sind: | ||
| + | * JavaScript hat nicht den besten Ruf als Programmiersprache und hat einige Quirks. Es hat sich aber viel getan und es wird noch vieles tun. | ||
| + | * Interaktion vom System mit JavaScript im Browser ist sehr limitiert, z.B. wenn Dateien gelesen oder geschrieben werden sollen. Es gibt mit NodeJS aber auch die Möglichkeit, | ||
| + | |||
| + | |||
| + | ===== Vermittelte Grundlagen ===== | ||
| + | Folgende grundlegenden und von der Programmiersprache unabhängige Konzepte sollen vertieft und gefestigt, bzw. erlernt werden: | ||
| + | * Wiederholungen (for und while) | ||
| + | * Selektion und bool' | ||
| + | * Funktionen, Gültigkeitsbereich von Variablen (scope). | ||
| + | * Strings vs. Zahlen | ||
| + | * Arrays und Objects (Hashmaps, Dictionaries), | ||
| + | * Events, Konzepte asynchroner Programmierung. | ||
| + | * Verwendung der Object.method() Notation. | ||
| + | * Evtl. Closures und «First class functions». | ||
| + | |||
| + | ===== Beispiele ===== | ||
| + | * Ein kleiner Rechentrainer: | ||
| + | * Vorlage, um Wordle zu Programmieren: | ||
| + | * Einstiegsbeispiele (und einige komplexere): | ||
| + | |||
| + | |||
| + | ===== Seiten vorheriger Programmier-Kurse ===== | ||
| + | |||
| + | * [[ffprog: | ||
| + | * [[lehrkraefte: | ||
| + | * [[lehrkraefte: | ||
| + | * [[lehrkraefte: | ||
| + | * [[lehrkraefte: | ||
| + | * [[lehrkraefte: | ||