Zum Inhalt springen

Computernerds unter sich - Der Computerschwampf


Empfohlene Beiträge

Bei jeweils Prozessor-Vollast auf beiden Kernen habe ich also (max Durchsatz x gemeldeter Prozentsatz) übers Kabel wohl grob den vierfachen Durchsatz bekommen.

 

Das würde dem Verhältnis des Netto-Datendurchsatzes entsprechen, oder?

 

Stimmt - und deutet an, daß auch mein WLAN am oberen Ende der möglichen Datendurchsätze läuft (oder auch: schlimmer geht immer!).

Link zu diesem Kommentar
  • 1 Monat später...

Ergibt das Folgende für Euch irgendeinen Sinn:

 

a = 3

b = 5

b = a

 

... und: a = wieviel, b = wieviel am Ende?

 

[spoiler=Lösung]Korrekt ist, für eine Folge von Programmieranweisungen an einen Computer, a=3, b=3.

 

 

Es gibt Empirie, der zufolge eine korrekte Lösung dieser kleinen Aufgabe mit der Fähigkeit, Computer überhaupt zu programmieren (bzw. zumindest: Prüfungen in Informatik zu bestehen), korreliert: http://www.eis.mdx.ac.uk/research/PhDArea/saeed/ - allerdings nicht durchgehend. Aber immerhin. Wer (wie ein gerade verfügbares Testobjekt meiner näheren Verwandtschaft) antwortet "das ist sinnlos, hä???" wird nie ein Computerprogramm verstehen...

Link zu diesem Kommentar

Ja. Bin zwar kein Programmierer, und ohne Lösung weiß ich auch nicht, worauf sie hinaus wollen. Mit Lösung schon. Warum allerdings diese "Unlogik" irgendwas drüber aussagen soll, zu einem Programmierer zu taugen, weiß ich nicht. Halte ich jetzt für genauso Humbug wie alle Intelligenzschnelltests oder Persönlichkeitstests in der Sonntagsbeilage von $ZEITUNG

Link zu diesem Kommentar
Ergibt das Folgende für Euch irgendeinen Sinn:

 

a = 3

b = 5

b = a

 

... und: a = wieviel, b = wieviel am Ende?

 

[spoiler=Lösung]Korrekt ist, für eine Folge von Programmieranweisungen an einen Computer, a=3, b=3.

 

 

Es gibt Empirie, der zufolge eine korrekte Lösung dieser kleinen Aufgabe mit der Fähigkeit, Computer überhaupt zu programmieren (bzw. zumindest: Prüfungen in Informatik zu bestehen), korreliert: http://www.eis.mdx.ac.uk/research/PhDArea/saeed/ - allerdings nicht durchgehend. Aber immerhin. Wer (wie ein gerade verfügbares Testobjekt meiner näheren Verwandtschaft) antwortet "das ist sinnlos, hä???" wird nie ein Computerprogramm verstehen...

 

Ohne die Konventionen einer Programmiersprache ist die Lösung nicht richtig.

 

Z.B. Javascript:

1. Das "=" für "assign to variable" alias "Wertzuweisung" steht, und damit nicht genau dem klassischen "ist gleich" also Gleichheitszeichen entspricht.

(Mathematisch mag es üblich sein die Variable auf die linke Seite zu stellen, die Aussage, dass der Wert von zwei Ausdrücken gleich ist, bleibt auch in die andere Richtung richtig oder falsch. Kann beim Auflösen einer Gleichung passieren, auch wenn man wegen Schönheit zum Schluss dann "umdreht". Mathematisch wäre bei a=3, und b=5 die Aussage b=a schlicht falsch)

 

2. Der Operand "assign to variable" von rechts nach links gelesen wird (associativity right-to-left). Left-to-right wäre b->5, a->5. :)

Das könnte man aus den gegebenen Ausdrücken wie a=3 aber noch annehmen.

 

Macht nur so Sinn. Werden die Voraussetzungen in der Aufgabe genannt, schaffen es vermutlich einige mehr...

