Internet Technical Bookshop

Books and Reources for the Sciences and the Arts

Beginning Programming Books Part 1

Two families of books that are generally well worth a look are The xxx for Dummies series. Shame about the title but often these books are usually very well written and have plenty of hands on exercises and examples. In the "For Dummies" series a book to consider is "Beginning Programming for Dummies" . This book uses a dialect of Basic, Liberty Basic. Basic is a language invented for teaching programming at Dartmouth College in the USA. Basic was one of the languages taken up by Microsoft and was associated with a popular development environment that had good support for building Graphical User Interfaces (GUIs). When Microsoft introduced its .Net technology Microsoft Basic was dramatically altered to become a fully fledged Object Oriented programming language that was integrated into the .Net framework. This book does not cover the latest version of Microsoft Basic, which, it must be said, is no longer "Basic". Because Basic is not so widely used for teaching programming as it used to be this book has not been updated since 2006. However, the traditional Basic language has been stable for many years. Beginning programming for Dummies could also be used to learn Basic programming using FreeBasic , an open source alternative to Microsoft Quick Basic.

Any book claiming to introduce someone to computer programming should cover, at a minimum, the following topics

  • How to Create programs and divide them into subprograms
  • How to use variables and use constants
  • How to manipulate strings of characters and convert a string of digits into a number
  • Arrays and how to use them to store data
  • Basic design techniques for structuring code so that it is easy to modify and can be reused in other applications
  • How to write functions that hide the details of manipulating complex data

An introduction to building graphical user interfaces and writing code for the internet is also important. Here an introduction to JavaScript is useful. Having mastered programming in Basic learning JavaScript should not be particularly difficult.

An alternative to learning Basic using Liberty Basic is to make use of Microsoft Small Basic. This has quite a nice graphical integrated development environment (IDE) and is a considerably simplified version of the BASIC programming language. It provides a much gentler way to get started with programming than plunging into coding using a complex tool such as Microsoft Visual Studio. The Microsoft Small Basic IDE has no lengthy menus and no complicated Options dialogs. The single toolbar has just 13 options, most of which are intuitively easy to understand such as New, Open, Save, Run and so on. However there is "quite a lot of intelligence under the hood" in the form of syntax highlighting, intelligent code completion, and in-editor access to documentation and help. ....

Phillip Conrod has written a comprehensive series of books on learning how to program using Microsoft Small Basic. They are

  • Beginning Microsoft Small Basic - A Computer Programming Tutorial
  • Programming Games with Microsoft Small Basic (co authored with Lou Tylee)
  • The Developer's Reference Guide to Microsoft Small Basic

Learning to program in Microsoft Small Basic is much easier than learning to program in e.g. Python of Javascript, the two other languages that are often used in beginning programming courses. After all that was what the language was developed for - i.e. a basic instructional language. Having learned Basic there are several "Basic" themed avenues to follow. One is to learn about the .Net programming framework and to program using the new .Net form of Visual Basic (VB). These skills can then be applied to developing Microsoft Internet Information Server web server based web sites using VB in ASP.Net. ASP stands for Active Server Pages and the .Net because it replaced the earlier ASP framework that existed before the .Net era. Another path is to apply your basic programming skills to Microsoft Office products using VBA (Visual Basic for Applications). Books and resources covering Visual Basic for .Net and VBA will be reviewed in another section, and accompanied by a "wee scribend" on that particular topic. If you are interested in learning Basic, and then Visual Basic and / or VBA via a distance learning program then do contact us, by e.g. sending an email to andrew dot eliasz at gmail dot com. The support that would be provided in a distance learning course is analogous to a web based personal trainer who will provide feedback, mark assignments, set further assignments to overcome areas of weakness and such. Alternatively, if you live in South London or Surrey you might be interested in becoming involved in supporting programming activities for serious young programmers at Carshalton Tutorial College, which is also working on developing a program for working with gifted children. Those with Aspergers syndrome are often attracted to computer programming and Carshalton Tutorial College is also working on developing a program to work with such children. If you would be interested in becoming involved then simply send an email to andrew dot eliasz at gmail dot com.

