ADVANCED PROGRAMMING IN C

Paper Code: 
CBCA 203
Credits: 
03
Periods/week: 
03
Max. Marks: 
100.00
Objective: 

The course will enable the students to

  1. Acquaint the students with the advanced concepts of C programming.
  2. Provide the knowledge of linear data structures like array, structures and Union in C

 

          Course Outcomes (COs):

 

Learning Outcome (at course level)

Learning and teaching strategies

Assessment Strategies

The students will:

CO 57.Apply the concept of arrays in real life scenarios

CO 58.Assess the use of structures, union and bit level manipulations.

CO 59.Implement Programs with pointers and arrays, perform pointer arithmetic and use the pre-processor

CO 60.Investigate the utility of user defined function for modular programming

CO 61.Apply file handling concepts to manage user data.

Approach in teaching:

Interactive Lectures, Discussion, Tutorials, Reading assignments, Demonstration,

 

Learning activities for the students:

Self-learning assignments, Effective questions, Seminar presentation, Giving tasks

Class test, Semester end examinations, Quiz, Solving problems in tutorials, Assignments, Presentation

 

 

9.00
Unit I: 

Revision of C Basics.

Arrays: One dimensional arrays: array manipulation; searching, insertion, deletion of an element from an array; finding the largest/smallest element in an array; two dimensional arrays, addition/multiplication of two matrices, transpose of a square matrix; null terminated strings as array of characters, Sorting arrays (Bubble Sort), Searching (Linear, Binary Search), Multiple-Subscripted Arrays.

 

9.00
Unit II: 

Functions: top-down approach of problem solving, modular programming and functions, prototype of a function:  parameter list, return type, function call, block structure, passing arguments to a function: call by reference, call by value, arrays as function arguments.

Storage Classes and Scoping: Automatic, Register, External, Static, Scope of a Variable.

 

9.00
Unit III: 

Structures and unions: Structure variables, initialization, structure assignment, nested structure, structures and functions, structures and arrays: arrays of structures, structures containing arrays, unions.  Bit Manipulations and Enumerations: Introduction, Bitwise operators, Bit Fields, Enumerated Constants.

 

9.00
Unit IV: 

Pointers:  address operators, pointer type declaration, pointer assignment, pointer initialization, pointer arithmetic, functions and pointers, arrays and pointers.

C characters and Strings: Introduction, Fundamentals of Strings and characters, Character and String Handling Library, String conversions and comparison functions.

 

9.00
Unit V: 

File processing: Concept of files, Opening and closing a stream, open modes. Reading and writing to/from a stream.  Predefined streams: stdin, stdout. Stream manipulation: fgetc (), fputc(), fgets() and fputs() functions.  Raw input/output: fread () and fwrite () functions.  Preprocessor Directives #include, #define, Macros

ESSENTIAL READINGS: 

1. Yashwant Kanetkar, “Working with C”, BPB Publications.

2.E. Balagurusami, “Programming in ‘ANSI C’”, TMH Publications.

REFERENCES: 

1. H.M.Deitel & P.J.Deitel, “How to program in ‘C’”, 3rd Edition, Pearson Education, 2001.

2. B.Kernighan & D.Ritchie “C Programming Language”, 2nd Edition, Prentice-Hall, 1988.

3. S. Lipschutz, “C Programming”, Schaum’s outline series, Tata McGraw Hill Edition.

 

Academic Year: