mersenneforum.org  

Go Back   mersenneforum.org > Extra Stuff > Programming

Reply
 
Thread Tools
Old 2018-05-15, 14:03   #1
Xyzzy
 
Xyzzy's Avatar
 
"Mike"
Aug 2002

3×52×107 Posts
Default The List

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
Xyzzy is offline   Reply With Quote
Old 2018-05-15, 15:00   #2
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Cambridge (GMT/BST)

3·1,951 Posts
Default

My inclination is that the list would be different for different languages. Different tasks can be much easier/harder in different languages.
henryzz is offline   Reply With Quote
Old 2018-05-15, 15:20   #3
Nick
 
Nick's Avatar
 
Dec 2012
The Netherlands

110011100002 Posts
Default

1 - http://rosettacode.org/wiki/Hello_world/Text
2 - https://en.wikipedia.org/wiki/Quine_%28computing%29
Nick is online now   Reply With Quote
Old 2018-05-15, 16:20   #4
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
Jun 2011
Thailand

5·1,871 Posts
Default

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")
LaurV is offline   Reply With Quote
Old 2018-05-16, 14:00   #6
Uncwilly
6809 > 6502
 
Uncwilly's Avatar
 
"""""""""""""""""""
Aug 2003
101×103 Posts

100101000000102 Posts
Default

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
Uncwilly is offline   Reply With Quote
Old 2018-05-18, 00:50   #9
Xyzzy
 
Xyzzy's Avatar
 
"Mike"
Aug 2002

1F5916 Posts
Default

Do we have the tasks in the right order?

Also, please add some tasks!

Xyzzy is offline   Reply With Quote
Old 2018-05-18, 01:04   #10
science_man_88
 
science_man_88's Avatar
 
"Forget I exist"
Jul 2009
Dumbassville

838410 Posts
Default

Quote:
Originally Posted by Xyzzy View Post
Do we have the tasks in the right order?

Also, please add some tasks!

As has been pointed out, it would vary wildly by language. PARI/GP would be able to assign a variable an input by user using a=input() for example.
science_man_88 is offline   Reply With Quote
Old 2018-05-18, 06:07   #11
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
Jun 2011
Thailand

100100100010112 Posts
Default

Quote:
Originally Posted by Xyzzy View Post
Do we have the tasks in the right order?
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, , why we use base 10, and why is the base not important in representing quantities, then introduce binary numeration system, explain why the computer is just a bunch of wires through which the current passes (and we have a "1") or it does not pass (and we have a "0"), etc. The audience will grasp the concept that everything can be represented as numbers, and the computer stores all king of information by encoding it into numbers, and the numbers are stored in binary in a hairball of wires going in all directions... This is how I used to start when I was teaching. It catches quite well with the audience, which learns fast about data representation.

Last fiddled with by LaurV on 2018-05-18 at 06:14
LaurV is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
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

All times are UTC. The time now is 12:24.

Sat Apr 10 12:24:39 UTC 2021 up 2 days, 7:05, 1 user, load averages: 2.97, 2.57, 2.26

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.