DotNet Technology - Syllabus

Course Overview and Structure

Embark on a profound academic exploration as you delve into the DotNet Technology course (.NET) within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS302) 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 covers different concepts of .NET framework. It also covers basic to advanced features of C# language including language basics, creating types and inheritance, delegates, events, lambda expressions, LINQ, working with databases, and developing web applications using ASP.NET.

Course Objectives:

The primary objective of this course is to provide concepts of .NET framework and different concepts of C# programming language and make students familiar with their uses and applications.


Units

Key Topics

  • .NET and ASP.NET Frameworks
    IN-001

    Overview of .NET and ASP.NET frameworks including .NET, .NET Core, Mono, ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web API, and ASP.NET Core.

  • .NET Architecture and Design Principles
    IN-002

    Fundamentals of .NET architecture and design principles that guide the development of .NET applications.

  • Compilation and Execution of .NET Applications
    IN-003

    How .NET applications are compiled and executed, including the roles of CLI, MSIL, and CLR.

  • .NET Core in Detail
    IN-004

    In-depth exploration of .NET Core, including its features, benefits, and use cases.

  • .NET CLI
    IN-005

    Using .NET CLI to build, run, test, and deploy .NET Core applications, including its commands and options.

  • Integrated Windows Authentication
    IN-006

    Authenticating users using their Windows login credentials.

  • Cookies
    IN-007

    Storing small pieces of data on a user's device to track their interactions with a web application.

  • File Handling
    IN-008

    Managing files on a web server, including uploading, downloading, and manipulating files.

  • Form Handling
    IN-009

    Processing and validating user input from HTML forms in a web application.

  • Storyboard and View Controllers
    IN-010

    Using storyboards to design user interfaces and understanding view controllers.

Key Topics

  • Facets
    TH-10

    Restricting data types using facets in XML Schema.

  • Console and GUI Applications
    TH-01

    Learn to write console and GUI applications in C#. Understand the basics of creating interactive applications.

  • Identifiers and Keywords
    TH-02

    Understand the rules and conventions for declaring identifiers and learn about the different types of keywords in C#.

  • Writing Comments
    TH-03

    Learn how to write effective comments in C# code to improve readability and maintainability.

  • Data Types
    TH-04

    Explore the different data types available in C#, including value types and reference types.

  • Expressions and Operators
    TH-05

    Learn about the different types of expressions and operators in C#, including arithmetic, comparison, and logical operators.

  • Strings and Characters
    TH-06

    Understand how to work with strings and characters in C#, including string manipulation and formatting.

  • Arrays
    TH-07

    Learn how to declare and manipulate arrays in C#, including single-dimensional and multi-dimensional arrays.

  • Variables and Parameters
    TH-08

    Understand the difference between variables and parameters in C#, and learn how to declare and use them effectively.

  • Statements
    TH-09

    Learn about the different types of statements in C#, including declaration, expression, selection, iteration, and jump statements.

Key Topics

  • Classes
    CR-01

    Classes are the fundamental building blocks of object-oriented programming in C#. They define a blueprint for creating objects that contain data and behavior.

  • Constructors and Deconstructors
    CR-02

    Constructors are special methods that are used to initialize objects when they are created, while deconstructors are used to break down objects into their constituent parts.

  • this Reference
    CR-03

    The this reference is a keyword in C# that is used to refer to the current instance of a class or struct.

  • Properties
    CR-04

    Properties are members of a class or struct that provide a flexible mechanism for exposing data.

  • Indexers
    CR-05

    Indexers are a special type of property that allows an object to be indexed like an array.

  • Static Constructors and Classes
    CR-06

    Static constructors are used to initialize static members of a class, while static classes are used to define a class that cannot be instantiated.

  • Finalizers
    CR-07

    Finalizers are special methods that are used to release unmanaged resources when an object is garbage collected.

  • Dynamic Binding
    CR-08

    Dynamic binding is a mechanism that allows the type of an object to be determined at runtime rather than at compile time.

  • Operator Overloading
    CR-09

    Operator overloading is a feature in C# that allows developers to redefine the behavior of operators when working with custom types.

  • Inheritance
    CR-10

    Inheritance is a mechanism in object-oriented programming that allows one class to inherit the behavior and properties of another class.

  • Abstract Classes and Methods
    CR-11

    Abstract classes and methods are used to define a blueprint for other classes to follow, without providing a complete implementation.

  • base Keyword
    CR-12

    The base keyword is used to access members of a base class from a derived class.

  • Overloading
    CR-13

    Overloading is a feature in C# that allows multiple methods with the same name to be defined, as long as they have different parameters.

  • Object Type
    CR-14

    The object type is the base type of all types in C#, and provides a set of basic methods and properties that can be used by all objects.

  • Structs
    CR-15

    Structs are value types that are similar to classes, but have some key differences in terms of their behavior and usage.

  • Access Modifiers
    CR-16

    Access modifiers are used to control the accessibility of members and types in C#.

  • Interfaces
    CR-17

    Interfaces are abstract contracts that define a set of methods and properties that must be implemented by any class that implements them.

  • Enums
    CR-18

    Enums are value types that represent a set of named constants.

  • Generics
    CR-19

    Generics are a feature in C# that allows developers to create reusable code that can work with multiple types.

Key Topics

  • Active Database Concepts and Triggers
    AD-1

    This topic covers the concepts of active databases, including triggers, and their applications in advanced database systems.

  • Temporal Database Concepts
    AD-2

    This topic explores the concepts and techniques of temporal databases, which manage time-varying data and support temporal queries.

  • Spatial Database Concepts
    AD-3

    This topic introduces the concepts and techniques of spatial databases, which manage spatial data and support spatial queries and analysis.

  • Multimedia Database Concepts
    AD-4

    This topic covers the concepts and techniques of multimedia databases, which manage multimedia data such as images, audio, and video.

  • Deductive Database Concepts
    AD-5

    This topic explores the concepts and techniques of deductive databases, which use logical rules to derive new information from existing data.

  • Introduction to Information Retrieval and Web Search
    AD-6

    This topic provides an introduction to the concepts and techniques of information retrieval and web search, including indexing, querying, and ranking.

  • Multitasking
    AD-7

    Multitasking in 80286 architecture allows multiple tasks to run concurrently, improving system performance and responsiveness.

Lab works

Laboratory Work:

The laboratory work includes writing console and/or GUI programs in C#

• To implement basic language features

• To create classes and objects and to implement different object oriented features

• To implement inheritance

• To implement advanced features like delegates, event handling, lambda expressions, exception handling

• To implement LINQ and database applications