strenkel / jshero Goto Github PK
View Code? Open in Web Editor NEWJS Hero - Learn to code: JavaScript online tutorial with interactive exercises
Home Page: https://www.jshero.net
License: Other
JS Hero - Learn to code: JavaScript online tutorial with interactive exercises
Home Page: https://www.jshero.net
License: Other
http://www.jshero.net/main.html?koan=parameter2
Hier könnte man an den Code-Beispielen als Code-Kommentar ("// nicht empfehlenswert", "// gut") drauf hinweisen, welches der Beispiele gut und welches weniger gut ist, damit man das auf den ersten Blick sieht.
Ich habe mir überlegt, dass man auch eine Art Quiz-Funktion mit Multiple-Choice-Aufgaben integrieren könnte.
Im Moment kann die Testfunktion Code-Beispiele testen. Was wäre, wenn man das erweitern würde, um alternativ auch kleine theoretische Aufgabenblöcke anzubieten.
Zum Beispiel zur Code-Analyse und zur Festigung der Begriffe: "Schaue dir folgenden Code an: ... 1) Wie heißt die Funktion? a) ..., b) ... oder c) ... 2) Wieviele Parameter hat die Funktion?"
Bei diesem Koan http://www.jshero.net/main.html?koan=function stolperte ein Teilnehmer darüber, dass der Begriff Parameter nicht erklärt wird. Vielleicht sollte man das der Einfachheit halber an dieser Stelle erstmal weglassen.
Add a possibility to export and import the solutions into/from a local file (JSON-Format).
My students found a loophole in the test for this koan:
http://www.jshero.net/main.html?koan=stringindexof2
var secondIndexOf = function(a, b) {
return a.indexOf(b, 6);
}
solves the koan. One should add another test which I would place as second test:
secondIndexOf("aa", "a") gibt 1 zurück.
Auf der Seite Methoden ist im Code Beispiel ein Semicolon ;
im Objekt. Das mach das Objekt theoretisch ungültig.
Dieser Fehler hat zwar keinen Einfluss auf die Tests, jedoch könnte es für Anfänger verwirrend sein, die zum ersten mal Funktionen in Objekten verwenden. Oder für die, die (Gott bewahre) einfach Copy&Paste machen 😄
Line 65 in f1c93b4
Ich habe noch einen entdeckt:
Auf der Seite Römische Zahlen I steht im ersten Absatz (Scheife)
statt (Schleife)
.
Line 56 in f1c93b4
I remembered reading something that said, one can (and therefore should) omit semicolons at the end of a Javascript code line.
Since jshero does use semicolons, I did a quick research. Examples that recommend no semicolons:
Articles and styles that recommend to use semicolons
The last article complains (among other things) that "Standard JS" is named like this despite the fact that it is only one proposal among others. Interestingly, even in "Standard JS" there is subproject called "semistandard" which adds semicolons to the style (see this page on the bottom).
The conclusion that I draw is that using semicolons is a good thing. Since jshero uses semicolons you probably came to same conclusion. Unless there is something interesting to add about this issue, it could as well be closed. :)
Hallo,
erstmal Gratulation und Danke zur Erstellung dieser tollen Lern-Seite: http://www.jshero.net. Über diese Seite https://wiki.selfhtml.org/wiki/JavaScript/Tutorials bin ich darauf aufmerksam geworden (unten ist ein Link auf jshero.net).
Wenn sich demnächst wieder eine Gelegenheit ergibt, werde ich dies für den Informatik/Linux-Unterricht nutzen.
Du hast geschrieben, die Android-App wurde basiert auf Apache Cordova. Hast du Erfahrungen damit, eine Cordova-App für F-Droid bereitzustellen (siehe z. B. https://f-droid.org/en/docs/FAQ_-_App_Developers/)?
Der Test prüft derzeit nur auf "Feuer". Ein Teilnehmer hat das "Feuer" dann einfach in die Funktion hart-codiert (vergessen den Parameter zu verwenden) und damit den Test bestanden. Ein weiterer Test auf etwas anderes als "Feuer" würde dieses Problem lösen.
Auf der Seite Datum und Uhrzeit ändern steht im ersten Absatz setMounth
statt setMonth
.
Hallo stefan,
ich finde das ist eine gute idee, einen js-kurs via unittests zu implementieren.
mir ist folgendes aufgefallen:
wenn ich für http://www.jshero.net/ im firefox-51.0.1
funktioniert das tutorial wie gewünscht.
Idee für später: Möglichkeit mehrere Aufgaben pro "Blatt" (Koan) festzulegen. So kann man für ein bestimmtes Thema besser mit Wiederholungen arbeiten. Vielleicht sogar auch optionale Aufgaben, für den der Lust hat, so dass man aber trotzdem weiterkommt.
So könnte ein Hinweis für jemand aussehen, der z. B. NoScript verwendet:
"JSHero funktioniert nur, wenn du deinem Web-Browser erlaubst - zumindest für JSHero - Javascript-Code auszuführen. Gibt es gute Gründe, JSHero zu vertrauen? Ja, denn der Code steht unter einer freien Lizenz, der GPL, und muss daher unter anderem für jeden einsehbar sein: Link zum Repo"
In dem Zusammenhang könnte man überlegen:
Hey,
ich habe bei der letzten Aufgabe (quersumme) folgenden Code genutzt:
const quersumme = (input) => String(input).split('').reduce((acc, val) => acc + parseInt(val), 0);
Beim evaluieren kommt der Fehler "quersumme ist keine Funktion." Das kann nicht stimmen - obwohl ich eine moderne fat arrow function benutzt habe ist typeof quersumme
dennoch function
.
Add a koan with Exponentiation (**).
Revice Math koans (Math.pow).
Probably a regression due to refactoring:
On http://www.jshero.net/main.html?koan=stringupper this correct solution
var toCase = function(a) {
return a.toLowerCase() + '-' + a.toUpperCase();
}
yields a test error:
toCase("Ida") gibt nicht "ida-Ida", sondern "ida-IDA" zurück.
Fürs Backlog: An diesem Koan http://www.jshero.net/main.html?koan=log bleiben die Teilnehmer regelmäßig hängen.
Ein Teilnehmer hatte auch nicht den Sinn verstanden, warum jshero.log zweimal aufgerufen werden sollte. Er sagte mir, dass er erst probiert hat, sich anhand der Test-Ausgabe zu erklären wie es gemeint war, aber er bekam es dennoch nicht hin.
Meine Gedanken dazu:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.