Programming Foundations

call us now - 0845 757 3888
  • view dates / book course
  • course description
  • blogs

Print course outline | Download Word document | Link to page: http://www.qa.com/QAPROGFOU

Course dates

Currently scheduled dates for this training course
LocationMayJunJulAugview later dates
LocationSepOctNovDecview earlier dates
London
  1. Currently scheduled dates for this training course
    King William Street, EC4|-|-|-|6show prices/book
    LocationSepOctNovDecview earlier dates
    King William Street, EC4|17|-|-|-show prices/book
  2. King William Street, EC4location information and directions

    hide-prices
    06 Aug 5 or more places available £1,550 exc VAT

    orenquire about this course

    17 Sep fewer than 5 places available £1,550 exc VAT

    orenquire about this course

    Programming Foundations training in King William Street, EC4
  1. Currently scheduled dates for this training course
    Middlesex Street, E1|-|6|-|-show prices/book
    LocationSepOctNovDecview earlier dates
    Middlesex Street, E1|-|-|-|-show prices/book
  2. Middlesex Street, E1location information and directions

    hide-prices
    06 Jun fewer than 5 places available £1,550 exc VAT

    orenquire about this course

    Programming Foundations training in Middlesex Street, E1
North
  1. Currently scheduled dates for this training course
    Manchester|-|-|-|29show prices/book
    LocationSepOctNovDecview earlier dates
    Manchester|-|-|-|-show prices/book
  2. Manchesterlocation information and directions

    hide-prices
    29 Aug 5 or more places available £1,550 exc VAT

    orenquire about this course

    Programming Foundations training in Manchester

Print course outline | Download Word document | Link to page: http://www.qa.com/QAPROGFOU

Overview

Basic programming skills are a fundamental requirement for many IT professionals.  An entry-level programmer can have difficulty with jargon, and knowing where to start. Learning language syntax can be an uphill struggle when it cannot be put into context.

As scripting languages become more powerful and available traditional tasks of a programmer are invading other IT functions.  System administrators may have to write complex scripts which impact on mission critical systems, often with no programming experience or training.

Support staff often have to communicate with development staff, and misunderstandings easily arise from cultural differences.

This course gives a basic understanding of how computer systems work from a programmer’s perspective, and how to use this knowledge to produce good code.  It also enables technical staff who are not programmers to gain a perspective of software development.


Who should attend :

System Administrators and support staff who require a technical knowledge of programming, to help them produce better code, to understand programming concepts, or as a precursor to further training. The course is also suitable for trainee programmers who have little or no in-dept knowledge of programming.  It can act as a primer for delegates new to programming who are looking to train on languages such as C, C , Perl, Python, C# and Visual Basic.

Prerequisites

Delegates must be computer literate and have recent experience as a computer user.

Delegates will learn how to

  • Describe the components of a computer system
  • Understand the purpose of Operating Systems and third-party libraries
  • Describe the phases of software development
  • Understand the underlying structure of data types
  • Choose a suitable data type for a specific task
  • Use basic operators, and understand precedence
  • Understand how the stack is used to pass data
  • Recognise different abstract file types, and their uses
  • Be familiar with different program execution regimes
  • Identify the phases of code production
  • Understand and apply good coding techniques
  • Apply a methodical approach to support and debugging

Course Outline

Chapter 1: System Components

  • Computer system components
  • Central hardware components
  • Software components
  • Operating systems
  • Processes
  • Virtual memory
  • Virtualisation
  • Applications
  • Bringing it all together

Chapter 2: First Steps

  • What is a program?
  • Programming languages
  • Creating a program
  • A first program
  • What does a program do?
  • Paper to program
  • Giving names to data items
  • Special characters
  • Applications and libraries
  • Administration tools and utilities
  • Programming tools and utilities

Chapter 3: Software Production

  • Where does software come from?
  • Do you really have to pay?
  • Software licenses
  • Stages in software production
  • Understanding the specification
  • Agile software production
  • Basic flowcharting
  • Most programs consist of three parts
  • Checking and testing
  • Version control
  • Prototyping

Chapter 4: Data

  • Representing data
  • Bits, bytes and words
  • Conventions
  • Fundamental types
  • Getting it wrong
  • Representing characters
  • Sort order of numbers and text
  • The problem with the Euro
  • Representing integers
  • Representing floating point
  • Representing time
  • Arrays and lists
  • Associative arrays
  • Records

Chapter 5: Variables and Operators

  • Variables and constants
  • Objects
  • Life of a variable – scope
  • An alternative to scope
  • Choosing variable names
  • Names you should not use
  • Operations on data
  • Choosing variable types
  • Assignment
  • Simple operations?
  • Precedence
  • Comments

Chapter 6: Flow Control

  • Flow control
  • Altering program flow
  • Simple decision statements
  • What is truth?
  • Boolean operators
  • Logical operators
  • Using logical operators
  • Loops
  • Array processing
  • Language supplied iterators
  • Interrupt handling
  • Exception handling

Chapter 7: Program Structure

  • Scope revisited
  • Named blocks
  • Calling a subroutine
  • Passing a copy of data
  • Passing a reference to data
  • Returning results
  • Entry points
  • Modules and Libraries
  • Asynchronous subroutines – Threads

Chapter 8: Input and Output

  • What is a file?
  • File systems
  • Exchangeable file systems
  • I/O Libraries and Layers
  • Opening a file
  • Opening a file – checks
  • Opening a file – modes
  • Sequential access
  • Random access
  • Buffering
  • Concurrency issues
  • Locking strategies

Chapter 9: Building Applications

  • Compilation
  • Linking
  • Loading and running
  • Process attribute inheritance
  • Portability
  • Emulators
  • Interpretation
  • The third way: Byte-code
  • Pre-processing
  • Optimisation
  • Debuggers

Chapter 10: User Interfaces

  • User IO
  • Text terminal IO
  • Pros and Cons of text terminal interface
  • Text terminal IO development cycle
  • Graphical User Interfaces
  • GUI Examples
  • Pros and cons of GUIs
  • Client-Server Systems
  • Web application development
  • Frameworks
  • Printing
  • Accessibility

Chapter 11: Coding Style

  • Virtues of a programmer
  • Readability and style
  • Naming conventions
  • Error handling
  • Programming for change
  • The need for speed
  • Programming for performance
  • Constants – aren’t
  • Portability and flexibility
  • Help!

Chapter 12: Support and Debugging

  • Why does software have bugs?
  • Programs break!
  • Understanding the problem
  • End-user discussions
  • Finding a solution
  • Debugging a compiled program
  • Other tools
  • Some bug types
  • Trace statements
  • Dealing with 3rd party support
  • Distributing a patch



 

Print course outline | Download Word document | Link to page: http://www.qa.com/QAPROGFOU

Related blogs

Did you have a satisfactory course?

Posted by Phil Stirpe on 25 May 2012

I have written and delivered training courses for many years and in all that time there has always been some form of evaluation at the end of the course. Although there are several questions on the current QA evaluation form, the most important is Overall Satisfaction.

vSphere 5 CLI reference poster

Posted by Bryan O'Connor on 24 May 2012

The vCAP-DCA 5 is coming, and having a look at the blue print, there will be command line and as such the reference poster will be a good resource for revision

Connection Options for the vMA (VMware Management Assistant)

Posted by Bryan O'Connor on 23 May 2012

This article covers the various conn-options for the vMA

Let’s have a Fling

Posted by Bryan O'Connor on 22 May 2012

Not the type you thought, but an offering from VMware

Windows 7 Native Boot Adding the VHD to Bare Metal

Posted by Andrew Mallett on 21 May 2012

I have written before on the native boot feature of Windows 7 where it can boot to a VHD, Virtual Hard Drive. In this blog though we look at adding in a VHD to a completely clean disk with no OS ....

See all related blogs

 
top of page
  • Apple logo
  • AppSense logo
  • cisco logo
  • citrix logo
  • compTIA logo
  • ec council logo
  • IBM logo
  • lpi logo
  • microsoft gold logo
  • novell logo
  • oracle logo
  • redhat logo
  • SAP logo
  • symantec logo
  • vmware logo
  • novell logo
  • symantec logo