Fundamentals of Computer Programming - Syllabus
Embark on a profound academic exploration as you delve into the Fundamentals of Computer Programming course (C-Programming) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-102) 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.
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.
C Tokens, Escape sequence, Delimiters, Variables, Data types, Constants/ Literals, Expressions, Statements and Comments
Arithmetic operator, Relational operator, Logical or Boolean operator, Assignment, Operator, Ternary operator, Bitwise operator, Increment or Decrement operator, Comma operator
Key Topics
-
Branching
CO-101Branching statements are used to control the flow of a program by transferring control to a different part of the program based on a condition. It allows the program to make decisions and change its behavior accordingly.
-
Looping
CO-102Looping statements are used to execute a block of code repeatedly for a specified number of times. It allows the program to perform repetitive tasks with ease.
-
Conditional Statement
CO-103Conditional statements are used to execute different blocks of code based on a condition or predicate. It allows the program to make decisions and take different paths based on the condition.
-
Exit Function
CO-104The exit function is used to terminate the execution of a program. It allows the program to stop executing and return control to the operating system.
-
Difference between Break and Exit
CO-105Break and exit are both used to control the flow of a program, but they have different uses and effects. Break is used to exit a loop or switch statement, while exit is used to terminate the entire program.
Introduction, Declaration of array, Initialization of array, Sorting, Multidimensional array
Library Functions, User defined functions, Recursion, Function declaration, Local and global variables, Use of array in function, Passing by Value, Passing by Address
Key Topics
-
Introduction to Pointers
PO-01Introduction to pointers in C programming, including their importance and basic concepts.
-
Address of (&) and Dereference (*) Operators
PO-02Understanding the use of & and * operators in C programming, including their syntax and examples.
-
Declaring Pointers
PO-03How to declare pointers in C programming, including syntax and best practices.
-
Chain of Pointers
PO-04Understanding the concept of chain of pointers in C programming, including examples and use cases.
-
Pointer Arithmetic
PO-05Performing arithmetic operations on pointers in C programming, including increment, decrement, and more.
-
Pointers and Arrays
PO-06Understanding the relationship between pointers and arrays in C programming, including examples and applications.
-
Pointers and Character Strings
PO-07Working with character strings using pointers in C programming, including examples and best practices.
-
Array of Pointers
PO-08Declaring and working with arrays of pointers in C programming, including examples and use cases.
-
Pointers as Function Arguments
PO-09Passing pointers as arguments to functions in C programming, including syntax and examples.
-
Functions Returning Pointers
PO-10Returning pointers from functions in C programming, including syntax and best practices.
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.
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()
.
Modes, Initialization, Graphics Function