Programming Foundations

Course

In Birmingham and London

£ 1,495 + VAT

Description

  • Type

    Course

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.

Facilities

Location

Start date

Birmingham (West Midlands)

Start date

On request
London
See map
Clerks Court 18-20 Farringdon Lane Clerkenwell, EC1R 3AU

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • IT
  • Programming

Course programme

System Components

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

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

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

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

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

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

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

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

Building Applications

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

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

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!

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

Programming Foundations

£ 1,495 + VAT