Computer Science & Engineering Department Electives
Computer Science & Engineering Department Electives
Department Electives
Course Name: Model Checking and Software Verification Course Code: CS 570
Description
Arguing for program correctness is a challenging task. But it is non-optional, especially as the
software has permeated our lives, in forms that are many times even safety- or business-critical.
Formal Verification is an attractive and increasingly appealing alternative to simulation and
testing. While the latter only explores a subset of possible behaviors, and leaves open the
question of whether the unexplored behaviors may contain a fatal bug, formal verification
explores all behaviors exhaustively. This course will focus on model checking as an approach to
do formal verification.
Syllabus
Propositional and Predicate Logic (Overview); Modelling systems – Kripke Structure,
Concurrent Systems, and NuSMV Model Checker; Linear-time properties – paths, traces,
invariants, safety, liveness, fairness; Automata on finite and infinite words - Model checking
omega-regular properties.
Temporal logics - Linear temporal logic (LTL), Computation tree logic (CTL)– Introduction to
Promela and SPIN; Binary decision diagrams (BDDs) and Symbolic Model Checking.
Program Verification – Hoare Triples and Hoare Logic; Propositional satisfiability - SAT-based
Model Checking (BMC, Inductive invariants), Introduction to CBMC; Predicate abstraction and
Counterexample-Guided Abstraction Refinement (CEGAR).
References
1. Principles of Model Checking by Christel Baier and Joost-Pieter Katoen
2. Logic in Computer Science by Michael Huth and Mark Ryan
3. Model Checking (Second Edition, The Cyber-Physical Systems Series) by Edmund
Clark, Orna Grumberg, Daniel Kroening, Doron Peled, and Helmut Veith
Description
Simulation plays a critical role in the design, analysis and optimization of complex systems in
most engineering disciplines. This course focuses on the simulation of discrete-event systems
(that is, systems in which the state is assumed to change at discrete time-instants only, as
opposed to a continuously evolving system). Computer networks, manufacturing systems,
clocked digital circuits and queueing systems are some examples where discrete-event
simulation is widely used.
The objectives of this course are to help the student build a strong intuition of how discrete-
event simulation works, and to develop the ability to model and simulate a given system
effectively and interpret the results correctly. The course will be heavily based on examples from
several application areas, and coding-based assignments will form a significant component of
the course.
Prerequisites: Basic probability theory, familiarity with Python and C++.
Syllabus
Introduction to models and simulation, types of simulation. Introduction to Python's SimPy library
using examples. Approaches to discrete-event simulation. Review of basic probability theory
and Markov chains. Random number generation, Input/output analysis. Simulation use cases
(queueing networks, manufacturing systems, computer networks). Parallel and distributed
simulation.
References
1. Discrete-Event System Simulation, 5th Edition, By: Jerry Banks, Carson II, Nelson, Nicol
2. Discrete-Event Simulation: A First Course, by Leemis and Park
3. Parallel and Distributed Simulation Systems, by Richard Fujimoto
4. SimPy Documentation: https://simpy.readthedocs.io/en/latest/
Course Name: Markov chains and their Applications Course Code: CS 462/CS 662
Syllabus
In a typical combinatorial optimization problem, each instance x is associated with a state space
Sx, usually of size exponential in the size of x, where each element of Sx has an associated cost
(or a value). The problem is to find a state with minimum cost (or with maximum value). In the
Markov chains approach to solving such a problem, a Markov chain is associated with each
instance with the property that the goal state has the highest probability in the stationary
distribution of the chain. Success of this approach crucially depends on the mixing time of the
associated chain, that is, how quickly does the chain come close to its stationary distribution.
Markov chains have also been used to model evolution for the finite population case lending
themselves to stochastic effects. For a population of size N of m types, a state of the chain is the
labelling of the N individuals each into one of the m types. The population goes from one state to
another through reproduction, mutation, and selection. The specific way in which each of these
happens determine the the transition probability matrix of the chain. The result of the evolution
modelled by the chain is given by the stationary distribution of the chain. In most cases however,
it is not known how to determine the stationary distribution directly, we need to simulate the chain
‘sufficiently long’ and then sample from the resulting distribution to obtain statistical properties of
the distribution. We need to determine the mixing time of the chain to find out how long is
‘sufficiently long’. It has been established recently that the expected motion of such evolutionary
chains turns out to be a dynamical system, the trajectory of which determines the mixing time
properties like rapid mixing.
Approximate outline of the course: Ergodicity theorem of Markov chains. Mixing time of Markov
chains. Combinatorial optimization using Markov chains. Metropolis algorithm. Notion of
conductance and its relation to rapid mixing. Necessary and sufficient conditions for Markov
chains approach to succeed for combinatorial optimization. Coupling of Markov chains. Markov
chains modelling of molecular evolution. Quasispecies model. Viral evolution and notion of error
threshold. Evolution for the finite population case. Expected motion of evolutionary Markov chains
and corresponding dynamical system. Detailed analysis when the population is of two types. A
qualitative understanding of the general m types case.
Each student will be required to do a term paper.
Pre-requisite(s): None
Credits: 6
1. Aim: This course is envisaged to be a platform for faculty and students of IIT Goa to work on
the
regional problems of developmental interest. This course intends to serve as an academic avenue
of the
Center for Appropriate Technology for Rural Sectors (CATeRS).
3. Course outline: Field work of five days is the integral and mandatory part of this course. An ini
tial
training module will be of 8 hours, wherein 5 hours of instructions on general concepts will be give
n by
the instructor in-charge and 3 hours of project-
specific training will be provided by the faculty mentors.
An outline of the initial training module is given below.
(i) A perspective on society, regional development and field work.
(ii) An introduction to statistical tools.
(iii) Geographical and regional data.
(iv) Data analysis techniques.
(v) Project-specific training.
Electrical Engineering
Department Electives
Vector spaces, linear dependence, basis; Representation of linear transformations with respect to
a basis; Inner product spaces, Hilbert spaces, linear functions; Riesz representation theorem and
adjoins; Orthogonal projections, products of projections, orthogonal direct sums; Unitary and
orthogonal transformations, complete orthonormal sets and Parseval's identity; Closed subspaces
and the projection theorem for Hilbert spaces.; Polynomials: The algebra of polynomials, matrix
polynomials, annihilating polynomials and invariant subspaces, forms.; Applications:
Complementary orthogonal spaces in networks, properties of graphs and their relation to vector
space properties of their matrix representations; Solution of state equations in linear system theory;
Relation between the rational and Jordan forms.; Numerical linear algebra: Direct and iterative
methods of solutions of linear equations; Matrices, norms, complete metric spaces and complete
normal linear spaces (Banach spaces); Least squares problems (constrained and unconstrained);
Eigenvalue problem.
References:
01. K. Hoffman and R. Kunze, Linear Algebra, Prentice-Hall , (1986).
02. G.H. Golub and C.F. Van Loan, Matrix Computations, Academic, 1983.
03. Bachman and L. Narici, Functional Analysis, Academic Press, 1966.
04. E.Kreyszig, introductory functional analysis with applications John Wiley, 1978.
Mechanical Engineering
Department Electives
Pre-requisite: None
Course content
Linear Algebra: Linear vector space, Matrices and determinants, Inner product and Gram-
Schmidt orthonormalization, Eigenvalues and eigenvectors, Hermitian and symmetric matrices,
Methods to solve system of simultaneous equations.
Ordinary Differential Equation: Linear homogeneous and inhomogeneous equations for linear
differential equations, Bernouilli and Riccati equations, adjoint operators, Strum- Liouville
equations, Series solutions, special functions – Bessel, Legendre and Hermite equations.
Complex variables: Complex numbers and their properties, limits, analytic function, Cauchy
Riemann equations, Singularity – Poles, Branch points and branch cuts, Taylor and Laurent series,
Cauchy residue theorem and contour integration, conformal mapping.
Vectors and Tensors: Vector analysis, introduction to Tensor analysis, Coordinate transformation
and Jacobian, Gauss divergence, Stokes theorem, Irrotational and solenoidal vector fields,
Helmholtz decomposition, Metric tensor, covariant and contravariant derivatives.
References
1) Bender, C.M and Orsag S.A. (1978) Advanced Mathematical methods for Scientists and
Engineers, McGraw-Hill
2) Horn R.A. and Johnson C.R., Matrix analysis, Cambridge University Press
3) Ablowitz M.J, and Fokas A.S. (1998) Complex variable: Introduction and Applications,
Cambridge University Press,
4) Aris R. (1962) Vectors, Tensors and the basic equations of fluid mechanics, Dover Publications
5) Arfken, Weber, Harris (2012), Mathematical methods for physicists, Seventh edition, Academic
Press.
Texts/References:
[1] S. S. Pande, Computer Graphics and Product Modeling for CAD/CAM, Narosa Publication,
ISBN 978-81-8487-128-9, 2012
[2] Groover, M. P., Automation production systems, and computer-integrated manufacturing,
second edition, Prentice-Hall of India, New Delhi, 2001.
[3] System approach to Computer-integrated design and manufacturing, Nanua Singh, Wiley
India.1995. ISBN: 978-0-471-58517-6
1. Introduction and essential mathematics: Concept of continuum, Vectors and Tensors, Indicial
notation, Coordinate transformations, Principal values and directions, Invariants of a second-order
tensor, Dyadic product, Vector and tensor calculus.
2. Kinematics of deformation: Configurations of a body, displacement, velocity, acceleration,
Lagrangian and Eulerian descriptions of ow field. Deformation gradient tensor, Finite strain tensor,
Infinitesimal strain, Principal strains, Dilatation, Compatibility equations. Velocity gradient tensor,
Rate of deformation tensor, Spin tensor. Example of some simple flows.
3. Stress and conservation laws: Surface traction, Cauchy's stress principle, Symmetry of stress
tensor, Principal stresses, Stress invariants, Stress deviator tensor. Some simple states of stress:
uniform extension, pure bending, pure torsion, etc. Conservation laws: mass, linear momentum,
angular momentum, and energy.
4. Constitutive law and boundary value problems: Frame indifference, Material symmetry.
Constitutive equations for general linear elastic solid: isotropic, orthotropic and transversely
isotropic solid. Constitutive equation for Newtonian fluid. Incompressibility. Solution of some
boundary value problems of solids and fluids.
Reference/Text books:
1. Continuum Mechanics, A. J. M. Spencer. Dover Publications, New York.
2. Continuum Mechanics, P. Chadwick. Dover Publications.
3. Continuum Mechanics for Engineers, G. Thomas Mase and George E. Mase. CRC Press.
4. Continuum Mechanics: Foundations and Applications of Mechanics (Vol. 1), C. S. Jog.
Cambridge University Press.
5. Elasticity: Theory, Applications and Numerics, Martin H. Sadd. Elsevier.
6. Theory of Elasticity, S. Timoshenko and J. N. Goodier. McGraw Hill Education.
Institute Elective/Department Elective
Institute Electives
HS 431 - Film Appreciation through World Cinema (3-0-0-6)
References:
Nichols, Bill. Movies and Methods. Vol.I & II. Berkeley, Los Angeles & London: U of California P,
1996. Print.
Ascher & Pincus. The Filmmakers Handbook (Third Ed). New York: Plume Publications, 2007. Print.
Kaminsky, Stuart M. Ingmar Bergman- Essays in Criticism. London: OUP, 1975. Print.
Kanigsbay, Ira. The Complete Film Dictionary. Great Britain: Penguin, 1981. Print.
Richie, Donald. The Films of Akira Kurosawa. California: UCP, 1965. Print.
Ray, Satyajit. My Years With Apu. Great Britain: Faber & Faber, 1997. Print.
Truffaut. The Films in My Life. New York: Da Capo Press, 1978. Print.
Dickie, George, Richard Sclafani & Ronald Roblin. Eds. Aesthetics: A Critical Anthology. New York:
St. Martin’s Press, 1989. Print.
The aim of this course is to equip students to develop an entrepreneurial mindset and become
future entrepreneurs. It is designed to help them learn and practice the skills necessary to identify
and develop an opportunity into a new venture. In the course, they will learn about themselves, the
risks and rewards in choosing entrepreneurship as a career option, how to identify new business
opportunities and quickly validate them by building a series of prototypes of their product or service
and test it with an initial set of customers.
The course covers Self Discovery and Opportunity Discovery; Customer, Solution, and Lean
Methodology; Problem-Solution Fit and Building MVP; Financial Planning & Team Building;
Marketing, Sales, Regulations and Intellectual Property.
References:
Maurya, A., 2012. Running Lean: Iterate from Plan A to a Plan That Works. O'Reilly Media
Roy, R., 2012. Entrepreneurship. Oxford University Press
Gupta, T. S., 2011. Intellectual Property Law in India. Kluwer Law International
Csikszentmihalyi, M., 2008. Flow: The Psychology of Optimal Experience. Harper Perennial
Modern Classics
Sarasvathy, S. D., 2009. Effectuation: Elements of Entrepreneurial Expertise. Edward Elgar
Publishing Ltd.
Ries, E., 2011. The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to
Create Radically Successful Businesses. The Crown Publishing Group
Kim, W. C. & Mauborgne, R., 2005. Blue Ocean Strategy. Harvard Business School Press Boston,
Massachusetts