DotNet Technology - Syllabus
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-001Overview 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-002Fundamentals of .NET architecture and design principles that guide the development of .NET applications.
-
Compilation and Execution of .NET Applications
IN-003How .NET applications are compiled and executed, including the roles of CLI, MSIL, and CLR.
-
.NET Core in Detail
IN-004In-depth exploration of .NET Core, including its features, benefits, and use cases.
-
.NET CLI
IN-005Using .NET CLI to build, run, test, and deploy .NET Core applications, including its commands and options.
-
Integrated Windows Authentication
IN-006Authenticating users using their Windows login credentials.
-
Cookies
IN-007Storing small pieces of data on a user's device to track their interactions with a web application.
-
File Handling
IN-008Managing files on a web server, including uploading, downloading, and manipulating files.
-
Form Handling
IN-009Processing and validating user input from HTML forms in a web application.
-
Storyboard and View Controllers
IN-010Using storyboards to design user interfaces and understanding view controllers.
Key Topics
-
Facets
TH-10Restricting data types using facets in XML Schema.
-
Console and GUI Applications
TH-01Learn to write console and GUI applications in C#. Understand the basics of creating interactive applications.
-
Identifiers and Keywords
TH-02Understand the rules and conventions for declaring identifiers and learn about the different types of keywords in C#.
-
Writing Comments
TH-03Learn how to write effective comments in C# code to improve readability and maintainability.
-
Data Types
TH-04Explore the different data types available in C#, including value types and reference types.
-
Expressions and Operators
TH-05Learn about the different types of expressions and operators in C#, including arithmetic, comparison, and logical operators.
-
Strings and Characters
TH-06Understand how to work with strings and characters in C#, including string manipulation and formatting.
-
Arrays
TH-07Learn how to declare and manipulate arrays in C#, including single-dimensional and multi-dimensional arrays.
-
Variables and Parameters
TH-08Understand the difference between variables and parameters in C#, and learn how to declare and use them effectively.
-
Statements
TH-09Learn about the different types of statements in C#, including declaration, expression, selection, iteration, and jump statements.
Key Topics
-
Classes
CR-01Classes 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-02Constructors 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-03The this reference is a keyword in C# that is used to refer to the current instance of a class or struct.
-
Properties
CR-04Properties are members of a class or struct that provide a flexible mechanism for exposing data.
-
Indexers
CR-05Indexers are a special type of property that allows an object to be indexed like an array.
-
Static Constructors and Classes
CR-06Static 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-07Finalizers are special methods that are used to release unmanaged resources when an object is garbage collected.
-
Dynamic Binding
CR-08Dynamic binding is a mechanism that allows the type of an object to be determined at runtime rather than at compile time.
-
Operator Overloading
CR-09Operator overloading is a feature in C# that allows developers to redefine the behavior of operators when working with custom types.
-
Inheritance
CR-10Inheritance 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-11Abstract classes and methods are used to define a blueprint for other classes to follow, without providing a complete implementation.
-
base Keyword
CR-12The base keyword is used to access members of a base class from a derived class.
-
Overloading
CR-13Overloading 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-14The 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-15Structs are value types that are similar to classes, but have some key differences in terms of their behavior and usage.
-
Access Modifiers
CR-16Access modifiers are used to control the accessibility of members and types in C#.
-
Interfaces
CR-17Interfaces are abstract contracts that define a set of methods and properties that must be implemented by any class that implements them.
-
Enums
CR-18Enums are value types that represent a set of named constants.
-
Generics
CR-19Generics 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-1This topic covers the concepts of active databases, including triggers, and their applications in advanced database systems.
-
Temporal Database Concepts
AD-2This topic explores the concepts and techniques of temporal databases, which manage time-varying data and support temporal queries.
-
Spatial Database Concepts
AD-3This topic introduces the concepts and techniques of spatial databases, which manage spatial data and support spatial queries and analysis.
-
Multimedia Database Concepts
AD-4This topic covers the concepts and techniques of multimedia databases, which manage multimedia data such as images, audio, and video.
-
Deductive Database Concepts
AD-5This 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-6This topic provides an introduction to the concepts and techniques of information retrieval and web search, including indexing, querying, and ranking.
-
Multitasking
AD-7Multitasking 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