44
Web Technology II
Course Title: Web Technology II Full Marks: 60 + 20 + 20
Course No: BIT301 Pass Marks: 24 + 8 + 8
Nature of the Course: Theory + Lab Credit Hrs: 3
Semester: V
Course Description:
This course covers the concepts of server side scripting using the PHP programming language.
Course Objectives:
The main objective of this course is to provide basic concepts of PHP including handling of
functions, arrays, strings, class and objects, forms, databases, cookies, sessions, exceptions and
file handling so that students should be able to develop dynamic web applications.
Course Contents:
Unit 1: Introduction (8 Hrs.)
Server Side Scripting, Introduction to PHP, Language Basics: Lexical Structure, Data Types,
Variables, Expression and Operators, Flow Control Statements, Including PHP Code,
Embedding PHP in Web Pages
Unit 2: Functions (5 Hrs.)
Functions, Defining and Calling Functions, Variable Scope, Function Parameters, Return Values,
Variable Functions, Anonymous Functions, Date and Time functions
Unit 3: Strings and Arrays (8 Hrs.)
String Constants, Printing Strings, Accessing Characters in Strings, Cleaning Strings, Encoding
and Escaping, Comparing, Manipulating and Searching Strings, Regular Expressions, Array,
Indexed vs. Associative Arrays, Defining Array, Storing Data in Array, Multidimensional Array,
Extracting Multiple Values, Conversion between Array and Variables, Traversing Arrays
Unit 4: Objects (6 Hrs.)
Objects, Creating Object, Accessing Properties and Methods, Declaring Class, Anonymous
Class, Examining Class and Object
Unit 5: Handling Forms (4 Hrs.)
Building forms, Retrieving Form Data, Processing Forms, Setting Response Headers
Unit 6: Working with Database (5 Hrs.)
Using PHP to Access Database, Querying a Database with PHP, CRUD Operations Using Forms
Unit 7: Cookies, Sessions and Authentication (3 Hrs.)
Using Cookies in PHP, HTTP Authentication, Using Sessions
Unit 8: Debugging PHP (3 Hrs.)
The PHP.ini Settings, Error Handling, Error Reporting, Exceptions, Error Suppression,
Triggering Errors, Error Handlers, Error Logs
45
Unit 9: File Handling (3 Hrs.)
File Read, Write, Close, File upload, Parsing CSV File, Parsing JSON File
Laboratory Works:
Laboratory work includes implementing all of the concepts in each chapter. Students have to
create a dynamic website using core PHP concepts studied in this course.
References:
1. Kevin Tatroe , Peter MacIntyre, Programming PHP: Creating Dynamic Web Pages,
O′Reilly, 2021
2. Robin Nixon , Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating
Dynamic Websites, O'Reilly Media, 2021
46
Software Engineering
Course Title: Software Engineering Full Marks: 60+20+20
Course No: BIT302 Pass Marks: 24+8+8
Nature of the Course: Theory + Lab Credit Hrs: 3
Semester: V
Course Description:
This course familiarizes students with different concepts and techniques of software engineering
mainly focusing on software practices, different process models, requirements engineering,
project management, project planning, quality assurance and software testing techniques.
Course Objectives:
The main objective of this course is to give knowledge of software engineering so that the
students will be able to use different methodologies and techniques to develop high quality
software.
Course Contents:
Unit 1: Introduction (2 Hrs.)
Professional Software Development, Software Engineering Ethics, Case Studies
Unit 2: Software Process Model (8 Hrs.)
Software Process Models, Process Activities, Coping with Change, Process Improvement, Agile
Software Development
Unit 3: Requirements Engineering (3 Hrs.)
Functional and Non-Functional Requirements, Requirements Engineering Processes,
Requirements Elicitation, Requirements Validation, Requirements Change
Unit 4: System Modeling (6 Hrs.)
Context Models, Interaction Models, Structural Models, Behavioral Models, Model Driven
Architecture
Unit 5: Architectural Design (6 Hrs.)
Architectural Design Decisions, Architectural Views, Architectural Patterns, Application
Architectures
Unit 6: Design and Implementation (5 Hrs.)
Object-Oriented Design Using the UML, Design Patterns, Implementation Issues, Open-Source
Development
47
Unit 7: Software Testing (5 Hrs.)
Introduction to Software Testing, Development Testing, Test-Driven Development, Types of
Testing
Unit 8: Project Management and Planning (5 Hrs.)
Introduction to Project Management, Management Activities, Introduction to Project Planning,
Software Pricing, Plan-Driven Development, Project Scheduling, Agile Planning, Estimation
Techniques, COCOMO Cost Modeling
Unit 9: Software Quality Assurance (3 Hrs.)
Introduction to Software Quality, Software Quality Assurance, Software Reviews
Unit 10: Configuration Management (2 Hrs.)
Introduction to Version Management, Change Management and Release Management
Laboratory Works:
Student should use project management tools focusing on resource management, project
scheduling and people management. They should be use CASE tools for drawing UML
diagrams. They should use tools for realizing agile development, version control and change
control respectively. They should be able to develop test cases and use tools to demonstrate
different types of testing.
References:
1. Software Engineering, 10
th
Edition, Ian Sommerville, Pearson Education 2016
2. Software Engineering: A Practitioner’s Approach, 8
th
Edition, Roger S. Pressman and
Bruce R. Maxim, McGraw-Hill Education 2015
3. C. Ghezzi, M. Jazayeri and D. Mandrioli, Fundamentals of Software Engineering
Prentice Hall of India, Ltd.
4. G. Booch, J. Rambaugh, J. Jacobson, The unified Modeling Language User Guide
Addison - Wesley
48
Information Security
Course Title: Information Security Full Marks: 60+20+20
Course No: BIT303 Pass Marks: 24+8+8
Nature of Course: Theory + Lab Credit Hrs: 3
Semester: V
Course Description:
This course familiarizes with basic concepts of information security. This course includes
cryptographic algorithms, authentication systems, access controls, malicious logics, network
security and security audits and ethical issues.
Course Objectives:
The objective of this course is to familiarize the students with the concepts of information
security, different security measures, policies and security mechanisms, security auditsso that
students will be able to design, implement and manage the information and computers securely.
Course Contents:
Unit 1: Introduction (4 Hrs.)
1.1. Computer Security Concepts
1.2. Threats, Attacks and Assets
1.3. Security Functional Requirements
1.4. Security Design Principles
1.5. Attack Surfaces and Attack Trees
1.6. Computer Security Strategy
Unit 2: Symmetric and Asymmetric Encryption Algorithms (10 Hrs.)
2.1. Classical Cryptosystems: Substitution and Transposition Ciphers
2.2. Symmetric Encryption Principles
2.3. Data Encryption Standards (DES),
2.4. Basic concepts of fields, Modular Arithmetic, Galois Fields, Polynomial Arithmetic,
2.5. Advanced Encryption Standards (AES)
2.6. Prime Numbers, Fermat’s Theorem, Primality Testing: Miller-Rabin Algorithm, Euclidean
Algorithm, Extended Euclidean Algorithm, Euler Totient Function
2.7. Asymmetric Encryption
2.8. Diffie-Hellman Protocol , RSA Algorithm
Unit 3: Message Authentication (6 Hrs.)
3.1. Message Authentication
3.2. Secure Hash Functions
3.3. Message Digests: MD5
3.4. Secure Hash Algorithms: SHA-1, SHA-2
3.5. Digital Signature
49
Unit 4: User Authentication (5 Hrs.)
4.1. User Authentication Principles
4.2. Password-Based Authentication
4.3. Token-Based Authentication
4.4. Biometric Authentication
4.5. Two Factor Authentication
4.6. Security Issues for User Authentication
Unit 5: Access Control (5 Hrs.)
5.1. Access Control Principles
5.2. Subjects, Objects and Access Rights
5.3. Discretionary Access Control
5.4. Role Based Access Control
5.5. Attribute Based Access Control
5.6. Identity, Credential and Access Management
5.7. Trust Frameworks
Unit 6: Malicious Software (6 Hrs.)
6.1. Malicious Software
6.2. Types of Malicious Software
6.3. Advanced Persistent Threat
6.4. Virus
6.5. Worms
6.6. Spam E-mail, Trojans
6.7. System Corruption,
6.8. Zombie, Bots
6.9. Key loggers, Phishing, Spyware
6.10. Backdoors, Rootkits
6.11. Countermeasures for Malwares
Unit 7: IT Security Management, Risk Assessment and Security Auditing (5 Hrs.)
7.1.IT Security Management
7.2.Organizational Context and Security Policy
7.3. Security Risk Assessment
7.4. Security Risk Analysis
7.5. Security Auditing Architecture
7.6. Security Audit Trails
7.7. Implementing Logging Function
7.8. Audit Trail Analysis
Unit 8: Legal and Ethical Issues (4 Hrs.)
8.1.Cybercrime and Computer crime
8.2.Intellectual Property
8.3. Privacy
8.4. Ethical Issues
50
8.5. Cyber Law in Nepal
Laboratory Works:
The laboratory work includes implementing and simulating the concepts of cryptographic
algorithms, hash functions, digital signatures, authentication & authorization systems, and
malicious logics. The laboratory work covers implementing programs for following;
- Classical ciphers like Caeser, Railfence
- DES, AES
- Primality Testing, Euclidean Algorithms, Deffie-Hellman RSA
- MD5, SHA-1, SHA-2
- Authentication systems like password based, token based, two factor authentication etc.
- Access control and capability lists
- Malicious Logics
In addition, students have to perform case studies including preparation of security policies for
some system and perform the security audits.
References:
1. William Stallings and Lawrie Brown, Computer Security: Principles and Practice,
Pearson, Latest Edition
2. William Stallings, Cryptography and Network Security: Principles and Practice, Pearson
3. Mark Stamp, Information Security: Principles and Practices, Wiley
4. Matt Bishop, Introduction to Computer Security, Addison Wesley
5. Matt Bishop, Computer Security, Art and Science, Addison Wesley
6. Charles P. Pfleeger and Shari Lawrence Pfleeger, Security in Computing, Pearson
7. William Stallings, Information Privacy Engineering and Privacy by Design, Pearson
51
Computer Graphics
Course Title: Computer Graphics Full Marks: 60+20+20
Course No: BIT304 Pass Marks: 24+8+8
Nature of the Course: Theory + Lab Credit Hrs: 3
Semester: V
Course Description:
This course covers the basic concepts of Computer Graphics, various algorithms for basic
graphics primitives, 2-D geometric transformations on graphical objects, various Clipping
algorithms on graphical objects, 3-D geometric transformations, curve representation techniques
and projections methods, object surface modeling, visible surface detection, application of
illumination and rendering algorithms, virtual reality and animation technique along with basic
concept of Open GL.
Course Objectives:
The main Objective of this course is to equip students with the fundamental knowledge and basic
technical competence in the field of Computer Graphics, to emphasize on implementation aspect
of Computer Graphics Algorithms and to prepare the student for advance areas and professional
avenues in the field of Computer Graphics.
Course Contents:
Unit 1: Introduction and Overview of Graphics System (3 Hrs.)
Definition and Representative uses of Computer Graphics, Computer Graphics vs. Image
Processing, Application Areas, Overview of Coordinate System, Definition of Scan Conversion,
Rasterization and Rendering, Raster Scan & Random Scan Displays, Architecture of Raster
Graphics System with Display Processor, Architecture of Random Scan Systems
Unit 2: Output Primitives (6 Hrs.)
Scan conversions of point, line, circle and ellipse: DDA algorithm and Bresenham algorithm for
line drawing, midpoint algorithm for circle, midpoint algorithm for ellipse drawing
(Mathematical derivation for above algorithms is expected), Filled Area Primitive: Scan line
Polygon Fill algorithm, inside outside tests, Boundary Fill and Flood fill algorithm.
Unit 3: Two Dimensional Geometric Transformations (3 Hrs.)
Basic transformations: Translation, Scaling, Rotation, Matrix representation and Homogeneous
Coordinates, Composite transformation, Other transformations: Reflection and Shear
Unit 4: Two-Dimensional Viewing and Clipping (3 Hrs.)
Viewing transformation pipeline and Window to Viewport coordinate transformation, Clipping
operations: Point clipping, Line clipping algorithms: CohenSutherland, Liang: Barsky, Polygon
Clipping Algorithms: Sutherland Hodgeman
52
Unit 5:Three-Dimensional Graphics (6 Hrs.)
3D Transformations: Translation, Rotation, Scaling, Reflection and Shear, Composite
transformations: Rotation about an arbitrary axis, Projections Parallel, Perspective. (Matrix
Representation)
Unit 6: Three-Dimensional Object Representation and Curve Modeling (6 Hrs.)
Boundary Surface Representation Vs Space Partitioning Representation, Polygon Surface
Representation: Polygon Table and Polygon Meshes, Wireframe and Sweep Representation,
Octree Representation, Bezier Curve, B-Spline Curve, Fractal-Geometry: Fractal Dimension,
Koch Curve
Unit 7: Visible Surface Detection (6 Hrs.)
Image Space and Object Space techniques, Back Face Detection, Z-Buffer, A-Buffer, Scan-Line
method, Painter’s Algorithms, Area Subdivision method
Unit 8: Illumination and Surface Rendering methods (6 Hrs.)
Introduction, Ambient, Diffuse and Specular reflections illumination Model, Constant, Gouraud
and Phong shading models
Unit 9: Virtual Reality and Animation (3 Hrs.)
Virtual Reality : Concept of Virtual Reality, Components of VR System, Types of VR System,
3D position Tracker, Navigation and Manipulation Interface, Application of VR, Animation:
Introduction to Animation, Traditional Animation Techniques, Principles of Animation, Key
framing: Character and Facial Animation, Deformation, Motion capture
Unit 10: Introduction to Open GL (2 Hrs.)
Introduction to OpenGL, Callback Functions, Color Commands, Drawing Pixels, Lines, and
Polygons using OpenGL, Viewing, Lighting
Laboratory Works:
Scan conversions: lines, circles, ellipse, filling algorithms, clipping algorithms, 2D and 3D
transformation Curves Visible surface determination, Simple animations, Application of these
through exercises using appropriate programming languages. List of experiment are:
1. Implement DDA Line Drawing algorithm
2. Implement Bresenham’s Line algorithm
3. Implement midpoint Circle algorithm.
4. Implement midpoint Ellipse algorithm.
5. Implement Area Filling Algorithm: Boundary Fill, Flood Fill.
6. Implement Scan line Polygon Filling algorithm
7. Implement 2D Transformations: Translation, Scaling, Rotation, Reflection, Shear.
53
8. Implement Line Clipping Algorithm: Cohen Sutherland / Liang Barsky.
9. Implement 3D transformation.
10. Implement Curve: Bezier for n control points, B Spline
11. Perform Animation (such as Rising Sun, Moving Vehicle, Smileys, Screen saver etc.)
References:
1. Hearn & Baker, “Computer Graphics C version”, 2nd Edition, Pearson Publication
2. James D. Foley, Andries van Dam, Steven K Feiner, John F. Hughes, “Computer
Graphics Principles and Practice in C”, 2nd Edition, Pearson Publication
3. D. Rogers, “Procedural Elements for Computer Graphics”, Tata McGraw-Hill
Publications
4. Zhigang Xiang, Roy Plastock, “Computer Graphics”, Schaum‟s Outlines McGraw-Hill
Education
5. Rajesh K. Maurya, “Computer Graphics”, Wiley India Publication
6. F. S. Hill, “Computer Graphics using OpenGL”, Third edition, Pearson Publications
54
Technical Writing
Course Title: Technical Writing Full Marks: 80+20
Course No: ENG305 Pass Marks: 32+8
Nature of the Course: Theory + Lab Credit Hrs: 3
Semester: V
Course Description:
This course is designed for students to enhance their skills for workplace writing. This course
aims in helping students to produce practical writing in specialized topics necessary for them in
their professional life. Furthermore, this course provides students with practical approach to
producing their own proposal content, memos, emails, instructions, procedures, manuals,
informative briefs, presentations and other pragmatic documents.
Course Objectives:
To enable students to identify the importance and characteristics of technical writing and
produce some quality technical pieces of workplace writing
Course Contents:
Unit 1: Why Technical People Needn’t Fear Writing (3 Hrs.)
Writing in the Technical Workplace, Why Technical People Can Master Technical Writing,
Attributes of Technical Writing, The Writing Process, Exercises: Writing in the Workplace
Unit 2: Technical Sentences Introduction (3 Hrs.)
Find the Real Subject, Find the Real Verb (Avoid Nominalizations), Edit for Conciseness, Edit
for Clarity, Check for Inclusive Language, Check the Grammar and Mechanics, Exercises:
Editing Technical Sentences
Unit 3: Emails, Letters, and Memos (4 Hrs.)
Letter Format, Memo and Email Formats, Email Etiquette (“Netiquette”), Professional
Correspondence: Style and Tone
54
, Exercises: Standard Correspondence
Unit 4: Short Reports, Proposals, and Technical Documents (4 Hrs.)
Report Structure, Documents That Report on Past Events or Completed Tasks Documents That
Report on Ongoing Tasks: Progress Reports, Documents That Recommend Future Actions,
Documents That Define Standards: Specifications Lab Reports, Engineering or Project Logs,
Exercises: Informal Reports
Unit 5: Formal Reports (3 Hrs.)
Parts of a Formal Report, Formal Report Pagination, Exercises: Formal Reports
55
Unit 6: Intercultural Communication, Collaborative Writing, and Document Control (4
Hrs.)
Intercultural Communication, Writing in Teams Document Sharing and Control, Exercises:
Intercultural Considerations
Unit 7: Technical Graphics (5 Hrs.)
Types and Uses of Graphics Putting Graphics into Reports Rules for Incorporating Report
Graphics Avoiding Graphical Misrepresentation Exercises: Technical Graphics
Unit 8: Technical Definitions and Descriptions (3 Hrs.)
Technical Definitions, Technical Descriptions, Exercises: Technical Definitions and Descriptions
Unit 9: Instructions, Procedures, and Manuals
55
(5 Hrs.)
The Introduction, the Step-by-Step Instructions, the Conclusion, Notes, Cautions, Warnings, and
Danger Alerts, Usability, Manuals, Exercises: Writing and Editing Instructions
Unit 10: Oral Presentations (4 Hrs.)
Planning the Presentation, Making Speech Notes, Using Presenter View, Designing and Using
Slides, Practicing the Presentation, Overcoming Stage Fright and Answering Questions,
Exercises: Oral Presentations
Unit 11: Ethics (2 Hrs)
Ethics in the Professions, Ethics for Students, Ethics in Technical Writing, Exercises: Ethics
Unit 12: Job Application Packages (3 Hrs.)
The Myth of the Experience Trap, Résumés, Application Letters, Finding Job Openings,
Exercises: Job Application Packages
Unit 13: Grammar and Usage (2 Hrs.)
Punctuation and Grammar, Mechanics and Conventions, Glossary of Commonly Misused Words
and Phrases
References:
1. Ewald, Thorsten. Writing in the Technical Fields: A Practical Guide. 3rd ed. Canada:
Oxford University Press, 2020
2. Anderson, Paul V. Technical Communication: A Reader-Centered Approach. 7th ed. USA:
Wadsworth Publishing, 2010
3. Markel, Mike and Stuart A. Selber. Technical Communication. 12th edition. USA: Bedford
Books, 2017
4. Smith-Worthington, Daelene and Sue Jefferson. Technical Writing for Success. 3rd ed.
USA: Cengage Writing, 2011
5. Tebeaux, Elizabeth and Sam Dragga. The Essentials of Technical Communication. 4th
ed. London: Oxford University Press, 2010