405 Stimmen

Was ist das Coolste, was man mit <10 Zeilen einfachem Code machen kann? Hilf mir, Anfänger zu inspirieren!

Ich bin auf der Suche nach der coolsten Sache, die man mit ein paar Zeilen einfachem Code machen kann. Ich bin sicher, Sie können eine Mandelbrotmenge in Haskell in 15 Zeilen aber es ist schwierig, ihm zu folgen.

Mein Ziel ist es, Schüler zu inspirieren, dass Programmieren cool ist. .

Wir wissen dass Programmieren cool ist, weil man alles erschaffen kann, was man sich vorstellt - es ist das ultimative kreative Ventil. Ich möchte diese Anfänger inspirieren und sie über so viele Anfangsschwierigkeiten hinweghelfen, wie ich kann.

Nun, meine Gründe sind egoistisch. Ich unterrichte ein Einführung in die Datenverarbeitung für eine Gruppe von 60 Studienanfängern, die zur Hälfte Ingenieurwissenschaften und zur Hälfte Wirtschaftswissenschaften studieren. Es handelt sich um Studenten, die von unterprivilegierten High Schools kommen. Meiner Erfahrung nach ist die Gruppe im Allgemeinen wie folgt aufgeteilt: einige rock-stars einige, die sich sehr anstrengen und Art von bekommen, die wenigen, die sich sehr anstrengen und kaum und die wenigen, denen es egal ist. Ich möchte so viele dieser Gruppen so effektiv wie möglich erreichen. Hier ist ein Beispiel dafür, wie ich ein Computerprogramm zum Unterrichten verwenden würde:

Hier ist ein Beispiel für das, was ich suche suche: ein 1-zeiliges VBS-Skript, das Ihren Computer dazu bringt, mit Ihnen zu sprechen:

CreateObject("sapi.spvoice").Speak InputBox("Enter your text","Talk it")

Damit könnte ich Ordnung demonstrieren von Operationen. Ich zeige den Code und lasse sie damit spielen und dann erklären, dass In dieser Zeile geht eine Menge vor sich, aber der Computer kann damit umgehen, weil er die Regeln kennt. Dann würde ich zeige ich ihnen etwas wie das hier:

4(5*5) / 10 + 9(.25 + .75)

Und Sie sehen, dass ich zuerst ist (5*5). Dann kann ich multiplizieren für 4. Und jetzt habe ich das Objekt erstellt. Dividieren durch 10 ist dasselbe wie der Aufruf von Sprechen - ich kann nicht Sprechen, bevor ich ein Objekt habe, und ich kann nicht dividieren, bevor ich 100 habe. Dann habe ich auf der anderen Seite zuerst eine InputBox mit einigen Anweisungen, wie sie angezeigt werden soll. Wenn ich die Eingabetaste im Eingabefeld drücke, wird evaluiert oder "gibt zurück", was immer ich eingegeben habe. (Tipp: 'oooooo' ergibt ein lustiges Geräusch) Wenn ich also "Sprechen" sage, ist die rechte Seite, was zu sprechen ist. Und ich bekomme das von der InputBox.

Wenn Sie also mehrere Dinge auf einer Zeile, wie:

x = 14 + y;

Sie müssen sich über die Reihenfolge der der Dinge. Zuerst addieren wir 14 und y. Dann setzen wir das Ergebnis (was es auswertet zu oder zurück) in x.

Mein Ziel ist es, eine Reihe von coolen Beispielen zu haben, die ich der Klasse zeigen und beibringen kann, während sie Spaß haben. Ich habe dieses Beispiel an meiner Mitbewohnerin ausprobiert, und obwohl ich es vielleicht nicht als erste Lektion verwenden werde, hat es ihr gefallen und sie hat etwas gelernt.

Einige coole Mathematica-Programme, die schöne Graphen oder Formen erstellen die leicht zu verstehen sind, wären gute Ideen, und ich werde sie mir ansehen. Hier sind einige komplizierte Actionscript-Beispiele aber das ist ein bisschen zu fortgeschritten und ich kann Flash nicht unterrichten. Welche anderen Ideen haben Sie?

