Programming Foundations
Course
In Birmingham and London
Description
-
Type
Course
-
Location
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
Start date
Start date
Reviews
Subjects
- IT
- Programming
Course programme
- Computer system components
- Central hardware components
- Software components
- Operating systems
- Processes
- Virtual memory
- Virtualisation
- Applications
- Bringing it all together
- 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
- 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
- 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 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
- 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
- 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
- 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
- Compilation
- Linking
- Loading and running
- Process attribute inheritance
- Portability
- Emulators
- Interpretation
- The third way: Byte-code
- Pre-processing
- Optimisation
- Debuggers
- 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
- 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!
- 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