C Programming - Syllabus
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-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.
-
Pure vs Partial E-commerce
IN-4Types of E-commerce models and their applications.
-
History of E-commerce
IN-5Evolution and development of E-commerce over time.
Key Topics
-
E-payment System
EL-1Overview of electronic payment systems, including their types and applications in e-commerce.
-
Online Credit Card Transaction
EL-2The process and security measures involved in online credit card transactions.
-
Online Stored Value Payment System
EL-3A payment system that stores value electronically, allowing users to make payments online.
-
Digital and Mobile Wallet
EL-4Electronic wallets that store payment information and allow users to make transactions online or through mobile devices.
-
Smart Cards
EL-5A type of card that stores and processes data, often used for secure online transactions.
-
Social/Mobile Peer-to-Peer Payment Systems
EL-6Payment systems that enable individuals to send and receive payments through social media or mobile devices.
-
Digital Cash/e-cash
EL-7A digital equivalent of physical cash, allowing for anonymous and secure online transactions.
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.
-
Pure vs Partial E-commerce
IN-4Types of E-commerce models and their applications.
-
History of E-commerce
IN-5Evolution and development of E-commerce over time.
-
E-commerce Framework
IN-6Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.
-
Types of E-commerce
IN-7Overview 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-8Common obstacles and difficulties faced in E-commerce.
-
Status of E-commerce in Nepal
IN-9Current state and trends of E-commerce in Nepal.
-
Overview of Electronic Transaction Act of Nepal
IN-10Understanding the legal framework governing E-commerce in Nepal.
Key Topics
-
Search Engine Optimization
OP-1Understanding 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-2In-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-3Optimizing individual web pages to improve search engine rankings. This includes techniques such as keyword optimization, meta tags, and content optimization.
-
Off Page SEO
OP-4Building a website's reputation and authority through external factors such as backlinks, social media, and online reputation management.
-
Page Ranks
OP-5Understanding how search engines rank web pages and the factors that influence page ranking. This includes understanding Google's PageRank algorithm.
-
Using Google Analytics
OP-6Understanding how to use Google Analytics to track website traffic, behavior, and conversion rates to inform e-commerce optimization decisions.
-
Social Media Analytics
OP-7Understanding how to use social media analytics to track engagement, sentiment, and conversion rates to inform e-commerce optimization decisions.
-
Recommendation Systems
OP-8Understanding how recommendation systems work and how they can be used in e-commerce to personalize customer experiences and improve sales.
-
Collaborative Recommendation Systems
OP-9Understanding how collaborative recommendation systems work, including user-based and item-based collaborative filtering.
-
Content-Based Recommendation Systems
OP-10Understanding how content-based recommendation systems work, including feature-based and knowledge-based systems.
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.
-
Report Contents
CO-6The internship report should contain prescribed content flow, including introduction, problem statement, objectives, and references.
-
Citation and Referencing
CO-7The citation and referencing standard should be APA referencing standard, with proper citation and referencing in the document.
-
Report Format Standards
CO-8The 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-9The 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-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.
Key Topics
-
Introduction to Functions
FU-1Definition, domain, and range of functions. Understanding the concept of functions and their representations.
-
Graphs of Functions
FU-2Understanding the graphical representation of functions, including the vertical line test and piecewise defined functions.
-
Types of Functions
FU-3Introduction to common functions including linear, power, polynomial, and rational functions.
-
Combining Functions
FU-4Shifting and scaling graphs, sums, differences, products, and quotients of functions, and composite functions.
-
Graphing with Technology
FU-5Using calculators and computers to plot graphs of functions.
-
Exponential Functions
FU-6Definition, exponential behavior, and exponential growth and decay.
-
Inverse Functions and Logarithms
FU-7Understanding inverse functions and logarithms.
-
Rate of Change and Tangent to Curves
FU-8Understanding the rate of change and tangent to curves.
-
Graphs of Functions
FU-9This 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-10This topic covers how to pass command-line arguments to the main function.
-
External Functions and Variables
FU-11This topic explains how to use external functions and variables in C programming.
-
Header Files
FU-12This topic covers the use of header files in C programming to declare functions and variables.
-
Static Variables
FU-13This topic explains the concept of static variables and how they are used in C programming.
-
Register Variables
FU-14This topic covers the use of register variables in C programming to optimize performance.
Key Topics
-
Relational Model Concepts
TH-1This 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-2This 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-3This topic discusses the concept of relational database schemas, including relational database state, entity integrity, referential integrity, and foreign keys.
-
Update Operations and Transactions
TH-4This 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-5This 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-6Defining the structure and constraints of XML documents using XML Schema.
-
Simple and Complex Types
TH-7Understanding simple and complex data types in XML Schema.
-
XSD Attributes
TH-8Using attributes in XML Schema to provide additional information.
-
Default and Fixed Values
TH-9Specifying default and fixed values for elements and attributes in XML Schema.
-
Facets
TH-10Restricting data types using facets in XML Schema.
-
Patterns and Order Indicators
TH-11Using patterns and order indicators (all, choice, sequence) to define element relationships.
-
Occurrence Indicators
TH-12Specifying the occurrence of elements using maxOccurs and minOccurs indicators.
-
DTD (Internal, Private External, Public External)
TH-13Understanding Document Type Definitions (DTD) and their types.
-
Defining Elements and Attributes in DTD
TH-14Declaring elements and attributes in a DTD.
-
XSL/XSLT
TH-15Transforming and formatting XML documents using XSL and XSLT.
Key Topics
-
Introduction to Pointers
PO-1Introduction to pointers, including declaration and initialization of pointer variables. Understanding the concept of pointers in C programming.
-
Pointer Basics
PO-2Understanding the concepts of address, reference, dereference, and the sizeof operator in the context of pointers.
-
NULL Pointers
PO-3Understanding the concept of a pointer to nothing (NULL) and its significance in C programming.
-
Pointer Assignment
PO-4Learning how to assign values to pointers and understanding the implications of pointer assignment.
-
Pointer Arithmetic
PO-5Understanding how to perform arithmetic operations on pointers and the rules that govern pointer arithmetic.
-
Pointers as Function Arguments
PO-6Learning how to pass pointers as arguments to functions and understanding the implications of doing so.
-
Pointers as Return Values
PO-7Understanding how to return pointers from functions and the implications of doing so.
-
Pointers vs. Arrays
PO-8Comparing and contrasting pointers and arrays in C programming, including their similarities and differences.
-
Dynamic Memory Allocation
PO-9Learning how to dynamically allocate memory using pointers and understanding the implications of dynamic memory allocation.
Key Topics
-
State Management on Stateless HTTP
ST-1Understanding state management in stateless HTTP protocol and its implications on ASP.NET Core application development.
-
Server-side Strategies
ST-2Exploring server-side strategies for state management in ASP.NET Core applications, including Session State, TempData, and Using HttpContext.
-
Session State
ST-3Using Session State to store and manage user data in ASP.NET Core applications.
-
TempData
ST-4Using TempData to store and manage temporary data in ASP.NET Core applications.
-
Using HttpContext
ST-5Using HttpContext to access and manage HTTP request and response data in ASP.NET Core applications.
-
Cache
ST-6Using Cache to store and manage frequently accessed data in ASP.NET Core applications.
-
Client-side Strategies
ST-7Exploring client-side strategies for state management in ASP.NET Core applications, including Cookies, Query Strings, and Hidden Fields.
-
Cookies
ST-8Using Cookies to store and manage user data on the client-side in ASP.NET Core applications.
Key Topics
-
File Concept
FI-1Understanding the concept of a file and its importance in C programming.
-
File Operations
FI-2Opening, closing, naming, and basic operations on files in C.
-
File Input/Output
FI-3Reading data from and writing data to a file in C, including functions such as fgetc(), fputc(), fprintf(), and fscanf().
-
Random Access in Files
FI-4Using functions ftell(), fseek(), and rewind() to access and manipulate file pointers in C.
-
Error Handling in Files
FI-5Detecting and handling errors in file operations using feof() and ferror() functions in C.
-
Raw Input/Output
FI-6Learning about raw input/output operations using functions such as
fread()
andfwrite()
. -
Random Access to Files
FI-7Understanding how to perform random access to files in C programming.
Lab works