Mtech Curri
Mtech Curri
) Curriculum
(Effective from academic year 2015-16)
Page 2 of 71
Document Control
1 April 15, 2015 Incorporation of changes for iMTech (CSE) and iMTech (ECE)
approved in the 44th and 45th Meeting of the Senate of IIITB, held on
Feb 11, 2015 and April 8, 2015, respectively
2 Feb 24, 2017 Updated document with changes approved in the in 55th Meeting of
the Senate of IIITB, held on February 15, 2017
Page 3 of 71
1 Introduction
This is the curriculum document the 5-year Integrated M.Tech. (iMTech) programme effective from
joining IIITB from the year 2015 onwards.
Semester 1 18 credits
(15 weeks) 6 common core courses
Semester 2 22 credits
(15 weeks) 6 common core courses
20 credits
Semester 3
4 common core courses
(15 weeks)
1 CSE / ECE core course
18 credits
Semester 4
4 common core courses
(15 weeks)
1 CSE / ECE core course
19 credits
Semester 5
1 common core courses
(15 weeks)
4 CSE / ECE core course
23 credits
Semester 6 1 CSE / ECE core courses
(15 weeks) 4 CSE / ECE elective courses
1 HSS/M elective course
20 credits
Semester 7
4 CSE / ECE elective courses
(15 weeks)
1 HSS/M elective course
Semester 8 20 credits
(15 weeks) 5 CSE / ECE elective courses
Semester 9 20 credits
(15 weeks) Masters Project / Thesis
Semester 10 20 credits
(15 weeks) Masters Project / Thesis
Page 4 of 71
The course credits earned over a period 10 semesters are grouped into the following categories:
Page 5 of 71
2 Branch and Specialization
The term “branch” as used in this document refers to the separate Integrated M.Tech. (iMTech) degrees
that are going to be offered in Computer Science and Engineering (CSE) and Electronics &
Communications Engineering (ECE), respectively.
The term “specialization” is used to refer to sub-areas (within each branch or across branches) in which
a set of related electives are offered giving the student an opportunity to specialize in specific areas.
Specializations based on existing elective courses have been suggested in the report.
It should be noted that the credit system takes into consideration the course levels also. The credit
system for undergraduate level (Level 1) courses and graduate level (Level 2 and higher) courses is as
shown in Table 1 below.
Page 6 of 71
4 Category-wise Course List
This section contains the course list organized as per the course categories given earlier. Table 2 and
Table 3 contain a summary of the overall distribution of courses across the various categories.
Page 7 of 71
Table 4: Basic Engineering Sciences / Skills
4.8 Electives
Students are required to select at least 60% of the electives from the branch they belong to. Electives
can be either Level 2 or Level 3 courses. All Level 3 courses shall have at least of one of the existing Level
2 course as a pre-requisite. CSE branch students need to take a total of 13 electives (52 credits) and ECE
branch students need to take a total of 11 electives (44 credits). CSE branch students must select a
minimum of 8 of their electives from CSE branch while ECE students must do 7 electives from the ECE
branch.
Page 9 of 71
5 Specialization
iMTech students can earn specialization in specified areas within the branch provided they do 5
electives in those areas. Specialization is optional for the students and is determined at the time of
graduation based on the concentration of the electives chosen by the student during the programme.
The students’ specialization is recorded only in the transcript issued to the student.
Based on the electives that are being offered currently, following are the specializations that are
available to the students belonging to the ECE stream:
Based on the electives that are being offered currently, following are the specializations that are
available to the students belonging to the CSE stream:
1. (Option A) One semester (20 credits) of project work during the 9th semester at IIITB followed
by 6 month project work in the industry during the 10th semester (20 credits.
OR
2. (Option B) Two semesters of Thesis work in the 9th and 10th semesters under the supervision of a
faculty member
Page 10 of 71
7 Course Sequencing for iMTech (CSE)
The course sequencing for the CSE branch is given in Table 11 below.
Page 12 of 71
8 Course Sequencing for iMTech (ECE)
The course sequencing for the ECE branch is given in Table 12 below:
Page 14 of 71
9 References
1. Report on the Integrated M.Tech curriculum revision approved by the senate in April, 2015.
Page 15 of 71
APPENDIX A: Syllabus of new/updated ECE Core Courses
Note: For courses whose syllabi is not included in this section, the existing syllabus for that course will be
applicable
Page 16 of 71
Integrated M.Tech. Course Proposal Template
Course Name Analog CMOS VLSI Design
Course Branch Select one from the following:
ECE
N/A
Course Category (Select one) Select one from the following:
Basic Sciences
Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 hr Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
2 hr Practical (2hrs = 1 credit)
4 Total Credits
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Pre-Requisites
(where applicable, specify exact course names)
Basic Electronics
Course Description
Page 17 of 71
A brief description of the course
1. To introduce how CMOS VLSI chips are fabricated (VLSI Technology)
2. To explain how robust Analog MOS circuits can be designed with a good understanding of VLSI
Technology
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
The course will discuss how Analog circuits are designed in a VLSI chip environment starting from an
understanding of VLSI technology and fabrication. The methodology adopted for teaching this course is to
first provide a simple physical model of the MOSFET transistor that is capable of abstracting the essential
electrical behavior of the device. Following this a related small-signal MOSFET model can be derived. The
application of DC and small-signal analysis methods on MOSFET circuits can then follow.
The main aim of the course will be to learn how to analyze and build CMOS amplifiers that are the building
blocks of almost all VLSI mixed-signal systems. At every stage of the course the students are expected to
design, on paper as well as simulation, the circuits discussed in the class. An important aspect of the course
will be a project in which the students are expected to design and simulate (using Spice simulator).
Course Content
Topics : VLSI Technology, MOS device physics, Common-source, common-gate, common-drain, and
cascode stages, Differential amplifiers, Current mirrors, Frequency response of amplifiers, One and two-
stage operational amplifiers, Stability and frequency compensation, feedback networks, Memory design. The
course will be useful for those interested in VLSI Design, mixed-signal embedded hardware and is a pre-
requisite for RF Design.
Assessments / Grading
Midterm exam-40%
Final exam-40%
Quizzes-10%
Assignments-10%
Text Book / References
1. 1 CMOS : Circuit Design, Layout and Simulation, R. Jacob Baker, IEEE Press/Wiley Student
Edition.
2. Silicon VLSI Technology Fundamentals, Practice and Modeling, J. D. Plummer, M. D. Deal, and P.
B. Griffin
Page 18 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
x Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
2 hr Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
2 Total Credits
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Pre-Requisites
(where applicable, specify exact course names)
Page 19 of 71
Course Description
A brief description of the course
The objective of the course is to provide students broad and in depth knowledge in the field of electronics.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
At the end of the course, the student is expected to design circuits consisting of passive and opamp based
active components. Given a circuit design, students should be able to distinguish the usage of individual
circuit blocks in a given design.
Course Content
Assessments / Grading
Midterm exam-40%
Final exam-40%
Quizzes-10%
Assignments-10%
Text Book / References
1. Fundamental of Electric Circuits - Charles K Alexander and Matthew Sadiku
2. Electronic devices and circuit theory - Boylestad and Nashelsky
Page 20 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
4 hrs Practical (2hrs = 1 credit)
2 Total Credits
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Pre-Requisites
(where applicable, specify exact course names)
Page 21 of 71
Course Description
A brief description of the course
The objective of this course is to introduce electronics laboratory skills to the students.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
At the end of the course, the student is expected to understand and experiment with electronic components
and circuits in the lab. The student is expected to have acquired the basic skills to
handle components and operate the instruments with confidence. Be able to design and debug electronic
circuits to solve a problem.
Course Content
Assessments / Grading
Midterm exam-30%
Final exam-30%
Quizzes-10%
Assignments-10%
Project-20%
Text Book / References
1. Student manual for the Art of electronics - Thomas Hayes and Paul Horowitz
2. The art of electronics - Paul Horowitz and Winfield Hill
Page 22 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
3 Total Credits
x 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Signals and Systems
Page 23 of 71
Course Description
A brief description of the course
This course provides students with an exposure to the theory of Control Systems.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
At the end of this course, the student is expected to understand the concept of feedback control, perform
transient and steady state analysis, design controllers using methods such as root locus, frequency response
and state space.
Course Content
Concept of a system/plant, Different types of physical systems, Concept of a controller, Different types
of control systems - open/closed loop, time invariant/variant, analog/digital, and linear/nonlinear
Mathematical modeling of physical systems and their analogues, Importance of concept of analogue
systems; Order of the physical systems - first, second, and higher order
Concept of transfer function, impulse response function, and state space representation
Transient and Steady state analyses - first, second, and higher order systems
Specification of controllers and performance criteria
Control system analysis and design - Root Locus method
Control system analysis and design - Frequency response method
Control system analysis and design - State space method
Assessments / Grading
Midterm, final, quizzes and homework
Page 24 of 71
Integrated M.Tech. Course Proposal Template
Course Name Engineering Electromagnetics
Course Branch Select one from the following:
X ECE
CSE
Course Proposer Name(s)
Course Instructor Name(s)
Course Type (Select one) Select one from the following:
X Core
Elective
Special Topics Elective*
* All course types except “Special Topics Elective” go
through the process for Academic Senate approval
Course Level (Select one) Select one from the following for elective courses:
Level 1 Elective
Level 2 Elective
N/A
Course Category (Select one) Select one from the following:
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
3 Total Credits
X 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Course Description
Page 25 of 71
A brief description of the course
This course teaches the physics and applications of electromagnetic field theory as encapsulated in the vector
form of Maxwell's equations. The class will show how these laws govern the design and bound the
performance of electronic devices, circuits, and systems.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
Course Content
1. Introduction (1 class)
2. Vector Analysis (4 classes)
3. Electrostatics (7 classes)
4. Magnetostatics (4 classes)
5. Maxwell’s Equations (3 classes)
6. Plane Wave Propagation (5 classes)
7. Reflection, Transmission and Waveguides (8 classes)
8. Radiation and Antennas (6 classes)
9. Transmission Lines (8 classes)
Assessments / Grading
Midterm, Final, 2 Quizzes, Homework Assignments
Laboratory assignments
Text Book / References
Field and Wave Electromagnetics, 2nd Edition,
By David K. Cheng, Addison Wesley Publishing Co., 1992.
Page 26 of 71
Integrated M.Tech. Course Proposal Template
Course Name Electronic devices and circuit theory
Course Branch Select one from the following:
ECE
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 hr Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
2 hr Practical (2hrs = 1 credit)
4 Total Credits
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Pre-Requisites
(where applicable, specify exact course names)
Course Description
Page 27 of 71
A brief description of the course
The objective of the course is to provide students an in depth knowledge of discrete transistor devices and
circuit design using these transistors.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
At the end of the course, the student is expected to design and analyze FET, BJT and Opamp circuits for
various applications.
Course Content
Page 28 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
2 Practical (2hrs = 1 credit)
4 Total Credits
x 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Signals and Systems
Course Description
A brief description of the course
Page 29 of 71
To learn the architecture, programming, interfacing and system design of
microprocessors and microcontrollers. ARM architecture and DSP programming will be introduced.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
At the end of this course, the student is expected to understand the architecture of 8086 based microprocessor
and microcontrollers (8251). They will also be introduced to other processors used in embedded systems,
ARM and DSPs.
Course Content
Architecture of Microprocessors
General definitions of mini computers, microprocessors, micro controllers and digital signal processors.
Overview of 8085 microprocessor. Overview of 8086 microprocessor. Signals and pins of 8086
microprocessor
Assembly language of 8086
Description of Instructions. Assembly directives. Assembly software programs with algorithms
Interfacing with RAMs, ROMs along with the explanation of timing diagrams. Interfacing with peripheral
ICs like 8255, 8254, 8279, 8259, 8259 etc. Interfacing with key boards, LEDs, LCDs, ADCs, and DACs etc.
Architecture of Micro controllers
Overview of the architecture of 8051 microcontroller. Overview of the architecture of 8096 16 bit
microcontroller.
RISC Based architecture and ARM processors
Introduction to DSPs (TI or Analog series)
Assessments / Grading
Midterm, Final, 2 Quizzes, Homework Assignments
Laboratory Experiments
Page 30 of 71
Integrated M.Tech. Course Proposal Template
Course Name Principles of Communication Systems
Course Branch Select one from the following:
x ECE
CSE
Course Proposer Name(s)
Course Instructor Name(s)
Course Type (Select one) Select one from the following:
X Core
Elective
Special Topics Elective*
* All course types except “Special Topics Elective” go
through the process for Academic Senate approval
Course Level (Select one) Select one from the following for elective courses:
Level 1 Elective
Level 2 Elective
N/A
Course Category (Select one) Select one from the following:
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
2 Practical (2hrs = 1 credit)
4 Total Credits
x 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Signals and Systems
Course Description
Page 31 of 71
A brief description of the course
This course provides students with an introduction to the principles of communication systems.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to do at the
end of each course. These relate to the skills, knowledge, and behavior that students acquire in their
progress through the course.
At the end of this course, the student is expected to understand the basics of analog Communication systems.
Channel types, propagation characteristics at different frequencies, analog modulation techniques will be
covered. Basics of Multiple access techniques, CDMA, Optical communication, Satellite communication
system will be covered too.
Course Content
1: Review of signals and systems, Frequency domain of signals, Principles of Amplitude Modulation
Systems- DSB, SSB and VSB modulations. Angle Modulation., Representation of FM and PM signals.
Spectral characteristics of angle modulated signals.
2: Gaussian and white noise characteristics. Noise in amplitude modulation systems. Noise in Frequency
modulation systems. Pre-emphasis and De-emphasis.
3:Pulse modulation. Sampling process. Pulse Amplitude and Pulse code modulation (PCM). Differential
pulse code modulation. Delta modulation. Noise considerations in PCM. Amplitude shift keying, Frequency
shift keying, Phase shift keying. Time Division multiplexing. Digital Multiplexers.
4.Broadband Communication, Multiplexing, Time division multiplexing, Frequency division multiplexing,
Multiple access techniques, CDMA, Optical communication, Satellite communication systems
Assessments / Grading
Midterm, Final, 2 Quizzes, Homework Assigments
Laboratory Experiments
Page 32 of 71
APPENDIX B: Updates to Mathematics and Basic Science Course Syllabus
Note: For courses whose syllabi is not included in this section, the existing syllabus for that course will be
applicable
Page 33 of 71
Page 34 of 71
Page 35 of 71
Page 36 of 71
Page 37 of 71
Page 38 of 71
Page 39 of 71
Page 40 of 71
Page 41 of 71
Page 42 of 71
Page 43 of 71
APPENDIX C: Updates to CSE / Engineering Core Course Syllabus
Note: For courses whose syllabi is not included in this section, the existing syllabus for that course will be
applicable
Page 44 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
x Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 Lecture (1hr = 1 credit)
1 Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
Total Credits
x 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
As one of the core courses in the iM. Tech. program, Design and Analysis of Algorithms is meant
to provide thorough exposure to many fundamental algorithms and algorithm design techniques in
Computer Science.
This course is a follow-up of the course on Data Structures and will cover most of the fundamental
techniques for design and analysis of algorithms. The emphasis of this course is on algorithm
design techniques along with their proofs and theoretical foundations. This course will also
introduce complexity classes P and NP and NP-complete problems.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
Assessments / Grading
Class tests, mid-semester and final exam, mini project.
Page 46 of 71
Page 47 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
4 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
Total Credits
X 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
None
Page 48 of 71
Course Description
A brief description of the course
The main aim of this course is to make the students understand, how the different kind of networks
are interconnected and the various types of applications run over them by transmitting packets from
one part of the globe to the other efficiently. Hence the course deals with application, transport,
network and Data link layers protocols/algorithms.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
Course Content
Lectures 1-2
The first lecture is to make the students oriented towards the subjects to be covered in this course
and why. The grading system and the books referred. Logical and physical topologies and why we
need so many topologies?
Lecture 3
Client, Server, Connection oriented and connectionless services, Layered architecture, Internet
protocol layer, Circuit-Packet-Message switching,
Lectures 4-6
Need of services by application layer protocols, HTTP, FTP, SMTP, SMTP vs HTTP, MOME,
DNS
Lecture 7-8
Socket programming for TCP and UDP
Lecture 9-10
Relationship of transport layer with application and network layer, Multiplexing and
Demultiplexing, UDP
Lecture 11-12
GBN, SR, TCP: connection, segment structure,
Lecture 13-14
Flow control, and Congestion control algorithms
Lecture 15-16
Link-state routing algorithm, Distance-vector routing algorithm,
Lecture 17
Intra-autonomous system routing: RIP, OSPF, Inter-autonomous system routing: BGP
Lecture 18
IPv4 and IPv6 packet format and basic differences and alignments,
Page 49 of 71
Mid Term Exam.
Lecture 19
Mobility at network layer,
Lecture 20-21
Error detection and correction techniques; multiple access protocols in LAN: channel portioning,
random access, taking turn;
Lecture 22
Address resolution protocol
Lecture 23-26
Taxonomy of Medium Access Control (MAC), Wired and Wireless LAN medium access Control
Protocol Pure/Slotted ALOHA, CSMA, CSMA/CD: Ethernet,
Lecture 27-28: Why Software Defined Network (SDN) needed? Architecture of SDN.
Lab: has theory part and lab component covers presentation and lab experiment part.
Assessments / Grading
There will be a mid-term (25marks) and one final examination (30 marks), two class tests (2 * 10),
Lab/Assignments (20 Marks) as well as class performance (5 marks) will be considered for final
grading.
Page 50 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
Total Credits = 2
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
4-point scale
Pre-Requisites
(where applicable, specify exact course names)
Page 51 of 71
Course Description
A brief description of the course
This course is first of the two programming courses. This knowledge area includes those skills and
concepts that are essential to programming practice independent of the underlying specialization.
As a result, this area includes units on fundamental programming concepts, basic data structures,
algorithmic processes, and basic security. These units, however, by no means cover the full range
of programming knowledge that a IT undergraduate must know. It is expected that a second
programming course is taught that reinforces these concepts.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
At the end of this class, a student should understand the concepts of:
Course Content
Theory Contents
Introduction to computer problem-solving.
Fundamental data structures (Data types, representation of numeric data, strings, etc.)
Fundamental algorithms.
Factoring methods. Array techniques.
Merging, sorting and searching.
Text processing and
pattern searching.
Dynamics data structure
algorithms.
Recursive algorithms.
All the sessions of the C Programming Lab will end with the description of a stretch
exercise that students can work on outside of the lab hours. The C Programming Labs are
structured based on specific themes for each lab session. Each lab session is divided into
multiple lab exercises.
Page 52 of 71
Lab components:
Lab 1: Preliminaries.
– Objective: The objective of this lab is to familiarize the students with the C programming
environment.
– Exercises:
Introduction to Unix.
Basic I/O program 1.
Basic I/O program 2.
Basic I/O program 3.
Basic I/O program 4.
– Comment: Lab 1 is intentionally kept light because the basic objective is to familize the
student with the programming environment, which includes Unix operating system, editor,
compilation, execution, etc.
Lab 4: Functions.
– Objective: The objective of this lab is to introduce modular software development using
functions.
– Exercises:
Function exercise #1 (prototypes, void return and void parameters).
Function exercise #2 (parameters and return values).
Function exercise #3 (global variables).
Function exercise #4 (static variables).
Function exercise #5 (multi-file programming).
Introduction to built-in libraries (math.h, string.h, etc.).
Lab 5: Recursion.
– Objective: The objective of this lab is to understand recursion in C programming
language.
– Exercises:
Page 53 of 71
Recursion exercise #1.
Recursion exercise #2.
Lab 6: Arrays.
– Objective: The objective of this lab is to introduce the students to arrays in C programming
language.
– Exercises:
1-d array exercise #1.
1-d array exercise #2.
2-d array exercise #3.
n-d array exercise #4.
Lab 7: Pointers.
– Objective: The objective of this lab is to learn about pointers in C language.
– Exercises:
Pointers and addresses.
Pointers and function arguments.
Pointers and arrays.
Address arithmetic.
Character pointers and functions.
Lab 9: Structures.
– Objective: The objective of this lab is to learn about structures in C programming
language.
– Exercises:
Basics of structures.
Structures and functions.
Arrays of structures.
Pointers to structures.
Self-referential structures.
Unions.
Bit-fields.
Page 54 of 71
language.
– Exercises:
Text I/O sequential access.
Binary I/O sequential access.
Binary I/O random access.
Page 55 of 71
Integrated M.Tech. Course Proposal Template
Basic Sciences
x Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
1 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
1 Practical (2hrs = 1 credit)
2 Total Credits
x 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Page 56 of 71
Course Description
A brief description of the course
This introductory course in programming introduces the Python programming language. The
objective of this course is to equip students with problem solving skills using programming as a
tool. Python, being a comparatively high-level programming language as compared to C, gives a
good opportunity to concentrate on the fundamental tenets of problem solving instead of getting
overwhelmed with syntax and runtime errors. The stress of this course is to enable students to start
with non-trivial programming problems and to leverage
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
Course Content
Problem solving: Decomposition, abstraction, composition
Problem solving: Decomposition, abstraction, composition
Basic feature: expressions, operators, Top-level, REPL, Types, Variables, If-elif-else,Writing
programs in files
While loops, Lists, For loops, Tuples, Dictionaries
Functions, design programs with functions, Example – Calendar, Inner Functions, List
Comprehension, Recursive functions, Recursive Functions and Eight Queen problem
Application of recursive functions in data-structure and algorithm design: Examples, family tree,
Money change, Jug, Power Product
Modules, Using modules using import and from … import …, Writing modules
Higher order functions: Functions taking functions as parameters, Comparison with function
pointers, Closures, Higher order functions: Functions returning functions
Introduction to Object Oriented Programming, classes, objects, __init__, static attributes,
inheritance, polymorphism, duck typing, Object oriented software design
Assessments / Grading
Page 57 of 71
4 Quizes: 5 marks each – 20
Project – 20
Mid-term – 30
End-term – 30
The actual marks distribution may differ from the above subject to the dynamics of the course.
58
Course Name Programming I – Python
Course Branch Select one from the following:
x CSE
ECE
Course Proposer Name(s)
Course Instructor Name(s)
Course Type (Select one) Select one from the following:
x Core
Elective
Special Topics Elective*
* All course types except “Special Topics Elective” go
through the process for Academic Senate approval
Course Level (Select one) Select one from the following for elective
courses:
Level 1 Elective
Level 2 Elective
N/A
Course Category (Select one) Select one from the following:
Basic Sciences
x Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
1 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
1 Practical (2hrs = 1 credit)
2 Total Credits
x 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Course Description
59
A brief description of the course
This introductory course in programming introduces the Python programming language. The
objective of this course is to equip students with problem solving skills using programming as a
tool. Python, being a comparatively high-level programming language as compared to C, gives a
good opportunity to concentrate on the fundamental tenets of problem solving instead of getting
overwhelmed with syntax and runtime errors. The stress of this course is to enable students to start
with non-trivial programming problems and to leverage
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
Course Content
Problem solving: Decomposition, abstraction, composition
Problem solving: Decomposition, abstraction, composition
Basic feature: expressions, operators, Top-level, REPL, Types, Variables, If-elif-else,Writing
programs in files
While loops, Lists, For loops, Tuples, Dictionaries
Functions, design programs with functions, Example – Calendar, Inner Functions, List
Comprehension, Recursive functions, Recursive Functions and Eight Queen problem
Application of recursive functions in data-structure and algorithm design: Examples, family tree,
Money change, Jug, Power Product
Modules, Using modules using import and from … import …, Writing modules
Higher order functions: Functions taking functions as parameters, Comparison with function
pointers, Closures, Higher order functions: Functions returning functions
Introduction to Object Oriented Programming, classes, objects, __init__, static attributes,
inheritance, polymorphism, duck typing, Object oriented software design
Assessments / Grading
4 Quizes: 5 marks each – 20
Project – 20
Mid-term – 30
End-term – 30
The actual marks distribution may differ from the above subject to the dynamics of the course.
Page 60 of 71
Text Book / References
Python Essential Reference – David M. Beazley
Online resources
61
Integrated M.Tech. Course Template
Basic Sciences
X Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
3 Lecture (1hr = 1 credit)
1 Tutorial (1hr = 1 credit)
1 Practical (2hrs = 1 credit)
4+1 Total Credits
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Programming I
62
Course Description
A brief description of the course
The introduces the notion of efficient algorithms. It covers operations on data structures like arrays,
linked lists, hashing, stack, queue, binary trees, priority queues, balanced binary search trees and
graphs and their application in designing efficient algorithms.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
Course Content
Introduction to Algorithms and Complexity.
Sorting Algorithms: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, Heap Sort,
Lower bound on sorting, Count Sort, Radix Sort, Bucket Sort.
Elementary Data structures: Arrays, Linked Lists, Stack, Queue, hashing including perfect hashing.
Binary Trees: Basic properties, representation, various types, level and height of a node, traversal -
in order, pre order, post order, level order.
Priority Queues: Binary Heap, Binomial Heap, Amortized Analysis, Fibonacci Heaps and
applications.
Balanced Binary Search Trees: AVL Trees and Red-Black Trees and applications.
Graphs: Different ways of representing graphs, graph traversal (BFS/DFS) with applications
Topological Sort and Strongly connected componets, shortest path problem and Dijstra's
algorithms, Minimum Spanning Trees - Prime's and Kruskal's Algorithms with applications.
Assessments / Grading
Exams/Tests/Quizzes/Assignments
The Design and Analysis of Computer Algorithms by Aho, Hopcroft and Ullman, Pub-
Addison Wesley
64
Integrated M.Tech. Course Proposal Template
Basic Sciences
Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
Total Credits
(L: T) = (3:1)
Grading Scheme Select one from the following:
4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
4-point scale
Pre-Requisites
(where applicable, specify exact course names)
65
Course Description
A brief description of the course
Discrete mathematics is the study of mathematical structures that are discrete in the sense that they
assume only distinct, separate values, rather than in a range of values. It deals with the
mathematical objects that are widely used in all most all fields of computer science, such as
programming languages, data structures and algorithms, cryptography, operating systems,
compilers, computer networks, artificial intelligence, image processing, computer vision, natural
language processing, etc. This course covers elementary discrete mathematics that is required for a
computer science, engineering or information technology degree.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
One of the main purpose of this course is to enable the students to learn a particular
set of mathematical facts and how to apply them. More importantly, this course will teach the
student how to think logically and mathematically. This course will carefully blend and balance the
following four themes, required from any successful Discrete Mathematics course:
3. Discrete Structures: students will be taught how to work with discrete structures, which
are the abstract mathematical structures used to represent discrete objects and relationships
between these objects. The main discrete structures that students will learn in this course
include sets, permutations, relations and graphs. At the end of this course, students are
expected to know the fundamental properties of these discrete structures.
Course Content
66
Roughly the syllabus should be divided into following four units:
1. Logic and Proof Techniques: Propositional logic, logical connectives, truth tables, normal
forms (conjunctive and disjunctive), validity; predicate logic, limitations of predicate logic,
universal and existential quantifcation, modus ponens and modus tollens, notions of
implication, converse, inverse, contrapositive, negation, and contradiction; the structure of
formal proofs; direct proofs; proof by counter example; proof by contraposition; proof by
contradiction; mathematical induction; strong induction; recursive mathematical definitions.
2. Set Theory: Definition of set; relations, equivalence relations and equivalence classes,
posets, chains and well-ordered sets; functions, recursive functions, sequences and
summations; cardinality and countability.
4. (Algorithmic) Graph Theory: graphs and graph models, graph isomorphism, connectivity,
Euler and Hamilton paths, shortest path problems, planar graphs and graph coloring
Assessments / Grading
Suggested assessment criteria:
The following is the highly recommended standard textbook for Discrete mathematics (now Indian
edition is also available):
Discrete Mathematics and its Applications by Kenneth H Rosen, 7th Edition, McGraw Hill,
2014.
The following textbooks and study materials are recommended as additional reference:
67
Discrete Mathematics by Laszlo Lovasz, Jozsef Pelikan, Katalin L. Vesztergombi, Springer
2003.
68
Integrated M.Tech. Course Proposal Template
Basic Sciences
CS
E Branch Core (CSE / ECE)
Elective
Engineering Science and Skills
HSS/M
Miscellaneous
Credits (L:T:P)
(Lecture : Tutorial : Practical) Hours Component
40 Lecture (1hr = 1 credit)
Tutorial (1hr = 1 credit)
Practical (2hrs = 1 credit)
Total Credits
X 4-point scale
(A,A-,B+,B,B-,C+,C,D,F)
Satisfactory/Unsatisfactory (S / X)
Pre-Requisites
(where applicable, specify exact course names)
Data-structures and algorithms
69
Proficiency in programming with at least a couple of programming languages (e.g. C, Java,
etc.)
Course Description
A brief description of the course
The objective of this course is to enable the student to view any PL in terms of its fundamental
features. The student will learn a wide range of PL features and programming idioms which allow
elegant as well as correct implementations of computer programs. The course will provide tools to
rigorously represent and analyse a language both in terms of what is a well-formed program in a PL
(syntax), as well as what a well-formed program means (semantics). This will be achieved
predominantly through hands-on implementations of interpreters and program analysis tools.
Course Outcomes
Course Outcomes are statements that describe what students are expected to know, and be able to
do at the end of each course. These relate to the skills, knowledge, and behavior that students
acquire in their progress through the course.
Be able to
Write non-trivial programs in Ocaml using functional approach
Implement interpreters for small programming languages to implement
specifications.
Course Content
Assessments / Grading
Mid-semester examination
: 35
Final-semester examination
70
: 35
Class tests/assignments
: 15
Project
: 15
(The above is subject to minor modification based on the dynamics of the course.)
71