lunduniversity / schoolprog Goto Github PK
View Code? Open in Web Editor NEWProgramming exercises for primary and secondary education, in Swedish.
Home Page: https://lunduniversity.github.io/schoolprog/
Programming exercises for primary and secondary education, in Swedish.
Home Page: https://lunduniversity.github.io/schoolprog/
We have an opportunity to involve students in data science if we have have interesting datasets available.
Note that the datasets probably have to be open access in order for us to receive able redistribute them (which we'd want to guarantee availability).
I'd like to discuss this with you all, especially @gorelhedin and @bjornregnell: http://marginalrevolution.com/marginalrevolution/2018/02/direct-instruction-half-century-research-shows-superior-results.html
Wherever we are on further recruitment (#4) we should probably add some contribution guidelines. Reasons to do this include:
Towards this goal we could add any subset of:
Exercise teching how to plot different functions in python. Can probably take some inspiration from this video.
Görel wants an exercise where a function for calculating gcd is created. This will be used in a turtle graphics exercise.
I guess we need a small description + proof for Euclid's algorithm, and a little bit of boilerplate code for an iterative solution.
Maybe the exercise can include some fractional numbers that needs to be reduced as well.
Discussed with @perssonsimon1 briefly in chat, we are confident that there will be some way to access the content: https://www.skolverket.se/kompetens-och-fortbildning/larare/om-programmering-webbkurs-1.263574
The exercises are nice, but some refactoring is needed:
If we need to, we could probably recruit more students by:
@patrikpersson Nice polygon/back-to-start exercise. I did some small adjustments after feedback from teachers. Here are some ideas for additions to the exercise. Either extend the current exercise, or perhaps better, add an extra.
Testa ditt program för större värden på n. Vad händer? Varför?
Uppdrag: Ändra programmet så att omkretsen blir lika stor oavsett hur många sidor månghörningen har. Paddan skall alltså gå lika långt oavsett antal sidor.
Tips: Dividera sidlängden med n. Ändra konstanten (100) så att figurerna blir lagom stora.
Vid varje hörn svänger paddan en viss vinkel.
Uppdrag: Skriv ut vid varje sväng hur mycket paddan svänger. Du kan använda funktionen write(v)
för att skriva ut.
Tips: Lägg till satsen t.write(360.0/n)
i loopen.
Stämmer det att summan av alla svängarna är 360? Kontrollera för några olika månghörningar.
Vinkeln som paddan svänger kallas en yttervinkel till månghörningen.
...Visa bild... där yttervinkeln är markerad med v
Uppdrag: Ändra programmet så att i stället innervinklarna skrivs ut vid varje sväng.
Öppet tips: Om du vet yttervinkeln v, hur stor är då innervinkeln?
Tips: 180-v
Tips: Du skall alltså lägga till satsen t.write(180-360/n)
i loopen.
Hur stor är summan av alla innervinklarna? Kontrollera för några olika månghörningar. Vi lär oss ju att summan av alla innervinklarna i en triangel är 180. Kontrollera att det stämmer.
Kan du hitta ett mönster för vad summan av innervinklarna är? Kan du skriva upp en formel för summan av alla innervinklarna för en liksidig n-hörning?
Svar: Låt v vara yttervinkeln. Summan av alla yttervinklarna är 360. Varje innervinkel är 180-v. Alltså är summan av alla innervinklar n*(180-v).
Uppdrag: Lägg till satser efter for-loopen så att du skriver ut summan av alla innervinklarna. Flytta först paddan lite så att utskriften hamnar nedanför månghörningen.
Tips: Du kan flytta paddan utan att rita genom att först göra t.penup(True). Om du tycker paddan är i vägen kan du dölja den med t.hideturtle()
I upgraded GemFile and GemFile.lock in order to avoid security vulnerabilities. I can generate the Github pages locally, but the build on Travis fails. Don't know how to fix this. Don't know if this has to do with my updating the GemFiles or not.
Details:
I did a first unsuccessful attempt, just changing the versions of ffi and jekyll as suggested in the security alert, and without building locally. But this caused Travis to fail (Travis request 180).
Then I removed that commit, but again, Travis failed (Travis request 181), even though this state built earlier (in October - request 179). Then, I installed Ruby on my computer, got the build to work locally, and in that process updated all the gems that "make serve" complained about. Finally, I got the web site running locally, and everything looked fine. I then committed and pushed the changes, but now the Travis build fails.
I am writing up an exercise to help students with understanding fractions. It is
Stuff left to do:
More to do, after meeting on Feb 7 2018:
Piece-of-cake exercise:
Stuff left to do:
There are three ways that we could handle binary media (typically I guess images/gifs):
In math-exerciser
I went with "separate hosting" where I still used github but created a new repo with git-lfs where I put the gif, this solution has versioning and no reliance on other 3rd-party services but critically does not allow for relative links (see #26). Depending on the amount of media (and maybe more importantly media changes) we expect just using plain git may be entirely feasible. What do you think @ErikBjare?
I have updated the turtle
exercise:
README_EN.md
Things left to do:
turtle
exercise for Python. (Reasonably complete. Could add some more.)turtle
exercise to Scala.@obakanue , will you take it from here?
We might want to make some changes to the design of the website, I'll just drop some ideas here.
<detail>
tag better (see discussion here)
We are currently using repl.it, in my opinion it fulfills our primary criteria:
However, some other features would be nice:
I think we should discuss this before we are completely invested in repl.it.
Plotting is my foremost concern, can we do it with repl.it?
I'm getting long errors when I try to use the API in #8 on repl, here is a version on repl
I see some solutions:
I think we should check out some other sites, and if we don't find anything suitable, we should do both 1 and 3.
@ahnlabb The exercise looks very nice. But the initial gif link seems broken, at least when looking at https://lunduniversity.github.io/schoolprog/exercises/math-exerciser/. I think you can make it work by using https://media.githubusercontent.com/media/ahnlabb/schoolprog-external/master/math-exerciser.gif instead.
I came to think of a better solution. Copy the gif file to the math-exerciser directory and make a local link to it.
As someone who have never been very happy with the current state of maths education, I have naturally been drawn towards the contrarian ideas of how it should be. Since I'm slightly worried that the introduction of programming into school curricula might go down the same dark path, I'd like us to at least try and get these ideas out there, because I really think there is something to them. @exoji2e probably agrees with me.
Here are some of my favorites:
My hope is that we could write up a "teaching philosophy" document similar to the one written for fast.ai where we try to raise awareness about these issues. I think it would serve as a great exercise not only for the teachers and students who might read it but also for ourselves.
We need an exercise to help understand what can go wrong and how to debug.
Things to cover:
Possibly also:
This exercise is just a skeleton. Need to fill in text and create solution.
There is currently a dataset and some ideas for tasks in /exercises/weatherdata
.
What needs to be done is:
datetime
would make it easier to plot?Feel free to help me with this. I might start on something of the above, and Ill write so here in that case!
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.