C Programming - Syllabus

Course Overview and Structure

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

Key Topics

  • Introduction to Programming Language
    PR-01

    This topic introduces the concept of programming languages, their importance, and brief history. It sets the foundation for understanding the basics of programming.

  • Types of Programming Language
    PR-02

    This topic covers the different types of programming languages, including procedural, object-oriented, functional, and scripting languages. It explains the characteristics and uses of each type.

  • Language Processor
    PR-03

    This topic explains the role of a language processor, including compilers, interpreters, and assemblers. It discusses how they translate source code into machine code.

  • Program Errors
    PR-04

    This topic discusses the different types of program errors, including syntax, runtime, and logical errors. It explains how to identify, debug, and fix errors.

  • Features of Good Program
    PR-05

    This topic outlines the characteristics of a good program, including readability, maintainability, efficiency, and reliability. It provides guidelines for writing good programs.

  • Different Programming Paradigm
    PR-06

    This topic explores different programming paradigms, including procedural, object-oriented, functional, and declarative programming. It explains the principles and applications of each paradigm.

  • Software Development Life Cycle
    PR-07

    This topic covers the stages involved in the software development life cycle, including planning, analysis, design, implementation, testing, and maintenance. It explains the importance of each stage.

  • System Design Tools
    PR-08

    This topic introduces various system design tools, including flowcharts, data flow diagrams, and UML diagrams. It explains how to use these tools to design and develop software systems.

Key Topics

  • Introduction to Programming Language
    PR-01

    This topic introduces the concept of programming languages, their importance, and brief history. It sets the foundation for understanding the basics of programming.

  • Types of Programming Language
    PR-02

    This topic covers the different types of programming languages, including procedural, object-oriented, functional, and scripting languages. It explains the characteristics and uses of each type.

  • Language Processor
    PR-03

    This topic explains the role of a language processor, including compilers, interpreters, and assemblers. It discusses how they translate source code into machine code.

  • Program Errors
    PR-04

    This topic discusses the different types of program errors, including syntax, runtime, and logical errors. It explains how to identify, debug, and fix errors.

  • Features of Good Program
    PR-05

    This topic outlines the characteristics of a good program, including readability, maintainability, efficiency, and reliability. It provides guidelines for writing good programs.

  • Different Programming Paradigm
    PR-06

    This topic explores different programming paradigms, including procedural, object-oriented, functional, and declarative programming. It explains the principles and applications of each paradigm.

  • Software Development Life Cycle
    PR-07

    This topic covers the stages involved in the software development life cycle, including planning, analysis, design, implementation, testing, and maintenance. It explains the importance of each stage.

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

Key Topics

  • Memory Read
    BA-01

    Memory Read operation involves retrieving data from memory locations. It is a fundamental operation in microprocessor-based systems.

  • Memory Write
    BA-02

    Memory Write operation involves storing data in memory locations. It is a crucial operation in microprocessor-based systems.

  • I/O Read
    BA-03

    I/O Read operation involves retrieving data from input/output devices. It enables the microprocessor to interact with the external environment.

  • I/O Write
    BA-04

    I/O Write operation involves sending data to input/output devices. It enables the microprocessor to interact with the external environment.

  • Direct Memory Access
    BA-05

    Direct Memory Access (DMA) is a technique that allows peripheral devices to access system memory directly, reducing the microprocessor's workload.

  • Interrupt
    BA-06

    An interrupt is a signal to the microprocessor that an event has occurred, requiring immediate attention. It enables the microprocessor to handle asynchronous events.

  • Types of Interrupts
    BA-07

    There are different types of interrupts, including maskable and non-maskable interrupts, which vary in their priority and handling by the microprocessor.

  • Interrupt Masking
    BA-08

    Interrupt Masking is a technique that enables the microprocessor to temporarily ignore or mask interrupts, allowing it to focus on high-priority tasks.

  • Non-Overlapping Lists
    BA-09

    Non-overlapping lists are used in some retrieval models to improve the efficiency of retrieval by reducing the number of documents to be ranked.

  • Proximal Nodes Mode
    BA-10

    The proximal nodes mode is a retrieval model that uses the proximity of terms in a document to improve the retrieval of relevant documents.

  • Performing CDB and PDB Flashback
    BA-11

    Understanding flashback technology, including performing flashback on Container Database (CDB) and Pluggable Database (PDB).

  • Escape Sequences in C
    BA-12

    Using escape sequences in C programming to represent special characters.

  • Preprocessor Directives
    BA-13

    Introduction to preprocessor directives in C, including #include, #define, and #ifdef.

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. 

Key Topics

  • Nature of Internship
    CO-1

    The internship work should be relevant to the field of computer science and information technology, with a minimum duration of 180 hours or ten weeks.

  • Phases of Internship
    CO-2

    The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.

  • Provision of Supervision
    CO-3

    A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.

  • Provision of Mentorship
    CO-4

    A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.

  • Evaluation Scheme
    CO-5

    The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.

Key Topics

  • Architectural Styles
    AR-1

    This topic covers different architectural styles used in designing distributed systems, including their characteristics and trade-offs.

  • Middleware Organization
    AR-2

    This topic explores the organization and design of middleware in distributed systems, including its role in enabling communication and coordination between components.

  • System Architecture
    AR-3

    This topic delves into the overall system architecture of distributed systems, including the relationships and interactions between components and subsystems.

  • Example Architectures
    AR-4

    This topic provides concrete examples of distributed system architectures, illustrating how different architectural styles and middleware organizations are applied in real-world systems.

  • Character Arrays and Strings
    AR-5

    This topic introduces character arrays and strings in C programming, including their declaration and manipulation.

  • Reading and Writing Strings
    AR-6

    This topic explains how to read and write strings in C programming.

  • Null Character
    AR-7

    This topic covers the null character in C programming, including its role in string termination.

  • String Library Functions
    AR-8

    This topic covers the various string library functions in C programming, including string length, string copy, string concatenation, and string comparison.

  • String Handling
    AR-9

    Working with strings in C programming, including operations and functions.

Key Topics

  • Introduction to AWT and Swing
    US-1

    This topic introduces the concept of AWT, compares AWT with Swing, and covers Java Applets, Applet Life Cycle, Swing Class Hierarchy, and Component and Containers.

  • Layout Management
    US-2

    This topic covers various layout management techniques including No Layout, Flow layout, Border Layout, Grid Layout, Gridbag Layout, and Group Layout.

  • GUI Controls
    US-3

    This topic explores various GUI controls such as Text Fields, Password Fields, Text Areas, Scroll Pane, Labels, Check Boxes, Radio Buttons, Borders, Combo Boxes, and Sliders.

  • Menu and Toolbar Management
    US-4

    This topic covers menu and toolbar management including Menu, Menu Item, Icons in Menu Items, Check Box and Radio Buttons in Menu Items, Pop-up Menus, Keyboard Mnemonics and Accelerators, Enabling and Disabling Menu Items, and Toolbars.

  • Option Dialogs and Frames
    US-5

    This topic discusses option dialogs, creating dialogs, File Choosers, Color Choosers, Internal Frames, Frames, Tables, Trees, and Tables.

  • Dialog Boxes
    US-6

    Creating and customizing dialog boxes, including option dialogs, file choosers, and color choosers.

  • Components Organizers
    US-7

    Organizing components using Split Panes, Tabbed Panes, Desktop Panes, Internal Frames, and cascading and tiling.

  • Advance Swing Components
    US-8

    Exploring advanced Swing components including List, Trees, Tables, and Progress Bars.

  • Macros
    US-9

    This topic covers the concept of macros in C programming, including how to define and use macros to simplify code.

  • Storage Class
    US-10

    This topic explains the concept of storage class in C programming, including the different types of storage classes and their use cases.

 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.

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.

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.

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

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.