Wie kann ich Informatik unterrichten, ohne Computer zu benutzen?

21

An einigen Orten auf der Welt haben die Menschen normalerweise keinen Zugang zu Computern (und daher wenig Wissen über diese), und selbst wenn dies der Fall ist, sind Hard- und Software veraltet und die Nutzung wird von Stromausfällen und dergleichen geplagt. Auch der Zugang zu (guten) Büchern fehlt tendenziell. Wie kann ich unter solchen Umständen Informatik unterrichten?

Ich mache mir Sorgen, dass sie, ohne in der Lage zu sein, Experimente durchzuführen und anzuwenden, was sie lernen, überhaupt nicht (gut) lernen, obwohl sie unglaublich motiviert sind und die meiste Zeit ihrer Zeit diesem Hobby widmen. Kann man CS nur theoretisch unterrichten?

Abhimanyu
quelle
13
Die Menschen sind seit Tausenden von Jahren von Mathematik fasziniert. Niemand hatte damals Zugang zu einem digitalen Computer. Tatsächlich benötigen Sie in Theoriekursen normalerweise überhaupt keine Computer.
Juho
3
Ich möchte darauf hinweisen, dass das erste Computerprogramm etwa 100 Jahre vor dem Bau des ersten Computers geschrieben wurde.
Gabe
2
Schauen Sie sich die Theorie an . Höchstwahrscheinlich brauchen diese Leute nur Stift und Papier, und es ist vielleicht das Beste der Informatik (ich habe keine Ahnung, worüber sie die meiste Zeit sprechen).
Trylks
1
Es wäre wahrscheinlich hilfreich, wenn Sie die Bereiche von CompSci hervorheben würden, die Sie abdecken möchten. Dinge wie diskrete Mathematik und sogar Datenstrukturen oder Algorithmen können allein auf Stift und Papier behandelt werden. Software Engineering hingegen dürfte problematisch sein.
NotMe
1
@abhimanyu Großartig, die Frage wurde "geschützt", bevor ich meine Antwort posten konnte. Ich stelle es jetzt hier ein: pastebin.com/6tbMtVM8 (Dies ist eine lange Antwort, da die Möglichkeiten offensichtlich sein sollten , aber nicht zu sein scheinen. Es gibt viele Ideen und ich hoffe, dass Sie etwas Nützliches finden ...)
niemand

Antworten:

24

Zu fragen, wie man Informatik ohne Computer studieren kann, ist ein bisschen wie zu fragen, wie man Kosmologie ohne Teleskope studieren kann. Klar, es ist schön, sich die Dinge anzusehen, die Sie studieren, und es ist oft sehr hilfreich, mit den Dingen herumspielen zu können. Aber es gibt eine ganze Menge, die Sie ohne Zugang zu einem Computer tun können: Im Extremfall könnten Sie wahrscheinlich fast alle Studiengänge ohne Computer absolvieren.

In der Praxis hilft der Zugang zu Computern dabei, vieles, was Sie in einem Informatikkurs lernen, zu verbessern. Programmierkurse sind natürlich viel natürlicher mit Zugang zu einem Computer. Auf der anderen Seite ermutigt die Notwendigkeit, Code auf Papier zu schreiben, die Leute, über ihren Code nachzudenken und sicherzustellen, dass er wirklich funktioniert, anstatt ihn immer wieder durch einen Compiler zu laufen, bis er kompiliert und dann immer wieder triviale Testfälle ausführt bis die offensichtlichen Fehler verschwinden.

Themen, die ohne Computer am natürlichsten wären, wären die mathematischeren. Alle Hintergrundmathematik, wie Kombinatorik und Wahrscheinlichkeit. Berechenbarkeit, formale Sprachen, Logik, Komplexitätstheorie, Algorithmusdesign und -analyse, Informations- und Codierungstheorie. Alles was mit Quantenberechnung zu tun hat!

David Richerby
quelle
11
+1 Diese Unterscheidung zwischen CS und Programmierung ist der Schlüssel! Mein CS-Kurs für Studenten stellte nur minimale Anforderungen an die Verwendung eines Computers. Abgesehen vom Zugriff auf Online-Lesematerial hätte ich in einer Bibliothek problemlos in toter Form nachschlagen können.
Cosmic Ossifrage
4
@CosmicOssifrage Ich stimme zu, aber während CS nicht programmiert, ist Programmieren ein sehr nützliches Werkzeug, das Informatikern zur Verfügung steht. Und deshalb unterrichten wir es.
David Richerby
2
@Abhimanyu Das würde von deiner eigenen Qualifikation abhängen. Wenn Sie über die erforderlichen Kenntnisse und Fähigkeiten verfügen, sind sie nur eine Tafel für die Schüler.
Raphael
2
@vzn Nein, ein großer Teil der Programmierung lernt die Kunst des Debuggens. Es ist sehr wichtig. Aber es ist keine Informatik .
David Richerby
2
@vzn Wenn Sie den Mann zitieren, machen Sie es richtig. Er spricht von Laufzeit- Experimenten, um (wissenschaftliche) Hypothesen zu überprüfen / zu widerlegen, nicht um Fehler zu beheben. Ich glaube nicht, dass Sedgewick jemals behauptet, dass das Testen / Debuggen Ihrer experimentellen Implementierungen eine Wissenschaft war .
Raphael
10

Es gibt die offensichtliche Verwendung von Papier und Bleistift. Als mir die Signalverarbeitung beigebracht wurde, stand uns der spezielle Signalprozessor nicht direkt zur Verfügung, und wir haben nur Papierberichte eingereicht.

Beachten Sie, dass der große Informatiker Dijkstra anscheinend nicht viel mit Computern gearbeitet hat:

Fast alle Artikel dieser Reihe, die nach 1972 erscheinen, sind handgeschrieben. Nachdem Dijkstra einen Großteil der Softwaretechnologie erfunden hatte, verzichtete er jahrzehntelang auf den Einsatz von Computern in seiner eigenen Arbeit. Selbst nachdem er der Ermutigung seiner UT-Kollegen erlag und einen Macintosh-Computer erwarb, benutzte er ihn nur zum E-Mail-Versand und zum Surfen im World Wide Web.

Zitiert nach Disjkstra's Memorial

Dies zeigt, dass Sie großartige Informatik auch ohne Computer betreiben können!

Neben Papier und Bleistift können auch Probleme der Informatik "in der realen Welt" gelöst werden, z. B. die Demonstration von Sortieralgorithmen mit Karten oder - ungewöhnlicher - mit Tanz, wie er von der Sapientia-Universität durchgeführt wird .

Finn Årup Nielsen
quelle
Irgendwelche Ratschläge, wie man das effektiv macht? Möglicherweise hatte der Lehrer nicht die Vorteile einer Kreidetafelvorlesung an einer großen Universität.
Raphael
3
Viel Mathematik wird mit Kreidetafeln unterrichtet. Ich nehme an, Sie machen es mit der Informatik ähnlich.
Finn Årup Nielsen
Als Beispiel hier eine schöne
Finn Årup Nielsen
2
Persönlich habe ich meine Kenntnisse über Datenstrukturen und Algorithmen auf die Büroarbeit bei einem Sommerjob angewendet . Ich benutzte eine Radix-Sortierung für Schachteln mit Scheckstummeln und ging zwischen einer und zwei Größenordnungen schneller als jeder andere, der diese Aufgabe erledigte, bis zum Unglauben. Ich habe gedruckte Karten, die archiviert werden mussten, auf natürliche Weise zusammengeführt. Datenstrukturen und Berechnungen existieren in der realen Welt .
JDługosz
8

Viele Theorien der Informatik sind rein theoretisch und können mit Stift (CIL) und Papier gelöst werden. Um Informationen über sie zu erhalten und sie an die Außenwelt weiterzuleiten, ist ein Computer erforderlich.

Dave Clarke
quelle
5
Das scheint mir eher ein Kommentar zu sein.
Raphael
7

Unter http://csunplugged.org/ finden Sie einige großartige Ideen. Google ist einer der Sponsoren.

Von der Website:

CS Unplugged ist eine Sammlung von kostenlosen Lernaktivitäten, die Informatik durch packende Spiele und Rätsel lehren, bei denen Karten, Schnüre, Buntstifte und viel herumlaufen.

Die Aktivitäten führen die Schüler in grundlegende Konzepte wie Binärzahlen, Algorithmen und Datenkomprimierung ein, getrennt von den Ablenkungen und technischen Details, die wir normalerweise mit Computern sehen.

CS Unplugged eignet sich für Menschen jeden Alters, von der Grundschule bis zu Senioren und aus vielen Ländern und Hintergründen. Unplugged wird seit über zwanzig Jahren weltweit in Klassenzimmern, Wissenschaftszentren, Privathäusern und sogar für Urlaubsveranstaltungen in einem Park eingesetzt!

