Real Time Systems - Syllabus
Embark on a profound academic exploration as you delve into the Real Time Systems course (RTS) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2065 Syllabus, this course (CSC-354) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 80 + 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 different concepts of real time systems mainly focusing on scheduling, access control, memory management, optimization, and real time communications.
Course Objective: The main objective of this course is to provide core knowledge of different concepts of real time system which will enhance the student capacity in building real time systems.
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.
Key Topics
-
Basic Exceptions
HA-1Understanding the concept of exceptions and how they are used in Java programming. This topic covers the basics of exceptions and their importance in error handling.
-
Proper use of exceptions
HA-2Best practices for using exceptions in Java programming, including when to use them and how to handle them effectively.
-
User defined Exceptions
HA-3Creating custom exceptions in Java to handle specific error scenarios, and how to use them in programming.
-
Catching Exception: try, catch
HA-4Using the try-catch block to catch and handle exceptions in Java, including how to write effective catch blocks.
-
Throwing and re-throwing: throw, throws
HA-5Understanding how to throw and re-throw exceptions in Java using the throw and throws keywords.
Key Topics
-
Relational Database Design Using ER-to-Relational Mapping
RE-1Learn how to design relational databases using ER-to-relational mapping, including mapping of regular entities, weak entities, relationship types, multivalued attributes, and N-ary relationships.
-
Informal Design Guidelines for Relational Schemas
RE-2Understand informal design guidelines for relational schemas, including semantics of attributes in relations, redundant information in tuples and update anomalies, NULL values in tuples, and generation of spurious tuples.
-
Functional Dependencies
RE-3Study functional dependencies, including definition, inference rules, Armstrong's axioms, attribute closure, equivalence of functional dependencies, and minimal sets of functional dependencies.
-
Normal Forms Based on Primary Keys
RE-4Explore normal forms based on primary keys, including First Normal Form, Second Normal Form, Third Normal Form, and their general definitions.
-
Boyce-Codd Normal Form
RE-5Learn about Boyce-Codd Normal Form, a higher normal form that ensures a relational schema is in a good structure.
-
Multivalued Dependency and Fourth Normal Form
RE-6Understand multivalued dependency and Fourth Normal Form, which eliminates multivalued dependencies in a relational schema.
-
Properties of Relational Decomposition
RE-7Study properties of relational decomposition, including attribute preservation, dependency preservation, and loss-less/non-additive join.
-
Applications of Recursion
RE-8This topic explores the various applications of recursion in problem-solving, including tree traversals and dynamic programming.
Clock-driven approach, Weighted round-robin approach, Priority-driven approach, Dynamic versus static system, Effective release times and deadlines, Optimality of the EDF and LST algorithms, Nonoptimality of the EDF and LST algorithms, Challenges in validating timing constraints in priority-driven systems, Off-line versus on-line scheduling,
Key Topics
-
Common Client-side Web Technologies
CL-1This topic covers the fundamental technologies used on the client-side of web development, including HTML, CSS, and JavaScript.
-
JQuery
CL-2This topic explores the use of JQuery, a popular JavaScript library, for client-side scripting and DOM manipulation.
-
Forms and Validation
CL-3This topic discusses the importance of form validation and how to implement it using ASP.NET Core, including client-side and server-side validation techniques.
-
Single Page Application (SPA) Frameworks
CL-4This topic introduces Single Page Application (SPA) frameworks, including Angular and React, and their role in building dynamic and interactive client-side applications.
-
Software-as-a-Service (SaaS)
CL-5SaaS implementation issues, key characteristics of SaaS, benefits of the SaaS model.
-
Jericho Cloud Cube Model
CL-6A cloud service model framework.
-
User Defined Objects
CL-10Creating custom objects with properties and methods.
-
Graphic Presentation
CL-7Graphic presentation involves using graphs such as histograms, frequency polygons, and frequency curves to present data. It is a visual way of presenting data, making it easy to understand and analyze.
-
Histogram
CL-8A histogram is a type of graph that uses bars to represent the frequency of different ranges of values. It is commonly used to display continuous data.
-
Frequency Polygon
CL-9A frequency polygon is a type of graph that uses lines to connect the points representing the frequency of different ranges of values. It is commonly used to display continuous data.
Key Topics
-
Project Management Techniques
PR-1This topic covers various project management techniques used to plan, organize, and control projects. It includes developing project management plans and implementing, monitoring, and controlling projects.
-
Collaborative Development Environment
PR-2This topic focuses on creating an environment that fosters collaboration and teamwork. It includes communications planning, organizing and conducting effective meetings, and other collaborative development strategies.
-
Inter Process Communication
PR-3Methods of communication between processes, including race conditions and critical sections.
-
Implementing Mutual Exclusion
PR-4Techniques for achieving mutual exclusion, including busy waiting, sleep and wakeup, semaphores, monitors, and message passing.
-
Classical IPC Problems
PR-5Solutions to classic inter-process communication problems, including producer-consumer, sleeping barber, and dining philosopher problems.
-
Process Scheduling
PR-6Goals and techniques for scheduling processes, including batch, interactive, and real-time systems.
-
Deadlock Prevention
PR-7This topic covers deadlock prevention techniques, which ensure that deadlocks cannot occur by preventing one of the necessary conditions for deadlock.
-
Deadlock Avoidance
PR-8This topic discusses deadlock avoidance techniques, which ensure that the system will never enter a deadlock state.
Assumptions and approaches, Deferrable servers, Sporadic servers, Constant utilization, total bandwidth, and weighted fair-queuing servers, Slack stealing in deadline-driven systems, Slack stealing in fixed-priority systems, Scheduling of sporadic jobs, Real-time performance for jobs, with soft timing constraints, Low-level scheme for integrated scheduling
Key Topics
-
Relational Database Design Using ER-to-Relational Mapping
RE-1Learn how to design relational databases using ER-to-relational mapping, including mapping of regular entities, weak entities, relationship types, multivalued attributes, and N-ary relationships.
-
Informal Design Guidelines for Relational Schemas
RE-2Understand informal design guidelines for relational schemas, including semantics of attributes in relations, redundant information in tuples and update anomalies, NULL values in tuples, and generation of spurious tuples.
-
Functional Dependencies
RE-3Study functional dependencies, including definition, inference rules, Armstrong's axioms, attribute closure, equivalence of functional dependencies, and minimal sets of functional dependencies.
-
Normal Forms Based on Primary Keys
RE-4Explore normal forms based on primary keys, including First Normal Form, Second Normal Form, Third Normal Form, and their general definitions.
-
Boyce-Codd Normal Form
RE-5Learn about Boyce-Codd Normal Form, a higher normal form that ensures a relational schema is in a good structure.
-
Multivalued Dependency and Fourth Normal Form
RE-6Understand multivalued dependency and Fourth Normal Form, which eliminates multivalued dependencies in a relational schema.
-
Properties of Relational Decomposition
RE-7Study properties of relational decomposition, including attribute preservation, dependency preservation, and loss-less/non-additive join.
-
Applications of Recursion
RE-8This topic explores the various applications of recursion in problem-solving, including tree traversals and dynamic programming.
-
Efficiency of Recursion
RE-9This topic discusses the efficiency of recursive algorithms, including time and space complexity analysis.
-
Network Flow Optimization
RE-10Optimization techniques for network flows, including maximal flows, minimal cuts, and the Max Flow-Min Cut Theorem.
-
Controlling Concurrent Accesses to Data Objects
RE-11This topic discusses the importance of controlling concurrent accesses to data objects in real-time systems and presents techniques for achieving this control.
Model of multiprocessor and distributed systems, Task assignment, Multiprocessor priority-ceiling protocol, Elements of scheduling algorithms for end-end periodic tasks, End-to-end tasks in heterogeneous systems, Predictability and validation of dynamic multiprocessor systems.
Key Topics
-
Relational Database Design Using ER-to-Relational Mapping
RE-1Learn how to design relational databases using ER-to-relational mapping, including mapping of regular entities, weak entities, relationship types, multivalued attributes, and N-ary relationships.
-
Informal Design Guidelines for Relational Schemas
RE-2Understand informal design guidelines for relational schemas, including semantics of attributes in relations, redundant information in tuples and update anomalies, NULL values in tuples, and generation of spurious tuples.
-
Functional Dependencies
RE-3Study functional dependencies, including definition, inference rules, Armstrong's axioms, attribute closure, equivalence of functional dependencies, and minimal sets of functional dependencies.
-
Normal Forms Based on Primary Keys
RE-4Explore normal forms based on primary keys, including First Normal Form, Second Normal Form, Third Normal Form, and their general definitions.
-
Boyce-Codd Normal Form
RE-5Learn about Boyce-Codd Normal Form, a higher normal form that ensures a relational schema is in a good structure.
-
Multivalued Dependency and Fourth Normal Form
RE-6Understand multivalued dependency and Fourth Normal Form, which eliminates multivalued dependencies in a relational schema.
-
Properties of Relational Decomposition
RE-7Study properties of relational decomposition, including attribute preservation, dependency preservation, and loss-less/non-additive join.
Lab works
The laboratory work should focus on implementation of concepts related to scheduling, memory
management, synchronization and optimization using suitable simulators and programming
languages. There should also be a case study in group with at most 4 students focusing on any real
time system implemented system.