To learn problem solving methodologies and aspects of C programming.  Introduction to Computers: Block diagram – Hardware and Software components, Programming paradigms, Program Development Cycle, Evolution of Programming languages. Principles of Structured programming – Sequential, selective and repetitive structures –Modular Programming – Functions and Procedures– Parameter passing methods


C Language Fundamentals: Character set – Constants – Keywords – Primitive data types – Declaration - Sequential, selective and repetitive structures

Arrays – Declaration, initialization and accessing array elements - Passing array elements and arrays as arguments – Functions: Definition – call – prototypes - block structure -Storage Classes

Pointers – Address and indirection operators, Pointer type declaration, assignment, initialization – Pointer arithmetic – Functions and pointers – Arrays and pointers -Strings and pointers – Multi-dimensional arrays using pointers – Pointer to arrays – Pointers to functions – Dynamic memory management

Structures – Variables, Accessing members, Assignment and nesting – Pointers to Structures – Structures and functions – Array of Structures – Structures with pointers – Unions – Bitwise operations – Files : operations – Formatted input/output – character input/output – File positioning and Error handling

- Pre-processor directives- Command line arguments



1. J.R. Hanly and E.B. Koffman, “Problem Solving and Program Design in C”, 6th Edition, Pearson Education, 2009.
2. M.A. Vine, “C programming for the absolute beginner”, 2nd Edition, Thomson Course Technology,2008.
3. B.A. Forouzan and R.F. Gilberg, “Computer Science: A Structured Programming Approach Using C”, 3rd Edition, Thomson Course Technology, 2005
4. B. Gottfried, “Schaum's Outline of Programming with C”, 3rd Edition, Tata McGraw Hill,2010.
5. B.W. Kerninghan, D.M. Ritchie, “The C Programming Language”, 2nd Edition, PHI,1995

Students will be able to:
1. Write structured pseudo codes for a given problem.
2. Write C programs for solving problems.
3. Design programs for complex problems applying the concepts of Arrays and pointers.
4. Design programs for complex problems applying the concepts of structures and files