cdjc
quelle
Die Bedingungen sind komplex, aber es ist einen Versuch wert, wenn die Ressourcen dies zulassen.
Abhimanyu
Ich bin damit einverstanden, dass dies gut aussieht, aber um dies zu einer richtigen Antwort zu machen, müssen Sie sich mit den spezifischen Fragen befassen, die in der Frage dargelegt sind: Welche Ressourcen werden benötigt? Können wir damit rechnen, dass wir sie zB in (ländlichen?) Afrika haben?
Raphael
3

Sie können, es ist ziemlich offensichtlich, wie Sie es tun würden. Ich bin mir nicht sicher, wie nützlich es für die Leute wäre, aber Sie können.

Aber ich weiß nicht einmal, wie ein Informatiklehrer sich fragen kann, wie man Informatik ohne Computer unterrichten kann.

Denn wenn Sie Informatik unterrichten können, dann wissen Sie wie.

Wenn Sie wissen, dass

-Algorithms can be written on pen and paper, and traced on pen and paper.
-Flow charts are written on paper.

Das Studium der Normalisierung, der Struktur von Datentabellen für Datenbanken, kann mit Stift und Papier durchgeführt werden. (Das habe ich nur mit Stift und Papier gemacht, als ich relationale Datenbanken studiert habe.)

Für Informatiklehrbücher ist kein Computer erforderlich.

Wenn Sie jemals ein Informatiklehrbuch in die Hand genommen und es in einer Bibliothek studiert haben, würden Sie wissen, dass Sie keinen Computer benötigen, um es zu verstehen.

Sie sollten sich jedoch darüber im Klaren sein, dass jeder, der in einem Informatikkurs teilgenommen hat, feststellen kann, dass die meisten Menschen nicht programmieren können, sondern nur darüber hinaus. Zu abstrakt für Leute. Das gilt sogar für die Universität.

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Eine beträchtliche Minderheit der Studierenden scheitert an jeder britischen Universität in jedem Einführungskurs. Trotz heldenhafter akademischer Bemühungen ist der Anteil im Laufe der Jahre eher gestiegen als gesunken. Trotz umfangreicher Forschungen zu Lehrmethoden und Antworten der Schüler wissen wir nicht, woran es liegt.

Ich würde hinzufügen, dass es eine Untertreibung ist, wenn man es eine wesentliche Minderheit nennt. Es ist eine kleine Minderheit, die -kann- programmieren.

Ich würde jedoch die Ursache für den Niedergang bemerken, den er miterlebte. Als Computer beispielsweise zwischen 2000 und 2010 populärer wurden (er schrieb das Mitte dieses Jahrzehnts), interessierten sich mehr Wollies für das Studium der 'Informatik'. Vorher waren nur die fanatischeren Leute interessiert. Früher war die Verwendung von Computern technischer, aber da Computer für den Durchschnittsbenutzer einfacher zu handhaben waren und leistungsstärker in den Anwendungen waren, die sie ausführen konnten, verwendeten sie mehr Wollies und mehr Leute, die nur daran interessiert waren, was sie tun konnten anstatt wie sie es tun und wie sie es tun.

barlop
quelle
2
Was zum Teufel sind "Wollies"?
Nate Eldredge
1
@ NateEldredge Urban Wörterbuch : «Jovial Begriff für jemanden, der etwas Dummes sagt oder tut / Jemand, der 2 und 2 addiert und 5." What a wolly "»
Paul A. Clayton
@NateEldredge Normalerweise "wally" geschrieben.
David Richerby
2
Die OP zu beschimpfen ist keine Antwort.
Raphael
2

Es WÜRDE möglich sein, die Konzepte der Informatik ohne Computer zu lehren. Was nützt das Erlernen der Informatik ohne Zugang zu einem Computer wirklich?

Als ich in der High School Informatik lernte, umfassten unsere ersten Klassen überhaupt keine Computer. Stattdessen haben wir nach einem Buch namens Karel ++ gearbeitet , in dem objektorientierte Konzepte vermittelt wurden. Die erstellte Sprache kann ziemlich einfach auf einem Whiteboard oder einer Tafel "ausgeführt" werden, da der gesamte Code Aktionen in einem Diagramm ausführt. Unsere ersten Aufgaben waren alle handschriftlich und der Professor zeigte zu Beginn der nächsten Klasse die richtige Lösung an der Tafel.

Als wir anfingen, über Algorithmen zu diskutieren, rief uns unser Professor alle vor den Raum und forderte uns auf, in einer Reihe zu stehen. Er ging ein paar verschiedene Sortieralgorithmen zu demonstrieren - beginnend mit etwas albern er „Affe Art“, wo er zufällig zwei von uns ausgetauscht würden und dann überprüfen , um zu sehen , ob wir jede Iteration sortiert wurden, aber dann durchführen Blasensortierung und Shellsort - durch "Laufen" sie auf uns.

Er zeichnete Diagramme an die Tafel und erklärte die Grundlagen der Arbeitsweise von Computerspeicher und Stapel. Er demonstrierte Variablen und Zeiger (es war eine C ++ - Klasse) und von dort zu verknüpften Listen und Bäumen ...

Ich könnte das wahrscheinlich ergänzen, wenn ich die Notizen aus dieser Klasse durchgehen würde, aber das ist alles, woran ich mich jetzt erinnere. Wenn diese Vorschläge interessant sind, kann ich diese Antwort erweitern.

Black Hawk
quelle
1
Sie scheinen zu verwechseln Programmierung (das Handwerk) mit Computer - Wissenschaft .
Raphael
@Raphael Ich verstehe, dass die Mechanik des Programmierens in einer bestimmten Sprache für den naturwissenschaftlichen Teil vielleicht nicht wichtig ist , aber wie sehr kann man Informatik wirklich von Programmierung trennen, bevor sie so theoretisch wird, dass sie für Studenten, die möglicherweise noch nicht einmal vertraut sind, unverständlich ist Wie betreibe ich einen Computer? Ich könnte meine Antwort ändern, um die beiden zu trennen, aber das Bild, das mir aufgrund der Fragen des OP einfällt, sind nicht Erwachsene, die etwas über die mathematischen Grundlagen der Komplexitätstheorie lernen möchten, sondern Grundschüler, die eine Einführung in die Anwendungen von CS benötigen.
Blackhawk
@DavidRicherby Ich habe das OP um Klärung gebeten, wer (Alter / Erfahrung mit Computern) die Zielgruppe der Schüler sein wird und welches Material er unterrichten möchte. Ich werde meine Antwort entsprechend anpassen. Wenn ich darf, würde ich vorschlagen, dass eine direktere Analogie kreatives Schreiben ist, anstatt zu wissen, wie man Alphabete und Vokabeln verwendet. Abgesehen davon, dass auch diese Analogie zu kurz kommt, weil das Studium der Programmiersprachen tatsächlich von der Informatik umfasst wird.
Blackhawk
@Blackhawk Natürlich ist keine Analogie perfekt (fast per Definition). Aber während das Design von Programmiersprachen CS ist, ist es nicht einfach, sie zu verwenden.
David Richerby
1
@DavidRicherby Ich habe gerade die Tour-Seite für CS gelesen und speziell die "Fragen nach ..." und "Nicht fragen nach ..." und ich habe den Eindruck, dass zu viele Leute auf dieser Seite Fragen stellen / beantworten wäre auf SO viel besser ... also entschuldige ich mich, wenn ich dazu beigetragen habe. Können Sie mich auf die spezifischen Dinge hinweisen, die ich an dieser Antwort ändern könnte, um sie mit den Zielen der Website in Einklang zu bringen? Ich vermute, ich sollte zumindest die Verweise auf "Semikolon" und "C ++" entfernen, aber was ist mit der Verwendung von Karel ++ als Lehrmittel für das Konzept objektorientierter Sprachen? Oder Computerspeicher?
Blackhawk
2

Ich habe ein Informatik-Studium absolviert und dachte, wir haben viel Programmieren gelernt (in verschiedenen Sprachen), aber wir haben auch viele mathematische Aspekte gelernt (und auch Hardware).

Die mathematischen Teile waren für das erste Jahr wichtiger - denken Sie an Matrixmathematik, die für 3D-Grafiken unerlässlich ist (wie berechnen Sie eine Flächennormale für die Beleuchtung eines Scheitelpunkts? ). Wir haben viele Statistiken erstellt - überlegen Sie, wie viele Jobs Sie in ein System übertragen können, bevor es verstopft? Das ist für viele zentralisierte Systeme und Netzwerke ziemlich wichtig.

