Master of Science Research Program Guide
Master of Science Research Program Guide
Breadth/Depth Requirements:
A student should demonstrate the knowledge of the basic courses in at least 4 of the stream areas
and must take an advanced course in a minimum of 3 stream areas.
Credit Requirements:
A student should take 48 credits at the institute to be eligible for the MASTER OF SCIENCE
degree of which at least24 credits should be through course work and at least 24 of which should
be Master of Science thesis credits. Credits of courses at level 4000 and above only count towards
the degree. Students must register for at least 16 credits for the first three semesters and for at least
4 credits in fourth semester.
Once the student completes his/her Thesis work, he/she has to submit the Graduation
RequestForm(GRF)intheacademicofficeaspertheguidelinesgivenonintranethttp://intranet.iiit.ac.in/In
formation/academic/thesisEvaluation.html.
The Master Science thesis has to be defended to a committee of typically consists of 3 faculty
members including the advisor, a faculty member nominated by PG Chair and a nominee of the
Dean(R&D).
Academic Performance:
A student should complete the requirements with a minimum CGPA of 7.0 to receive the Master of
Science degree.
Residency Requirements:
Fees:
Detailed Syllabus:
Unit 1: Models of Computation and Impossibility Results: Turing Machines, Circuits, Encoding of
Problems, Halting Problem, Shannon’s Counting Lower bound.
Unit 2: Complexity Measures and Classes: Time, Space, Depth measures of complexity, Time,
Space hierarchy theorems, Nondeterminism, Savitch’s theorem, P, NP, P/poly, PSPACE, EXP, L,
NL. Unit 3: Completeness and Hardness Reductions: 3SAT, Cook-Levin Theorem, NP-Complete,
NL- Complete, Hardness reductions for common problems like VertexCover, Independent Set,
Knapsack etc.
Unit 4: Advanced Topics: Definitions and relationships between PH, RP, BPP, NC including
theorems like Karp-Lipton, Adleman’s theorem, Derandomization Techniques.
Reference Books:
− S. Arora and B. Barak (2000), Computational Complexity: A Modern Approach,
Cambridge University Press.
− C. Moore & S. Mertens (2011), The Nature of Computation, Oxford University Press.
− M. Sipser (2014), Introduction to Theory of Computation, Cengange Learning.
− C. Papadimitriou (1994), Computational Complexity, Addison Wesley Longman.
3 Course outcomes
A student graduating from a PoPL course should be able to perform each of the following sample
tasks:
1. CO1: Document Abstract Syntax Document and critique the ab- stract syntax of
industrial scale programming language like C or Java.
2. CO2: Design domain specific languages Design a small, domain pur- pose languages like
a language for propositional logic and implement them.
3. CO3 Design object small oriented language Design a small object oriented language
implement it either using an interpreter or by em- bedding it into a base language.
4.
CO4: Compare languages Compare and analyse the semantic express- ibility (in terms of
first class values) between imperative languages like C and functional languages Racket,
and object oriented languages like Java and Python.
5. CO5: Specify application interfaces Specify the structure of a soft- ware application like a
spreadsheet or a word processor in terms of its interface as a language of user operations
and its internal structure as an abstract machine.
4 Syllabus
Functional Programming: Abstract vs. Concrete Syntax. Racket syn- tax, Functions, recursion,
syntactic extensions, higher-order functions, map, reduce and other combinators.
Operational Semantics: Abstract Reduction Systems, , Transition Sys- tems, Reduction,
Simplification and Evaluation relations. Judgements and Rules. Rule Induction.
Scope: Identifiers, Scope and extent, Lexical scope, Environments, ‘Dy- namic scope’ and
parameters. Closures
State: Stores and imperative constructs, explicit and implicit store refer- ences, objects, invariants
and safety, interfaces and constructors, in- heritance, Parameter passing. Call-by-value, call-
by-name and lazy evaluation.
Control: Tail calls, Contexts, continuations, continuation passing style, ex- ceptions, threads.
Types: Types syntax, type safety theorems. Type inference
Special Topics (if time permits): Monads, Concurrency.
5 Texts and References
Textbook
EOPL Essentials of Programming Languages 3rd Edition. Friedman and Wand. This is the main
text for the course. Available on Amazon.in.
References
HtDP How to Design Programs. Felleisen et al. Available online.
SICP Structure and Interpretation of Programs. Abelson and Sussman. Available online.
Accompanying video lectures also available online.
TRaAT Term Rewriting and All That. Baader and Nipkow. Chapters 1 and 2.
PLAI Programming Languages: Application and Interpretation 2nd Edi- tion. Available online.
SSICS Simply Scheme: Introducing Computer Science. Brian Harvey and Matthew Wright.
Available online.
RG Racket Guide. Available as part of Racket language documentation.
7 Assessment (Tentative)
PO8 Ethics Practice principles of professional ethics and make informed decisions after a due
impact analysis.
PO9 Individual and team work Work efficiently in individual and team- oriented projects of
varying size, cultural milieu, professional accom- plishments, and technological backgrounds.
PO10 Communication Effectively communicate and exchange ideas and solutions to any
individual including peers, end-users, and other stake- holders.
PO11 Project management and Finance Apply the principles of project management in general
and software project management in particu- lar with focus on issues such as the life cycle,
scoping, costing, and development.
PO12 Life-long learning Exhibit the aptitude for independent, continu- ous, and life-long learning
required to meet their professional and career goals.
After completion of this course successfully, the students will be able to..
CO-1 Discuss mathematical concepts of cryptographic primitives
CO-2 Describe fundamental concepts and algorithms of cryptography, including
encryption/decryption and hash functions
CO-3 Summarize different authentication techniques and describe programs like PGP & S/MIME
CO-4 Discuss network security principles, applications, and practices
CO-5 Analyse protocols for various system security objectives using cryptographic tools
CO-6 Evaluate the role of different security mechanisms like passwords, access control
mechanisms, firewalls, etc.
3. Detailed Syllabus:
Unit 1: Introduction: Security Trends, Security attacks, Security services, Security Mechanisms, A
Model for Network Security Model, Classical Encryption Techniques, Symmetric Cipher
Model, Substitution Techniques, Transposition Techniques, Rotor Machines,
Steganography.
Unit 2: Block Ciphers and Data Encryption Standard: Block Cipher Principles, Data Encryption
Standard, Strength of DES, Differential and Linear Cryptanalysis, Block Cipher Design
Principles, Advanced Encryption Standard, Evaluation Criteria of AES,AES Cipher,
Multiple encryption and Triple DES, Block Cipher Modes of Operation, RC4.
Unit 3: Public-key Encryption and Hash Functions: Principles of Public Key Cryptosystems, RSA
Algorithm, Key Management, Message Authentication and Hash Functions, Authentication
Requirements, Authentication Functions, Message Authentication, Hash Functions,
Security of Hash Functions and MACs, Digital Signatures, Authentication Protocols,
Digital Signature Standard.
Unit 4: Network Security Applications: Kerberos, X.509Authentication Service, Public Key
Infrastructure, Pretty Good Privacy, S/MIME , IP Security Overview, IP Security
architecture, Authentication Header, Encapsulating Security Payload, Combining Security
associations, Key Management.
Unit 5: System Security: Secure Socket Layer and Transport Layer Security, Secure Electronic
Transaction, Intruders, Intrusion Detection, Password Management, Malicious Software,
Firewalls, Trusted Systems
Reference Books:
1. W. Stallings, Cryptography and Network Security Principles & Practices, 4th edition,
Prentice Hall, 2005
2. J. Katz and Y. Lindell, Introduction to Modern Cryptography, CRC Press, 2007
3. B. Schneier, Applied Cryptography, 2nd edition, John Wiley & Sons, Inc, 2001
4. Research papers
4. Teaching-Learning Strategies in brief (4 to 5 sentences):
Lectures by integrating ICT into classroom teaching; tutorials involving problem solving; being a
fundamental course, it requires critical thinking and active learning by the students to solve
problems.
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------
EXPECTED BACKGROUND:
To follow this course, some level of familiarity with linear algebra (specially, vectors and matrices)
is expected. In addition, student is expected to know the fundamentals of algorithms and some of
the popular problems (eg. shortest path.)
OBJECTIVE:
1. To enable students to formulate and solve problems in an optimization framework.
2. To expose a set of powerful tools and techniques to the students. To demonstrate how these
tools (i.e. optimization methods) can be used in practice.
3. To visualize the optimization algorithms and know the numerical and practical issues in
their implementation.
4. To relate the optimization methods to applications in diverse areas.
COURSE TOPICS :
1. CO-1: Linear Programming, Geometric Interpretation, SimplexMethod, Duality, primal
dual method, Interior point methods, Ellipsoidal methods, Computational Issues.
5. CO-2: Integer programming, LP relaxation, Examples from combinatorial optimization.
Shortest paths, network flows and matchings.
6. CO-3: Convex sets and functions. Need for constrained methods in solving constrained
problems.
7. CO-4: Unconstrained optimization, Optimality conditions, Gradient Descent, Newton
Method, Quasi- Newton Methods, Trust Region Methods. Conjugate Gradient Methods.
Least Squares Problems.
8. CO-5: Constrained Optimization, Optimality Conditions and Duality. Convex Programming
Problem. Quadratic Programming. Dual Methods, Penalty and Barrier Methods, Interior
Point Methods.
9. CO-6: Linear Equations, Solutions based Matrix Factorization, Singular Value
Decomposition,
10. CO-7: Additional topics (if time permits) related to
1. Specific Algorithms (eg. Cutting plane algorithms, Stochastic gradients)
2. Applications in Approximate Algorithms
3. Computational issues in large scale optimization
4. Heuristic methods for optimization
REFERENCE BOOKS:
1. M T Heath, ``Scientific Computing'', TMH (Most of First six chapters)
13. C H Papadimitriou and K Steiglitz,Combinatorial Optimization: Algorithms
andComplexity'' (Most of First seven chapters), Dover.
14. D Bertisimas and J N Tsitsiklis, ``Introduction to Linear Optimization'', Athena Scientific.
15. J Matousek and B. Gartner, ``Understanding and Using Linear Programming'', Springer,
2007.
OUTCOME:
This course will help in sharpen the problem solving skills of students. Students will have
experience informally stating problems with the associated constraints, and solving them with
computer friendly algorithms.
GRADING PLAN:
Type of Evaluation Weightage (in %)
Assignments 25%
Term Paper/Project 10%
Scribe 5%
-----------------------------------------------------------------------------------------------------------------------
---------------------------
Reference Books:
-----------------------------------------------------------------------------------------------------------------------
----------------------
Title of the Course: Distributed Systems
Faculty Name: Kishore Kothapalli
Course Code: CS3.401
L-T-P 3-1-0
Credits 4
( L= Lecture hours, T=Tutorial hours,
P=Practical hours)
3.Detailed Syllabus:
• Unit 1
• Introduction
• Communication models
• Time and Synchronization
• Practice: MPI/Map-Reduce
• Unit 2
• Distributed file systems
• Consensus, Agreement, Locking
• Practice: GFS, Chubby
• Unit 3
• Distributed Database systems
• Practice: NoSQL, MongoDB
• Unit 4
• Limitations of distributed computing
• Self-Stabilization
• CAP Theorem
• Unit 5
• Distributed algorithms for graphs
• Advanced Topics such as Blockchain, Distributed Storage, and Distributed Program
Verification
Reference Books:
1. A.D. Kshemkalyani, M. Singhal, (2011) Distributed Computing: Principles, Algorithms, and
Systems, ISBN: 9780521189842, paperback edition, Cambridge University Press, USA.
2. N. Lynch, 1996. Distributed Algorithms, Morgan Kauffman, USA, Chapter 5.
3. Other significant papers from conferences such as OSDI, USENIX, NSDI, for material that is
not part of textbooks
4.Teaching-Learning Strategies in brief:
Lectures of the class use the active learning methodology and allow students to learn concepts
thoroughly in class along with practising small examples. Homeworks assigned as part of the
course are useful to impart knowledge of using practical distributed programming tools and
libraries. To promote team work, some of the homeworks are done in a team of two students. The
overall learning from the course is enhanced by doing a substantial practice-based project – usually
in a team of two students. The course will also have a summative assessment in the form of a
final/end-semester exam.
5.Assessment methods and weightages in brief :
i. In-class Quiz Exams (Cumulative over several): 15%
ii. Homeworks: 20%
iii. Project: 25%
iv. End Semester Examination: 40%
-----------------------------------------------------------------------------------------------------------------------
------------------------------------
3. Detailed Syllabus
• Unit 1: Syntax Analysis
o Micro and macro syntax specification using regular expressions and context free
grammars
o Lexical Analysis
o Top-down (LL(1)) and bottom-up (LR(1), LALR(1)) parsing
• Unit 2: Semantic Analysis and IR Generation
o Abstract Syntax Tree (AST) construction
o Static and Dynamically typed language
o Type Checking
• Unit 3: Intermediate Representations and their Generation
o Intermediate representations such as three address tuples, stack code
o AST to linear intermediate representation generation
o Basic blocks and control flow graphs
o Static Single Assignment Form (SSA)
o LLVM IR case study
• Unit 4: Machine Independent Optimizations
o Local and regional optimizations using value numbering optimization as a case
study
o Global optimizations like constant propagation and dead code elimination
o Data flow analysis theory and practice. Examples include Available expressions
analysis and live variable analysis.
o Compiler phase sequencing problem
• Unit 5: Code Generation and Register Allocation
o Runtime environment for C-like programming languages
o Scope and lifetime of variables. Parameter passing mechanisms.
o Generating machine code with virtual registers from machine independent linear
intermediate representation.
o Local and global register allocation. Mapping virtual registers to physical registers.
o Basics of instruction scheduling
Reference Books:
1. Keith Cooper and Linda Torczon. 2011. Engineering a Compiler, Second Edition. Morgan
Kaufmann Publishers Inc., San Francisco, CA, USA.
Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles,
Techniques, and Tools (2nd Edition). Pearson.
The most important component of this course is the project in which students design a C like
imperative programming language. Write a manual for their programming language specifying
syntactic and semantic rules along with example programs written in their own language. Over the
course, as students are introduced to principles and practices involved in designing various
compiler modules, they build the corresponding modules for their programming language. At the
end of the course, students will be able to run the example programs they have written by
compiling them with the compiler built by them. The target language for the compiler is usually
LLVM IR.
Through the mini homeworks, theoretical ideas introduced in the class are reinforced. Students get
continuous support through tutorial sessions, office hours conducted by teaching assistants and the
concerned faculty.
5. Assessment methods and weightages in brief
1. Mini Homeworks (7 to 8) : 15 percent
2. Course Project
a. Syntax Analysis: 10 percent
b. AST Construction: 10 percent
c. Semantic Analysis: 10 percent
d. LLVM IR Generation: 10 percent
3. Mid Term Quiz: 15 percent
4. Final Theory Exam: 30 percent
-----------------------------------------------------------------------------------------------------------------------
------------------------------
Title of the Course Advanced Computer Networks
Course Code: CS3.402
Faculty Name Ankit Gangwal
Credits: 4
L-T-P 3-1-0 (L= Lecture hours, T=Tutorial hours, P=Practical
hours)
1.Prerequisite Course / Knowledge:
Basic principles of computer networks and algorithms.
2.Course Outcomes (COs) (5 to 8 for a 3 or 4 credit course):
After completion of this course successfully, the students will be able to..
CO-1 Demonstrate a familiarity with concepts of network management, standards, and protocols
CO-2 Discuss variousprivacy-enhancing techniques used in modern computer networks
CO-3 Apply the knowledge of distance-vector (RIPand IGRP) and link-state (OSPF and IS-IS)
routing protocols to find routing paths for a variety of networks
CO-4 Analyse wireless LAN technologies including IEEE 802.11
CO-5 Design efficient routing protocols for advanced computer networks (e.g., SDN and ICN)
CO-6 Develop a framework for building a large-scale enterprise network
3.Detailed Syllabus:
Unit 1: Modeling and measurement: Network traffic modeling, network measurement, simulation
issues, network coding techniques
Unit 2: Flow and congestion control, TCP variants, TCP modeling, active queue management
Unit 3: Routing: Router design, scheduling, QoS, integrated and differentiated services
Unit 4: Wireless networks: Mobility supports, MAC, multicast
Unit 5: Overlay networks and Emerging applications: SDN, ICN, P2P, CDN, Web caching, cross-
layer optimizations, VoIP, SIP, video over P2P
Reference Books:
1. Larry L. Peterson and Bruce S. Davie, Computer Networks: A Systems Approach, 5th
edition, Elsevier, 2012
2. James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, 6th
edition, Pearson Education, 2013
3. Jean Walrand and Pravin Varaiya, High-Performance Communication Networks, 2nd
edition, Elsevier, 2000
4. Research papers
4.Teaching-Learning Strategies in brief (4 to 5 sentences):
Lectures by integrating ICT into classroom teaching; tutorials involving problem solving; being a
systems course, it requires hands-on working as well as critical thinking and active learning by the
students to solve practical problems; and finally, project-based learning by implementing semester-
long project(s) to solve real-world issues.
5.Assessment methods and weightages in brief (4 to 5 sentences):
Assignments 20 marks
One at home project 30 marks
Mid Semester Examination 20 marks
End Semester Examination 30 marks
-----------------------------------------------------------------------------------------------------------------------
----------------------------------
Title of the Course: Software Engineering
Course Code: CSE461
Faculty Name: Raghu Reddy
L-T-P: 3-0-1
Credits: 4
( L= Lecture hours, T=Tutorial hours,
P=Practical hours)
After completion of this course successfully, the students will be able to…
CO-1: Demonstrate familiarity with various process models, design patterns, architecture patterns and the
characteristics of good software architectures
CO-2 Apply principles of user interface design, sub-system design and analyze the designs for good
Software Engineering principles
CO-3: Demonstrate the use of tools to quantitatively measure and refactor existing software systems
CO-4: Compare design trade-offs between different patterns and/or different implementations of the same
pattern
CO-5: Design the major components and user interface for a small-scale software system using modeling
approaches such as UML class diagrams, and sequence diagrams
CO-6: Critique the quality of a software design and use product quality metrics to assess the quality of
delivered software
Note: Each Course Outcome (CO) may be mapped with one or more Program Outcomes (POs) and
PSOs. Write ‘3’ in the box for ‘High-level’ mapping, 2 for ‘Medium-level’ mapping, 1 for ‘Low’-level’
mapping
3 Detailed Syllabus:
Unit 1: Software Development Lifecyle and importance of architecture and design in the lifecycle, Process
models; Modeling using UML.
Final Exam 22 %
Mid-term Quiz 12 %
Unit Questions 12 %
3 Unit Projects (2 * 17) + (1 * 10) 44 %
Other In-class Activities 10 %
-----------------------------------------------------------------------------------------------------------------------
------------------------------------
Title of the Course: Statistical Methods in Artificial Intelligence
Faculty Name: Anoop Namboodiri
Course Code: CS7.403
L-T-P 3-1-0
. Credits 4
3. Detailed Syllabus:
Pre-Requisites : None
Course Outcomes :
After completion of this course successfully, the students will be able to –
I. Demonstrate the knowledge of Advanced building blocks of NLP
II. Apply NLP machine learning algorithms for Machine Translation, Summarization
III. Demonstrate the knowledge of Dense and contextual representation for NLP
IV. Explain the concepts behind Deep Learning models
V. Discuss the approaches to global and contextual semantic representation
VI. Apply the above concepts for fundamental NLP tasks.
Course Topics :
A. Distributed Semantics
o Contextual Distributed Semantics
B. Models such as ELMO, BERT, ERNIE and their derivatives
C. Statistical Machine Translation methods
o Early Neural Machine Translation models
D. Extractive and Abstractive Summarization
o Neural Summarization Methods
E. Reinforcement learning for NLP
Preferred Text Books :
None. Mostly research papers.
Reference Books :
Statistical Machine Translation by Philip Koehn
Deep Learning by Ian Goodfellow
E-book Links :
1. https://www.deeplearningbook.org/
2. http://www.cs.cmu.edu/~tom/mlbook.html
Grading Plan :
(The table is only indicative)
Type of Evaluation Weightage (in %)
Quiz-1
2.5
10
Mid SemExam
Quiz-2 2.5
20
End Sem Exam
15
Assignments
40
Project
Term Paper
10
Other Evaluation
Lectures by integrating ICT into classroom teaching, weekly tutorials involving problem solving
and active learning by students and Project-based Learning by doing 5 mini-projects in laboratory
by the students
5.Assessment methods and weightages in brief
Two Class Room tests: 10 marks; Mid Semester Examination in theory: 20 marks , End Semester
Examination in Theory: 40 marks, Assessment of 5 mini projects in Laboratory: 30 marks
-----------------------------------------------------------------------------------------------------------------------
--------------------------------
Title of the Course: Intro to Cognitive Science
Course Code: CS9.426
Name of the Faculty: Vishnu Sreekumar
TAs: NancyHada and KumarNeelabh
Day/Time: Mondays and Thursdays: 2:00 pm – 3:25 pm.
Course Information
Course Description:Cognitive Science is a highly interdisciplinary field of study that seeks to
understand how the mind works. In this course, we will discuss a diverse range of perspectives
from philosophy, linguistics, psychology, neuroscience, and computer science, on how to unravel
the mysteries of human cognition.
Credits: 4
L-T-P: 3-1-0 (L = lecture hours, T = tutorial hours, P = practical hours)
Prerequisite: None
Textbook & Course Materials
Recommended Texts & Other Readings: Lecture slides and supplementary readings will be
posted to Moodle.
Course Technology Requirements
1. You will need access to the following tools to participate in this course.
o Laptop/desktop computer
o webcam
o microphone
o a stable internet connection (don't rely on cellular)
Course Structure
This course will be delivered fully in-person in a physical classroom unless COVID restrictions
make us move online (Microsoft Teams).
Student Expectations
In this course you will be expected to complete the following types of tasks.
2. communicate via email
3. complete basic internet searches
4. download and upload documents to the course site on Moodle
5. read documents online
6. view online videos
7. participate in online discussions
8. complete quizzes/tests online
9. upload documents to a Dropbox/Moodle
10. participate in synchronous online discussions
You will meet the outcomes listed above through a combination of the following activities
in this course:
16. Attend lectures and participate in class discussions (CO-1, CO-2, CO-3, CO-4, CO-5)
17. Debate sessions (CO-1, CO-2, CO-3, CO-5)
18. Quiz 1, Quiz 2, mid-semester, and end-semester exams (CO-1, CO-2, CO-3, CO-5)
19. Complete a term paper/debate reaction paper (CO-1, CO-2, CO-3, CO-5)
List of topics and activities
20. Introduction
21. Evolution of Cognitive Science
22. A free-form discussion on consciousness
23. Empirical approaches in cognitive science
24. Brain: Organization; Intro to sensation and perception
25. Sensory systems
26. Perception and Perceptual Learning, Cross-modal interactions
27. Vision
28. Attention
29. Learning
30. Development
31. Memory
32. Language and Cognition
33. Knowledge Representation
34. Special topics: e.g. Music, mind, and technology
35. Several debate sessions with student debate teams
Grading Policies
Graded Course Activities
Description Percentage
Quizzes
Quiz 1 will cover topics covered until Quiz 1, and Quiz 2 will cover topics taught between Quiz 1
and Quiz 2. They will contain mostly multiple choice questions.
Mid-semester exam (20 marks)
The mid-semester exam will cover all material taught up to that point, and may include both
multiple choice and descriptive questions.
End semester exam (40 marks)
The end semester exam will cover material taught during the whole semester and will include both
multiple choice and descriptive type questions.
Debate participation (20 marks = 10 marks for presenting + 10 marks for a short report)
We will reserve at least 3-4 lecture slots for student debates on contemporary issues in Cognitive
Science. A list of representative topics are as follows:
1. Are there top-downinfluences on basic perception? Evidence for and against.
2. Do 3 year olds have a theory of mind?
3. Is cognition/consciousness a computational process?
4. Do we need representations for cognition?
Each debate team will have 3 members. They will read the recommended material for the chosen
topic, and organize their arguments distributed across the 3 members. Each member gets 5 minutes
to present their arguments (15 minutes per team). They may choose to use slides or not but the
arguments must be clearly presented. At the end of both teams’ presentations, each team gets 5
minutes for rebuttal when they can pick 2-3 claims made by the opposite team and present
counterarguments.
The students participating in debate teams will only be required to write a short report but the
remaining students will need to write a reaction paper to any one debate session OR write a term
paper on any other topic that they choose (see next main section).
For debate team students (each person writes this separately without discussion with other team
members, plagiarism software will be used to check your work), your short report should contain
the following:
The paper will first summarize the problem (2 marks), and then summarize the arguments made by
both sides (3 marks), and then will provide the student’s OWN opinion about where they stand on
the debate and what arguments were convincing to them (5 marks).
1. Introduction and clarity of describing the background literature and specifying the nature of
the problem – 3 marks
2. Describing the different schools of thought that tackle the question – 7 marks
3. Offer your own thinking on the matter (either siding with one school of thought, or offering
a new insight or suggestions for experiments or investigations, providing appropriate
justifications) – 5 marks
4. Overall clarity, organization of thoughts, and originality – 3 marks
5. Formatting (Citations, References) – 2 marks
IMPORTANT NOTE:[x,y) indicates that x is included (square bracket) in the range and y is not
(curly bracket). The normal rules of rounding will apply: So if you get 75.5, it will be rounded to
76 and you will get a B. However, if you get 75.444, it can only be rounded downwards and hence
the final grade will be B-. No disputes on this matter will be entertained and such emails will not
get a response.
Course Policies
Netiquette Guidelines
Netiquette is a set of rules for behaving properly online. Your instructor and fellow students wish
to foster a safe online learning environment. All opinions and experiences, no matter how different
or controversial they may be perceived, must be respected in the tolerant spirit of academic
discourse. You are encouraged to comment, question, or critique an idea but you are not to attack
an individual. Working as a community of learners, we can build a polite and respectful course
community.
The following netiquette tips will enhance the learning experience for everyone in the course:
1. Do not dominate any discussion.
2. Give other students the opportunity to join in the discussion.
3. Do not use offensive language. Present ideas appropriately.
4. Be cautious in using Internet language. For example, do not capitalize all letters since this
suggests shouting.
5. Avoid using vernacular and/or slang language. This could possibly lead to
misinterpretation.
6. Never make fun of someone’s ability to read or write.
7. Share tips with other students.
8. Keep an “open-mind” and be willing to express even your minority opinion. Minority
opinions have to be respected.
9. Think and edit before you push the “Send” button.
10. Do not hesitate to ask for feedback.
11. Always assume good intentions and ask for clarification. Communication online is difficult
without facial and gestural cues.
Adapted from:
Mintu-Wimsatt, A., Kernek, C., &Lozada, H. R. (2010). Netiquette: Make it part of your syllabus.
Journal of Online Learning and Teaching, 6(1). Retrieved from
http://jolt.merlot.org/vol6no1/mintu-wimsatt_0310.htm
Shea, V. (1994). Netiquette. Albion.com. Retrieved from: http://www.albion.com/netiquette/book/.
Build Rapport
If you find that you have any trouble keeping up with assignments or other aspects of the course,
make sure you let your instructor know as early as possible. As you will find, building rapport and
effective relationships are key to becoming an effective professional. Make sure that you are
proactive in informing your instructor when difficulties arise during the semester so that we can
help you find a solution.
Inform Your Instructor of Any Accommodations Needed
If you have a documented disability and wish to discuss academic accommodations, please contact
your instructors as soon as possible.
Statement of Policy
The instructors of this course will modify requirements as necessary to ensure that they do not
discriminate against qualified students with disabilities. The modifications should not affect the
substance of educational programs or compromise academic standards; nor should they intrude
upon academic freedom. Examinations or other procedures used for evaluating students' academic
achievements may be adapted. The results of such evaluation must demonstrate the student's
achievement in the academic activity, rather than describe his/her disability.
Course Outcomes :
CO-1: Describe how Spatial Data Science helps uncover patterns
CO-2: Apply Geospatial techniques to Prepare the data for analysis
CO-3: Analyze the spatial and temporal data and interpret its outcomes
CO-4: Assessment of application of Spatial data science in key domain areas
CO-5: Design research projects that helps synthesize the learning into an application
Course Topics :
Module 1: Introduction to Spatial Data Science
- What is special about Spatial Data and Geo-AI?
- How Spatial and Spatio-temporal Big Data helps uncover patterns?
- Spatial Data Handling including spatial data models, data formats
- Challenges to computing approaches when applied to Spatial Data – Effects of Topology
Module 2: Geospatial Data Analysis and Modelling
- Vector Data Spatial Analysis
- Raster Data Spatial Analysis
- How to use temporal data in conjunction with Spatial data
- GeoSpatial Data Modelling Module 3: Spatial Sciences
- Spatial Statistics including Spatial auto-correlation, Spatial tessellation
o Data Mining applications on Spatial data including Spatio-temporal Data Mining
- Network Analysis and Graph theory
- Few relevant topics from Computational Geometry
- Geovisualization – Maps to WebGIS Module 4: Spatial Classification and Prediction
- Spatial decision trees
- Machine learning as applied to Spatial Data including Spatial-aware Neural Networks
- Hotspot Analysis
- Spatial Outliers detection
Reference Books :
1. Geographical Data Science and Spatial Data Analysis - An Introduction in R. By Lex Comber
and Chris Brunsdon. SAGE Publications Ltd. 2020
Grading Plan :
Teaching - Learning
Lectures Guest Lectures
Reading research papers
Class participation in Q&A, discussions Online discussions over MS Teams
Learning by doing Short Presentation and Discussion led by Student Course project on
conceptualization and implementation Real world applications Multi-disciplinary approach
-----------------------------------------------------------------------------------------------------------------------
---------------------------------
Title of the Course: Real-Time Embedded Systems
Faculty Name: Deepak Gangadharan
Course Code : CS3.502
L-T-P: 3-1-0
Credits: 4
(L=Lecture hours, T=Tutorial hours,
P=Practical hours)
1.Prerequisite Course/Knowledge
Computer Systems Organization, Basics of Operating Systems
CO-1. Explain the features of real-time systems and classify different types of real-time systems
such as hard real-time, soft-real time based on the timing requirements.
CO-2. Apply an appropriate task model (such as periodic, sporadic, aperiodic, etc) based on
task/application characteristics to model a real-time system.
CO-3. Analyze the schedulability of a real-time system with different types of scheduling
algorithms (static vs dynamic, preemptive vs non-preemptive) on a uniprocessor
CO-4. Analyze the schedulability of a real-time system with different types of scheduling
algorithms (global, partitioned, semi-partitioned) on a multiprocessor platform CO-5. Analyze the
schedulability of a real-time system with shared resources
CO-6. Assess the theory and experimental results presented in a relevant research paper and
present it.
CO-7. Develop scheduling algorithms in a RTOS simulator
3.Detailed Syllabus
Unit 1: Real-Time Systems – Introduction and Concepts, Modeling Real-Time Systems Unit 2:
Commonly used approaches to Real-Time Scheduling – Clock Driven approach, Weighted Round
Robin approach, Priority Driven Approach, Dynamic vs Static Systems, Offline vs Online
Scheduling, Preemptive vs Non-Preemptive
Unit 3: Clock Driven Scheduling – Scheduling Aperiodic and Sporadic Jobs, Schedulability test
Unit 4: Priority Driven Scheduling – Static Priority: Rate Monotonic and Deadline Monotonic
Algorithms, Dynamic Priority: EDF Algorithm, Schedulability tests
Unit 5: Scheduling Aperiodic and Sporadic jobs in Priority Driven Systems – Deferrable Server,
Sporadic Server, Constant Utilization Server, Total Bandwidth Server and Weighted Fair Queuing
Server
Unit 6: Multiprocessor Scheduling
Unit 7: Resources and Resource Access Control
Reference Books:
1. Jane W S Liu, Real-Time Systems, Pearson Education
2. Giorgio C Buttazo, Hard Real-Time Computing Systems: Predictable Scheduling
Algorithms and Applications, 3rd edition, Springer
3. C.M. Krishna & Kang G. Shin , Real Time Systems, McGraw Hill
Project 30
After completion of this course successfully, the students will be able to CO-1 Describe important
elements of mechatronics system
CO-2 Apply the previous knowledge of microcontroller programming for controlling
multidisciplinary mechatronic systems.
CO-3 Describe and design basic mechanical elements and their feedback control. CO-4 Synthesize
and analyze a range of mechanisms.
CO-5 Design and execute a multidisciplinary project based on the given specifications as part of a
team.
3.Detailed Syllabus:
Unit 1: Sensors and Actuators:
Sensors for robotics application - position, speed, acceleration, orientation, range. Actuators -
general characteristics, motors, control valves.
Unit 3: Introduction to mechanical elements and transformations, basic concepts of kinematics and
dynamics.
Reference Books:
a. Bentley, John P. “Principles of measurement systems,” Pearson education, 2005.
b. D.R. Coughanowr, "Process system analysis and control," McGraw Hill, 1991
c. G.F. Franklin, J.D. Powell and M.L. Workman, “Digital control of dynamic
systems”, Addison Wesley, 3rd edition, 1998.
d. Hartenberg, R., & Danavit, J, “Kinematic synthesis of linkages,” McGraw Hill,
1964.
e. http://wiki.ros.org/
f. User manual of microcontroller and data sheets of sensors and actuators
This course aims to teach the students about designing and developing a mechatronics system by
providing them with essential hardware and software. Part of the class is devoted to a learn-by-
doing lesson where the students will learn theory and get hands-on experience with various aspects
of the mechatronics system. ebug the electromechan
The goal for the students is to design, build, and dical system for a given task as a part of the course
project.
Assignments 40%
The class work assignments will be based on the application of a step-by-step engineering design
process to a problem assigned in the course.
Project 40%
Proposal (5%)
Project demonstration (25%)
Final report (10%)
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------