T05 PROGRAMMING
& PROBLEM SOLVING Through
"C"
1. Problem
Solving and Algorithm Design 6 hours
1.1
Introduction to Computer based
Problem Solving.
1.2 Program Design concepts : {Top-down design and stepwise
refinement, loops basic programming constructs}.
1.3 Programming Environment: {Assemblers, compilers,
interpreters, linkers, loaders}.
I [1-3]
2. Algorithm Design 9 hours
2.1 Algorithm design Issues.
2.2 Complexities of Algorithms.
2.3 Development of Algorithms for various Examples : {Summation of set of numbers
and series, sine function computation, Fibonacci sequence, Reversing digits of an integer, Square root
of a number, Smallest divisor, Raising a number to a large power, generation of
prime numbers}.
3. Overview of C
Programming 9 hours
3.1
Data
types.
3.2
Constants
and Variables.
3.3
Expressions
and Operators.
3.4
Basic
I/O.
3.5
Control
Constructs.
3.6
Arrays.
3.7
Examples
of arrays: {Array order reversal,
Removal of duplicates from an ordered array, Binary search, Matrix
manipulations, finding kth minimum element in an array)
3.8 Simple
sorting techniques : {insertion sort, bubble sort, sorting using partitioning}.
4. Advanced Programming Techniques 12 hours
4.1
Handling
Strings.
4.2
Scope
Rules.
4.3
Functions
(Parameter passing: call by value, call by reference, calling functions with
arrays, nesting of functions}.
4.4
Recursive
functions.
4.5
Structures
and union : {Arrays of structures, Arrays within structures, Structures within
structures, Structures and functions}.
5. Dynamic Data Structures
in C 18 hours
5.1 Dynamic Memory Allocation.
5.2 Pointers (Pointer arithmetic, pointer vs
arrays, pointers to functions, functions with
variable number of arguments).
5.3
Linked
list concepts
5.4
Various
linked list operations : {Insertion and deletion in a singly linked list, Traversal, counting number of nodes,
reversal of linked list }
5.5
Applications
of linked lists
5.6
File
Management in C
5.6.1
Input
/ Output operations
5.6.2
Error
handling during Input / Output operations
5.6.3
Random
access files
II [11-13]
6.1 Macro Substitutions
6.2 File inclusions
6.3 Compiler Control Directives
II [14]
7 Program testing & Documentation 3 hours
7.1 Coding style- variable names, declarations, statement
construction
7.2 Test case design - Basic path testing, Black box testing
7.3 Principles of Documentation
I.
R.G. Dromey, "How to Solve it by Computer", Prentice Hall of
India, 1992.
II.
E Balagurusamy, Programming in ANSI C, edition 2.1, Tata McGraw-Hill,
reprint 2002.
1.
B.W.
Kernighan & D.M. Ritchie, "The C Programming Language", Prentice
Hall of India, 1989.
2.
Cooper,Mullish,
"The Spirit of C", Jaico Publishing House, New Delhi, 1987.
3.
Richard
Johnson-Baugh & Martin Kalin, "Application Programming in C",
Macmillan International editions, 1990.
4.
Kenneth
A.,C, "Problem Solving and
Programming", Prentice Hall International.