Sie können viele Algorithmen unterrichten. In einem der hier erwähnten Poster wird den Schülern jeweils eine Nummer zugewiesen und sie werden dann dazu gebracht, sich mithilfe verschiedener Algorithmen zu sortieren (die aktiv und informativ sind). In der Tat kann jeder Algorithmus, der in einem animierten Bild im Internet beschrieben werden kann, auf diese Weise gelehrt werden. Ebenso die Grundlagen des Rechnens - Programmzähler, Akkumulator und Registerkann auf die gleiche Weise oder auf Papier unterrichtet werden. Wie wäre es mit schülerbasiertem Multithreading? Stellen Sie einer Gruppe von Schülern in einer klassischen Multithreading-Übung (oder dem Problem mit einem gemeinsamen Löffel) ein Kartenspiel mit einem Stapel dazwischen. Bei den Entwurfsmustern kann ich davon ausgehen, dass die Schultafelarchitektur perfekt ist, damit die Schüler lernen, wie Multiprozesskommunikation implementiert werden kann, oder eine n-Tier-Architektur, die als eine Art Spiel mit chinesischem Flüstern oder als endliche Zustandsmaschinen beschrieben wird, eignet sich für Schüler, die so handeln Module in einem "lebenden Computer". Sie könnten binäre Mathematik oder stapelbasierte (dh umgekehrte) Ausführung unterrichten.

Wenn Sie Zugang zu Elektronik haben, können Sie natürlich einen analogen Computer aus Operationsverstärkern bauen. Sie sind cool.

Leider wird das alles eher nach Mathematik als nach Informatik aussehen, aber vieles davon wird anhalten und eines Tages werden sie verstehen, warum ihnen das beigebracht wurde (vorausgesetzt, sie steigen in die Computerbranche ein). Denken Sie daran, dass alles, was ein Computer kann, auch eine Person kann - es wird einfach viel mehr Zeit und Langeweile dauern , um das gleiche Ergebnis zu erzielen. Sie müssen nur einfache Beispiele nehmen, um zu demonstrieren, was der Computer tun würde, und sich vorstellen, um die Grundlagen des Rechnens auf eine weniger trockene Art und Weise zu beschreiben, wie ich sie vor langer Zeit gelernt habe :)

gbjbaanb
quelle
1

Zu fragen, wie man Informatik ohne Computer studieren kann, ist ein bisschen wie zu fragen, wie man Kosmologie ohne Teleskope studieren kann.

Ich antworte meist nur, um auf diese Aussage zu reagieren und weil ich anderen Antworten überhaupt nicht zustimme. Der richtige Vergleich wäre meiner Meinung nach

Zu fragen, wie man Informatik ohne Computer studieren kann, ist ein bisschen wie zu fragen, wie man Kosmologie ohne Kosmos studieren kann .

In der Informatik geht es um Computer, nicht nur um deren Nutzung. Zwar basiert ein Großteil der Informatik auf Mathematik, daher können die mathematischen Teile ohne Computer studiert werden (Sie unterrichten also Mathematik), genau wie Sie anstelle der Kosmologie Physik studieren können, die nützlich sein wird, wenn es einen Kosmos gibt (oder haben Zugang zu Teleskopen), aber am Ende studieren Sie immer noch Physik.

Nun, was jeder in den Antworten hier tut, ist zu bemerken, wie Bachelor-Informatik meistens theoretisch ist und keine Computer erfordert. Das, was diese Leute IMHO vergessen, ist, dass dieselben Leute Computer bis zu diesem Punkt ausgiebig benutzt haben. Ohne ein natürliches Verständnis führt ein direktes Eintauchen in die Theorie dazu, dass viele Studenten entweder aufgeben oder eine schrecklich unpassende Sicht der Informatik haben. Bringen Sie also etwas Programmierung bei und verstehen Sie zuerst, was Computer sind, und lernen Sie dann erst die theoretischen Aspekte kennen.

Zum Beispiel, wenn ich Studenten in Afrika unterrichte, die neben allgemeinem Know-how keine Computerkenntnisse haben, aber fortgeschrittene Informatik erlernen und sich die meiste Zeit diesem Hobby widmen möchten?

Hängt vom Budget ab:

  • Fast kein Budget Wenn Sie das Geld haben, um nach Afrika zu reisen, nehmen Sie sich ein paar Arduino-Klone (es gibt funktionierende Arduino-Klone für 13 US-Dollar, sehen Sie sich diese Liste an ), einige Ausgabekomponenten (wie LEDs) und einen Laptop. Beginnen Sie mit einer grundlegenden Programmierung, bringen Sie sie auf Papier bei und müssen Sie sie auf dem Laptop eingeben. Es ist nicht der effizienteste Weg, aber es wird ihnen zumindest ein grundlegendes Grundverständnis darüber vermitteln, was Computer in der Praxis sind.
  • Niedriges Budget Kaufen Sie $ 750 Dollar im Wert von $ 50 für Android-Smartphones und -Tastaturen (Micro-USB-Tastaturen oder Bluetooth-Tastaturen, suchen Sie bei ebay.com oder aliexpress.com nach Smartphones und Tastaturen). Ja, sie sind in millionenfacher Hinsicht beschissen, erzählen Sie mir nicht einmal davon. Trotzdem können Sie Daten auf ihnen eingeben (obwohl Sie nicht einmal in Betracht ziehen, die Bildschirmtastaturen zu verwenden) und es gibt einfache Codierungs-Apps für Android. Habe mehrere Schüler pro Smartphone und das kann ganz gut funktionieren.

Lassen Sie mich klar sein, ich sage nicht, dass Informatik nicht ohne Computer unterrichtet werden kann, nur, dass Sie an Computer gewöhnt sein müssen und sie ziemlich gut kennen, bevor Sie anfangen sollten, über so etwas nachzudenken.

David Mulder
quelle
Ich habe Ihre Ablehnung meiner Antwort entweder falsch verstanden oder bin damit nicht einverstanden. Wenn wir wüssten, dass es keinen Kosmos gibt, wäre Kosmologie eine totale Erfindung. Wenn wir wirklich an die Existenz des Kosmos glauben, wäre die Kosmologie im schlimmsten Fall eine wohlgemeinte Verschwendung von Ressourcen. Aber eigentlich wissen wir, dass es existiert. Die Kosmologie ohne Teleskope sagt: "Hey, ich kann den Kosmos diese Woche nicht beobachten, aber er ist definitiv da. Ich kann es jetzt lernen und es nächste Woche anschauen." CS ohne Computer sagt: "Hey, Computer gibt es definitiv, damit ich sie jetzt studieren und später körperlich erleben kann."
David Richerby
Und jemandem Informatik beizubringen, ohne dass er jemals benutzt oder praktisch verstanden hat, was ein Computer ist, ist ebenso eine solche Erfindung. Sie interagieren nicht direkt mit dem Kosmos durch ein Teleskop, es ist nur eine von vielen Möglichkeiten, ihn zu beobachten. In der Nacht ist es immer noch zu sehen und auf einer einfachen Ebene leicht zu verstehen. Das gleiche gilt einfach nicht für Computer.
David Mulder
Ich bin völlig anderer Meinung, dass es erfunden ist, jemandem etwas beizubringen, das es wirklich gibt, das er aber nicht erlebt hat.
David Richerby
2
@DavidRicherby: Sie und andere hier sind so verwurzelt in der Gewohnheit, an Computer gewöhnt zu sein, dass es schwer zu verstehen ist, was es wirklich bedeutet, jemanden zu unterrichten, der überhaupt keine Grundlage für Computer hat ... Ich kenne jemanden, der tatsächlich Kurse gegeben hat Für Jugendliche, die nie Computer mit echten Computern benutzt haben ... er hat nicht einmal versucht, Programmieren oder Informatik zu unterrichten, und es ist eine eigene Aufgabe, sich ein Bild davon zu machen, was ein Computer ist, wenn man nicht erwachsen ist mit Computern. (Fortsetzung)
David Mulder
2
Heutzutage ist es relativ einfacher, da mehr Jugendliche zumindest etwas Erfahrung haben, aber die Frage betraf die Fälle, in denen sie überhaupt keine Erfahrung haben. Dieselbe Person erzählte mir, wie es in dem Land, in dem er unterrichtete, eine Zeit gab, in der Schüler der Sekundarstufe zu Informatikkursen an der Universität kamen, ohne zuvor einen Computer berührt zu haben ... nachdem sie in der Sekundarstufe nur eine Theorie gelernt hatten und wie in die meisten (bei weitem nicht alle) Fälle, die schlecht enden. Das Problem / die Idee ist, dass Computerjobs gut bezahlt werden, also wollen sie nur die bekommen, egal was ...
David Mulder
1

In der Informatik geht es um Algorithmen und nicht (ausschließlich) um Computer (und Elektronik).

Daher kann das Studium von Algorithmen (auch von elementarer Arithmetik) zu einem Verständnis der Informatik und der Programmierung führen. Denken Sie daran, dass auch der Begriff "Algorithmus" eine Umschreibung des Autors eines Arithmetikbuchs ( al-Khwārizmī , ca. 9. Jh. N. Chr.) Ist .

Das Studium von Algorithmen kann mit einfachen Mitteln durchgeführt werden, sollte jedoch Aufschluss darüber geben, warum der Algorithmus funktioniert, wie er zustande kam und wie man tatsächlich nachweisen kann, dass er korrekt funktioniert.

Die Geschichte hinter der Entwicklung der Informatik und der Algorithmen und Programmierung ist nicht zu unterschätzen. Zum Beispiel Babbages / Adas Rechner, Enigma-Maschine, Konrad Zuses Plankalkul , ENIAC usw.

Dann kann man Programmierung (und Programmiersprachen) einführen, um Algorithmen zu formalisieren. Dies kann auch (zu einem großen Teil) mit elementaren Mitteln geschehen.

Es ist anzumerken, dass einige Studien gezeigt haben, dass das Programmieren für das Lernen von Personen zwei Hauptschwierigkeiten aufweist (im Zusammenhang mit der Überladung von Symbolen, zum Beispiel Zuordnung vs. Gleichheitstest und dem Betrieb einer RAM-Maschine).

  1. Schleifenkonstrukte (zB für while etc ..) scheinen schwierig zu sein
  2. Assignment vs Equality Testing, scheint auch schwierig.

So kann man sicherstellen, dass diese von den Menschen klar erfasst und verstanden werden.

Wenn auf einen Computer zugegriffen werden kann (auch auf einen Taschenrechner, der programmiert werden kann), können Anwendungsbeispiele und praktische Erfahrungen bereitgestellt werden. Ansonsten kann man einen simulierten Computer benutzen. Dies kann auf verschiedene Arten geschehen, zum Beispiel kann eine Gruppe von Personen Teile eines Computers simulieren, und die Klasse kann Algorithmen entwerfen, um verschiedene Probleme für diesen simulierten Computer zu lösen und zu sehen, wie es funktioniert. Dies kann auch als Spiel angesehen werden, sei kreativ und mache es.

Anschließend können einige (abstrakte) Rechenmodelle (z. B. Turing Machines ) eingeführt und mit dem bisherigen Material zu Algorithmen und dem Formalisatinn in eine (Programmier-) Sprache verknüpft werden.

Wenn man die Elektronik eines tatsächlichen Computers vorstellen möchte, kann dies auch in zwei Teilen erfolgen.

Denken Sie daran, dass auch an Universitäten einige Kurse in Elektronik und Computerarchitektur theoretisch sind (man kommt eigentlich nicht mit einer CPU in Kontakt oder entwirft eine).

So können einige Prinzipien des Betriebs der Elektronik (und der zugrunde liegenden Physik) in Bezug auf die Computerarchitektur eingeführt werden ( Halbleiter , Festkörper-Energiezonen, p-np-Gatter usw.).

Dann kann man das vorherige Material über Programmierung und Algorithmen nutzen und (moderne) Techniken des CPU-Designs (und der Beschreibung) einführen, die in der Industrie verwendet werden ( Logikgatter , Flip-Flops , FPGA , VHDL , CMOS-Schaltungen usw.).

Dies kann weiter berücksichtigt werden, CPU-Entwurfsarchitekturprobleme wie Parallelität, Pipelining, Cache-Speicher, Vektoradressierung, Mikroprogrammierung, DMA usw.

Nun, ok, vielleicht kann das zu viel sein, aber hinzugefügt, um die Antwort in sich geschlossen zu machen.

Nikos M.
quelle
-1

Möchten Sie Programmieren unterrichten?

Als ich ein Kind war, machten wir Campingurlaub und ich nahm das Computerhandbuch mit. Ich konnte ein einfaches Spiel mit Stift und Papier schreiben.

Ich denke, dies war mein erstes richtiges Programm, daher war viel Lernen erforderlich. Ich wusste, was ich tun wollte, aber es gab viele Fehlstarts, als ich es herausfand. Aber irgendwann konnte ich den gesamten Code ausschreiben.

Ich denke, was ich sage, ist, mit Pseudocode und / oder Flussdiagrammen zu beginnen, um das Projekt zu planen und dann in Code zu übersetzen. Ich konnte einen Großteil meines Codes durch einfaches Lesen debuggen. Sie können hier auch Peer Reviews verwenden.

Ricky
quelle
Ich würde definitiv eher mit Pseudocode als mit Flussdiagrammen arbeiten.
David Richerby
Diese Frage verdient mehr als einen Erfahrungsdatenpunkt pro Antwort.
Raphael
-2

Um die vorherigen Antworten zu wiederholen: Es gibt viel zu lernen, nur durch Lesen und Ausführen von Stift- und Papierübungen. Wenn Sie das Problem auf Papier lösen können, haben Sie den schwierigen Teil. Ich möchte jedoch auch erwähnen, dass es ziemlich billige Möglichkeiten gibt, Studenten mit CS in Kontakt zu bringen. Kennen Sie das Raspberry Pi-Projekt ? Selbst wenn sich mehrere Personen teilen müssen oder Sie es sich nur leisten können, 1 oder 2 Einheiten zu erwerben, ist es möglicherweise immer noch sinnvoll, darüber nachzudenken, wie Sie Ihre Schüler der Technologie aussetzen können.

liko
quelle
Dies fügt nichts über bestehende Antworten hinzu.
Raphael
1
@Raphael Richtig, beachten Sie jedoch, dass die anderen Antworten, die billige Computergeräte erwähnen, nach dieser Antwort veröffentlicht wurden.
David Richerby
-3

Ich werde versuchen, ein wenig auf diesem zu wackeln und "über den Tellerrand hinaus zu denken". Ausgereifte Computer sind in der Tat teuer, manchmal ressourcenintensiv und schwierig zu warten. Es gibt jedoch viele kostengünstige elektronische Systeme, die ausgewachsene Computer imitieren, z. B. mit LCD-Bildschirmen usw., und auf die viele grundlegende Programmierprinzipien angewendet werden können, viele batteriebetrieben. Es gibt auch eine enge Verbindung der EE-Prinzipien mit dem Rechnen wie dem Aufbau von binären Logikschaltungen usw .; Auch heutzutage sind einige Spielzeuge programmierbar.

  • programmierbare Taschenrechner . In einigen sind ganze Programmiersprachen (nicht so hoch, sondern eher Assemblersprachen) integriert. Einige würden fortgeschrittene Programme unterstützen.

  • Raspberry Pi Minicomputer / Mikrocontroller wurde für diesen Zweck entwickelt und läuft unter Linux. in vielen Fällen weniger als 40 US-Dollar.

  • Der parallax STAMP-Kit- Mikrocontroller erfordert eine USB-Verbindung, aber möglicherweise ist ein Himbeer-Pi ausreichend. Siehe auch PIC-Mikrocontroller

  • Robotersysteme. Es gibt viele preiswerte Modelle mit programmierbarer Logik. Lego Robotics Mindstorms / NXT ist eines der besten und es gibt weniger teure Modelle.

  • In einigen Konsolenspielen sind Programmierprinzipien integriert. Zum Beispiel hat Little Big Planet erstaunliche Programmierfunktionen eingebaut. Es gibt einige Handheld-Versionen von programmierbaren Spielen. es gibt viele youtube-videos komplexer konstruktionen zur inspiration.

  • Smartphones sind die neue Programmierwelt. Sie haben Browser, die Javascript ausführen, und es gibt viele programmierbezogene Apps, und man kann sogar mit einer Internetverbindung (einschließlich WLAN) auf Programmierseiten surfen.

Schlagen Sie auch vor, wie in den Kommentaren beschrieben, TM-Programme zu erstellen, z.

vzn
quelle
2
Ich vermute, dass Menschen, die keinen Zugang zu Computern haben, auch keinen Zugang zu Lego Mindstorms, Konsolenspielsystemen, Smartphones oder WLAN haben.
David Richerby
Ein angemessener / offensichtlicher / vorweggenommener Punkt, aber nichts Erwähntes wurde in den Fragekriterien ausdrücklich ausgeschlossen. Es ist nicht bekannt aus der Frage, ob die Studenten keine Sachen haben, weil es z. B. teuer ist und alles, was oben aufgeführt ist, billiger als Desktop-Computer als Benchmark ist. Schüler oder Schulen, die sich Lehrbücher leisten können, können sich das leisten (vielleicht teilen). und wenn lehrbücher nicht erschwinglich sind, was bleibt dann noch übrig?
vzn
(fyi Fragenspektrum wurde erheblich von mod geändert, da diese Antwort geschrieben wurde, für mich macht diese Frage bearbeiten wichtige Annahmen nicht nec vom ursprünglichen Schreiber beabsichtigt und bevorzugen die ursprüngliche Mehrdeutigkeit als ein Merkmal, kein Fehler)
vzn