Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Learning to Program - how we start to teach you at Well House Consultants

At Well House Consultans, we offer courses at two levels in a number of programming languages. Our "learning to program in ..." courses are for delegates who have never programmed before, or who are rusty, who lack confidence, or want a refresher of the basic principles. Our "... programming" courses are for delegates who have prior programming experience, but are converting from another programming language to the one that we're teaching at the time. By offering two different starying points in this way, we can ensure that newcomers to programming aren't swamped in the first hours, yet experienced programmers don't have to sit through a day of the basiss.

This module accompanies the "learning to" courses and intentionally leaves out code examples. It's very easy for the tutor on your course to show you "one I wrote earlier", but that doesn't teach you as a newcomer how to write a program for yourself - you need to see the thought process, so it will be done by demonstration. The examples written will be made available to you after the course, and you'll also find code in the following modules of the notes which also apply to the courses where we start with experienced programmers.

So - let's start!

Stored programs ...
* We start with a series of instructions in a text file
* Each instruction is separated from the next somehow
* Instructions are run sequentially
* Possibly wrapped in some sort of named block to say "Start here"

Running a stored program ...
* We need to translate from text to runnable
* That may be through an intermediate process - there are three common ways (compiler, pure interpretter, and virtual machine)
* There will be common code to all / most applications, and that will be loaded from standard libraries

Hello World ... and Hello delegates too
It's traditional on all programming courses for the first example to output the words "hello world" onto the programmer's screen. Of course, that's very much more simple than any practical program but it show you
* How you input the program, what you write and where you store the "source code"
* How (and if) you translate that program into a different format from which yu can run it
* And how you run the program

The tutor will demonstrate this to you, and have you try it out too. It will feel clunky at first. Don't worry about that - you'll speed up later, and there will be lots of other things to learn about in yor chosen language that will make it easier too.

At this point, one of things to think about is how portable your program will be between different computer architectures and operating systems. You may feel it's early to look at this, but right from the start you'll want to know about the portablity and re-usability of your work.

Commenting your code

Also at this point, we'll take a first look at code documentation. "Hello World" really doesn't need too much backup information for the maintenance programmer - either a colleague of yours, or you yourself when you come back and try to remember what you did in 6 months or 6 years time because it needs updating.

* Every language allows for comments in some way or another, and we'll add some to "Hello World".

Comments make no difference to the running of your code, but they make a huge difference later on. You should include information about what the blocks of code do, and also any notes about the environment in which they are designed to run. Version numbers, copyright, and support contact details and terms and conditions are also worth considering in serious code blocks.

As well as programmer's comments, instructions for your user should be provided. Most languages provide you with specific tools and an ability to build these instruction into your source code. And it's very likely too - with modern programmig - that you'll also provide some sort of test suite that lets you and your customers check that the program's functionallity is still working as planned after upgrades and changes.

To see our upcoming public course schedule, take a look [here]. The format above is your starter in each and every language, but it's adapted to the language of choice - we start as we mean to go on!
(written 2014-11-16)

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

Back to
Java - an update of the basics
Previous and next
Horse's mouth home
Forward to
PHP - some quick fixes if scripts have issues, and how to use our support
Some other Articles
Are administration / review charges on hotel guests acceptable?
An example of Model-View-Controller techniques in a Perl / CGI script
PHP - some quick fixes if scripts have issues, and how to use our support
Learning to Program - how we start to teach you at Well House Consultants
Java - an update of the basics
Too many Staffies, too many lurchers
Welcoming genuine forum posters quickly - but turning away off topic advertisers
PHP training - refreshed modern course, backed up by years of practical experience
Moving community rail support from amateur to professional
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., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/4318_Lea ... tants.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb