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
Key Topics
-
Introduction to Programming Language
PR-01This 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-02This 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-03This 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-04This 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-05This 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-06This 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-07This 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-08This 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-01This 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-02This 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-03This 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-04This 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-05This 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-06This 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-07This 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-1Overview of E-commerce and its significance in the digital age.
-
E-business vs E-commerce
IN-2Understanding the differences between E-business and E-commerce.
-
Features of E-commerce
IN-3Key characteristics and benefits of E-commerce.
Key Topics
-
Memory Read
BA-01Memory Read operation involves retrieving data from memory locations. It is a fundamental operation in microprocessor-based systems.
-
Memory Write
BA-02Memory Write operation involves storing data in memory locations. It is a crucial operation in microprocessor-based systems.
-
I/O Read
BA-03I/O Read operation involves retrieving data from input/output devices. It enables the microprocessor to interact with the external environment.
-
I/O Write
BA-04I/O Write operation involves sending data to input/output devices. It enables the microprocessor to interact with the external environment.
-
Direct Memory Access
BA-05Direct Memory Access (DMA) is a technique that allows peripheral devices to access system memory directly, reducing the microprocessor's workload.
-
Interrupt
BA-06An 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-07There are different types of interrupts, including maskable and non-maskable interrupts, which vary in their priority and handling by the microprocessor.
-
Interrupt Masking
BA-08Interrupt 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-09Non-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-10The 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-11Understanding flashback technology, including performing flashback on Container Database (CDB) and Pluggable Database (PDB).
-
Escape Sequences in C
BA-12Using escape sequences in C programming to represent special characters.
-
Preprocessor Directives
BA-13Introduction 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-1The 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-2The internship evaluation consists of three phases: Proposal Submission, Mid-Term Submission, and Final Submission.
-
Provision of Supervision
CO-3A regular faculty member of the college is assigned as a supervisor to supervise the students throughout the internship period.
-
Provision of Mentorship
CO-4A regular employee of the intern providing organization is assigned as a mentor to guide the students throughout the internship period.
-
Evaluation Scheme
CO-5The evaluation scheme consists of Proposal Defense, Midterm, and Final Defense, with a total of 200 marks.
Key Topics
-
Architectural Styles
AR-1This topic covers different architectural styles used in designing distributed systems, including their characteristics and trade-offs.
-
Middleware Organization
AR-2This topic explores the organization and design of middleware in distributed systems, including its role in enabling communication and coordination between components.
-
System Architecture
AR-3This topic delves into the overall system architecture of distributed systems, including the relationships and interactions between components and subsystems.
-
Example Architectures
AR-4This 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-5This topic introduces character arrays and strings in C programming, including their declaration and manipulation.
-
Reading and Writing Strings
AR-6This topic explains how to read and write strings in C programming.
-
Null Character
AR-7This topic covers the null character in C programming, including its role in string termination.
-
String Library Functions
AR-8This topic covers the various string library functions in C programming, including string length, string copy, string concatenation, and string comparison.
-
String Handling
AR-9Working with strings in C programming, including operations and functions.
Key Topics
-
Introduction to AWT and Swing
US-1This 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-2This topic covers various layout management techniques including No Layout, Flow layout, Border Layout, Grid Layout, Gridbag Layout, and Group Layout.
-
GUI Controls
US-3This 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-4This 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-5This topic discusses option dialogs, creating dialogs, File Choosers, Color Choosers, Internal Frames, Frames, Tables, Trees, and Tables.
-
Dialog Boxes
US-6Creating and customizing dialog boxes, including option dialogs, file choosers, and color choosers.
-
Components Organizers
US-7Organizing components using Split Panes, Tabbed Panes, Desktop Panes, Internal Frames, and cascading and tiling.
-
Advance Swing Components
US-8Exploring advanced Swing components including List, Trees, Tables, and Progress Bars.
-
Macros
US-9This topic covers the concept of macros in C programming, including how to define and use macros to simplify code.
-
Storage Class
US-10This 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-1Overview of E-commerce and its significance in the digital age.
-
E-business vs E-commerce
IN-2Understanding the differences between E-business and E-commerce.
-
Features of E-commerce
IN-3Key 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.