So what about starting to learn programming using Python or JavaScript as your first programming language ? There are many resources out there on the internet and many books. In the case of Python I would heartily recommend the University of Michigan course Programming for Everybody (Getting Started with Python). It is part of a 5 part specialisation entitled, as you will already have guessed, Python for Everybody Specialisation , which is made up of

  • Programming for Everybody (Getting Started with Python)
  • Python Data Structures
  • Using Python to Access Web Data
  • Using Databases with Python
  • Capstone: Retrieving, Processing, and Visualizing Data with Python - a final project to demonstrate competence
These courses cover a great deal of ground, but do not provide the support, help and encouragement that a personalised distance learning tutor who will encourage and adapt and provide. They are however very affordable, and much can be learned from the student discussion forums for the courses that form this particular specialisation. Apart from Coursera there are the mega teaching via video courses from bulk purveyors of such materials such as Pluralsight, Udemy and Lynda. Some of these courses are really good, however, wading through a "ton of videos" is not to everyone's taste however. The problem I have with video training materials, even if transcripts are provided is that they are "very linear in nature", and, compared to more traditional text book oriented materials "difficult to flick through". Which, rather conveniently, brings us to an overview of various Python programming books that can provide a good introduction to Python programming.

There is nice series of introductory Python programming books aimed at schoolchildren, but which grown ups can benefit from equally well. The series is partly directed at coding clubs. The issues with starting programming is how to maintain interest and enthusiasm and provide insights into the many ways in which programs can be used. The core coding club related volumes, of which there are three, that I would recommend are
  • Coding Club Python Basics Level 1
  • Coding Club Python: Next Steps Level 2
  • Coding Club Python: Building Big Apps Level 3

There are two follow on books

  • Coding Club Python: Programming Art Supplement 1 - for those who might have an interest in interactive art
  • Coding Club Python: Interactive Adventures Supplement 2 - which provides a gentle introduction into programming computer games

A publisher that I like a lot is No Starch Press. And, on the theme of introductory Python programming books they do not disappoint. For children and families they have published the following books

  • Python for Kids: A Playful Introduction to Programming - for kids, their parents and the young at heart beginner
  • Teach Your Kids to Code: A Parent-Friendly Guide to Python Programming - not only for parents and teachers, but also for beginners
  • Invent Your Own Computer Games With Python - learning to write computer games is not only fun, but can teach you an awful lot about programming

And so, moving on to yet another widely used programming language let's make a start on JavaScript for beginning programmers. JavaScript is in many ways a Cinderella language. From humble beginnings and diverse vendor implementations it has grown into a truly powerful language that adds not only interactivity to web pages but also the ability to write complete applications and computer games running entirely on a web browser. You can rest assured that once you have mastered the basics of Java you are on the first leg, should you choose to embark on it, a remarkable journey of exploration. It is an essential skill for any one contemplating a serious career in web design and web programming. For instance, Bootstrap and Sass which are widely used for implementing responsive web sites (i.e. sites where the content layout adjusts itself to the size of the display area available be it mobile phone, smart pad or large screen display) are implemented in JavaScript. Here, however, we are concerned with the virtues of using JavaScript as a language to start learning programming with. This is an area where "passionate debates rage", so, here I have simply selected some books that I like and that have merit. In the "For Dummies" series we have "Coding For Dummies" attempts to teach coding in the context of building pages for a web site, and is as good a book as any to start learning how to program if you are interested in the internet and building web applications as a possible career. In the same vein there is "Get Coding! Learn HTML, CSS, and JavaScript and Build a Website, App, and Game" which tries to cover a lot of ground for a beginners book, but, by and large succeeds. And of course, as you would expect from a fan of No Starch Press they have a JavaScript programming book aimed at school children entitled "JavaScript for Kids: A Playful Introduction to Programming". A somewhat whimsical book with funny illustrations the may well appeal to some.

Here is a list of the books that have been reviewed together with links to purchase them on Amazon. Remember you can always plan an expedition to North Street Carshalton and have a rummage in the Internet Technical Bookshop. If you are coming from afar then send us an email so that we can make sure there is someone in the shop to greet you.