338voto

Geben Sie diesen Code in Ihre Adressleiste (in Ihrem Browser) ein und drücken Sie die Eingabetaste. Dann können Sie den gesamten Inhalt der Webseite bearbeiten!

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

Das ist der coolste "Einzeiler", den ich kenne =)

200voto

Robin Day Punkte 97662

Als ich dies zum ersten Mal schrieb.

10 PRINT "What is your name?"
20 INPUT A$
30 PRINT "Hello " A$
40 GOTO 30

Das hat die Leute umgehauen! Der Computer hat sich ihren Namen gemerkt!

EDIT: Nur um dies zu ergänzen. Wenn Sie einen neuen Programmierer davon überzeugen können, dass dies das Coolste ist, was er tun kann, werden sie zu guten Programmierern. Heutzutage kann man mit einer Zeile Code fast alles machen, was man will, um eine Bibliothek auszuführen, die jemand anderes geschrieben hat. Mir persönlich macht das absolut keinen Spaß und ich sehe wenig Nutzen darin, das zu lehren.

180voto

markus Punkte 39397

PHP - die Sierpinski-Dichtung, auch bekannt als das Triforce

OK, es sind 15 Zeilen Code, aber das Ergebnis ist fantastisch! Das ist die Art von Dingen, die mich als Kind zum Ausrasten gebracht haben. Das ist aus dem PHP-Handbuch:

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$corners[0] = array('x' => 100, 'y' =>  10);
$corners[1] = array('x' =>   0, 'y' => 190);
$corners[2] = array('x' => 200, 'y' => 190);

$red = imagecolorallocate($gd, 255, 0, 0); 

for ($i = 0; $i < 100000; $i++) {
  imagesetpixel($gd, round($x),round($y), $red);
  $a = rand(0, 2);
  $x = ($x + $corners[$a]['x']) / 2;
  $y = ($y + $corners[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

sierpinski gasket

105voto

Bob Fanger Punkte 26489

Microsoft hat Kleines Basic eine IDE für "Kinder".

pic = Flickr.GetRandomPicture("beach")
Desktop.SetWallpaper(pic)

Es wurde speziell entwickelt, um zu zeigen, wie cool Programmieren ist.

83voto

Martin Peck Punkte 11292

Ich glaube, dass die Menschen von Dingen beeindruckt sind, die sie nachvollziehen können oder die für ihr Leben relevant sind. Ich würde versuchen, meine 10 Zeilen Code auf etwas zu stützen, das sie kennen und verstehen. Nehmen Sie zum Beispiel Twitter und seine API. Warum nicht diese API verwenden, um etwas Cooles zu bauen? Die folgenden 10 Codezeilen geben die "öffentliche Zeitleiste" von Twitter zurück und zeigen sie in einer Konsolenanwendung an...

using (var xmlr = XmlReader.Create("http://twitter.com/statuses/public_timeline.rss"))
    {
        SyndicationFeed
            .Load(xmlr)
            .GetRss20Formatter()
            .Feed
            .Items        
            .ToList()
            .ForEach( x => Console.WriteLine(x.Title.Text));
    }

Mein Codebeispiel ist vielleicht nicht das Beste für Ihre Schüler. Es ist in C# geschrieben und verwendet .NET 3.5. Wenn Sie ihnen also PHP, Java oder C++ beibringen wollen, wird es nicht nützlich sein. Was ich jedoch sagen will, ist, dass Ihr Beispiel cool, interessant und relevant wird, wenn Sie Ihre 10 Codezeilen mit etwas verbinden, das für die SchülerInnen "cool, interessant und relevant" ist.

Viel Glück!

(Ja, ich weiß, dass ich ein paar Zeilen mit using-Anweisungen und die Main-Methode ausgelassen habe, aber ich vermute, dass die 10 Zeilen nicht buchstäblich 10 Zeilen sein müssen)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X