Course Description
This course includes both theoretical as well as practical concept of programming. Practical skill of programming are provided using C language which includes basic concept of C, operators and expressions, basic input/output function, control structures, array & string, function, pointer, structure and union, file handling and graphics in C.
Course Objectives
The general objectives of this course are to provide fundamental concepts of programming language, programming technique and program development using C programming language.
Course Contents
Introduction to Programming Language, Types of Programming Language, Language Processor, Program Errors, Features of Good Program, Different Programming Paradigm, Software Development Model, Program Development Life Cycle, System Design Tools.
Introduction to Programming Technique, Top down & Bottom up Approach, Cohesion and Coupling, Structured Programming, Deterministic and Non-deterministic Technique, Iterative and Recursive Logic, Modular Designing & Programming.
Introduction, History, Features, Advantages and Disadvantages, Structure of C program, Compiling Process, C Preprocessor and Header Files, Library Function, Character Set, Comments, Tokens and its types, Data types, Escape Sequences, Preprocessors Directives.
Arithmetic Operator, Relational Operator, Logical Operator, Assignment Operator, Increment/decrement Operator, Conditional Operator, Bitwise Operator, Comma Operator, Sized Operator, Operator, Precedence and Associativity, Expressions and its Evaluation, Type Casting in Expression, Program Statement.
Input/Output Operation, Formatted I/O (scanf, printf), Unformatted I/O (getch-putch, getche, getchar-putchar and gets-puts)
Introduction, Type of Control Structure (Branching: if, if else, if elseif and switch case, Looping: while, do while and for and Jumping: goto, break and continue), Nested Control Structure.
Introduction, Declaration, Initialization, One Dimensional Array, Multi Dimensional Array, Sorting (Bubble, Selection), Searching Sequential), String Handling.
Introduction, Components, Function Parameters, Library Function vs. Users Defined Function, Different Forms of Function, Recursion, Passing Array to Function, Passing String to Function, Accessing a function (Call By Value & Call By Reference), Macros, Storage Class.
Introduction, The Address(&) and Indirection(*) Operators, Declaration & Initialization, Pointer to Pointer, Pointer Expressions, Pointer Arithmetic, Passing Pointer to a Function, Pointer and Array, Array of Pointer, Pointer and String, Dynamic Memory Allocation.
Introduction, Declaration, Initialization, Nested Structure, Array of structure, Array within Structure, Passing Structure & Array of Structure to function, Structure & Pointer, Bit Fields, Union and Its Importance, Structure vs. Union.
Introduction, Types of File, Opening & Closing Data File, Read & Write Function, Writing & Reading Data To and From Data File, Updating Data File, Random Accessing Files, Printing a File.
Initialization, Graphical Mode, Graphical Functions.
Laboratory Works
Laboratory works should be done covering all the topics listed above and a small project work should be carried out using the concept learnt in this course only. Project should be assigned on individual basis.
Teaching Methods
The general teaching pedagogy includes class lectures, group discussions, case studies, guest lectures, research work, project work, assignments (theoretical and practical), and examinations (written and verbal), depending upon the nature of the topics. The teaching faculty will determine the choice of teaching pedagogy as per the need of the topics.