Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Programming Essentials

( Duration: 3 Days )

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.

This Programming Essentials training course provides 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 is not programmers to gain a perspective of software development.

By attending Programming Essentials workshop, delegates will learn 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
  • Recognize 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

  • Must be computer literate and have recent experience as a computer user.

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. This Programming Essentials class is also suitable for trainee programmers who have little or no in-depth knowledge of programming. It can act as a primer for those new to programming and are looking to train on languages such as C, Java, Ruby, Perl, Python, C#, Visual Basic, etc.

COURSE AGENDA

1

System Components

  • Computer system components
  • Central hardware components
  • Software components
  • Operating systems
  • Processes
  • Virtual memory
  • Virtualization
  • Applications
  • Bringing it all together
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
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
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
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
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 iterates
  • Interrupt handling
  • Exception handling
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
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
9

Building Applications

  • Compilation
  • Linking
  • Loading and running
  • Process attribute inheritance
  • Portability
  • Emulators
  • Interpretation
  • The third way: Byte-code
  • Pre-processing
  • Optimization
  • Debuggers
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
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
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

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X