…ist die Fähigkeit, routinemäßig und mühelos zentrale Konzepte der Informatik im eigenen Denken und Problemlösen im Alltag(!) einzusetzen. Zum Beispiel: Reduktion, Einbettung, Transformation, Simulation, Rekursion, Parallelität, Dualität von Daten und Programm, Datentypen und Typprüfung, Aliasing, Indirektion, Prozeduraufruf, Korrektheit, Effizienz, Einfachheit, Eleganz, Repräsentation, Modellierung, Invarianten, Modularisierung, vorausschauendes Laden, Caching, Trennung von Belangen, Verklemmung, Schnittstelle, Vertrag, Planen, Lernen, Ungewissheit, Suche, Suche, Suche, Strategie, Gegenbeispiel, Tradeoff, Nichtdeterminismus usw. usf.
Jeannette Wing stellt es in eine Reihe mit Lesen, Schreiben und Rechnen als eine Basisfähigkeit, die jedes Schulkind lernen sollte. Gelungen sei das "when trees are drawn upside down" (ist aber nicht ernst gemeint).
Quellen:Schlagworte: problem-solving skills, puzzle-based learning
Idee: Grundlegende Fertigkeiten explizit trainieren anstatt sich darauf zu verlassen, dass sie beim Erwerb anderen Informatikstoffes schon irgendwann implizit mit "aufgeschnappt" werden.
Es geht um Gewohnheiten und Fertigkeiten wieHier geht es z.B. um Paradigmen, Sprachen, Werkzeuge und Aufgaben sowie darum, wie man gute Gewohnheiten antrainiert (Dokumentation, Entwurf, Kodierstil, Test usw.).
Hier geht es z.B. um exakte versus heuristische Algorithmen, um symbolische ("formale") Verifikation versus Test, um asymptotische versus reale Effizienz, etc.
Quellen:Hier geht es um den Aufbau einer 15-wöchigen Lehrveranstaltung zum Thema Übersetzerbau, in der Theorie und Praxis motivierend vereint wird.
Quellen:Hier geht es z.B. darum, welche Projektformate es gibt, wie und von wem sie durchgeführt werden können, wo und wie man Aufgaben findet/definiert, wie man das Kosten/Nutzen-Verhältnis der Betreuung optimiert und wie man Projekte gut ins Studium einbettet.