Fundamentals of Computer Programming - Syllabus

Course Overview and Structure

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.


Course Synopsis:   This course contains the concepts of programming methodology using C.
Goal: This course is designed to familiarize students to the techniques of programming in C.

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.

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-101

    Branching 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-102

    Looping 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-103

    Conditional 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-104

    The 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-105

    Break 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-01

    Introduction to pointers in C programming, including their importance and basic concepts.

  • Address of (&) and Dereference (*) Operators
    PO-02

    Understanding the use of & and * operators in C programming, including their syntax and examples.

  • Declaring Pointers
    PO-03

    How to declare pointers in C programming, including syntax and best practices.

  • Chain of Pointers
    PO-04

    Understanding the concept of chain of pointers in C programming, including examples and use cases.

  • Pointer Arithmetic
    PO-05

    Performing arithmetic operations on pointers in C programming, including increment, decrement, and more.

  • Pointers and Arrays
    PO-06

    Understanding the relationship between pointers and arrays in C programming, including examples and applications.

  • Pointers and Character Strings
    PO-07

    Working with character strings using pointers in C programming, including examples and best practices.

  • Array of Pointers
    PO-08

    Declaring and working with arrays of pointers in C programming, including examples and use cases.

  • Pointers as Function Arguments
    PO-09

    Passing pointers as arguments to functions in C programming, including syntax and examples.

  • Functions Returning Pointers
    PO-10

    Returning pointers from functions in C programming, including syntax and best practices.

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.

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().

Modes, Initialization, Graphics Function