Syllabus

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

SE4151 ADVANCED SOFTWARE ENGINEERING LT PC

3 00 3
COURSE OBJECTIVES:
 To understand the rationale for software development process models
 To understand why the architectural design of software is important;
 To understand the five important dimensions of dependability, namely, availability, reliability,
safety, security, and resilience.
 To understand the basic notions of a web service, web service standards, and service- oriented
architecture;
 To understand the different stages of testing from testing during development of a software system

UNIT I SOFTWARE PROCESS &MODELING 9


Prescriptive Process Models – Agility and Process – Scrum – XP – Kanban – DevOps – Prototype
Construction – Prototype Evaluation – Prototype Evolution – Modelling – Principles – Requirements
Engineering – Scenario-based Modelling – Class-based Modelling – Functional Modelling – Behavioural
Modelling.

UNIT II SOFTWARE DESIGN 9


Design Concepts – Design Model – Software Architecture – Architectural Styles – Architectural Design –
Component-Level Design – User Experience Design – Design for Mobility – Pattern- Based Design.

UNIT III SYSTEM DEPENDABILITY AND SECURITY 9


Dependable Systems – Dependability Properties – Sociotechnical Systems – Redundancy and Diversity –
Dependable Processes – Formal Methods and Dependability – Reliability Engineering – Availability and
Reliability – Reliability Requirements – Fault-tolerant Architectures – Programming for Reliability –
Reliability Measurement – Safety Engineering – Safety-critical Systems – Safety Requirements – Safety
Engineering Processes – Safety Cases – Security Engineering – Security and Dependability – Safety and
Organizations – Security Requirements – Secure System Design – Security Testing and Assurance –
Resilience Engineering – Cybersecurity – Sociotechnical Resilience – Resilient Systems Design.

UNIT IV SERVICE-ORIENTED SOFTWARE ENGINEERING, SYSTEMS ENGINEERING


AND REAL-TIME SOFTWARE ENGINEERING 9
Service-oriented Architecture – RESTful Services – Service Engineering – Service Composition – Systems
Engineering – Sociotechnical Systems – Conceptual Design – System Procurement – System Development –
System Operation and Evolution – Real-time Software Engineering – Embedded System Design –
Architectural Patterns for Real-time Software – Timing Analysis – Real-time Operating Systems.

UNIT V SOFTWARE TESTING AND SOFTWARE CONFIGURATION MANAGEMENT 9


Software Testing Strategy – Unit Testing – Integration Testing – Validation Testing – System Testing –
Debugging – White-Box Testing – Basis Path Testing – Control Structure Testing – Black-Box Testing –
Software Configuration Management (SCM) – SCM Repository – SCM Process – Configuration
Management for Web and Mobile Apps.

SUGGESTED ACTIVITIES
1. Comparatively analysing different Agile methodologies.
2. Describing the scenarios where ‘Scrum’ and ‘Kanban’ are used.
3. Mapping the data flow into suitable software architecture.
4. Developing behavioural representations for a class or component.
5. Implementing simple applications as RESTful service.

COURSE OUTCOMES:
The Students will be able to
CO1:Identify appropriate process models based on the Project requirements
CO2:Understand the importance of having a good Software Architecture.

TOTAL: 45 PERIODS
CO3:Understand the five important dimensions of dependability, namely, availability,
reliability, safety, security, and resilience.
CO4:Understand the basic notions of a web service, web service standards, and service-oriented architecture;
CO5:Be familiar with various levels of Software testing

REFERENCES:
1. Software Engineering: A Practitioner's Approach, 9th Edition. Roger Pressman and Bruce
Maxim, McGraw-Hill 2019.
2. Software Engineering, 10th Edition, Ian Somerville, Pearson Education Asia 2016.
3. Software Architecture In Practice, 3rd Edition, Len Bass, Paul Clements and Rick Kazman,
Pearson India 2018
4. An integrated approach to Software Engineering, 3rd Edition, Pankaj Jalote, Narosa
Publishing House, 2018
5. Fundamentals of Software Engineering, 5th Edition, Rajib Mall, PHI Learning Private
Ltd, 2018
C MACHINE LEARNING L T PC
P 3 0 2 4
4
2
5
2
COURSE OBJECTIVES:
2. Study atleast
To3 understand
Tools available for Machine
the concepts and Learning and discuss
mathematical pros &
foundations ofcons of each
machine learning and types of
problems tackled by machine learning
 To explore the different supervised learning techniques including ensemble methods
 To learn different aspects of unsupervised learning and reinforcement learning
 To learn the role of probabilistic methods for machine learning
 To understand the basic concepts of neural networks and deep learning

UINTRODUCTION AND MATHEMATICAL FOUNDATIONS 9


N
I
T

I
What is Machine Learning? Need –History – Definitions – Applications - Advantages,
Disadvantages & Challenges -Types of Machine Learning Problems – Mathematical Foundations -
Linear Algebra & Analytical Geometry -Probability and Statistics- Bayesian Conditional Probability -
Vector Calculus & Optimization - Decision Theory - Information theory

USUPERVISED LEARNING 9
N
I
T

I
I
Introduction-Discriminative and Generative Models -Linear Regression - Least Squares -Under-fitting
/ Overfitting -Cross-Validation – Lasso Regression- Classification - Logistic Regression- Gradient
Linear Models -Support Vector Machines –Kernel Methods -Instance based Methods - K-Nearest
Neighbors - Tree based Methods –Decision Trees –ID3 – CART - Ensemble Methods –Random
Forest - Evaluation of Classification Algorithms

UUNSUPERVISED LEARNING AND REINFORCEMENT LEARNING 9


N
I
T

I
I
I
Introduction - Clustering Algorithms -K – Means – Hierarchical Clustering - Cluster Validity -
Dimensionality Reduction –Principal Component Analysis – Recommendation Systems - EM
algorithm. Reinforcement Learning – Elements -Model based Learning – Temporal Difference
Learning

UPROBABILISTIC METHODS FOR LEARNING 9


N
I
T

I
V
Introduction -Naïve Bayes Algorithm -Maximum Likelihood -Maximum Apriori -Bayesian Belief
Networks -Probabilistic Modelling of Problems -Inference in Bayesian Belief Networks – Probability
Density Estimation - Sequence Models – Markov Models – Hidden Markov Models
3. Take an example of a classification problem. Draw different decision trees for the example
and explain the pros and cons of each decision variable at each level of the tree
4. Outline 10 machine learning applications in healthcare
5. Give 5 examples where sequential models are suitable.
6. Give at least 5 recent applications of CNN
PRACTICAL EXERCISES: 30 PERIODS
1. Implement a Linear Regression with a Real Dataset
(https://www.kaggle.com/harrywang/housing). Experiment with different features in building
a model. Tune the model's hyperparameters.
2. Implement a binary classification model. That is, answers a binary question such as "Are
houses in this neighborhood above a certain price?"(use data from exercise 1). Modify the
classification threshold and determine how that modification influences the model. Experiment
with different classification metrics to determine your model's effectiveness.
3. Classification with Nearest Neighbors. In this question, you will use the scikit-learn’s KNN
classifier to classify real vs. fake news headlines. The aim of this question is for you to read the
scikit-learn API and get comfortable with training/validation splits. Use California Housing
Dataset
4. In this exercise, you'll experiment with validation sets and test sets using the dataset. Split
a training set into a smaller training set and a validation set. Analyze deltas between training set
and validation set results. Test the trained model with a test set to determine whether your
trained model is overfitting. Detect and fix a common training problem.
5. Implement the k-means algorithm using https://archive.ics.uci.edu/ml/datasets/Codon+usage
dataset
6. Implement the Naïve Bayes Classifier using
https://archive.ics.uci.edu/ml/datasets/Gait+Classification
dataset
7. Project - (in Pairs) Your project must implement one or more machine learning algorithms and
apply them to some data.

a. Your project may be a comparison of several existing algorithms, or it may propose a


new algorithm in which case you still must compare it to at least one other approach.
b. You can either pick a project of your own design, or you can choose from the set of
pre-defined projects.
c. You are free to use any third-party ideas or code that you wish as long as it is publicly
available.
d. You must properly provide references to any work that is not your own in the write-up.
e. Project proposal You must turn in a brief project proposal. Your project proposal
should describe the idea behind your project. You should also briefly describe software
you will need to write, and papers (2-3) you plan to read.

List of Projects (datasets available)


1 Sentiment Analysis of Product Reviews
2. Stock Prediction
3. Sales Forecasting
4. Music Recommendation
5. Handwriting Digit Classification
6. Fake News Detection
7. Sports Prediction
8. Object Detection
9. Disease Prediction

COURSE OUTCOMES:
Upon the completion of course, students will be able to
CO1: Understand and outline problems for each type of machine learning
CO2: Design a Decision tree and Random forest for an application
CO3: Implement Probabilistic Discriminative and Generative algorithms for an application and
analyze the results.
CO4: Use a tool to implement typical Clustering algorithms for different types of applications. CO5:
Design and implement an HMM for a Sequence Model type of application and identify applications
suitable for different types of Machine Learning with suitable justification.
TOTAL:75 PERIODS
REFERENCES
1. Stephen Marsland, “Machine Learning: An Algorithmic Perspective”, Chapman & Hall/CRC, 2nd
Edition, 2014.
2. Kevin Murphy, “Machine Learning: A Probabilistic Perspective”, MIT Press, 2012
3. Ethem Alpaydin, “Introduction to Machine Learning”, Third Edition, Adaptive Computation and
Machine Learning Series, MIT Press, 2014
4. Tom M Mitchell, “Machine Learning”, McGraw Hill Education, 2013.
5. Peter Flach, “Machine Learning: The Art and Science of Algorithms that Make Sense of Data”, First
Edition, Cambridge University Press, 2012.
6. Shai Shalev-Shwartz and Shai Ben-David, “Understanding Machine Learning: From Theory to
Algorithms”, Cambridge University Press, 2015
7. Christopher Bishop, “Pattern Recognition and Machine Learning”, Springer, 2007.
8. Hal Daumé III, “A Course in Machine Learning”, 2017 (freely available online)
9. Trevor Hastie, Robert Tibshirani, Jerome Friedman, “The Elements of Statistical Learning”,
Springer, 2009 (freely available online)
10. Aurélien Géron , Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts,
Tools, and Techniques to Build Intelligent Systems 2nd Edition, o'reilly, (2017)

BD4251 BIG DATA MINING AND ANALYTICS LT PC 3 0 0 3

COURSE OBJECTIVES:
 To understand the computational approaches to Modeling, Feature Extraction
 To understand the need and application of Map Reduce
 To understand the various search algorithms applicable to Big Data
 To analyze and interpret streaming data
 To learn how to handle large data sets in main memory and learn the various clustering
techniques applicable to Big Data

UNIT I DATA MINING AND LARGE SCALE FILES 9


Introduction to Statistical modeling – Machine Learning – Computational approaches to modeling –
Summarization – Feature Extraction – Statistical Limits on Data Mining - Distributed File Systems –
Map-reduce – Algorithms using Map Reduce – Efficiency of Cluster Computing Techniques.
UNIT II SIMILAR ITEMS 9
Nearest Neighbor Search – Shingling of Documents – Similarity preserving summaries – Locality
sensitive hashing for documents – Distance Measures – Theory of Locality Sensitive Functions –
LSH Families – Methods for High Degree of Similarities.

UNIT III MINING DATA STREAMS 9


Stream Data Model – Sampling Data in the Stream – Filtering Streams – Counting Distance
Elements in a Stream – Estimating Moments – Counting Ones in Window – Decaying Windows.

UNIT IV LINK ANALYSIS AND FREQUENT ITEMSETS 9


Page Rank –Efficient Computation - Topic Sensitive Page Rank – Link Spam – Market Basket
Model – A-priori algorithm – Handling Larger Datasets in Main Memory – Limited Pass Algorithm
– Counting Frequent Item sets.

UNIT V CLUSTERING 9
Introduction to Clustering Techniques – Hierarchical Clustering –Algorithms – K-Means – CURE –
Clustering in Non -– Euclidean Spaces – Streams and Parallelism – Case Study: Advertising on the
Web – Recommendation Systems.
TOTAL: 45 PERIODS
COURSE OUTCOMES:
Upon completion of this course, the students will be able to
CO1: Design algorithms by employing Map Reduce technique for solving Big Data problems.
CO2: Design algorithms for Big Data by deciding on the apt Features set .
CO3: Design algorithms for handling petabytes of datasets
CO4: Design algorithms and propose solutions for Big Data by optimizing main
memory consumption
CO5: Design solutions for problems in Big Data by suggesting appropriate clustering techniques.

REFERENCES:
1. Jure Leskovec, AnandRajaraman, Jeffrey David Ullman, “Mining of Massive Datasets”,
Cambridge University Press, 3rd Edition, 2020.
2. Jiawei Han, MichelineKamber, Jian Pei, “Data Mining Concepts and Techniques”, Morgan
Kaufman Publications, Third Edition, 2012.
3. Ian H.Witten, Eibe Frank “Data Mining – Practical Machine Learning Tools and
Techniques”, Morgan Kaufman Publications, Third Edition, 2011.
4. David Hand, HeikkiMannila and Padhraic Smyth, “Principles of Data Mining”, MIT
PRESS, 2001
WEB REFERENCES:
1. https://swayam.gov.in/nd2_arp19_ap60/preview
2. https://nptel.ac.in/content/storage2/nptel_data3/html/mhrd/ict/text/106104189/lec1.pdf

ONLINE RESOURCES:
1. https://examupdates.in/big-data-analytics/
2. https://www.tutorialspoint.com/big_data_analytics/index.htm
3. https://www.tutorialspoint.com/data_mining/index.htm
ADVANCED DIGITAL IMAGE PROCESSING L T P C
19MCN19
(Common to M.E - CN, AE& VLSI)
3 0 0 3

OBJECTIVES

 To understand the image fundamentals.


 To gain knowledge on the various image segmentation techniques.
 To extract features for image analysis.
 To introduce the concepts of image registration and image fusion.
 To illustrate 3D image visualization.

COURSE OUTCOMES

At the end of the course learners will be able to


CO1 Explain the fundamentals digital image processing.
Describe image various segmentation and feature extraction techniques for
CO2
image analysis.
CO3 Discuss the concepts of image registration and fusion.
CO4 Analyze and apply the 3D image visualization.

SYLLABUS

UNIT I FUNDAMENTALS OF DIGITAL IMAGE PROCESSING 9


Elements of visual perception, brightness, contrast, hue, saturation, mach band effect, 2D image
transforms-DFT, DCT, KLT,SVD. Image enhancement in spatial and frequency domain, Review
of Morphological image processing.

UNIT II SEGMENTATION 9
Edge detection, Thresholding, Region growing, Fuzzy clustering, Watershed algorithm, Active
contour models, Texture feature based segmentation, Graph based segmentation, Wavelet based
Segmentation - Applications of image segmentation.

UNIT III FEATURE EXTRACTION 9


First and second order edge detection operators, Phase congruency, Localized feature extraction -
detecting image curvature, shape features, Hough transform, shape skeletonization, Boundary
descriptors, Moments, Texture descriptors- Autocorrelation, Co-occurrence features, Runlength
features, Fractal model based features, Gabor filter, wavelet features.
UNIT IV REGISTRATION AND IMAGE FUSION 9
Registration - Preprocessing, Feature selection - points, lines, regions and templates Feature
correspondence - Point pattern matching, Line matching, Region matching, Template matching.
Transformation functions - Similarity transformation and Affine Transformation. Resampling –
Nearest Neighbour and Cubic Splines. Image Fusion -

Overview of image fusion, pixel fusion, wavelet based fusion -region based fusion.
UNIT V 3D IMAGE VISUALIZATION 9
Sources of 3D Data sets, Slicing the Data set, Arbitrary section planes, The use of color,
Volumetric display, Stereo Viewing, Ray tracing, Reflection, Surfaces, Multiple connected
surfaces, Image processing in 3D, Measurements on 3D images.

TOTAL: 45 PERIODS

REFERENCES

1. A.K. Jain, “Fundamentals of Digital Image Processing”, Prentice-Hall,


Addison- Wesley,1989.
2. B. Jähne, “Practical Handbook on Image Processing for
Scientific Applications“,CRC Press, 1997.
3. Bernd Jähne, Digital Image Processing, Springer-Verlag Berlin Heidelberg2005.
4. Bovik (ed.), “Handbook of Image and Video Processing”, Academic Press,2000.
5. Gonzalez and Woods, Digital Image Processing,Prentice-Hall.
6. J. C. Russ. The Image Processing Handbook. CRC, Boca Raton, FL, 4th edn.,2002.
7. J. S. Lim, “Two-dimensional Signal and Image Processing” Prentice-Hall,1990.
8. M. Petrou, P. Bosdogianni, “Image Processing, The Fundamentals“, Wiley,1999.
9. Rudra Pratap, Getting Started With MATLAB 7. Oxford University Press,2006
10. Stephane Marchand-Maillet, Yazid M. Sharaiha, Binary Digital Image Processing,
A Discrete Approach, Academic Press,2000.
11. W. K. Pratt. Digital image processing, PIKS Inside. Wiley, New York,
3rd, edn.,2001.

CP4292 MULTICORE ARCHITECTURE AND PROGRAMMING L T PC


3 0 2 4
COURSE OBJECTIVES:
 To understand the need for multi-core processors, and their architecture.
 To understand the challenges in parallel and multithreaded programming.
 To learn about the various parallel programming paradigms,
 To develop multicore programs and design parallel solutions.

UNIT I MULTI-CORE PROCESSORS 9


Single core to Multi-core architectures – SIMD and MIMD systems – Interconnection networks –
Symmetric and Distributed Shared Memory Architectures – Cache coherence – Performance Issues
– Parallel program design.

UNIT II PARALLEL PROGRAM CHALLENGES 9


Performance – Scalability – Synchronization and data sharing – Data races – Synchronization
primitives (mutexes, locks, semaphores, barriers) – deadlocks and livelocks – communication
between threads (condition variables, signals, message queues and pipes).

UNIT III SHARED MEMORY PROGRAMMING WITH OpenMP 9


OpenMP Execution Model – Memory Model – OpenMP Directives – Work-sharing Constructs –
Library functions – Handling Data and Functional Parallelism – Handling Loops – Performance
Considerations.

UNIT IV DISTRIBUTED MEMORY PROGRAMMING WITH MPI 9


MPI program execution – MPI constructs – libraries – MPI send and receive – Point-to-point and
Collective communication – MPI derived datatypes – Performance evaluation

UNIT V PARALLEL PROGRAM DEVELOPMENT 9


Case studies – n-Body solvers – Tree Search – OpenMP and MPI implementations and comparison.
TOTAL: 45 PERIODS
PRACTICALS:
1. Write a simple Program to demonstrate an OpenMP Fork-Join Parallelism.
2. Create a program that computes a simple matrix-vector multiplication b=Ax, either
in C/C++. Use OpenMP directives to make it run in parallel.
3. Create a program that computes the sum of all the elements in an array A (C/C++) or
a program that finds the largest number in an array A. Use OpenMP directives to make it run
in parallel.
4. Write a simple Program demonstrating Message-Passing logic using OpenMP.
5. Implement the All-Pairs Shortest-Path Problem (Floyd's Algorithm) Using OpenMP.
6. Implement a program Parallel Random Number Generators using Monte Carlo Methods
in OpenMP.
7. Write a Program to demonstrate MPI-broadcast-and-collective-communication in C.
8. Write a Program to demonstrate MPI-scatter-gather-and-all gather in C.
9. Write a Program to demonstrate MPI-send-and-receive in C.
10. Write a Program to demonstrate by performing-parallel-rank-with-MPI in C.
TOTAL: 30
PERIODS
TOTAL:45+30=75
PERIODS
COURSE OUTCOMES:
At the end of the course, the students should be able to:
CO1: Describe multicore architectures and identify their characteristics and challenges.
CO2: Identify the issues in programming Parallel Processors.
CO3: Write programs using OpenMP and MPI.
CO4: Design parallel programming solutions to common problems.
CO5: Compare and contrast programming for serial processors and programming for parallel
processors.
REFERENCES:
1. Peter S. Pacheco, “An Introduction to Parallel Programming,
Morgan-Kauffman/Elsevier, 2021.
2. Darryl Gove, “Multicore Application Programming for Windows, Linux, and Oracle
Solaris, Pearson, 2011 (unit 2)
3. Michael J Quinn, “Parallel programming in C with MPI and OpenMP, Tata McGraw
Hill,2003.
4. Victor Alessandrini, Shared Memory Application Programming, 1st Edition, Concepts
and Strategies in Multicore Application Programming, Morgan Kaufmann, 2015.
5. Yan Solihin, Fundamentals of Parallel Multicore Architecture, CRC Press, 2015.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy