Course: Introduction to Programming

Course participant looking at laptop screen showing a slide from the Beginners Programming course

Duration: 3 days

Overview

The Introduction to Programming course comprises sessions dealing with variables, expressions, conditional statements, collections, iterative statements, functions, objects, compilation and execution, and best practices.

This hands-on course uses a small subset of Python, a professional programming language which is simple to use and easy to understand. However it is as broad as possible, and relevant to most modern programming languages, by familiarising delegates with standard programming terminology, structures, and principles.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered. This course aims to provide the delegate with the knowledge to be able to produce simple computer programs that demonstrate an understanding of the three core principles of programming – sequence, selection, and iteration. Delegates will also be exposed to functions, objects, and both procedural and object-oriented programming paradigms. The course further aims to prepare delegates to go on to learn any one of many programming languages in detail.

Audience

This Introduction to Programming course is designed for those new to programming who want to learn about the terminology, structures, and principles of programming generally.

Attending this course will provide delegates with the prerequisite knowledge and required skills to go on to learn any programming language in detail, e.g. Java, JavaScript, Python, C, C++, C#, PHP, Perl, Ruby, etc.

Learning objectives

By actively participating in this course you will learn about the following:

  • Solving a problem with code
  • Planning and preparing to write code
  • Breaking down complex problems
  • Writing to and reading from the console
  • Understanding core programming constructs and knowing when to use them
  • Declaring and initialising variables
  • Constructing expressions
  • Constructing conditional statements
  • Working with arrays/lists and dictionaries/mappings
  • Constructing iterative statements
  • Declaring and invoking/calling functions
  • Writing procedural programs
  • Writing object oriented programs
  • Compiling and executing code
  • Structuring larger programs

Prerequisites

Delegates should be able to navigate the filesystem, edit a file, and browse the web. No programming experience is necessary.

Course content

Fundamentals

  • Hardware, software and programs. The key components of a modern computer, and their role in running programs
  • Programming and programming languages. How do you tell a computer to do something, what are the different types of programming languages
  • Key programming concepts. Algorithms and data. Variables, constants, literals and expressions

Preparing to write code

When learning a new skill or taking on a complex task it can help to take small steps, to minimise overwhelm and prevent expensive mistakes

  • Requirement analysis. Document and understand what you’re trying to achieve
  • Planning. Get ready to code using flowcharts, pseudo code and other planning techniques
  • Waterfall models versus incremental coding (Agile, Scrum). How much planning should you do before you start? How do you approach and manage a large programming projects
  • Bottom up versus top down. Some ideas for solving a complex programming tasks

Programming essentials

Most modern programming languages share a common set of essentials

  • Creating and using variables
  • Working with different types of data – text, numbers and collections
  • Code flow – decisions using if/else, doing the same thing multiple times using for/while/repeat/until loops
  • Structuring code using functions and classes

This will be covered with an emphasis on

  • What they do and when to use them
  • Common misunderstandings

Writing tested, working, quality code

Writing code is an iterative process. Even experienced programmers don’t write perfect code first time. Understanding the whole process will make you a more efficient and confident developer

  • The programming process. Read, write, test, fix, repeat
  • Writing code. Turn your pseudo code into real code in your target language
  • Good coding habits. Writing small programs is fairly easy. Writing large programs which work, and which grow and develop over time, requires good coding habits
  • Testing your work. How do you make sure your code works correctly, in all relevant situations
  • Debugging. When your code doesn’t work correctly, how do you know exactly what went wrong so you can fix it
  • Refactoring. Working code is great, but code evolves over time and degrades in the process until it becomes unusual. Regular refactoring stops your code from degrading and extends its useful life

You may also like...