C Unleashed

C, one of the most popular programming languages across the world was developed in the year 1972 by Dennis Ritchie. When most of its contemporary computer languages have become obsolete, C is still going strong and its popularity is only increasing day by day. World’s top software company Microsoft Corporation has used C and C++ to develop its best selling software like Windows XP, VC++ etc. Likewise the success stories are many.

The immense popularity of C lies in its simplicity, compactness and reliability. In fact it’s so simple and easy to use that optimising and destroying a system using C can be achieved with equal ease. This very simplicity comes from the fact that it never comes in the way of a programmer and gives him the maximum independence to decide what is best for his task. C is that unique language that provides the dual features of a high as well as a low level language. A good C programmer can do anything and everything on Computers and can very easily adapt to any technology. That is the reason across the globe we find technical syllabuses having C as a subject in it.

In our Training Program, C Unleashed we have tried to comprehensively cover the various aspects of C Programming along with some application area of C relevant for budding practitioners of IT.

The program broadly covers three areas namely

  1. C – Basics
  2. Data structure using C
  3. C – The Advanced Topics

C – Basics

The curriculum below reflects upon the basic minimum topics that a person should know to be called as C Competent.

Module – 1: C – The Conventional

Introduction

  • Evolution of C
  • C Character Set
  • Constants and Variables
  • C Keywords
  • Declarations
  • Signed and Unsigned data
  • Operators
  • Simple I/O Statements
  • The First C Program

Anatomy of C Program

  • Integrated Development Environment
  • C Compilers
  • Phases of Compilation
  • Comments
  • Functions
  • Loaders & Linkers
  • Pre-processor
  • Debugger
  • Main ()
  • Role of Return

Number System and Its Representation

  • Binary representation
  • Quick calculations
  • Complement
  • Hexadecimal Representation
  • Octal Representation
  • Convention in representation

Operators – The Hooking Elements

  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Increment and Decrement Operators
  • Bit wise operators
  • Assignment Operators and Expressions
  • Conditional Expressions
  • Comma operator
  • Type Conversions
  • Precedence and Order of evaluation

Control Structure

  • Blocks
  • Conditional Control – if else, switch case
  • Unconditional Control – go to … label
  • Iterative control – while, do … while, for
  • Where to use which type of loop
  • Goto – should I or shouldn’t I?

Functions – The Building Block of C

  • Planning a program
  • Prototyping a function
  • Defining a function
  • Accessing a function
  • C Calling Convention
  • Pascal Calling Convention implemented in C
  • Types of function call
  • Passing argument to a function
  • Specifying argument data type
  • Difference between argument and parameter

Recursion

  • Why recursion
  • Memory layout for a recursive function
  • Advantages and disadvantages
  • Loop or recursion – which one to choose ?

Storage Classes

  • Types of storage classes
  • Automatic
  • Register
  • Static
  • Where to use which storage class
  • Memory mapping for each storage class

Arrays

  • Defining an Array
  • Array name – whose name is it?
  • Static Pointers
  • Limitation of arrays
  • Processing Array to a function
  • Operation on Strings
  • Benefits of multidimensional array
  • Multidimensional puzzle

Pointers

  • Pointers and addresses
  • Pointers and function arguments
  • Pointers and arrays
  • Address Arithmetic
  • Array of pointers – pointer to pointer
  • Initialisation of pointer arrays
  • Pointers Vs. Multi-dimensional arrays

Structures & Unions

  • Defining a structure
  • Nested structures
  • Self referential structures
  • Structures and pointers
  • Applications of structure
  • Union basics
  • Cases where union should be used
  • Application of union
  • User defined datatypes – typedef
  • Enums – application and advantage

Console I/O Operations

  • Unformatted I/O
  • Getch(), Getchar(),getche() and gets()
  • Putch(), putchar() and puts()
  • More about scanf()
  • More about printf()

Disk I/O Operations – File Handling

  • Text File – creation, manipulation, printing
  • Binary File – creation, manipulation, printing
  • Text versus binary mode
  • A database illustration

I/O Operations – Extended

  • Command Line Arguments – Argc and Argv
  • Variable argument passing to functions
  • Detecting Errors in Reading/Writing
  • Standard I/O Devices
  • Low level disk I/O
  • I/O Redirection
Top

Data structure Using C

Module – 2: Data Structure

Stacks and application

  • Definition and concepts
  • Advantages/ disadvantages
  • Implementation in the form of
    • Array
    • Linked list
  • Application

Queues and application

  • Definition and concepts
  • Advantages/ disadvantages
  • Implementation in the form of
    • Array
    • Linked list
  • Application

Linked list

  • Singly linked list
  • Operations and Implementation
  • Circular linked list
  • Doubly linked list
  • Application

Trees

  • Terminology
  • Binary trees
  • Operations and implementations
  • Tree traversal
  • Application

Sorting

  • Selection sort
  • Insertion sort
  • Merge sort
  • Quick sort
  • Bubble sort
  • Radix sort
  • Heap sort

Searching

  • Linear Search
  • Binary Search
  • Fibonacci Search
  • Hashing

C- The Advanced Topics

Module – 3: C Under Linux
  • Linux and Open Source
  • Linux – The OS
  • Writing and compiling a C Program under Linux.
  • Exception Handling
  • Communication using signals
  • Registering a Common handler
  • Ignoring signals
  • Visual Programming using GTK+
Top
Module – 4: C – The Classics

Pointers Explored

  • near pointer
  • far pointer
  • huge pointer
  • normalized and unnormalized pointers
  • Pointers to functions
  • Complicated declarations
  • Pointer – the super power

Memory Models

  • Tiny model
  • Small model
  • Medium model
  • Compact
  • Large model
  • Huge model

Low-Level Programming

  • Register Variables
  • Bitwise Operations
    • One’s Complement
    • Left Shift
    • Right Shift
    • Bitwise AND
    • Bitwise OR
    • Bitwise XOR
    • showbits() function
  • Bit Fields

Pre-processors

  • Features of C pre-processor
  • Triagraph
  • Line splicing
  • Tokens
  • Macro Expansion
  • Macro Vs Function
  • File Inclusion
  • Conditional Compilation
  • Other Directives

CPU Architecture

  • CPU General purpose registers
  • AX,BX,CX,DX ,SI,DI,CFLAG , FLAG
  • ah, al , bh, bl, ch, cl, dh, dl
  • Application in C

Disk Management with C

  • Booting Procedure
  • Exploring Floppy and Hard Disk
  • Reading BIOS

Interrupt Handling

  • Interrupts and IVT
  • Hardware interrupts
  • Software Interrupts
  • Invoking ROM-BIOS functions
  • Know your base memory size
  • Screen manipulation

Errors – The Terrors

  • Types of errors
  • Method to handle error
  • Trapping errors

Exception Handling in C

  • Exceptions – the runtime hurdles
  • Handling exceptions in C

Tools with C

  • Reading Executable files like command.com, tc.exe etc.
  • Reading Boot sector
  • Compressing and Decompressing
  • Hiding and un-hiding files
  • File copy Utility
Top
Module – 5: C Under Windows

Basics of Win32 API Programming

  • The windows environment
  • Programming in DOS Vs. Windows
  • Windows programs
  • Static and Dynamic linking
  • Message Driven architecture
  • Win32 Programming environment
  • CPU Time
  • Structure of a Windows program

Structure of Windows Program

  • Data Types
  • Hungarian Naming Convention
  • Message Loop
  • Common API Functions
  • Commonly processed messages
  • Creating Resource

Text, Output, Font and Bitmaps

  • Character mode vs. Graphics Mode
  • Device Independence
  • Graphics Device Independence
  • Device Context
  • API functions working with Device Context
  • Device Context Setting
  • Windows RGB Color Model
  • Character set functions
  • Caret Management Functions
  • Keyboard message processing
  • Implementing keyboard interface
  • Fonts

Mouse Interactions and Stock Objects

  • User Interaction with mouse device
  • WM_MOUSEMOVE Messages
  • Client and Screen coordinates
  • Hello World application
  • Changing the mouse cursor
  • GDI Objects – Pen, Brush
  • Win32API drawing routine
  • Rubber band effect
  • Raster operation
Top
Module – 6: C – The Charisma

TSRs

  • How TSR works?
  • Interrupt function modifier
  • Variables in TSRs
  • Time bound TSRs
  • Tinkering with the keyboard
  • Play with your printer

C Graphics

  • Drawing lines
  • Drawing and filling images
  • Patterns
  • Filling shapes
  • Outputting the text
  • Animation
  • Drawing with mouse
  • Building mouse cursors
  • Freehand drawing using mouse
  • Menu using mouse

C & Database

  • Connectivity of Database with C
  • Passing SQL through C

Working with Assembly Language

  • Assembly language Application
  • Looping and comparison
  • Shifting Bits
  • Calling a C routine from Assembly
Top
Module – 7 : C – Googlies
  • Traps & Pitfalls
  • Tips to approach C Questions
  • Sample Test Papers for Campus

Comments are closed.