TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Programming in C

C Programming is a foundational programming language that focuses on structured programming and low-level memory management.


SyllabusSkill Roadmap

Select University

TUPUPoUFWU

Select Program

B.Ed. CSBSc. CSIT

TabFlux . Programming Fundamentals and 'C' Programming . FWU . BSc. CSIT

Programming Fundamentals and 'C' Programming

0%

Course Title: Programming Fundamentals and 'C' Programming

Course No: CSIT.115

Nature of the Course: Theory + Lab

Semester: 1

Full Marks: 60 + 20 + 20

Pass Marks: 20 + 10 + 10

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction To Algorithms and C
8 hrs
1.1. Fundamentals of algorithms
  • Notion of an algorithm
  • Pseudo-code conventions like assignment statements and basic control structures
1.2. Algorithmic problems
  • Exchange the values of two variables with and without temporary variable
  • Counting positive numbers from a set of integers
  • Summation of set of numbers
  • Reversing the digits of an integer
  • Find smallest positive divisor of an integer other than 1
  • Find G.C.D. and L.C.M. of two as well as three positive integers
  • Generating prime numbers
1.3. Different approaches in programming
  • Procedural approach
  • Object Oriented approach
  • Event Driven approach
1.4. Structure of C
  • Header and body
  • Use of comments
  • Compilation of program
1.5. Data Concepts
  • Variables
  • Constants
  • data types like: int, float, char, double and void
1.6. Qualifiers
  • Short and long size qualifiers
  • signed and unsigned qualifiers
  • Declaring variables
  • Scope of the variables according to block
  • Hierarchy of data types
2. Basic of C
4 hrs
2.1. Types of operators
  • Arithmetic
  • Relational
  • Logical
  • Compound Assignment
  • Increment and decrement
  • Conditional or ternary
  • Bitwise and Comma operators
  • Precedence and order of evaluation
  • Statements and Expressions
2.2. Type Conversions
  • Automatic and Explicit type conversion
2.3. Data Input and Output function
  • Formatted I/O: printf(), scanf()
  • Character I/O format: getch(), getche(), getchar(), getc(), gets(), putchar(), putc(), puts()
2.4. Iterations
  • Control statements for decision making: (i) Branching: if statement, else.. If statement, switch statement (ii) Looping: while loop, do… while, for loop. (iii) Jump statements: break, continue and goto
3. Arrays, Strings and Sorting Techniques
8 hrs
3.1. Arrays
  • (One and multidimensional)
  • declaring array variables
  • initialization of arrays
  • accessing array elements
3.2. Strings
  • Declaring and initializing String variables
  • Character and string handling functions
3.3. Sorting Algorithms
  • Bubble, Selection, Insertion and Merge sort
  • Efficiency of algorithms
  • Implement using C
4. Functions, Storage Classes and Recursion
8 hrs
4.1. Functions
  • Global and local variables
  • Function definition
  • return statement
  • Calling a function by value
  • Macros in C
  • Difference between functions and macros
4.2. Storage classes
  • Automatic variables
  • External variables
  • Static variables
  • Register variables
4.3. Recursion
  • Definition
  • Recursion function algorithms for factorial, Fibonacci sequence, Tower of Hanoi
  • Implement using C
5. Structure and Union
4 hrs
5.1. Structure
  • Declaration of structure
  • reading and assignment of structure variables
  • Array of structures
  • arrays within structures
  • within structures
  • structures and functions
5.2. Unions
  • Defining and working with union
6. Pointers and File Handling
6 hrs
6.1. Pointer
  • Fundamentals
  • Pointer variables
  • Referencing and dereferencing
  • Pointer Arithmetic
  • Chain of pointers
  • Pointers and Arrays
  • Pointers and Strings
  • Array of Pointers
  • Pointers as function arguments
  • Functions returning pointers
  • Pointer to function
  • Pointer to structure
  • Pointers within structure
6.2. File Handling
  • Different types of files like text and binary
  • Different types of functions fopen(), fclose(), fputc(), fscanf(), fprintf(), getw(), putw(), fread(), fwrite(), fseek()
6.3. Dynamic Memory Allocation
  • malloc(), calloc(), realloc(), free() and size of operator
7. Link Lists
4 hrs
7.1. Linear Link lists
  • Representation of link list in memory
  • Algorithms for traversing a link list
  • searching a particular node in link list
  • insertion into link list (insertion at the beginning of a node, insertion after a given node)
  • deletion from a link list
  • Implement using C
