0% found this document useful (0 votes)
82 views17 pages

B.TECH (Computer Engineering) Semester - Iii Course Syllabus

This document provides a course syllabus for Discrete Mathematics and Applications. It outlines the course objectives, prerequisites, outcomes, teaching scheme, examination scheme, and credit details. It also lists the 6 units that will be covered: Mathematical Logic, Set Theory, Relations, Algebraic Structures, Combinatorics and Recurrence Relations, and Graph Theory and Application. Example assignments and projects are provided. The syllabus concludes with details on unit tests.

Uploaded by

Divyam Bhushan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
82 views17 pages

B.TECH (Computer Engineering) Semester - Iii Course Syllabus

This document provides a course syllabus for Discrete Mathematics and Applications. It outlines the course objectives, prerequisites, outcomes, teaching scheme, examination scheme, and credit details. It also lists the 6 units that will be covered: Mathematical Logic, Set Theory, Relations, Algebraic Structures, Combinatorics and Recurrence Relations, and Graph Theory and Application. Example assignments and projects are provided. The syllabus concludes with details on unit tests.

Uploaded by

Divyam Bhushan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 17

B.

TECH (Computer Engineering)


SEMESTER – III
COURSE SYLLABUS
Discrete Mathematics and Applications
Teaching Scheme Examination Scheme Credit Scheme
Hours/Week Marks Credits
Lecture: 03 Hours/Week University Examination 60 Marks Lecture 03
Tutorial: 01 Hours/Week Internal Assessment 40 Marks Tutorial 01

Total 100 Marks Total 04


Course Objective
The courses emphasise on mathematical foundation required for computing enabling the
students to develop logical thinking, reasoning, and problem-solving skills.

Prerequisite:
Elementary Linear Algebra, Mathematics for Computing-I

Course Outcomes: On completion of the course, students will have the ability to:
1. Demonstrate the ability to write and evaluate a proof technique.
2. Apply the basic principles of set theory to analyse the data relationship and prove
basic properties of set.
3. Demonstrate an understanding of relations and functions to determine their
properties.
4. Apply the knowledge of Boolean algebra for building basic electronic and digital
circuits.
5. Solve problems of combinatorics and recurrence relations.
6. Model problems in Computer Science using graphs and trees.

Unit I Mathematical Logic 06 Hours


Propositional Logic, Predicate logic, First order logic, Rules of inference,
Introduction to proof techniques, resolution, Mathematical induction,
Methods of proofs, Applications.

Unit II Set Theory 06 Hours


Types of sets, Sets operations and laws, Algebra of Sets, Multisets, Application
of the principle of inclusion and exclusion.
Number Theory: Modular arithmetic, prime numbers, and properties, GCD,
Chinese remainder theorem, Solving congruences, Applications of
congruences Cryptography.

Unit III Relations 06 Hours


Basic definition, properties and types of relations, relations and digraphs,
paths in relations and digraphs, equivalence and partially ordered relations,
Transitive closure and Warshall’s algorithm.
Functions: Types of functions, Identity functions, Composition of functions,
Mathematical functions, Pigeonhole principle.

Unit IV Algebraic Structures 06 Hours


Isomorphism and Homomorphism Groups, Algebraic Structures with Binary
Operations, rings, Cyclic groups, codes.
Lattice: Posets and Hasse Diagrams, Lattice as an algebraic system, Properties
of lattices.
Group Codes: The Communication Model and Basic notion of Error
Correction, Generation of Codes, Parity Checks, Error recovery in group codes.

Unit V Combinatorics and Recurrence Relations 06 Hours


Combinatorics: Permutations, Sum rule, Product rule, Combinatorial proofs.
Recurrence Relations: Linear Recurrence relation, Second order recurrence
relations with constant coefficients, Applications of Recurrence relation.

Unit VI Graph Theory and Application 06 Hours


Definition, Degree, Types, Paths, Circuits, Operations on graphs, and Graph
Models, Isomorphism, Connectedness, Planar graphs and their properties,
Eulerian and Hamiltonian graphs.
Trees: Basic properties of trees, Binary trees, Application: Graph and
Networks: Minimum Spanning Tree, Shortest Path, Huffman coding.

Textbooks
1. J.P. Tremblay and Manohar: Discrete mathematical structures with application to
Computer Science, McGraw hill- New Delhi.
2. B. Kolman and R.C. Busby: Discrete mathematical structures for computer science
Prentice Hall, New-Delhi.
3. S. Malik and M. K. Sen Discrete Mathematics, Cengage Learning India Pvt. Ltd.

Reference Books
1. Kenneth H. Rosen, Discrete Mathematics, and its applications Eighth Edition
McGraw Hill Education
2. Stanat and McAlister, Discrete Mathematics for Computer Science, PHI
3. R.M. Somasundaram Discrete Mathematical Structures, Prentice Hall India
Learning Private Limited

List of Assignments
1. Given a fact or a statement prove or disprove using suitable technique.
2. Write the given English language sentences represent in the Symbolic logic
3. Given the statement forms Infer the validity of the statement form
4. Draw a Hasse diagram and find chains and antichains
5. Find the number of ways for any event or given sample space.
6. Given a problem represent in a graph and compute the optimal solution
7. Given a communication network find the path between the given nodes

Project Based Learning - Provisional List of Projects


1. Discrete Mathematics in Railway Planning using graph theory and linear algebra.
2. Object transformations using linear algebra.
3. Discrete mathematics in cryptography.
4. In Google maps to determine fastest driving routes and times.
5. In image processing
6. In relation database using sets.
7. In cyber security using graph theory.
8. Shortest path between two cities using a transportation system.
9. Data compression system with the help of Huffman coding.
10. Find the shortest tour that visits each of a group of cities only once and then ends in the
starting city using graphs.

Syllabus for Unit Tests:


Unit Test -1 Unit – I, Unit – II, Unit - III
Unit Test -2 Unit – IV, Unit – V, Unit - VI
Data Structures and Algorithmic Thinking
Teaching Scheme Examination Scheme Credit Scheme
Hours/Week Marks Credits
Lecture: 04 Hours/Week University Examination 60 Marks Lecture 04
Practical: 02 Hours/Week Internal Assessment 40 Marks
Term Work & Practical 50 Marks Practical 01

Total 150 Marks Total 05


Course Objective
The course enables students to perform tasks that facilitates them to understand interaction
between the algorithms and the structure of the data being analysed by these algorithms.
This course also focuses to train students in process of algorithmic thinking enabling them
to build simpler solutions to various computational problems.

Prerequisite:
Classical Data Structure, Computational Thinking and Programming Concepts,
Programming Technologies, and Tools Laboratory 3

Course Outcomes: On completion of the course, students will have the ability to:
1. Comprehend the real time problem.
2. Practise and apply Iterative Thinking
3. Practise and apply Recursive Thinking
4. Demonstrate the use of ADTs,
5. Develop code to illustrate sorting and searching algorithms.
6. Apply algorithms and data structures in various real-life software problems.

Unit I Recursion and Backtracking 08 Hours


Introduction to recursion, why recursion, Format of a Recursive Function,
Recursion and Memory, Recursion Vs. Iteration, Algorithms of Recursion,
Recursion problems and Solutions.
Introduction to Backtracking, Algorithms of Backtracking, Backtracking
problems, and Solutions.

Unit II Trees 08 Hours


Introduction to Trees, Binary Trees, Types of Binary Trees, Properties of Binary
Trees, Binary Tree Traversals, Generic Trees (N-ary Trees), Threaded Binary
Tree Traversals (Stack or Queue-less Traversals), Expression Trees, XOR Trees,
Binary Search Tree, Balanced Binary Search Trees, Adelson-Velskii and Landis
(AVL) Trees.

Unit III Priority Queues & Heaps and Disjoint Sets ADT 08 Hours
Introduction to Priority Queues, Priority Queue ADT, Priority Queue
Applications, Priority Queue Implementations, Heaps and Binary Heaps,
Heapsort, Priority Queue problems and Solutions.
Disjoint Sets ADT – Introduction, Equivalence Relations and Equivalence
Classes, Disjoint Sets ADT, Trade-off in Disjoint Sets ADT implementations,
Fast UNION Implementation – Slow Find and Quick Find.

Unit IV Graphs Algorithm 08 Hours


Introduction to Graphs, Application of Graphs, Graph Representation, Graph
Traversals, Topological Sort, Shortest Path Algorithms, Minimal Spanning
Tree, Graph Algorithm problems & Solutions.
Unit V Sorting and Searching 08 Hours
Introduction to Sorting, Classification of Sorting algorithms, Bubble Sort,
Selection Sort, Insertion Sort, Shell Sort, Merge Sort, Heap Sort, Quick Sort,
Tree Sort, Comparison of Sorting algorithms, Linear Sorting Algorithms,
Counting Sort, Bucket Sort, Radix Sort, Topological Sort, External sorting.
Introduction to Searching, Types of Searching, Unordered searching, ordered
linear search, Binary search, Interpolation search, Comparison of searching
algorithm.

Unit VI Maps, Hash tables and Skip Lists 08 Hours


Introduction - Hashing, Hash Tables – Hash Functions, Collision Handling
schemes, Load Factors, Rehashing, and Efficiency.
Map ADT Introduction, Counting Word Frequencies, Sorted Maps, Sorted
Search Tables, Skip Lists – Search and Update Operations in a skip list.

Textbooks
1. Data Structures: A Pseudo code approach with C, R. Gillberg, B. Forouzn
2. Data structures using C and C++ by Langsam, Augenstein, Tenenbaum,PHI
publication
3. Data Structure and Algorithmic Thinking with Python, CareerMonk Publications,
Narasimha Karumanchi, 2016

Reference Books
1. Data Structures and Algorithms in Python, Michael T. Goodrich, Roberto Tamassia,
Michael H. Goldwasser, John Wiley & Sons, 2013
2. Think Data Structures- Algorithms and Information Retrieval in Java, Allen B.
Downey, O’Reilly, 2017

List of Assignments
1. Write algorithm, pseudocode, and code to solve Recursion Problems like – Towers
of Hanoi, whether given array is in sorted order.
2. Write algorithm, pseudocode, and code to solve Backtracking Problems like -
Generate all the binary strings with n bits. Assume A [O. n - 1I is an array of size n,
generate all the strings of length 11 drawn from 0... k - 1.
3. Write algorithm, pseudocode, and code to solve problems like - Give an algorithm
for finding maximum element in binary tree.
4. Write algorithm, pseudocode and code to solve AVL Trees problems - Given a
height h, give an algorithm for generating the HB(0). HB(0) is generating full binary
tree.
5. Prove, is there a min-heap with seven distinct elements so that the pre-order
traversal or it gives the elements in sorted order?
6. Travelling Salesperson Problem: Find the shortest path in a graph that visits each
vertex at least once, starting and ending at the same vertex'?

List of Laboratory Exercises


1. Finding the length of connected cells of l s (regions) in a matrix of Os and ls.
2. Give an algorithm for finding the maximum clement in binary tree without
recursion.
3. Give an algorithm for searching a clement in binary tree.
4. Give an algorithm for finding the diameter of the binary tree. The diameter of a tree
(sometimes called the width) is the number of nodes on the longest path between
two leaves in the tree.
5. Implement the Algorithm for Building Expression Tree from Postfix Expression
6. Write and implement an algorithm for deleting an arbitrary clement from min heap.
7. Write and implement an algorithm for checking whether a given graph G has simple
path from source s to destination d. Assume the graph G is represented using the
adjacent matrix.
8. Perform DFS on given graph C.
9. Count the number of connected components of Graph G which is represented in the
adjacent matrix.
10. Merging K sorted lists: Given K sorted lists with a total of n elements, write an
algorithm to produce a sorted list of all n elements.

Project Based Learning - Provisional List of Projects


1. Design and development of Student attendance system using array data structure.
2. Design and development of Car rental system using Singly linked list (SSL) data
structure.
3. Design and development of Inventory management system using suitable data structure.
4. Comparative study of student management system using array, queue, and stack.
5. Design phone dictionary using doubly linked list (DLL).
6. Design and implement of dictionary using hierarchical data structure.
7. Design and implement of expression solver using stack.
8. Design and development quizer (quiz conduction application).
9. Design and development of subject recommendation system.
10. Design and development of Sudoku Solver.

Syllabus for Unit Tests:


Unit Test -1 Unit – I, Unit – II, Unit - III
Unit Test -2 Unit – IV, Unit – V, Unit - VI
Computer Organisation and Design
Teaching Scheme Examination Scheme Credit Scheme
Hours/Week Marks Credits
Lecture: 04 Hours/Week University Examination 60 Marks Lecture 04
Practical: 02 Hours/Week Internal Assessment 40 Marks
Term Work & Practical 50 Marks Practical 01

Total 150 Marks Total 05


Course Objective
This course aims at providing comprehensive understanding of the organization and
architecture of modern-day computers, emphasizing both fundamental principles and role
of performance parameters in driving computer design.

Prerequisite:
Digital Electronics

Course Outcomes: On completion of the course, students will have the ability to:
1. Analyse the design issues in terms of speed, technology, cost, performance
2. Understand the architecture and functionality of central processing unit.
3. Learn design approaches implementing control unit
4. Discuss the concept of memory organization.
5. Describe structure and functions of I/o module and Peripherals.
6. Infer Performance Enhancement of Processor

Unit I Computer arithmetic and performance 08 Hours


Computer organization and system architecture, Structure and functions, Von
Neumann Architecture, IAS machine. Computer Performance Measurement,
Aspects & Factors affecting Computer Performance, MIPS & MFLOPS,
designing for performance, fixed and floating-point representations, IEEE 754
format. Booths Algorithm for Signed Multiplication, Restoring and Non-
Restoring Division Algorithms.

Unit II Central Processing Unit 08 Hours


Introduction to x86 microprocessor, Architecture, register organization,
Segmentation, Instruction execution cycle, addressing modes, and Instruction
set. Instruction Formats, Instruction Types, the Instruction Cycle, and
Instruction Pipelining, RISC Vs. CISC Architecture

Unit III Control Unit 08 Hours


Instruction Cycle & Micro Operations, Functional Requirements & Operations
of the Control Unit, Block Schematic & Control Signals, Single Bus Processor
Organization, Control Signal example with Micro Operations and Register
Transfer. Control Unit Design Methods – Hardwired Control and Micro-
Programmed Control Microinstructions & Formats, Control Memory,
Microinstruction Sequencing, Sequencing Techniques, Address Generation,
Microinstruction Execution, Microinstruction Encoding

Unit IV Memory 08 Hours


Characteristics of Memory Systems, Internal and External Memory Types.
Memory Hierarchy, Principle of Locality, Cache Memory – Basics,
Performance Metrics & Improvements, Organization and Mapping
Techniques, Handling Cache Misses & Writes, Replacement Algorithms,
Cache Controllers
Unit V I/O organization 08 Hours
Structure and functions of I/o Module, Peripheral devices and their
characteristics, Input-output subsystems, I/O device interface, Programmed
I/O, Interrupt driven I/O, DMA, Buses-SCSI, USB

Unit VI Performance enhancement of processors 08 Hours


CPU Performance and its Factors, Evaluating Performance, Enhancing
Performance - Pipeline Processing, instruction pipelining, pipeline stages and
hazards, The ARM Cortex–A8 and Intel Core i7 Pipelines, Parallel Processing
Concepts - Flynn's classifications, Cache coherence in multiprocessor systems,
Specialized Architectures - Multi-core systems

Textbooks
1. William Stallings. “Computer organization and architecture: designing for
performance”. Pearson Education India, 2010
2. Carl Hamacher, Zvonko Vranesic and Safwat Zaky. “Computer Organization”,
McGraw Hill, 2011.
3. Computer System Architecture M. M. Mano: 3rd ed., Prentice Hall of India, New
Delhi, 1993.
4. Computer Architecture and Organization, John P. Hayes.

Reference Books
1. A. S. Tanenbaum “Structured Computer Organization”, 4th Edition, Prentice Hall
of India, 1991 ISBN: 81–203–1553–7.
2. Computer Organization and Design: The Hardware/Software Interface, David A.
Patterson and John L. Hennessy.

List of Assignments
1. Describe structure of IAS computer with neat block diagram.
2. Describe architecture of 8086 with neat block diagram.
3. Draw and Explain Hardware implementation of Booth’s algorithm for signed
number multiplication
4. Draw flowchart for Booth’s Algorithm for multiplication and perform 9 x -6
5. Draw and Explain Hardwired control unit using a. Delay element method or b.
Sequence Counter method
6. Explain Direct mapping and set associative mapping of cache memory in detail with
suitable example

List of Laboratory Exercises


1. Write an Assembly Language program to display system time on screen.
2. Write an Assembly Language program to add and subtract two 8-bit numbers.
3. Write an Assembly Language program to determine 2’s complement of a number
4. Write an assembly language program for BCD addition and subtraction.
5. To Apply Booth’s Algorithm for illustrating multiplication of signed numbers.
6. To design and illustrate Restoring Division Algorithm.
7. To design and illustrate Non-Restoring Division Algorithm.
8. To design 4-bit ALU (VLAB)
9. Study of Memory Design (VLAB)
10. To design Direct mapped Cache and associative cache (VLAB)

Project Based Learning - Provisional List of Projects


Write program to generate assembly code from prefix code.
1. Simulate a word multiplier.
2. Simulate a word divider.
3. Suggest a high-speed addition method and logic for 4-bit addition
4. Design and implement an arbitrary precision four function calculator.
5. Simulate modern traffic control system.
6. Suggest and design a minimal cpu architecture for controlling the washing machine.
7. Write/create/research a tool for benchmarking of a hardware (CPU).
8. Implement quick sort using assembly language.
9. Implement binary search using assembly language.
10. Implement matrix multiplication using assembly language
11. Microprocessor based automatic attendance recorder
12. Microprocessor based furnace temperature controller.

Syllabus for Unit Tests:


Unit Test -1 Unit – I, Unit – II, Unit - III
Unit Test -2 Unit – IV, Unit – V, Unit - VI
Computer Networks
Teaching Scheme Examination Scheme Credit Scheme
Hours/Week Marks Credits
Lecture: 03 Hours/Week University Examination 60 Marks Lecture 03
Practical: 02 Hours/Week Internal Assessment 40 Marks
Term Work & Practical 50 Marks Practical 01

Total 150 Marks Total 04


Course Objective
This Course emphasis on all theoretical concepts and practical aspects of networking. This
course enables the students to understand the networking hardware & concepts through
using network simulators.

Prerequisite
Computer System Workshop Technology.

Course Outcomes: On completion of the course, students will have the ability to:
1. Demonstrate the knowledge of computer networking.
2. Elucidate detailed structure of physical and data link layers
3. Demonstrate the knowledge of about Network and Transport Layers.
4. Elucidate the details of Session and Presentation Layers
5. Illustrate the functionality of Application layer
6. Recite the fundamentals of wireless network.

Unit I Fundamentals of Networking 06 Hours


History of network and internet, need of network, Types of networks,
Networking hardware, Information transmission, Transmitter, Receiver,
Introduction to networking applications and simulators, Introduction to OSI
reference model, Introduction to TCP/IP model, Introduction to internet and
working of Internet, Introduction to network security, IEEE standards for
networking

Unit II Physical and Data Link Layers 06 Hours


Ethernet, LLC, MAC, Framing, Channel Allocation schemes, Error Control,
Flow Control, Error Detection and correction, Physical Layer protocols, Data
Link layer protocols

Unit III Network and Transport Layers 06 Hours


Network Layer: Network Packet structure and formation, routing algorithms,
congestion control algorithms, quality of service, IP Addressing, Subnets,
configuring network settings, Network problem solving.
Transport Layers: Segmentation, Congestion control, Connection oriented and
connection less services, Network and Transport Layer Protocols.

Unit IV Session and Presentation Layers 06 Hours


Session Layer: Session management, synchronization, Dialog control,
Presentation Layer: Encryption-decryption, Compression, File formats,
Translation, Session and Presentation Layer protocols, Session and
Presentation Layer protocols.

Unit V Application Layer 06 Hours


DNS, URL, Data Cache and streaming, Web Applications, Web browser
working, Cloud services, User interface and User interaction, Mail systems,
Support of file formats, Application Layer protocols
Unit VI Network Security 06 Hours
Firewall, Types of Firewalls, Cryptography, Symmetric Key Algorithm, Public
Key Algorithm, Digital Signatures, Public Key Management, Communication
Security, Authentication protocols.

Textbooks
1. Data and computer communications, William Stallings, 10th edition, Pearson
2. Computer networking: a top-down approach, James f. Kurose, Keith w. Ross, 6th
edition, Pearson.
3. Computer Networks, Tanenbaum, 5th Edition, Pearson

Reference Books
1. Data communication & networking, Forouzan, 5th edition, McGraw-Hill.
2. Computer Networking Beginners Guide, Russell Scott, 1st edition, Stefano Cardinale

List of Assignments
1. Explain in detail the types of Networks.
2. Consider the real time scenario to explain the error correction and detection.
3. Compare: Connection oriented and Connection less services
4. Consider the real time scenario to explain the role of Session and Presentation Layer
in networking
5. Explain in detail: How does the web browser work?
6. Explain in detail: The role of Network Security in computing.

List of Laboratory Exercises


1. Introduction to Computer Network and Network Simulators.
Networking devices, Addresses, Network Security, Internet working, Network
Simulators: Cisco Packet Tracer, Netemul, NetSim.
2. Network configuration of PCs and other networking devices
Configuring Computer and Router via OS UI and commands, Networking
commands
3. Network configuration of PCs and other networking devices using network
simulators.
Observing and configuring PCs, Routers, Switch, Hub, and other networking
devices using network simulators
4. Establishment of simple LAN network using real time devices and network
simulators.
Establishment of simple LAN network using actual devices like PCs, Switch, Router
and through network simulators
5. Communication between two or multiple systems using network simulators.
Establishment of network where two network systems can communicate with each
other. Use of PCs, Switch etc. in network simulator.
6. Broadcasting using network simulators.
Establishing network to broadcast the information using network simulator. Use of
PCs, Switch and Hub in the network simulator.
7. Establishment of different networks and communication between them using real
time devices and network simulators.
Establishment of different networks and communication between using actual
devices like PCs, Switch, Router and through network simulators
8. Understanding Protocols of Transport Layer using Network Simulators
Understanding Transport Layer protocols TCP, UDP using networking simulators
9. Implementation of Client-Server Architecture for Same Network using Network
Simulators and Programming
Implementing some services of Server with protocols like FTP, HTTP, and others.
Use of PCs, Servers, Switch in Network Simulator. Socket Programming: Use of
Python, C, C++, Java for implementing Client Server architecture.
10. Implementation of Client-Server Architecture for different Networks using
Network Simulators.
Implementing some services of Server with protocols like FTP, HTTP, and others for
different networks. Use of PCs, Servers, Switch and Router in Network Simulator.
11. Understanding Web Browser structure and working
Web browser structure, source code loading, UI generation, Information loading
into application layer, file format support and Complete working of web browser.
12. Establishment of wireless network
Establishment of wireless networking using actual devices and via network
simulator. Use of Laptops and Wifi Router.

Project Based Learning - Provisional List of Projects


1. IP based patient monitoring system
2. Configuring Internet Router
3. Configuring Network Switch
4. Home Automation system using Wi-Fi
5. Wireless Weather monitoring system using Raspberry pi.
6. Smart Traffic control system
7. Smart energy meter for homes
8. Analysis of IPv4/IPv6 protocols
9. Web System Security.
10. Personalized Web Search with Location Preferences

Syllabus for Unit Tests:


Unit Test -1 Unit – I, Unit – II, Unit - III
Unit Test -2 Unit – IV, Unit – V, Unit - VI
Software Engineering
Teaching Scheme Examination Scheme Credit Scheme
Hours/Week Marks Credits
Lecture: 04 Hours/Week University Examination 60 Marks Lecture 04
Practical: 04 Hours/Week Internal Assessment 40 Marks
Term Work & Oral 50 Marks Practical 02

Total 150 Marks Total 06


Course Objective:
The course emphasises on the building blocks, importance and need of software
engineering. It focuses on the various processes, methods, and practices for developing
software which makes software engineering as a specific discipline. This course includes
elaboration on each phase of software development life cycle methodologies and practices.
It further covers the essential knowledge required to ensure the quality and maintenance of
developing and developed software.

Prerequisite:
-

Course Outcomes: On completion of the course, students will have the ability to:
1. Apply the Software Engineering approach to software design and development.
2. Apply the Essential processes of SDLC.
3. Demonstrate the knowledge of requirement elicitation by classifying and
documenting the requirements
4. Demonstrate software design by modelling artifacts for gathered requirements &
analysis.
5. Apply testing strategies and create test cases and test suites
6. Use the project management concepts and tools for managing software project.

Unit I Overview of Software Engineering & Its Methodologies 08 Hours


Defining Software Engineering, Software Engineering Principles, Software
Engineering Ethics, Software Process, Project, Product and People.
Overview of Software development lifecycle methodologies: Waterfall, Agile,
Lean, Iterative, Spiral, DevOps.

Unit II Requirements and Design 08 Hours


Expressing Requirements, Types of Requirements, Feasibility Study,
Elicitation Techniques. Requirements Analysis - Structured Analysis, Object
Oriented Modelling, Other Approaches. Requirement Specification,
Requirement Validation, Requirement Engineering Tools (CASE).
Software Design: Principles of Software Design, Data Design, Architectural
Design, Component Level Design, Object-oriented design, Design Notations,
User Interface Design

Unit III Coding and Testing 08 Hours


Coding Guidelines, Coding Methodology, Programming Practice - Top-down,
bottom-up, structured programming, information hiding programming, Code
verification Techniques, Introduction to No-Code Development approach and
tools.
Testing: Software test Characteristics, Test plan, Test Case Design, Testing
Strategies, Testing Techniques, Debugging Process, and strategies.
Unit IV Software Quality and Maintenance 08 Hours
Quality Concepts, ISO 9126 Quality Factors, Mc Call's Quality Factors, SQA
plan, SQA Activities, Software Reviews, Sig Sigma & ISO 9000 Quality
Standards, capability maturity model, Software Reliability.
Maintenance: Factors affecting software Maintenance, Types of software
Maintenance, Software Maintenance Lifecycle.

Unit V SCM and Re-engineering 08 Hours


Software Configuration Management - Basics, SCM Planning, Project Library,
SCM Process - Configuration Identification, Change Control, Version Control,
SCM Tools (CASE).
Software re-engineering: Objectives, Principles of Re-engineering, Levels of
Abstraction, Software Re-engineering process Model, Business Process Re-
Engineering.

Unit VI Software Planning and Cost Estimation 08 Hours


Responsibility of Software Project Manager, Project Planning, Project
Scheduling, People capability maturity model, Risk Management.
Cost Estimation - Basics, Estimation of Resources, Product Cost Factors, Cost
Estimation Process, Constructive Cost Model, Function Point Analysis,
Decomposition techniques- Problem based Estimation, Process based
estimation, use case-based estimation.

Textbooks
1. Fundamentals Of Software Engineering, Rajib Mall Phi Learning, 02-Apr-2014, Isbn
8120348982, 9788120348981
2. "Software Engineering: Principles and Practices, 2nd Edition by Rohit Khurana,
Khurana Rohit · 2010, Vikas Publishing House Pvt Limited", ISBN: 9788125939467
3. Software Engineering principles and practices, Rajesh Narang, 2015 McGraw Hill
Education, ASINB014ULF4R8

Reference Books
1. Software Engineering: A Practitioner's Approach, By Roger Pressman and Bruce
Maxim, McGraw Hill, 9th Edition, ISBN10: 1259872971
2. Software Engineering, by Ian Sommerville, Pearson; 10th edition, ISBN-10:
0133943038

List of Assignments
1. A mini project will be given to the students based on which they need to prepare
the following
a. Choosing the appropriate SDLC method to develop the given project.
b. Develop the project plan along with feasibility study and estimations
c. Prepare the Software requirement Specification document
d. Prepare the Software Detailed Design Document
e. Prepare test cases
f. Use CASE tools to perform all the above tasks.

List of Laboratory Exercises


1. Present a Case study on Agile methodology
2. Present a Case study on DevOps
3. For the given project, perform requirement elicitation using tools and prepare SRS.
4. Prepare case study on Tools used to create Unified Modelling Language.
5. Design Structure Model for the given SRS using UML tool.
6. Design Behaviour model for the given SRS using UML tool
7. Prepare the Testcases using the Junit.
8. Prepare case study on Tools used to prepare project Plan.
9. Prepare a case study on Automated testing Tools.
10. Prepare a case study on Total quality management.

Project Based Learning - Provisional List of Projects


1. Flight Vehicle and Aircraft Systems Engineering.
2. Skyscraper
3. Software piracy protection system
4. e-Learning platform
5. Bug tracker
6. Railway tracking and arrival time prediction system
7. Employee management system
8. Camera motion sensor system
9. Operating System task monitoring application
10. Data leakage detection system

Syllabus for Unit Tests:


Unit Test -1 Unit – I, Unit – II, Unit - III
Unit Test -2 Unit – IV, Unit – V, Unit - VI
Programming Technologies and Tools Laboratory – III
Teaching Scheme Examination Scheme Credit Scheme
Hours/Week Marks Credits
Practical: 04 Hours/Week Term Work & Practical 50 Marks Practical 02

Total 50 Marks Total 02

Course Objective:
The course aims to make students aware of python programming.

Prerequisite:
-

Course Outcomes: On completion of the course, students will have the ability to:
1. Demonstrate the knowledge of using data structures in python.
2. Demonstrate the characteristics of object-oriented Python
3. Perform basic operations on file.
4. Understand and implement error and exception handling
5. Design basic GUI using Python Tkinter
6. Implement database connectivity using MySql and SQLite.

Unit I Python Language Basics 08 Hours


Python Interpreter, Running IPython Shell, Running Jupyter Notebook, Tab
Completion, Introspection, The %run Command, Executing Code from the
Clipboard, Terminal Keyboard Shortcuts, About Magic Commands, Language
Semantics, Scalar types, Control flow.
Data Structures and Sequences – Tuple, List, built in sequence functions, dict,
set, strings.

Unit II Functions, Modules, Packages 08 Hours


Functions – def statement, returning values, parameters, arguments, local
variables, global variables and global statement, Doc Strings, Decorators,
lambda, iterators and generators, Modules, Packages.

Unit III Object-Oriented Approach 08 Hours


Classes - A simple class, defining methods, the constructor, Member variables,
calling methods, Adding inheritance, Class variables, Class methods and static
methods, Properties, Interfaces, New style classes, Doc strings for classes,
Private members.
Scope & Namespaces, object, instantiations, Inheritance, Multiple inheritance,
Constructors, operator overloading.

Unit IV File Handling and Error 08 Hours


Python file handling: File handling modes, Text & Binary Files – Reading,
Writing and Delete.
Error and exception handling: Exceptions, Handling Exceptions, Raising
Exceptions, Exception Chaining, User-defined Exceptions, Defining Clean-up
Actions, Predefined Clean-up Actions.

Unit V Python Tkinter 08 Hours


Event Driven Programming, GUI frameworks-Tkinter, Windows and
windows attribute, Component, Tk widgets-Ttk and Tix widgets, Geometry
Management, Events & Binding Functions, simple GUI applications
development.
PyGtk – Simple message box, text input dialog box, file selection dialog box.
EasyGUI - Example

Unit VI Backend and Database 08 Hours


Tornado for windows, building python HTTP web server (GET method),
Parameter and Python API (resource and query), Building a JSON GET &
POST API, the GET and POST API from JavaScript/HTML
SQLite, MySQL -Environment Setup, Database Connection, CRUD operations.

Textbooks
1. Python 3 Object-oriented Programming Second Edition, Dusty Phillips, Packt
Publishing
2. MySQL for Python: Database Access Made Easy,
3. Python GUI Programming with Tkinter, Alan D. Moore, O’Reilly Media, Inc.

Reference Books
1. Introduction to Computation and Programming Using Python, John V Guttag,
Prentice Hall of India
2. Python Essential Reference 4th Edition, David Beazley, Pearson Education.

List of Laboratory Exercises


1. Study about Anaconda python software.
2. Write a program to understand the control structures of python
3. Write a program to learn different types of structures (list, dictionary, tuples) in
python
4. Write a program to learn concept of functions scoping, recursion, and list mutability.
5. Write a program to understand working of exception handling and assertions.
6. Write a program to perform basic operations on text files.
7. Write a program to implement HTTP server using Python
8. Write a program to implement basic GUI application with database connectivity
using SQLite
9. Write a program to learn GUI programming using Tkinter
10. Write a program to implement basic GUI application with database connectivity
using MySql

Project Based Learning - Provisional List of Projects


1. Design and development of Mad Libs generator.
2. Design and development of electronic mail system (Read, write, send and delete
operations).
3. Design and development of store billing system.
4. Design and development of typing speed check web application.
5. Design and development of windows application for music player.
6. Design and development of windows Quiz Application.
7. Design and development of web application for daily expense tracker.
8. Design and development of student portfolio management & CV generator system.
9. Design and development of windows based to do list or sticky notes.
10. Design and development of assignment plagiarism checker

You might also like