ADVANCED PROGRAMMING IN C

Paper Code: 
CBCA 203
Credits: 
3
Periods/week: 
3
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):

Course Outcome (at course level)

Learning and teaching strategies

Assessment Strategies

The students will:

CO57. Apply the concept of arrays in real life scenarios

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

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

CO60. 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.      P.K. Sinha, Preeti Sinha, “Foundations of Computing”, BPB Publications, 2003.

2.      Raj K. Jain, “Insight into Flowcharting”, S.Chand Publications, 2000.

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

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

 

Suggested READINGS: 

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

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

3.      Vikas Thada “C Programming Simplified” ashirwad publication.

 

E-RESOURCES:

1.      https://www.programiz.com/c-programming

2.      https://www.learn-c.org/

3.      http://ee.hawaii.edu/~tep/EE160/Book/PDF/Book.html

4.      https://spoken-tutorial.org/tutorial-search/?search_foss=C+and+Cpp&search_language=English

Academic Year: