C Programming Language Syllabus - BCIS (PU)

View and download full syllabus of C Programming Language

Course Description

Course Objective

This course provides students with a comprehensive study of the C programming language. Classroom lectures stress the strengths of C, which provide programmers with the means of writing efficient, maintainable, and portable code. The lectures are supplemented with non-trivial lab exercises.

Course Description

The overall objective of this course is to provide the students a sound understanding of the fundamentals of C and how to apply them effectively in the practical ground. The course provides step-by-step approach of how to apply these concepts solving real world problems.

Course Outcomes

By the end of this course, students should be able to:

  • understand the importance of the software development process - from specification to design to implementation to testing to review;
  • recognize the value of documentation at different stages of the software development process, including the production of a specification document, a design document, diagramming (such as flowcharts and Jackson Structured Programming), and a test plan and results;
  • understand general principles of computer languages such as:  loops (while/for), conditional branching (if/switch), block structures (including nesting and scope rules), functions (including parameter passing, prototypes and recursion), input/output (e.g. input from keyboard or a stored file, output to the screen or a stored file), arithmetic rules (e.g. precedence, operators, common functions);
  • learn how these principles are implemented in the C programming language;
  • develop problem-solving skills to translate 'English' described problems into programs written using the C language;
  • understand how to use and manipulate variables and types to change the program state, including numeric, character, array and pointer types, as well as the use of structures and typedefs;
  • understand the purpose of pointers for parameter passing, referencing and dereferencing, and linking data structures;
  • understand the purpose and use of function libraries.

Unit Contents

Course Contents

Unit I: Historical Development : 2 hours

History of computing and computers, Types of computers (analog and digital), Generations of computers.

Unit II: Introduction to Computer Systems : 4 hours

Fundamental concepts of computer, Memory, hardware, software and firmware, Block diagram of digital computer, Computer peripherals.

Unit III: Programming Preliminaries : 10 hours

Introduction to program and programming language, Types of programming language, Generations of programming languages, Program design methodology, Software development: Stages of software development, Text editor; Assembler, Compiler, Interpreter, Algorithms, Flowcharts, Pseudo codes, ASCII.

Unit IV: Introduction to C : 16 hours

C Basics; variables and constants, The simple data types in C. Operators, Header files, Input and Output statement: Unformatted I/O, Formatted I/O, Type conversion, Loops and Decisions (For loop, while loop, Do while loop, Nested loop Case-break and continue statements, If Else, Else-If and Switch statements), Functions (Variables, Returning a value from a function, Sending a value to a function, Arguments, Preprocessor directives, C libraries, Macros, Header files and proto typing), Recursion.

Unit V: Arrays and Strings : 4 hours

Initializing arrays, Multidimensional arrays, String; functions related to the string.

Unit VI: Structures and Unions : 3 hours

Initializing structures, Nested type structure, Arrays and structures, Unions.

Unit VII: Pointers :  4 hours

Pointer data type, Pointers and Arrays, Pointers and Functions, Pointers and Structures.

Unit VIII: Files and File handling : 5 hours    
Opening and creating a file in different modes (Read, Write and Append).

Text and Reference Books

Basic Text

      Thareja, R. Introduction to C Programming. New Delhi: Oxford University Press.


  1. Kelley, A. & Pohl, I. A Book on C. Singapore: Addison Wesley Longman.
  2. Rajaraman, V.:Computer Programming in C. New Delhi: Prentice-Hall of India.
  3. Balagurusamy, E. Programming in ANSI C. New Delhi: Tata McGraw Hill.
Download Syllabus
  • Short Name C
  • Course code CMP 161
  • Semester First Semester
  • Full Marks 100
  • Pass Marks 45
  • Credit 3 hrs
  • Elective/Compulsary Compulsary