![]() |
![]() |
#1 |
Aug 2002
22·2,161 Posts |
![]()
We had an interesting (to us) idea the other day.
What would be the ideal list of tasks to program, in a progression, to learn a new programming language? We decided to use this list of tasks: http://rosettacode.org/wiki/Category:Programming_Tasks The goal is to get 100 tasks sorted by difficulty. (With the easiest first!) We are not sure how tough the last few items on the list should be. We think this should be number 1: http://rosettacode.org/wiki/Hello_world/Text With YOUR help, we can create a list right here in this thread. The idea is to copy the previous post's list with your submission added into it. You can put your chosen task anywhere in the list you see fit. We think no more than three additions to the list at a time is reasonable but we could be wrong. If you disagree with someone's choice, discuss it here. So: 1 - http://rosettacode.org/wiki/Hello_world/Text |
![]() |
![]() |
![]() |
#2 |
Just call me Henry
"David"
Sep 2007
Liverpool (GMT/BST)
613210 Posts |
![]()
My inclination is that the list would be different for different languages. Different tasks can be much easier/harder in different languages.
|
![]() |
![]() |
![]() |
#3 |
Dec 2012
The Netherlands
2·7·131 Posts |
![]() |
![]() |
![]() |
![]() |
#4 |
Romulan Interpreter
"name field"
Jun 2011
Thailand
24×643 Posts |
![]()
1 - http://rosettacode.org/wiki/Hello_world/Text
2 - Towers of Hanoi - we love recursion... (do you mean recursion?) 3 - https://en.wikipedia.org/wiki/Quine_%28computing%29 (we love quines also, we created a nice one in our graduation paper, which paper was about computer viruses, somehow, which quine reproduced not only its source, but also its history - how many times was called, when, which parameters, all in a single text file that could be compiled in Borland Pascal and its run would cause output of its source code, but modified with the current run date and parameters, so if you compile it and run it next time, etc... - of course, at the time it was not called quine, this term is relatively new, we used to call it, in some coarse translation, just "algorithm that reproduces its history") |
![]() |
![]() |
![]() |
#5 |
Aug 2002
22×2,161 Posts |
![]()
1 - http://rosettacode.org/wiki/Hello_world/Text
2 - http://rosettacode.org/wiki/User_input/Text 3 - http://rosettacode.org/wiki/Multiplication_tables 4 - http://rosettacode.org/wiki/Arithmetic/Integer 5 - http://rosettacode.org/wiki/Towers_of_Hanoi 6 - https://en.wikipedia.org/wiki/Quine_%28computing%29 |
![]() |
![]() |
![]() |
#6 |
6809 > 6502
"""""""""""""""""""
Aug 2003
101×103 Posts
24×13×53 Posts |
![]()
A standard post "Hello world" exercise involves taking input text and producing it to the screen. I would add the step of taking an input of a value for the number of times to print it. This can be used to teach input, variable types, and even parsing and data validation. Those are all early important skills.
This is a simple task that can be made more complex by using it to demonstrate a subroutine (using only a single line of code to request both bits of input, but with different prompts.) I have found that teaching the easy simple method to do a task, then returning to it later to teach a more generalized method can open the eyes of the student to what programming can do. [edit] I see that Mike's new #2 is inline with my suggestion, in part. Last fiddled with by Uncwilly on 2018-05-16 at 14:03 Reason: Mike |
![]() |
![]() |
![]() |
#9 |
Aug 2002
22·2,161 Posts |
![]()
Do we have the tasks in the right order?
Also, please add some tasks! ![]() |
![]() |
![]() |
![]() |
#10 |
"Forget I exist"
Jul 2009
Dartmouth NS
2×52×132 Posts |
![]() |
![]() |
![]() |
![]() |
#11 |
Romulan Interpreter
"name field"
Jun 2011
Thailand
24·643 Posts |
![]()
yuck! as the list gets longer, we would have to click on each link and check how complex we consider each problem. This gets time consuming. We can try it in the future when we get free time here around, but we can't promise anything... Anyhow these new additions (from their titles, we didn't click links) seem all very simple, so the order you introduce them to a class or student (we assume this is your final goal) is not really important. You will have to talk a bit preliminary about positional notation for numbers compared with unpositional (Roman numbers, for example), why introducing Arabian notation was a big leap forward for humanity,
![]() Last fiddled with by LaurV on 2018-05-18 at 06:14 |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
List of FFT Lengths (27.7 b2)? | Belial88 | Software | 1 | 2012-11-12 16:37 |
Ltd's Things to do List (help if you can) | ltd | Prime Sierpinski Project | 9 | 2007-11-22 09:50 |
Top-5000 List | edorajh | Riesel Prime Search | 17 | 2006-03-28 21:57 |
Old ranges list | Xyzzy | LMH > 100M | 54 | 2005-04-27 02:00 |
Who has a list? | Ice9 | Math | 9 | 2004-01-27 16:32 |