Sixth Semester

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.

  1. Construction of Lexical Analyser.
  2. Construction of Parser
  3. Development of Code Generator
  4. Write a code to show the function of symbol table.
  5. Implement the parsing techniques.
  6. Show the application of different types of grammar.
  7. Implement the lexical analyzer generator.
  8. Implement the type conversation.
  9. The course instructor is allowed to create a group two students.
  10. 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:

 

  1. 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