Short-term Courses
Programming
C Programming
C++ Programming
C/C++ with Data structures
Objective C
Microcontroller
8051 Microcontroller
ARM
AVR
Pic
Device Drivers
Device Drivers For ARM9
Device Drivers For PC
Operting Sys / RTOS
Linux Internals
Embedded Linux
VxWorks
RT Linux
RTX51
Moblie Applications
Iphone
Android
Windows Mobile
Blackberry
VHDL
Verilog
System Verilog
Summer Training
Workshops



C with Data Structures

C Basics

  • History of C
  • Characteristics of C
  • C Program Structure
  • Variables
      Defining Global Variables
      Printing Out and Inputting Variables
  • Constants
  • Arithmetic Operations
  • Comparison Operations
  • Logical Operators
  • Order of Precedence

Conditionals

  • Conditionals
  • The if statement
  • The? Operator
  • The switch Statement

Looping and Iteration

  • The for statement
  • The while statement
  • The do-while statement
  • Break and continue

  Arrays and Strings

  • Defining, initializing and using arrays
  • Single and Multi-dimensional Arrays
  • Arrays of Characters and Strings
  • Arrays and pointers
  • Strings

  Functions

  • Role of Functions
  • Passing arguments to functions
  • Returning values from functions
  • Recursive functions
  • Call back functions
  • Implications on Stack
  • Pass by value / reference
  • Passing Arrays to functions

  String Handling : <string.h>

  • Basic String handling functions
  • String Searching
  • Character Conversions and testing : <ctype.h>
  • Memory Operations: <memory.h>

  Structures and Unions

  • Structures
  • Nested Structures
  • Array of Structures
  • Allocation of memory and holes
  • Unions

  Further Data Types

  • Coercion or Type-Casting
  • Enumerated Types
  • Static Variables

Dynamic Memory Allocation & Dynamic Structures

  • Malloc, Sized, and Free
  • Calloc and Realloc

Advanced Pointer Topics

  • The purpose of pointers
  • Defining pointers
  • The & and * Operators
  • Pointer Assignment
  • Pointers with functions
  • Pointer Arithmetic
  • Advanced pointer types
  • Pointers to functions
  • Pointers to String
  • Pointers and Dynamic memory
  • Pointers and Structures
  • Common Pointer Pitfalls
      Not assigning a pointer to memory address before using it
      Illegal indirection

Storage Classes

  • Scope
  • Internal
  • External
  • Automatic
  • Static
  • Scope and extent of parameters

Low Level Operators and Bit Fields

  • Bitwise Operators
  • Bit Fields
    Bit Fields: Practical Example
    A note of Caution: Portability

The C Processor

  • #define
  • #undef
  • #include
  • #if – conditional inclusion
  • Preprocessor Compiler Control
  • Other Preprocessor Commands

  Integer Functions, Random Number

  • String Conversion : <stdlib.h>
  • Arithmetic Functions
  • Random Numbers
  • String Conversion

 Mathematics: <math.h>

  • Math Functions
  • Math Constants

  Input and Output (I/O) : <stdio.h>

  • Reporting Errors
      perror()
      errno
      exit()
  • Streams
      Predefined Streams
      Redirection
  • Basic I/O
    Formatted I/O
      Printf
  • Scanf
  • Files
      Reading and writing files
  • Sprintf and sscanf
      Stream Status Enquiries

Data Structures

  • Linked Lists
  • Stacks & Queues
  • Binary Tree

Sorting & Searching Techniques

  • Insertion Sort
  • Merge Sort
  • Quick Sort

C++ Object Oriented

Object Oriented Paradigm

  • OOPS…!
  • Structured versus Object Oriented Development
  • Elements of Object Oriented Programming
  • Objects
  • Classes
  • Encapsulation
  • Data Abstraction
  • Inheritance
  • Polymorphism
  • Templates
  • Exception Handling

 Moving from C to C++

  • Scope resolution Operator
  • Variables aliases(reference variables)
  • Parameters passing by References
  • Inline functions
  • Function Overloading
  • Default Arguments

 Classes and Objects

  • Introduction
  • Structures and Classes
  • Class specification
  • Class objects
  • Class, Objects and memory resources
  • Accessing class members
  • Defining Member Functions
  • Outside member functions as inline
  • Accessing member functions with in class
  • Data Hiding
  • Passing Objects as arguments

 Classes and Objects

  • Friend Classes
  • Static data members
  • Static Functions

 Constructors and Destructors

  • Introduction
  • Need of the Constructor
  • Parameterized constructor
  • Constructor overloading
  • Constructor with default arguments
  • Name less objects
  • Copy constructors
  • New and delete operators
  • Dynamic initialization through constructors

 Operator Overloading

  • Introduction
  • Over loadable operators
  • Unary operator overloading
  • Operator return values
  • Name less Temporary Objects
  • Limitations of Increment and Decrement Operators
  • Binary Operator Overloading
  • Overloading New and Delete Operator
  • Comparison Operators
  • Data Conversion
  • Conversion between Datatypes
  • Conversion between basic and Objects
  • Conversion between Objects of different classes
  • Assignment operator overloading
  • Overloading with friend functions

Inheritance

  • Introduction
  • Derived class declaration
  • Forms of inheritance
  • Member Accessibility
  • Constructors in derived classes
  • Overloaded Member functions
  • Abstract classes
  • Multilevel Inheritance
  • Multiple Inheritances
  • Hierarchical Inheritance
  • Multipath Inheritance
  • Virtual Base Class
  • Hybrid Inheritance

Virtual Functions & Polymorphism

  • Introduction
  • Need for virtual functions
  • Pointers of derived class objects
  • Definitions of Virtual Functions
  • Pure Virtual Functions
  • Dynamic Binding
  • Rules For virtual functions

Templates

  • Introduction
  • Function Templates
  • Overloaded Function Templates
  • Multiple Argument Function Templates
  • Class Templates
  • Class Templates with overloaded operators

Exception Handling

  • Introduction
  • Error Handling
  • Exception Handling
  • Try, throw, catch
  • List of Exceptions
  • Specified, Unspecified exceptions
  • Handling Uncaught Exceptions

Streams Computation With console

  • What are streams?
  • Console Streams
  • Unformatted, Formatted Console O/P

 Manipulating Strings

  • Creating(string) objects
  • Manipulating String Objects
  • Relational Operations
  • String Characteristics

  Object-Oriented Systems Development

  • Procedure-Oriented Development Tools
  • Object-Oriented Notations and Graphs
  • Steps in Object-Oriented Analysis
  • Steps in Object-Oriented Design
  • Implementation
Apply Online