Programming Foundations

Level
Total time

Programming Foundations

Perpetual Solutions
Logo Perpetual Solutions
Provider rating: starstarstarstarstar 10 Perpetual Solutions has an average rating of 10 (out of 1 reviews)

Need more information? Get more details on the site of the provider.

Starting dates and places
There are no known starting dates for this product.

Description

Prerequisites:

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

Course Description:

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 s…

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

Didn't find what you were looking for? See also: Programming (general), C/C++, IT Security, Software / System Engineering, and Web Accessibility.

Prerequisites:

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

Course Description:

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.

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
  • Read and produce simple program flow charts
  • 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

This course includes the following modules:

System Components

  • Computer system components
  • Hardware components
  • Software components
  • Operating systems
  • Processes
  • Process life-cycle
  • Virtual memory
  • Applications
  • Tools & utilities
  • Bringing it all together
  • Programming Languages

Software Production

  • Where does software come from?
  • Stages in software production
  • Understanding the specification
  • Basic flowcharting
  • System flowchart symbols
  • Paper to Program
  • Prototyping
  • Why does software have bugs?
  • Testing

Data

  • Representing data
  • Bits, bytes and words
  • Conventions
  • Fundamental types
  • Example scalar types
  • Representing characters
  • The problem with the Euro*
  • Representing integers
  • Integers byte ordering
  • Representing floating point
  • Representing time
  • Arrays and lists
  • Sets
  • Associative arrays
  • Records

Variables and Operators

  • Variables and constants
  • Life of a variable scope
  • Choosing variable names
  • Operations on data
  • Choosing variable types
  • Simple operations?
  • Precedence
  • Boolean operators

Flow Control

  • Flow control
  • Altering program flow
  • Simple decision statements
  • What is truth?
  • case statements
  • Loops
  • List processing
  • Interrupt handling
  • Exception handling

Program Structure

  • Scope revisited
  • Named blocks
  • Calling a subroutine
  • Passing data by copy
  • Does this ?¢‚Äöá®Ä∫Swap Subroutine work?
  • How Swaps arguments are passed
  • Passing data by reference
  • Passing NewSwaps arguments
  • Returning results
  • Dont do this at home?¢‚Äöᮨ∂
  • Entry points
  • Modules and Libraries
  • Asynchronous subroutines Threads

Input and Output

  • What is a file?
  • File systems
  • Exchangeable file systems
  • Opening a file
  • Opening a file checks
  • Opening a file modes
  • Access methods
  • Buffers
  • Asynchronous IO
  • I/O Libraries and Layers
  • Concurrency issues
  • The Solution Locking

Building Applications

  • Compilation
  • Linking
  • The ?¢‚Äöá®Ä∫make utility
  • make files
  • Loading and Running
  • Portability
  • Emulators
  • Virtualisation
  • Interpretation
  • The third way: Byte-code
  • Pre-processing
  • Optimisation
  • Debuggers
  • Debugging a compiled program

User Interfaces

  • User IO
  • Terminal IO
  • Graphical User Interfaces
  • Client-Server Systems
  • Web application development
  • Server-side processing
  • State and persistence
  • Internet Services
  • Frameworks
  • Printing
  • Report Generation

Coding Techniques

  • KISS
  • Readability and Style
  • Comments
  • Naming Conventions
  • Defensive programming
  • Error handling
  • Programming for change
  • Programming for performance
  • Constants arent
  • Portability again
  • Pragmas

Support and Debugging

  • Understanding the problem
  • End-user discussions
  • Finding a solution
  • Trace statements
  • Debuggers
  • Other tools
  • Typical symptoms
  • Applying a fix
  • Dealing with 3rd party support
  • Distribution

Languages

  • Standards, standards, standards ?¢‚Äöᮨ∂
  • Syntax diagrams
  • Pseudo-code
  • Generations 3GLs
  • Generations 4GLs
  • Procedural v. Non-procedural
  • Oops!
  • When to use Object Orientation
  • Scripting
  • Language round-up

For online live training advice please visit our Learning Advice Centre on our website. Be sure to follow us on Twitter to receive special course offers, news and updates!

There are no reviews yet.
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.