Teaching people to code


(Andy Jones) #1

Does anyone here have any recommendations for resources on teaching people to code?

I've kind of volunteered to teach Ruby to some of my co-workers. I'm good at _explaining_ but I'm rapidly discovering that there is a big gap between that and teaching.

Worse, it looks as if one of my students has never coded before. I want to do right by them, and this is more of a mouthful than I thought I was chewing when I bit it off.

A quick web search turns up lots of articles about teaching children, but not adults.

(I am, at least, very happy with the idea of Ruby as a good first language to learn...)

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>

Please note that we have updated our privacy policy in line with new data protection regulations. Please refer to our website to view the ways in which we handle your data.


(Leam Hall) #2

Andy, AWESOME!!!!!

Give this a read. https://github.com/LeamHall/90DW_mentoring

Recommend you pick a book and not try to teach everything. Mentor,
encourage, Explain. Let the book do the heavy lifting.

Leam

···

On Fri, Jul 13, 2018 at 10:54 AM, Andy Jones <Andy.Jones@jameshall.co.uk> wrote:

Does anyone here have any recommendations for resources on teaching people
to code?

I’ve kind of volunteered to teach Ruby to some of my co-workers. I’m good
at _explaining_ but I’m rapidly discovering that there is a big gap between
that and teaching.

Worse, it looks as if one of my students has never coded before. I want to
do right by them, and this is more of a mouthful than I thought I was
chewing when I bit it off.

A quick web search turns up lots of articles about teaching children, but
not adults.

(I am, at least, very happy with the idea of Ruby as a good first language
to learn…)

Click here to view Company Information and Confidentiality Notice.

Please note that we have updated our privacy policy in line with new data
protection regulations. Please refer to our website to view the ways in
which we handle your data.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>


(dylan dietz) #3

You should check out The Odin Project, http://www.theodinproject.com

···

From: ruby-talk [mailto:ruby-talk-bounces@ruby-lang.org] On Behalf Of Andy Jones
Sent: Friday, July 13, 2018 9:54 AM
To: Ruby users (ruby-talk@ruby-lang.org) <ruby-talk@ruby-lang.org>
Subject: Teaching people to code

Does anyone here have any recommendations for resources on teaching people to code?

I've kind of volunteered to teach Ruby to some of my co-workers. I'm good at _explaining_ but I'm rapidly discovering that there is a big gap between that and teaching.

Worse, it looks as if one of my students has never coded before. I want to do right by them, and this is more of a mouthful than I thought I was chewing when I bit it off.

A quick web search turns up lots of articles about teaching children, but not adults.

(I am, at least, very happy with the idea of Ruby as a good first language to learn...)

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>

Please note that we have updated our privacy policy in line with new data protection regulations. Please refer to our website to view the ways in which we handle your data.


(KING SABRI) #4

we'll I've created a list of tasks that -IMHO- if you did it with any
programming language, you'll be basically familiar with this language (you
can say, you know that language).

   - Quick Programming Tasks
      - STDIN , STDOUT
         - Get First name, Last name, age
         - Capitalize the Names and print it to stdout
         - Split first name characters into array
            - print this array, items separated by comma
            - print the size of this array
            - sort this array and print this array
         - From user the given age, calculate the birth year, and print it
         - From user the given age, calculate the number of days the user
         lived, and print it
      - Conditions
         - If the user is younger than 15, print "hello kid!, FIRST_NAME"
         - If the user is between 16 and 30, print "hello young man,
         FIRST_NAME"
         - If the user is between 31 and 50, print "hello man, FIRST_NAME"
         - 5.4 If the user is older than 50, print "hello old man,
         FIRST_NAME"
      - Loop
         - make sure the user enters a positive number only or re print the
         question again
      - File I/O
         - Create folder named "Users"
         - Into "Users" folder, Write these information (first name, last
         name, age) to a file named 'user-profile.txt', since the 'user' is the
         first character of the first name and the full string of the last name
            - do this step for 3 users so you should have 3 files inside
            "Users" directory
         - Print "User" directory full path
         - Print All files inside that directory
            - extract user information from each file and print it under
            the file name
         - Network
         - Create a TCP Server that receive the first name and responds
         with all user's information
            - The server should print if a client connected to it
            - The server should print the client IP address
         - Create a client to send the request which send the first name to
         the server and receives the user information
      - Extras
         - Wrap your work into one or more class(s) and methods/functions
         - Upload your code to a github repository
         - Make sure your code works on all operating systems unless your
         language is OS specific
         - If there's more than one way to do the same thing, please ad the
         other methods in comments

