Introduction:  Elements of computer processing, Hardware and software, Introduction and feature wise comparison of various Operating Systems, Including DOS, Windows and Linux, Problem solving-algorithms and flowcharts.


C Programming Basics: Basic program construction, Structure of a C program, Compilation process. Various compilers available on different OS/ environments including Turbo C, Borland C, gc, gcc, MSVC. Console I/O (printf, scanf), preprocessor directives, Comments, Data types, Type conversions, Operators - arithmetic, Relational, Logical, Conditional, Increment/decrement, Library functions, Header files.


Loops and Decision Statements: for loop, while loop, do loop, Various forms of if statement, switch statement, break statement, continue statement, goto statement, arrays and strings, Declaring an array, Initializing arrays, Accessing the array elements, Working with multidimensional arrays, Declaring and initializing string variables, Arithmetic operations on characters, String handling functions (string.h), Pointers, Pointers to pointers, Declaring and initializing pointers, Pointer expressions, Pointer increment and scale factor, Pointers and arrays, Pointers and strings.


Functions: Defining functions, Passing arguments to functions, Returning values from functions, Reference arguments, Variables and storage classes, Static functions, Pointers and functions.


Structures and Union: Declaring and initializing a structure, Accessing the members of a structure, Nested structures, Array of structures, Using structures in functions, Pointers and structures, Declaring and initializing a union.


Files: Reading and writing to text and binary files, Character I/O, String I/O, File pointers, Error handling, Redirection, Command line arguments.


Structured Programming vs. Object Oriented Programming.

Laboratory work

 Introduction to Hardware - CPU, Storage devices & media, VDU, I/O Devices.
Basic Operating System (DOS/UNIX) commands. Simple programs to demonstrate the use of constants, Variables, printf, scanf and operators. Programs using Loops: Solution of quadratic equation, Summation of finite series, Fibonacci series, Prime numbers, Factorial. Menu driven programs using switch statement. Use of continue and break statements, Conditional operators. Passing variables to functions by values and by reference, Number conversion using array, Sorting, Merging, Arithmetic operations on matrices. String manipulation: Comparing, Copying, Reversing , Finding length, Extracting characters. Simple programs demonstrating the concept of Pointers, Passing values to functions using pointers for arrays, Structures. Creating various types of records using structures. Storing and retrieving records from a file, Copying a data file. Randomly accessing a record, Use of command line arguments.






Text Books

1.      KernighanBrian W. and Ritchie, Dennis M, The C Programming language, Dorling Kingsley(2008) 2nd ed.

2.      Balagurusamy, E., Programming in Ansi C, TMH Publications (2007) 3rd ed.


 Reference Books

1.      Stroustrup, Bjarne, The C++ Programming Language,. Addison Wesley (2000) 3rd ed.

2.        Kanetkar, Yashavant, Let Us C, BPB 7th Ed. (2006) 8th ed.