C Programming - Syllabus

Embark on a profound academic exploration as you delve into the C Programming course (C) within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS151) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60 + 20 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.

This 4 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.


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.

Units

Programming Language

Introduction to Programming Language, Types of Programming Language, Language Processor, Program Errors, Features of Good Program, Different Programming Paradigm, Software Development Life Cycle, System Design Tools. 


Programming Technique

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.


Basic concept of C
Introduction, History, Features, Advantages and Disadvantages, Structure of C program, C Preprocessor and Header Files, Library Function, Character Set, Comments, Tokens and its types, Data types, Escape Sequences, Prepocessors Directives.
Input and Output

Input/Output Operation, Formatted  I/O (scanf, printf), Unformatted I/O (getchputch, getche, getchar-putchar and gets-puts)


Operators and Expressions

Arithmetic Operator, Relational Operator, Logical Operator, Assignment Operator, Increment/decrement Operator, Conditional Operator, Bitwise Operator, Comma Operator, Size of Operator, Operator Precedence and Associativity, Expressions and its Evaluation, Type Casting in Expression, Program Statement. 


Control Structure

Introduction, Types 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.


Array

Introduction, Declaration, Initialization, One Dimentional Array, Multi Dimentional Array, Sorting(Bubble, Selection) Searching Sequential, String Handling.


User Defined Function

Introduction, Components, Function Parameters, Library function vs. Users Defined Function, Recursion, Passing Array to Function, Passing String to Function, Accessing a Function(Call By Value & Call By Reference), Macros, Storage Class.


Pointer

 Introduction, The Adress(&) 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.


Structure

Introduction, Declaration, Initialization, Nested Structure, Array of Structure, Array within Structure, Passing Structure & Array Structure to function, Structure & Pointer, Bit Fields, Union and Its Importance, Structure vs. Union.


Data File Handling

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.


Introduction to Graphics

Intialization, Graphical Mode, Graphical Functions.


Lab works

Laboratory Works 

Laboratory works should he done covering all the topics listed above and a small project work should be carried out using the concept learnt in this c 'use only. Project should be assigned on individual basis.