Please suggest, modify the list.

···

On Fri, 13 Jul 2018 at 17:54, Andy Jones <Andy.Jones@jameshall.co.uk> wrote:

Does anyone here have any recommendations for resources on teaching people
to code?

I’ve kind of volunteered to teach Ruby to some of my co-workers. I’m good
at _*explaining*_ but I’m rapidly discovering that there is a big gap
between that and teaching.

Worse, it looks as if one of my students has never coded before. I want
to do right by them, and this is more of a mouthful than I thought I was
chewing when I bit it off.

A quick web search turns up lots of articles about teaching children, but
not adults.

(I am, at least, very happy with the idea of Ruby as a good first language
to learn…)

Click here to view Company Information and Confidentiality Notice.
<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>

Please note that we have updated our privacy policy in line with new data
protection regulations. Please refer to our website to view the ways in
which we handle your data.

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>

--

*Senior Information Security Engineer OSCE, GWAPT, **CEH, **OSCP, **RHCE, *
*CCNA, **MCITP-EA*


(Robert K.) #5

I think Andy needs something much more fundamental. Someone who has no
idea of programming will already be stuck understanding what "STDIN"
means. Leam's suggestion seems to be a good one - plenty of books have
been written on the topic of learning to program.

Other than that there are some learning systems around; but I think
those are mostly targeted at children (such as the one described here:
https://www.wired.com/2012/04/move-the-turtle/ ). Fundamental things I
would assume people have to learn

variables and values
expressions
conditions
loops
functions as a means to reuse sequences of instructions (and methods
as a variant of this in OO languages)

The fancy OO stuff I would leave for later.

Kind regards

robert

···

On Fri, Jul 13, 2018 at 10:00 PM KING SABRI <king.sabri@gmail.com> wrote:

we'll I've created a list of tasks that -IMHO- if you did it with any programming language, you'll be basically familiar with this language (you can say, you know that language).

Quick Programming Tasks

STDIN , STDOUT
[...]
Please suggest, modify the list.

--
[guy, jim, charlie].each {|him| remember.him do |as, often| as.you_can
- without end}
http://blog.rubybestpractices.com/


(Andy Jones) #6

Thanks for the links, everyone. Wish me luck!

Click here to view Company Information and Confidentiality Notice.<http://www.jameshall.co.uk/index.php/small-print/email-disclaimer>

Please note that we have updated our privacy policy in line with new data protection regulations. Please refer to our website to view the ways in which we handle your data.


(Phil) #7

People,

This does a little of what I was thinking but I would probably want to hack the exercises myself . .:

   https://www.learnrubyonline.org

P.

···

On 2018-07-15 22:49, Robert Klemme wrote:

On Fri, Jul 13, 2018 at 10:00 PM KING SABRI <king.sabri@gmail.com> > wrote:

we'll I've created a list of tasks that -IMHO- if you did it with any programming language, you'll be basically familiar with this language (you can say, you know that language).

Quick Programming Tasks

STDIN , STDOUT
[...]
Please suggest, modify the list.

I think Andy needs something much more fundamental. Someone who has no
idea of programming will already be stuck understanding what "STDIN"
means. Leam's suggestion seems to be a good one - plenty of books have
been written on the topic of learning to program.

Other than that there are some learning systems around; but I think
those are mostly targeted at children (such as the one described here:
https://www.wired.com/2012/04/move-the-turtle/ ). Fundamental things I
would assume people have to learn

variables and values
expressions
conditions
loops
functions as a means to reuse sequences of instructions (and methods
as a variant of this in OO languages)

The fancy OO stuff I would leave for later.

Kind regards

robert

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au