8. Stacks
3 hrs
8.1. Definition
8.2. Array representation of stacks
8.3. Algorithms for basic operators to add and delete an element from the stack
8.4. Implement using C
9. Queues
3 hrs
9.1. Representation of queue
9.2. Algorithm for insertion and deletion of an element in a queue
9.3. Implement using C

Laboratory Works

  1. 1.Assignment to demonstrate use of data types, simple operators (expressions)
  2. 2.Assignment to demonstrate decision making statements (if and if-else, nested structures)
  3. 3.Assignment to demonstrate decision making statements (switch case)
  4. 4.Assignment to demonstrate use of simple loops
  5. 5.Assignment to demonstrate use of nested loops
  6. 6.Assignment to demonstrate menu driven programs
  7. 7.Assignment to demonstrate writing C programs in modular way (use of user defined functions)
  8. 8.Assignment to demonstrate recursive functions
  9. 9.Assignment to demonstrate use of arrays (1-d arrays) and functions
  10. 10.Assignment to demonstrate use of multidimensional array (2-d arrays) and functions
  11. 11.Assignment to demonstrate use of pointers
  12. 12.Assignment to demonstrate concept of strings (string & pointers)
  13. 13.Assignment to demonstrate array of strings
  14. 14.Assignment to demonstrate use of bitwise operators
  15. 15.Assignment to demonstrate structures (using array and functions)
  16. 16.Assignment to demonstrate structures and unions
  17. 17.Assignment to demonstrate command line arguments and pre-processor directives
  18. 18.Assignment to demonstrate file handling (text files)
  19. 19.Assignment to demonstrate file handling (binary files and random access to files)
  20. 20.Assignment to demonstrate graphics using C

Text Books

  1. 1.Introduction to Algorithms (Second Edition): Cormen, Leiserson, Rivest, Stein, PHI (Chapter 1, 2, 3, 10).
  2. 2.Data Structures (Schaum's outline series in computers): Seymour Lipschutz McGraw-Hill book Company (Chapter 2, 5, 6, 9).
  3. 3.Programming in ANSI C (Third Edition): E Balguruswamy TMH (Chapters 2 to 13).

Reference Books

  1. 1.Fundamental Algorithms (Art of Computer Programming Vol. I: Knuth Narosa Publishing House.
  2. 2.Mastering Algorithms with C, Kyle Loudon, Shroff Publishers.
  3. 3.Algorithms in C (Third Edition): Robert Sedgewick, Pearson Education Asia.
  4. 4.Data Structures A Pseudo code Approach with C: Richard F. Gilberg, Behrouz A. Forouzan, Thomas.
  5. 5.Let us C by Yashwant Kanetkar, BPB.
  6. 6.Programming in ANSI C by Ram Kumar, Rakesh Agrawal, TMH.
  7. 7.Programming with C (Second Edition): Byron S. Gottfried. (Adapted by Jitender Kumar Chhabra) Schaum's Outlines (TMH).
  8. 8.Programming with C: K.R. Venugopal, Sudeep R. Prasad TMH Outline Series.
  9. 9.Unix and C: M.D. Bhave and S. A. Pateker, Nandu Printer and publishers private limited.
  10. 10.Deitel, C.: How to Program, 2/e (With CD), Pearson Education.
  11. 11.Al Kelley, Ira Pohl: "A Book on C", Pearson Education.
  12. 12.Brian W. Keringhan & Dennis M. Ritchie: "The C programming Language", PHI.
  13. 13.Bryons S. Gotterfried: "Programming with C," TMH.
  14. 14.Stephen G. Kochan: "Programming in C", CBS publishers & distributors.
  15. 15.Yashavant Kanetkar: "Let us C", BPB Publications.
  16. 16.Herbert Schildt - Complete C Reference.
  17. 17.Forouzan and Gilberg: Structured Programming approach using C, Thomson learning publications.

Notes:

Source:

The course intends to enable the students to be acquainted with the basic concepts of programming methodology, 'C' Programming language.
At the end of this course the students should be able: To develop a programming logic. To teach basic principles of programming. To develop skills for writing programs using 'C'.
Students will have to complete the assigned practical work throughout the semester and Practical examination will be conducted at the end of academic year.
This syllabus follows the official CSIT curriculum of Far Western University. In case of any doubt or revision, the university’s published syllabus shall be considered authoritative.