Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
 
New to programming? It is natural (but needless) for you to be nervous

Yesterday, I ran the introductory day at the start of our Learning to Program in Ruby course.

Delegates come to us to learn a programming language with two different backgrounds - "I have programmed before in xxxxx and now I need to learn QWERTY" (the converters) and "what is this programming thing all about anyway" (the newcomers). The newcomers are typically nervous at their lack of knowledge, overawed by the people they'll meet who they feel are going to be much more clever, and worried about not 'getting it' in the new world of programming.

If - as a programmer - you're reading this, you'll know that the newcomers should not be nervous. The newcomer is no less bright - just less practised, and can and will pick up programming if they have an aptitude. The convertors were newcomers once, and understand very well indeed what the newcomer is going through - and want to help that newcomer. And the teacher (who was also a newcomer once) gets an immense satisfaction from helping the newcomer start from zero, and pick up some of the basic concepts and start plugging them together into usable, and then useful programs.

Don't get me wrong - the hardest courses to teach are the "complete novice" ones, but they are also so much more rewarding. I tend to end up writing brand new example code, showing the individuals on the course not only WHAT a program looks like but HOW it is reached. And each individual finds different things easy and difficult, so the examples vary every time.

The other great thing? "Get 'em early and they don't get bad habits". My "learning to program" days show not only the mechanism of programming and how it applies in a certain language, but also what is good and what is bad ... I can teach people that they should comment their code well, that they should plan what they're doing, that they should write and test in stages, that testing is important and that if they find themselves copying and pasting code they should be structuring their code ... all of which go towards making code which will be easy to maintain, which will run consistently and which will tend to be more reusable and more reliable.

During yesterday, I developed a number of examples and I have added them to our web resources this morning. Some are dinky little examples to show the basic features and principles, others are somewhat longer to say "yes - we are headed to a wonderful destination here, even though we don't arrive until later in the week". And they also say "you, dear newcomer, will see how the things you learn on the first day are going to be an integral part of your live applications".

Here are those examples:

[link] First use of variables and calculations

[link] Simplest practical program - read from user, calculate, output result

[link] An example with a loop, showing how you should plan and document your code

[link] Naming a block of code - adding in structure and re-usability, and a first introduction to local variables and why that is a good thing

And some of the demonstrations of "where are we going with this ..."

[link] Read through a file and report on all lines matching a pattern, with management summary at the end

[link] Finding and matching various lines and keeping several counts

[link] Analysis of a large data file (web access log) which reports on the pattern of matching for the last 24 hours.

At the end of the day ... the final example produced some really useful results for me; I have wondered about the pattern of accesses to our servers over a 24 hour period, and this little program give me a profile for one day, and I can go on and extend it later ... no doubt I will be doing so, when I get the time (a.k.a. a month of Sundays!)
(written 2009-07-14, updated 2009-07-16)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
G302 - Well House Consultants - Coming to a course.
  [4558] Well House Consultants - Python courses / what's special. - (2015-10-28)
  [4335] Flexible public courses - residential or commuting, programming newcomer or experienced, C or C++ - (2014-11-30)
  [4231] Well House Consultants - Public Training Course times for 2014 - (2013-12-26)
  [2835] A course is more than just a chap giving a lecture - (2010-06-28)
  [2249] Public Transport from London to Melksham, Wiltshire - (2009-06-19)
  [1996] Advise before my Apache / Tomcat course - (2009-01-16)
  [1792] All the pieces fall into place - hotel and courses - (2008-09-10)
  [952] Coming from London to Melksham by train for a course - (2006-11-28)
  [933] Course Joining package - updated - (2006-11-20)
  [898] Courses at Well House Manor - (2006-10-19)
  [695] In the hospitality business - (2006-04-23)
  [490] A new way to get lost - (2005-11-08)
  [464] Technical Loneliness - (2005-10-14)
  [306] Bristol Airport this morning, The Farm this evening. - (2005-05-09)
  [264] 100% Training - (2005-04-01)
  [2] Diary entry - 5th August 2004 - (2004-08-05)

Q100 - Object Orientation and General technical topics - Learning to Progam
  [4575] Learning not just what a program does, but how to design it in the first place. - (2015-11-06)
  [4337] Learning to program sample program - past its prime, but still useful - (2014-12-02)
  [4326] Learning to program - comments, documentation and test code - (2014-11-22)
  [4325] Learning to program - what are algorithms and design patterns? - (2014-11-22)
  [4324] Learning to program - variables and constants - (2014-11-22)
  [4323] Learning to program - Loop statements such as while - (2014-11-22)
  [4322] Learning to Program - the conditional statement (if) - (2014-11-21)
  [4318] Learning to Program - how we start to teach you at Well House Consultants - (2014-11-16)
  [4008] Reading and checking user inputs - first lessons - Ruby - (2013-02-17)
  [3895] Flowchart to program - learning to program with Well House - (2012-10-14)
  [3551] Some terms used in programming (Biased towards Python) - (2011-12-12)
  [3120] Learning to write good programs in C and C++ - separating out repeated code - (2011-01-04)
  [2973] Learning to program - where to start if you have never programmed before - (2010-09-28)
  [2898] Programming Standards from the start! - (2010-08-02)
  [2505] I almost put the bins out this morning - (2009-11-16)
  [2504] Learning to program in ... - (2009-11-15)
  [2326] Learn a new programming language this summer. - (2009-08-06)
  [2294] Can you learn to program in 4 days? - (2009-07-16)
  [2092] Tracking difficult bugs, the programmer / customer relationship - (2009-03-20)
  [2048] Learning to program in PHP, Python, Java or Lua ... - (2009-02-19)
  [2001] I have not programmed before, and need to learn - (2009-01-19)
  [1985] Learning to program as a part of your job - (2009-01-10)
  [1963] Best source to learn Java (or Perl or PHP or Python) - (2008-12-28)
  [1605] Learning and understanding scripting programming techniques - (2008-04-08)
  [116] The next generation of programmer - (2004-11-13)

R101 - Ruby - Introduction
  [4498] Ruby - where one statement ends and the next begins - (2015-05-26)
  [4369] Ruby - the second rung of learning the language - (2014-12-28)
  [2607] Answers on Ruby on Rails - (2010-01-30)
  [2287] Learning to program in Ruby - examples of the programming basics - (2009-07-15)
  [1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
  [1375] Python v Ruby - (2007-10-02)
  [1302] Ruby, Ruby, Ruby. Rails, Rails, Rails. - (2007-08-13)
  [1041] Learnt in London - Ruby, Martini, Coral and the Core - (2007-01-17)
  [1027] Cue the music, I'm happy. - (2007-01-09)
  [664] Ruby course - oops - it's not happening - (2006-04-01)
  [550] 2006 - Making business a pleasure - (2006-01-01)


Back to
Great new diagrams for our notes ... Python releases
Previous and next
or
Horse's mouth home
Forward to
Learning to program in Ruby - examples of the programming basics
Some other Articles
Opening and reading files - the ruby fundamentals
pre-Inaugural briefing - Melksham Community Area Partnership
Wiltshire Community Area Partnerships
New to programming? It is natural (but needless) for you to be nervous
Great new diagrams for our notes ... Python releases
Strings as collections in Python
Everyone is in the customer relations business
Checking robots.txt from Python
Python - using exceptions to set a fallback
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2286_New ... rvous.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat