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 BIT department. Aligned with the BIT Curriculum, this course (BIT102) 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 3 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 familiarizes students with basic principles of programming. It introduces structured

programming paradigm using a high level language called C. It covers the concept of problem

solving techniques, program design, and basic elements of C along with the detailed concept of

operators, statements, arrays, functions, pointers, structures and file handling.

Course Objective:

The main objective of this course is to acquaint the students with good program design through

structured programming paradigm for developing program for specific tasks using C Programming

Language as well as to present the syntax and semantics of the C language

Units

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.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

Key Topics

  • E-payment System
    EL-1

    Overview of electronic payment systems, including their types and applications in e-commerce.

  • Online Credit Card Transaction
    EL-2

    The process and security measures involved in online credit card transactions.

  • Online Stored Value Payment System
    EL-3

    A payment system that stores value electronically, allowing users to make payments online.

  • Digital and Mobile Wallet
    EL-4

    Electronic wallets that store payment information and allow users to make transactions online or through mobile devices.

  • Smart Cards
    EL-5

    A type of card that stores and processes data, often used for secure online transactions.

  • Social/Mobile Peer-to-Peer Payment Systems
    EL-6

    Payment systems that enable individuals to send and receive payments through social media or mobile devices.

  • Digital Cash/e-cash
    EL-7

    A digital equivalent of physical cash, allowing for anonymous and secure online transactions.

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.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

  • E-commerce Framework
    IN-6

    Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.

  • Types of E-commerce
    IN-7

    Overview of different types of E-commerce including B2C, B2B, C2B, C2C, M-Commerce, U-commerce, Social-Ecommerce, and Local E-commerce.

  • Challenges in E-commerce
    IN-8

    Common obstacles and difficulties faced in E-commerce.

  • Status of E-commerce in Nepal
    IN-9

    Current state and trends of E-commerce in Nepal.

  • Overview of Electronic Transaction Act of Nepal
    IN-10

    Understanding the legal framework governing E-commerce in Nepal.

Key Topics

  • Search Engine Optimization
    OP-1

    Understanding how to optimize e-commerce systems for search engines to improve visibility and drive traffic. This includes understanding how search engines work and techniques to improve search engine rankings.

  • Working Mechanism of Search Engines
    OP-2

    In-depth understanding of how search engines crawl, index, and retrieve data to provide search results. This topic covers the inner workings of search engines.

  • On Page SEO
    OP-3

    Optimizing individual web pages to improve search engine rankings. This includes techniques such as keyword optimization, meta tags, and content optimization.

  • Off Page SEO
    OP-4

    Building a website's reputation and authority through external factors such as backlinks, social media, and online reputation management.

  • Page Ranks
    OP-5

    Understanding how search engines rank web pages and the factors that influence page ranking. This includes understanding Google's PageRank algorithm.

  • Using Google Analytics
    OP-6

    Understanding how to use Google Analytics to track website traffic, behavior, and conversion rates to inform e-commerce optimization decisions.

  • Social Media Analytics
    OP-7

    Understanding how to use social media analytics to track engagement, sentiment, and conversion rates to inform e-commerce optimization decisions.

  • Recommendation Systems
    OP-8

    Understanding how recommendation systems work and how they can be used in e-commerce to personalize customer experiences and improve sales.

  • Collaborative Recommendation Systems
    OP-9

    Understanding how collaborative recommendation systems work, including user-based and item-based collaborative filtering.

  • Content-Based Recommendation Systems
    OP-10

    Understanding how content-based recommendation systems work, including feature-based and knowledge-based systems.

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.

  • Report Contents
    CO-6

    The internship report should contain prescribed content flow, including introduction, problem statement, objectives, and references.

  • Citation and Referencing
    CO-7

    The citation and referencing standard should be APA referencing standard, with proper citation and referencing in the document.

  • Report Format Standards
    CO-8

    The report format standards include page number, page size and margin, paragraph style, text font, section headings, figures and tables.

  • Final Report Binding and Submission
    CO-9

    The final report should be submitted in three copies, with a golden embracing and black binding, to the Dean Office, Exam Section, Institute of Science and Technology, Tribhuvan University.

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.

Key Topics

  • Introduction to Functions
    FU-1

    Definition, domain, and range of functions. Understanding the concept of functions and their representations.

  • Graphs of Functions
    FU-2

    Understanding the graphical representation of functions, including the vertical line test and piecewise defined functions.

  • Types of Functions
    FU-3

    Introduction to common functions including linear, power, polynomial, and rational functions.

  • Combining Functions
    FU-4

    Shifting and scaling graphs, sums, differences, products, and quotients of functions, and composite functions.

  • Graphing with Technology
    FU-5

    Using calculators and computers to plot graphs of functions.

  • Exponential Functions
    FU-6

    Definition, exponential behavior, and exponential growth and decay.

  • Inverse Functions and Logarithms
    FU-7

    Understanding inverse functions and logarithms.

  • Rate of Change and Tangent to Curves
    FU-8

    Understanding the rate of change and tangent to curves.

  • Graphs of Functions
    FU-9

    This topic explores the different types of graphs of functions, including their shapes, maxima, and minima, and how to analyze them.

  • Parameterizing the Main Function
    FU-10

    This topic covers how to pass command-line arguments to the main function.

  • External Functions and Variables
    FU-11

    This topic explains how to use external functions and variables in C programming.

  • Header Files
    FU-12

    This topic covers the use of header files in C programming to declare functions and variables.

  • Static Variables
    FU-13

    This topic explains the concept of static variables and how they are used in C programming.

  • Register Variables
    FU-14

    This topic covers the use of register variables in C programming to optimize performance.

Key Topics

  • Relational Model Concepts
    TH-1

    This topic covers the fundamental concepts of the relational model, including domains, attributes, tuples, and relations, as well as the characteristics of relations.

  • Relational Model Constraints
    TH-2

    This topic explores the different types of constraints in the relational model, including domain constraints, key constraints, and constraints on null values.

  • Relational Database Schemas
    TH-3

    This topic discusses the concept of relational database schemas, including relational database state, entity integrity, referential integrity, and foreign keys.

  • Update Operations and Transactions
    TH-4

    This topic covers update operations, transactions, and how to deal with constraint violations, including insert, delete, and update operations, as well as restrict, cascade, set null, and set default.

  • Basic Relational Algebra Operations
    TH-5

    This topic introduces basic relational algebra operations, including unary operations (select, project, rename) and binary operations (set theory, Cartesian product, join, and outer join).

  • XML Schema
    TH-6

    Defining the structure and constraints of XML documents using XML Schema.

  • Simple and Complex Types
    TH-7

    Understanding simple and complex data types in XML Schema.

  • XSD Attributes
    TH-8

    Using attributes in XML Schema to provide additional information.

  • Default and Fixed Values
    TH-9

    Specifying default and fixed values for elements and attributes in XML Schema.

  • Facets
    TH-10

    Restricting data types using facets in XML Schema.

  • Patterns and Order Indicators
    TH-11

    Using patterns and order indicators (all, choice, sequence) to define element relationships.

  • Occurrence Indicators
    TH-12

    Specifying the occurrence of elements using maxOccurs and minOccurs indicators.

  • DTD (Internal, Private External, Public External)
    TH-13

    Understanding Document Type Definitions (DTD) and their types.

  • Defining Elements and Attributes in DTD
    TH-14

    Declaring elements and attributes in a DTD.

  • XSL/XSLT
    TH-15

    Transforming and formatting XML documents using XSL and XSLT.

Key Topics

  • Introduction to Pointers
    PO-1

    Introduction to pointers, including declaration and initialization of pointer variables. Understanding the concept of pointers in C programming.

  • Pointer Basics
    PO-2

    Understanding the concepts of address, reference, dereference, and the sizeof operator in the context of pointers.

  • NULL Pointers
    PO-3

    Understanding the concept of a pointer to nothing (NULL) and its significance in C programming.

  • Pointer Assignment
    PO-4

    Learning how to assign values to pointers and understanding the implications of pointer assignment.

  • Pointer Arithmetic
    PO-5

    Understanding how to perform arithmetic operations on pointers and the rules that govern pointer arithmetic.

  • Pointers as Function Arguments
    PO-6

    Learning how to pass pointers as arguments to functions and understanding the implications of doing so.

  • Pointers as Return Values
    PO-7

    Understanding how to return pointers from functions and the implications of doing so.

  • Pointers vs. Arrays
    PO-8

    Comparing and contrasting pointers and arrays in C programming, including their similarities and differences.

  • Dynamic Memory Allocation
    PO-9

    Learning how to dynamically allocate memory using pointers and understanding the implications of dynamic memory allocation.

Key Topics

  • State Management on Stateless HTTP
    ST-1

    Understanding state management in stateless HTTP protocol and its implications on ASP.NET Core application development.

  • Server-side Strategies
    ST-2

    Exploring server-side strategies for state management in ASP.NET Core applications, including Session State, TempData, and Using HttpContext.

  • Session State
    ST-3

    Using Session State to store and manage user data in ASP.NET Core applications.

  • TempData
    ST-4

    Using TempData to store and manage temporary data in ASP.NET Core applications.

  • Using HttpContext
    ST-5

    Using HttpContext to access and manage HTTP request and response data in ASP.NET Core applications.

  • Cache
    ST-6

    Using Cache to store and manage frequently accessed data in ASP.NET Core applications.

  • Client-side Strategies
    ST-7

    Exploring client-side strategies for state management in ASP.NET Core applications, including Cookies, Query Strings, and Hidden Fields.

  • Cookies
    ST-8

    Using Cookies to store and manage user data on the client-side in ASP.NET Core applications.

Key Topics

  • File Concept
    FI-1

    Understanding the concept of a file and its importance in C programming.

  • File Operations
    FI-2

    Opening, closing, naming, and basic operations on files in C.

  • File Input/Output
    FI-3

    Reading data from and writing data to a file in C, including functions such as fgetc(), fputc(), fprintf(), and fscanf().

  • Random Access in Files
    FI-4

    Using functions ftell(), fseek(), and rewind() to access and manipulate file pointers in C.

  • Error Handling in Files
    FI-5

    Detecting and handling errors in file operations using feof() and ferror() functions in C.

  • Raw Input/Output
    FI-6

    Learning about raw input/output operations using functions such as fread() and fwrite().

  • Random Access to Files
    FI-7

    Understanding how to perform random access to files in C programming.

Lab works