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