Wer die Aufgabe ohne löst hatte Glück, oder die Konventionen sind ihm bereits bekannt. Was darauf schließen lässt, dass

er bereits Kenntnisse hat.

 

[Edit: Wobei die Schreibweise der Lösung (a=3; b=3) dann innerhalb der Konvention wiederum nicht stimmt, weil "=" nun "assign to variable" bedeutet. :)]

Bearbeitet von JOC
Link zu diesem Kommentar

Das Gleichheitszeichen '=' ist in der Informatik überladen. In einer Anweisung repräsentiert es eine Zuweisung, in einem Ausdruck den Vergleichsoperator.

Manche Programmiersprachen weichen dem aus, indem sie das Gleichheitszeichen nur für eine der beiden Bedeutungen benutzen und für die andere ein Kunstzeichen verwenden.

Wenn ich recht erinnere, wird in Pascal der Zuweisungsoperator mit ":=" bezeichnet. Sprachen aus der C-Familie verwenden dagegen '==' für den Gleichheitsoperator. Wobei manche dieser Sprachen auch noch verschiedene Varianten des Gleichheitsoperators kennen (in java gibt es neben dem '==' noch das 'equals' und in java script neben dem '==' noch das '===').

Die Programmiersprache Basic dagegen verwendet für beide Bedeutungen das Zeichen '='. Je nach Kontext wird es dann als Zuweisung oder als Vergleichsoperator behandelt.

 

Tatsächlich gibt es diese Überladung des Gleichheitszeichens schon in der Mathematik.

Schreibt ein Mathematiker z.B.:

Sind a und b die Seitenlängen eines rechtwinkligen Dreiecks und c die Länge seiner Hypothenuse, so gilt a*a + b*b = c*c, so wird das Gleichheitszeichen hier als Vergleichsoperator benutzt.

 

Schreibt er dagegen:

Seien x und y reelle Zahlen. Es sei z = x + iy, so führt er damit eine Abkürzung z für den komplizierteren Term x + iy ein. Hier wird das Gleichheitszeichen als eine Form des Zuweisungsoperators benutzt.

 

Eine andere Form des Zuweisungsoperators haben wir in der folgenden Formulierung:

Im rechtwinkligen Dreieck gilt a*a + b* b = c*c. Setzen wir in dieser Gleichung a=3 und b=4, so erhalten wir...

Hier dient die Zuweisung nicht der Abkürzung, sondern der Spezialisierung, mit dem ein allgemeiner Sachverhalt auf einen Spezialfall angewandt wird.

 

Da diese Überladung in der Mathematik ständig vorkommt, hat jemand, der damit Probleme hat, vermutlich keine große Afinität zur Mathematik. Denn sonst wäre sie ihm schon längst in Fleisch und Blut übergegangen.

Da mathematisches Talent und Talent für Programmierung korreliert sein dürften, ist es nicht erstaunlich, dass jemand, der mit den von MaiKai geschriebenen Zeilen Probleme hat, auch Probleme mit dem Programmieren hat.

Link zu diesem Kommentar
Ohne weitere Konvention gilt, wenn a=3 und b=5, dann ist a=b falsch.

Würdest du zu Recht keinem Fünftklässler durchgehen lassen.

 

Nun, dann hast du aber die dazugehörige Frage ausser Acht gelassen. Wieviel ist a und wieviel ist b am Ende. Die Frage ob die obigen Aussagen stimmen hat ja keiner gefragt.

 

Kommt mal wieder alles auf den Kontext an...den Kontext...den Kontext...den Kontext...:sleep:

Link zu diesem Kommentar
Kommt mal wieder alles auf den Kontext an...den Kontext...den Kontext...den Kontext...:sleep:

 

Ja, ich war etwas gemein. Die Forscher haben tatsächlich die Frage zu Beginn einer Lehrveranstaltung "Einführung in die Informatik" gestellt, so daß den Probanden dort der Zusammenhang mit Programmieranweisungen (der Zuweisungscharakter, um Stephans Beitrag aufzunehmen) klarer gewesen sein dürfte.

 

Es geht tatsächlich darum, ob jemand seine Gehirnwindungen darum herum wickeln kann, daß in der dritten Zeile die Variable "a" ein zweites mal einen Wert zugewiesen bekommt, und diesmal denjenigen, den in dem Moment die Variable "b" hat. Wie JOC andeutet, haben die Forscher eine Reihe von Denkmodellen vermutet, sowohl Richtung rechts als auch Richtung links usw. Ihre Vermutung war, wer überhaupt irgendein Denkmodell konsistent durchhält, wird auch programmieren lernen können. Wem das alles Banane ist, der wird sich damit schwer tun.

Wenn ich die letzte Veröffentlichung richtig überflogen habe, dann mußten sie aber feststellen, daß auch unter denjenigen, die im ersten Test wild zwischen Denkmodellen herum geirrt sind, sich nachher eine signifikante Anzahl fanden, die den Kurs bestanden. Damit war die Hoffnung gestorben, daß man so rechtzeitig (bevor sich alle miteinander ein Semester lang quälen) feststellen könnte, wer in welchem Höcker der kamelartigen (bimodalen) Häufigkeitsverteilung sitzt.

 

Wer übrigens die Website mit den Tests durchgeht, wird feststellen müssen, daß die dort gezeigten Lösungen z.T. falsch sind...

Link zu diesem Kommentar

Der Test fragt indirekt ab, ob jemand schon zumindest etwas programmieren kann. Derjenige hat dieses Prinzip nämlich schon einmal gesehen und kann die Frage damit auch leichter beantworten.

 

Der ganze Test sagt also mehr oder weniger, dass jemand der zu Beginn des Kurses "Einführung in die Informatik" schon programmieren kann, diesen Kurs mit höherer Wahrscheinlichkeit besteht. Eine wahrlich bahnbrechende Feststellung.

Link zu diesem Kommentar

Nicht ganz. Die "stabile Gruppe" besteht aus Leuten, die sich für eine Interpretation/Lesart/Gedankenmodell entscheiden, und diese(s) über den Test weitgehend durchhalten, unabhängig davon ob sie/es richtig ist. Die These wäre wohl, dass Leute, die formell "konsequent" sind, also einen systematischen Lösungsweg entwickeln und daran festhalten, sich eher zum Programmieren eignen. Später dann mit dem richtigen Lösungsweg.

 

War eigentlich der Anteil in dieser Gruppe mit der richtigen Lösung genannt?

Das wäre eine Gruppe in der man doch Leute mit Vorkenntnissen vermuten müsste.

Aber das sind Zahlenspiele.

 

[Einstein lag das rein formale ja auch nicht so, aber wahrscheinlich wäre er ein schlechter Programmierer geworden! :blush:]

Bearbeitet von JOC
Link zu diesem Kommentar
Der Test fragt indirekt ab, ob jemand schon zumindest etwas programmieren kann. Derjenige hat dieses Prinzip nämlich schon einmal gesehen und kann die Frage damit auch leichter beantworten.

 

Der ganze Test sagt also mehr oder weniger, dass jemand der zu Beginn des Kurses "Einführung in die Informatik" schon programmieren kann, diesen Kurs mit höherer Wahrscheinlichkeit besteht. Eine wahrlich bahnbrechende Feststellung.

Die Behauptung von Dehnadi und Bornat ist (war), dass mit den Tests eine Programmierbegabung ermittelt werden könne, ohne dass die Testpersonen vorher mit dem Thema Programmierung in Kontakt getreten sind ("before they had received any programming teaching whatsoever" sowie "We believe that none had any previous contact with programming").

 

Allein aus methodischer Sicht weist die Untersuchung m.E. aber etliche Schwachstellen auf. Aus der Beobachtung irgendwelche Schlüsse zu ziehen, halte ich für sehr, sehr gewagt.

Link zu diesem Kommentar
  • 1 Monat später...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...