Tribhuvan University
Institute of Science and Technology
BSc. CSIT Sixth Sem: CSC-351 Software Engineering Syllabus
Course Title: Software Engineering
Course no: CSC-351 Full Marks: 60+20+20
Credit hours: 3 Pass Marks: 24+8+8
Nature of course: Theory (3 Hrs.) + Lab (3 Hrs.)
Course Synopsis: Discussion on types of software, developing process and maintaining the software.
Goal: This course introduces concept of software development paradigm and implementing these in real world.
Course Contents:
Unit 1: 11 Hrs.
1.1 Introduction to Software Engineering: Definition of software, software engineering. Comparing between other engineering and software engineering.
1.2 System Engineering: Introduction to System, System properties, system and their environment, system modeling.
1.3 Software Process: Introduction, software process model, process iteration, software specification, software design and implementation, software validation, software evolution.
1.4 Project Management: Introduction, management activities, project planning, project scheduling, and risk management.
Unit 2: 12 Hrs.
2.1 Software Requirements: Introduction, Types of requirements, requirements engineering process: Feasibility study, requirements elicitation and analysis, requirement validation, requirement management.
2.2 Software Prototyping: Introduction, prototyping in the software process, rapid prototyping techniques, user interface prototyping.
2.3 Formal Specification: Introduction, formal specification in software process, interface specification, behavioral specification.
Unit 3: 6 Hrs.
3.1 Architectural Design: Introduction, system structuring, control models, modular decomposition, domain specific architecture.
3.2 Object Oriented Design: Introduction, Features of object oriented design, object oriented software engineering.
Unit 4: 16 Hrs.
4.1 Verification & Validation: Introduction, verification and validation planning, software inspection, cleanroom software development.
4.2 Software Testing: Introduction, types of testing, testing work benches.
4.3 Critical system validation: Introduction, formal methods and critical systems, reliability validation, safety assurance, security assessment.
4.4 Software Cost Estimation: Introduction, productivity, estimation techniques.
4.5 Software Reengineering: Introduction, source code translation, reverse engineering.
Laboratory works: Developing the software techniques explained in the course.
Homework
Text Books: Software Engineering, 7th Edition, Ian Sommerville, PEARSON
EDUCATON ASIA
Reference: Software Engineering: A Practitioner’s Approach, 6th Edition,
Roger S. Pressman, McGraw Hill International Edition.
Assignment: Assignment should be given from the above units in throughout the semester.
Computer Usage: No specific
Prerequisite: C, C++, Data Structure, Automata Theory, System Analysis & Design
Category Content: Science Aspect: 60%
Design Aspect: 40%
Tribhuvan University
Institute of Science and Technology
BSc. CSIT Sixth Sem: CSC-352 Complier Design and Construction
Course Title: Complier Design and Construction
Course no: CSC-352 Full Marks: 60+20+20
Credit hours: 3 Pass Marks: 24+8+8
Nature of course: Theory (3 Hrs.) + Lab (3 Hrs.)
Course Synopsis: Analysis of source program. The phases of compiler.
Goal: This course introduces fundamental concept of compiler and its different phases.
Course Contents:
Unit. 1: 6 Hrs.
1.1 Introduction to compiling: Compilers, Analysis of source program, the phases of compiler, compiler-construction tools.
1.2 A Simple One-Pass Compiler: Syntax Definition, Syntax directed translation, Parsing, Translator for simple expression, Symbol Table, Abstract Stack Machines.
Unit 2: 19 Hrs.
2.1 Lexical Analysis: The role of the lexical analyzer, Input buffering, Specification of tokens, Recognition of tokens, Finite Automata, Regular Expression to an NFA, Design of a lexical analyzer generator
2.2 Syntax Analysis: The role of parser, Context free grammars, Writing a grammars, Top-down parsing, Bottom-up parsing, Operator-preceding parsing, LR parsing, Ambiguous grammar.
2.3 Syntax Directed Translation: Syntax-directed definition, Syntax tree and its construction, Evaluation of S-attributed definitions, L-attributed, Top-down translation, Recursive evaluators.
2.4 Type Checking: Type systems, Specification of a simple type checker, Type conversions.
Unit 3: 13 Hrs.
3.1 Intermediate Code Generation: Intermediate languages, Declarations, Assignments Statements, Boolean Expressions, Back patching.
3.2 Code Generator: Issues in design of a code generator, the target machine, Run –time storage management, Basic blocks and flow graphs, a simple code generator, Peephole organization, Generating code from dags, Dynamic programming code-generation algorithm, Code-generator generators.
3.3 Code Optimization: The principal sources of optimization, Optimization of basic blocks, loops in flow graphs.
Unit 4: 7 Hrs.
4.1 Writing a Compilers: Planning a compiler, Approaches to compiler development, the compiler development environment, Testing and Maintenance
4.2 Comparing some compliers: Pascal Complier, C compiler, C++ complier.
Laboratory works:
1 Writing a complier, optimization techniques, comparing the compilers.
- Construction of Lexical Analyser.
- Construction of Parser
- Development of Code Generator
- Write a code to show the function of symbol table.
- Implement the parsing techniques.
- Show the application of different types of grammar.
- Implement the lexical analyzer generator.
- Implement the type conversation.
- The course instructor is allowed to create a group two students.
- Assign them to write a small compiler.
Text Books: Compilers, Principles, Techniques, and Tools, Pearson education Asia.
Reference:
Homework
Assignment: Assignment should be given from the above units in throughout the semester.
Computer Usage: No specific
Prerequisite: C, C++, Data Structure, Automata Theory
Category Content: Science Aspect: 25%
Design Aspect: 75%
Tribhuvan University
Institute of Science and Technology
BSc. CSIT Sixth Sem: CSC-353 Web Technologies
Course Title: Web Technologies
Course no: CSC-353 Full Marks:60+20+20
Credit hours: 3 Pass Marks: 24+8+8
Nature of course: Theory (3 Hrs.) + Lab (3 Hrs.)
Course Synopsis: This course introduces the client server web technology.
Goal: To expose the students with client and server side web programming.
Course Contents:
Unit 1. Introduction: 4 Hrs.
Review of web technology, Review of HTML and JAVA Script
Unit 2. Issues of Web Technology: 6 Hrs.
Architectural issues of web layer, HTTP & FTP Protocols, Tier Technology: 2-Tier, 3-Tier and n-Tier
Unit 3. The Client Tier: 12 Hrs.
Representing content, XML, DTD’s, Schemas, Stylesheets and Transformation: CSS, XSL/XSLT, SAX, and DOM, Client-side Programming
Unit 4. The Server Tier: 20 Hrs.
Web Server Concept, Creating Dynamic Content, Using Control Flow to control Dynamic Control Generation, Sessions and State, Error handling, Authentication, Architecting web application, Using tag libraries, Writing tag libraries
Unit 5. Introduction to Advanced Server Side Issues: 3 Hrs.
Laboratory works: The laboratory should cover all the topics mentioned above.
Text / Reference Books:
Matt J. Crouch, ASP.NET and VB.NET Web Programming, Pearson Education Asia, 2002
Rahul Banerjee, Internetworking Technologies, Prentice-Hall of India Limited, Fourth Edition, 2000
Tribhuvan University
Institute of Science and Technology
Bachelor of Science in Computer Science and Information Technology
6th Semester
Course Title: Real Time System
Course no: CSC-354 Full Marks: 80+20
Credit hours: 3 Pass Marks: 8 + 8
Nature of course: Theory (3 Hrs.)
Course Synopsis: This course introduces the real time technology
.
Goal: The main objective of this course is to address issue in scheduling, resource access control, and communication in the real time system
Unit 1. Introduction 3 Hrs.
Digital control, High-level controls, Signal processing, Real time applications
Unit 2. Hard versus Soft Real-Time Systems 4 Hrs.
Jobs and processors, Release times, Deadlines, and timing constraints, Hard and soft timing constraints, Hard real-time systems, Soft real-time systems,
Unit 3. Reference Model of Real-Time Systems 4 Hrs.
Processor and resources, Temporal parameters of real-time workload, Periodic task model, Precedence constraints and data dependency, Other dependencies, Functional parameters, Resource parameters of jobs and parameters of resources, Scheduling hierarchy
Unit 4. Approaches to Real-Time Scheduling 4 Hrs.
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,
Unit 5. Clock-Driven Scheduling 5 Hrs.
Notations and assumptions, Static, Timer-driven scheduler, General structure of cyclic schedules, Cyclic executives, Improving the average response time of aperiodic jobs, Scheduling sporadic jobs, Practical considerations and generalization, Algorithm for constructing static schedules, Pros and cons of clock-driven scheduling
Unit 6. Priority-Driven Scheduling of Periodic Tasks 6 Hrs.
Static assumption, Fixed-priority versus dynamic-priority algorithms, Maximum schedule utilization, Optimality of the RM and DM algorithms, A schedulability test for fixed-priority tasks with short response times, schedulability test for fixed-priority tasks with arbitrary response times, Sufficient schedulability conditions for the RM and DM algorithms, Practical factor
Unit 7. Scheduling Aperiodic and Sporadic Jobs in Priority-Driven Systems 6 Hrs.
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
Unit 8. Resources and Resource Access Control 5 Hrs.
Assumptions on resources and their usage, Effects of resources contention and resource access control, Nonpreemptive critical sections, Basic priority-inheritance protocol, Basic priority-ceiling protocol, Stack-based, priority-ceiling (ceiling-priority) protocol, Use of priority-ceiling protocol in dynamic-priority system, Preemption-ceiling protocol, Controlling accesses to multiple-unit resources, Controlling concurrent accesses to data objects,
Unit 9. Multiprocessor Scheduling, Resource Access Control and
Synchronization 5 Hrs.
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.
Unit 10. Real –Time Communication 6 Hrs.
Model of real-time communication, Priority-based service disciplines for switched networks, Weighted round-robin service disciplines, Medium access-control protocols of broadcast networks, Internet and resource reservation protocols, Real-time protocol, Communication in multi computer systems
Text / Reference Book:
- Real-Time Systems, Jane W. S. Liu, Pearson Education Asia, 2003
Tribhuvan University
Institute of Science and Technology
Bachelor of Science in Computer Science and Technology
Course Title: Fundamentals of E-Commerce
Course no: CSC-356 Full Marks: 60+20+20
Credit hours: 3 Pass Marks: 24+8+8
Nature of course: Theory (3 Hrs.)
Course Synopsis: Discussion on types of commerce, doing business in electronics, infrastructure of electronic commerce.
Goal: This course introduces basic concept of commerce and discusses the basic needs of electronic commerce.
Course Contents:
Unit 1: 14 Hrs.
1.1 Introduction to Electronic Commerce: Introduction of commerce, Electronic commerce framework, electronic commerce and media convergence, the anatomy of e-commerce application.
1.2 The Network for Electronic Commerce: Need of network, market forces influencing the I-way, components of I-way, network access equipment, and global information distribution network.
1.3 The Internet as a Network Infrastructure: Introduction, the Internet terminology, NSFNET: Architecture and Components, Internet governance: The Internet Society.
Unit 2: 23 Hrs.
2.1 Network Security & Firewalls: Client-Server network security, security threats in client-server, firewalls and network security, data & message security, encrypted documents and electronic mail.
2.2 Electronic Commerce & World Wide Web: Introduction, architectural framework for electronic commerce, WWW as an architecture, security in the web.
2.3 Consumer Oriented Electronic Commerce: Introduction, consumer oriented application, mercantile process models, mercantile models from the consumer’s perspective, mercantile models from the merchant’s perspective.
2.4 Electronic Payment Systems: Introduction, types of electronic payment system, digital token based electronic payment systems, smart cards and electronic payment systems, credit cards systems, Threat on electronic payment system.
Unit 3: 8 Hrs.
3.1 Inter-organizational Commerce & Electronic Data Interchange: Introduction, EDI application in business, EDI: legal, security, and privacy issues, EDI and electronic commerce.
3.2 The Corporate Digital Library: Introduction, dimensions of electronic commerce systems, types of digital documents, Issues behind document infrastructure, corporate data warehouses.
Laboratory works: Developing the small electronic payment system.
Text Books: Frontiers of Electronic Commerce, 5th Edition, Kalkotia and Whinston, Pearson Education Asia
Homework
Assignment: Assignment should be given from the above units in throughout the semester.
Computer Usage: No specific
Prerequisite: C, C++, Data Structure, System Analysis & Design
Category Content: Science Aspect: 60%
Design Aspect: 40%
Tribhuvan University
Institute of Science and Technology
Bachelor of Science in Computer Science and Information Technology
Sixth Sem: CSC-360 Net Centric Computing
Course Title: Net Centric Computing
Course no: Csc-360 Full Marks: 60+20+20
Credit hours: 3 Pass Marks: 24+8+8
Nature of course: Theory (3 Hrs.) + Lab (3 Hrs.)
Course Synopsis: This course explores the concepts of developing web technology.
Goal: To provide the knowledge of Web Centric Computing Using Active Server programming.
Course Contents:
Unit 1. Introduction 4 Hrs.
Behind the scenes: Introduction, benefit and application of ASP; Introduction to IIS: Features, properties and application of IIS and MMC, Virtual directory properties; ASP requirements: Need for ASP, Scripting capabilities, Recognizing individuals, Database access, State maintenance, ASP extensibility.
Unit 2. Intrinsic ASP Objects 6 Hrs.
The response object: ASP objects, Sending text with the response object and embedded quotes, Using variables, Other response; The request object; The application and server objects: Threads, Application variables and use, The server object, Limitation of application variables; The session object.
Unit 3. Writing Server-Side Code 8 Hrs.
Coding using VBScript and JScript, The scripting dictionary object, File access with ASP, Debugging ASP and error-handling.
Unit 4. Using Components 5 Hrs.
The browser capabilities component: Difference between browser, Components properties/methods, working and capabilities; Other ASP components; Sending and receiving E-mail with ASP.
Unit 5. Accessing Databases with ASP and ADO 7 Hrs.
Introduction to relational databases and SQL, Introduction to ADO, Accessing data with ADO, Controlling transactions in ASP.
Unit 6. ASP Applications 7 Hrs.
Introduction to ASP applications, State maintenance in ASP applications, Controlling access and monitoring, Planning application, Develop a sample project using ASP.
Unit 7. Advanced ASP 8 Hrs.
Client-side scripting, Building own components, Automating active server pages, Efficiency and scalability.
Laboratory works: Exercises covering all features of above.
Text / Reference Book: Active Server Pages 3, a Russell Jones, BPB Publications, New Del