0% found this document useful (0 votes)
75 views50 pages

UG Curriculum 2018

This document outlines the curriculum for the Bachelor of Technology program in Computer Science and Engineering (CSE) and Information Technology (IT) at the Indian Institute of Information Technology Vadodara. The program is a 4-year degree split into 8 semesters. The curriculum covers topics in core computer science and engineering courses as well as electives. Course loads, registration policies, and grading systems are also described.

Uploaded by

SUBODH SINGH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views50 pages

UG Curriculum 2018

This document outlines the curriculum for the Bachelor of Technology program in Computer Science and Engineering (CSE) and Information Technology (IT) at the Indian Institute of Information Technology Vadodara. The program is a 4-year degree split into 8 semesters. The curriculum covers topics in core computer science and engineering courses as well as electives. Course loads, registration policies, and grading systems are also described.

Uploaded by

SUBODH SINGH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Curriculum-2018

Bachelor of Technology
in
Computer Science and Engineering
&
Information Technology

Indian Institute of Information Technology Vadodara


IIIT Vadodara: UG Curriculum

Table of Contents

Page No.

B. Tech. Program 1-3

B. Tech. Program: Course Categories and Distribution of Credits 4-7

Courses Structure and Contents:


First Year (Semester-I) 8-13
First Year (Semester-II) 14-18
Second Year (Semester-III) 19-25
Second Year (Semester-IV) 26-31
Third Year (Semester-V) 32-37
Third Year (Semester-VI) 38-41
Fourth Year (Semester-VII) 42-45
Fourth Year (Semester-VIII) 46-47
Appendix-I: List of Program Electives for CSE/IT Program 48
Appendix-II: List of Electives from other branch of Engineering 48
Appendix-III: List of Open Electives 48
IIIT Vadodara: UG Curriculum

B. Tech. Program 3. A student can register a course for audit provided the
following two conditions are satisfied: (i) the course
instructor permits and approves the registration, and
(ii) the lecture, lab and tutorial time-table strictly
The Institute offers 4-years B. Tech. program in the
permit.
following two branches:
4. An audit course will not be considered as an
1. Computer Science and Engineering (CSE) overload.
2. Information Technology (IT) 5. If the student’s performance is satisfactory, a grade
Academic Session of ‘P’ (Pass) would be awarded. If the performance is
not satisfactory, ‘F’ (Fail) would be awarded.
Each academic session is divided into two semesters of
6. An audit course will not be considered for the
approximately eighteen weeks duration (with at-least
calculation of Semester Performance Index (SPI) /
seventy working days for classes in each semester):
Cumulative Performance Index (CPI). However, the
1. Autumn Semester (July-November) course will be reflected in the Semester Grade Report
2. Winter Semester (January-April) and Transcript as an Audit Course provided a grade
In addition, there may be a semester during the summer of ‘P’ was obtained, otherwise the course will not
break, called a Summer Semester (May-June). The appear in the Semester Grade Report and Transcript.
Senate approves schedule of academic activities for a Course Load in Regular Semesters
session, inclusive of dates for registration, mid-semester
A student is permitted to register for additional courses
and end-semester examinations, inter-semester breaks
over the prescribed courses in the curriculum for a
etc. The schedule is laid down in the Academic Calendar
regular semester provided the total number of courses
for the session.
does not exceed 7 and the total credits do not exceed 26.
Registration A student is permitted to under-load his/her prescribed
At the beginning of each semester, until the completion academic load in a regular semester by dropping one or
of the program, a student must register for the semester more courses provided the number of courses is at least
and for the courses that he/she will study during the 4 and the registered credits are not less than 12.
semester. However, after completion of his/her seventh regular
semester, a student will be permitted to register for less
Eligibility for Course Registration than four courses.
A student with no backlog courses (i.e. who has passed
Course Assessment
all the previous courses) will be eligible to register for all
courses prescribed in the curriculum for semester. A The assessment of students’ academic performance
student who has backlog course(s) or is on academic include in-semester and end-semester examinations
probation may be recommended a different set of courses along with other continuous evaluation components.
by the Dean of Academic Programs (Dean-AP). The various components of continuous assessment in a
course may include home assignments, tutorial
Prerequisite Courses assignments, group assignments, quizzes, tests (open or
A student registering for a course must have successfully closed book), viva-voce, mini projects, etc. Attendance
completed the prerequisite course(s), if any, for that in lectures/ tutorials/ labs may also be given due
particular course. For hard prerequisite, a minimum weightage in course assessment. The instructor may
grade of ‘DD’ is required. make attendance in lectures/ tutorials/ labs compulsory
(80% or less). The instructor may, in due consultation
Auditing of Courses with the Dean-AP, award ‘F’ grade to students who do
Auditing of courses allows students to gain exposure to not achieve the prescribed level of attendance in that
additional subjects without increasing their overall course.
workload. Registration of courses for Audit is permitted The distribution of weightage, for the assessment of
from fifth semester onwards under the following academic performance of students in a course, through
conditions: various modes listed above will be communicated by the
1. A student can audit a maximum of two courses during course instructor at the beginning of the semester with
the entire program. due approval from the Director.
2. A student has to enter the courses to be audited in the [Note: Academic requirements such as projects and
Course Registration Form while registering for the summer assignments, which are prescribed in the
semester. The word ‘Audit’ would be specially curriculum, are regarded as courses for the purpose of
mentioned in the remarks column of the student’s assessment.]
course registration form.

1
IIIT Vadodara: UG Curriculum

Letter Grade (10-point Scale) student during the semester, calculated to two decimal
For every course registered by a student, he/she is places.
awarded a letter grade based on his/her combined [B] Cumulative Performance Index (CPI)
performance in all the assessments. These letter grades
An up-to-date assessment of the overall performance of
are assigned points on a 10-point scale as described in
a student from the time of entering the Institute is
the table below:
obtained by calculating the student’s CPI. The CPI is
Letter Grade Points Remark weighted average of the grade points obtained in all the
courses registered for credit by the student after entering
AA 10 Outstanding the Institute. The CPI is also calculated to two decimal
AB 9 Excellent places.

BB 8 Very Good Calculation of SPI and CPI


Let the course credits are 𝑈1 , 𝑈2 ….and the numeric
BC 7 Good values of the corresponding grade awarded in the courses
CC 6 Average are 𝐺1 , 𝐺2 ….., respectively, the SPI is given by

CD 5 Below Average 𝑈1 𝐺1 + 𝑈2 𝐺2 + ⋯
𝑆𝑃𝐼 =
𝑈1 + 𝑈2 + ⋯
DD 4 Poor
In the above computation, the courses with ‘P’ grade are
F 0 Fail not considered. Similarly, the CPI indicates the
P - Pass cumulative academic performance in all the courses
taken including those taken in the current semester as
I - Incomplete 8
1
A student passes the course if he/she gets any grade in 𝐶𝑃𝐼 = ∑(𝑆𝑃𝐼
𝑇𝑜𝑡𝑎𝑙 𝐶𝑟𝑒𝑑𝑖𝑡𝑠
the range of ‘AA’ to ‘DD’, but fails if he/she gets the 𝑖=1
grade ‘F’. Certain courses are indicated as Pass/Fail × 𝑇𝑜𝑡𝑎𝑙 𝑐𝑟𝑒𝑑𝑖𝑡𝑠 𝑜𝑓 𝑖 𝑡ℎ 𝑠𝑒𝑚𝑒𝑠𝑡𝑒𝑟)
courses, and in these courses a grade of ‘P’ or ‘F’ is Graduating CPI and Class
awarded. ‘F’ grade may also be awarded in case of
malpractice in examination/continuous evaluation For the purposes of computing the CPI at the end of the
process. Pass/Fail courses are not considered for B. Tech. program, the student’s CPI will be computed on
calculation of SPI/CPI. the basis of the best CPI obtained from the courses taken.
The grade of B. Tech. Project (if graded as prescribed in
‘I’ grade will be awarded in a course if the overall the curriculum) will be included while computing the
performance of the student is satisfactory in the course, final CPI of the student. The minimum CPI for eligible
but the student either misses the end-semester to graduate the B. Tech. program is 5.00. The Transcript
examination due to illness, accident/death in the family of a graduating student will indicate
or obtains such an approval from the Dean-AP under
exceptional circumstances. A student who misses the 1. Distinction when CPI ≥ 9.00,
end-semester examination must apply for permission 2. First Class when 6.50 ≤ CPI <9.00 and
with reasoning and proof. An application not so 3. Pass when 5.00 ≤ CPI < 6.50.
supported will not be considered. Grade ‘I’ awarded for Repeating a Course
missing the end-semester examination will be converted
into a performance grade (depending on the overall [A] As a Backlog Course
performance of the student in the course) after taking an A student must repeat a course taken for credit in which
examination equivalent to the end-semester examination he/she has obtained ‘F’ grade. Such a course is regarded
of that particular course. An ‘I’ grade must be converted as a backlog course. A backlog elective course can be
into a performance grade by the specified date in the replaced by another elective of the same category. A
academic calendar for the next semester, otherwise it student can appear examinations (In-Semester and End-
will be converted into ‘F’ grade. Semester) components only as a backlog course. The
component of continuous evaluation will be carried
Performance Indices forward from earlier evaluation.
[A] Semester Performance Index (SPI) [B] For Grade Improvement
The performance of a student in a semester is indicated A student whose CPI is less than 5.00 can be permitted
by the SPI. The SPI is the weighted average of the grade to reappear in the courses in which a ‘DD’ grade was
points obtained in all the courses registered by the obtained. This is for the purpose of grade improvement

2
IIIT Vadodara: UG Curriculum

in a regular semester only. The grade obtained in the thereafter at the end of every subsequent semester. This
repeated attempt(s) will be considered for the purpose of assessment will be based on the CPI and SPI obtained by
calculating the CPI for the semesters thereafter. the student.
However, the grade obtained in the first and subsequent
[C] Discontinued from the Institute on account of
attempt(s) will be shown in the Transcript.
Poor Academic Performance at the end of the Second
Award of Degree and Fourth Semester
The B. Tech. (CS) and B. Tech. (IT) degree will be A student whose CPI is less than 4.00 at the end of
conferred on a student after he/she has fulfilled the second or fourth semester shall be discontinued from the
graduation requirements stipulated in the curriculum (as Institute. However, such a student may be allowed to
approved by the senate). register for the available backlog courses if offered in the
summer semester following the second or fourth
Award of Medals
semester. Such a student is permitted to register for a
[A] The Chairperson’s Gold Medal shall be awarded maximum of three of the available summer courses in
to graduate(s) meeting the following criteria: which he/she is having ‘F’ or ‘DD’ grade. In case the
1. Secured the highest CPI in the admission batch student achieves the minimum CPI of 4.00 at the end of
(across departments/ branches), the relevant summer semester, he/she will be allowed to
2. Secured minimum CPI of 9.00, continue the program.
3. Not been put on academic probation during the
academic program duration, Minimum and Maximum Period for Completion of
4. Not been put on disciplinary probation during the B. Tech. Program
academic program duration and The minimum period to complete the program is four
5. No fail ‘F’ grade in the transcript. academic years. In any case, a student should fulfil the
In case of more than one candidates qualify for the requirements for her/his degree within a maximum
award, all candidates will be awarded the medals. period of six academic years, failing which she/he will
be required to leave the Institute. The period of six years
[B] The Institute Medals excludes any semester in which the student has availed
1. The Institute Gold Medals will be awarded to “withdrawn” status.
students who have secured first places in their
Certificate of Academic Accomplishment
respective programs.
2. The Institute Silver Medals will be awarded to the A student who is unable to complete the degree
second place holders for each program. requirements within the stipulated maximum period
would be eligible to receive a “Certificate of Academic
Poor Academic Performance Accomplishment” by applying for it. The eligibility
[A] Academic Probation criteria and procedure for issue of the Certificate would
be as laid down by the Institute senate from time to time.
A student will be placed on Academic Probation during
his/her second semester with written intimation if his/her
SPI at the end of first semester is less than 4.50. In
subsequent semesters, a student will be placed on
Academic Probation with written intimation if his/her
CPI in the previous semester is less than 5.00 or if his/her
SPI is less than 4.50 in the previous semester. For every
student placed on Academic Probation, the Dean-AP
will prescribe a minimum SPI the student must attain in
the semester. The minimum SPI so stipulated will be
arrived at on the basis of the performance of the student
in terms of her/his SPI/CPI as compared to the minimum
requirements for graduation.
[B] Discontinued from the Institute on Account of
Poor Academic Performance
If the performance of a student is consistently poor and
that he/she is not likely to benefit from continuing in the
program, he/she would be required to leave the Institute.
For this purpose an assessment of the student’s academic
performance will initially be made at the end of the
second semester of his/her stay at the Institute and

3
IIIT Vadodara: UG Curriculum

B. Tech. Program
Course Categories and Distribution of B. Tech. Program: Distribution of Credits (in %)
Credits 7.32% 12.2%
Definition of Credits OC PE 3.66%
EO 4%
7% 12% 3.66%
OE 4%
Teaching of the courses shall be reckoned in credits;
Credits are assigned to the courses based on the PC PI
37% 15%
following general pattern: 36.59% MS
HS SC 14.63%
1 hour of Lecture (L) per week 1 Credit 7%
7% 7%
7.32%
1 hour of Tutorial (T) per week 1 Credit 7.32%
7.32%
2 hours of Laboratory (P) per week 1 Credit
3 hours of Laboratory (P) per week 2 Credits

Range of Credits for B. Tech. degree Distribution of Credits in 1st Year (in %)
For a student to be eligible to get B. Tech. degree, a range 13.04%
of credits earned should be in between 160-180.
PC
13% 34.78%
Course Categories and Distribution of Credits 13.04%
OC
HS 35%
13%
Code Course Categories Credits
SC MS
22%
MS Mathematics & Statistics 12 17%
0%
EO
0%/ OE / PI
Natural Science (Physics, 21.74% 0%
17.39%
SC Chemistry, Biology), 12
Environmental Science
Humanities, Social Science,
HS Literature, Management & Soft- 12
skills (including Electives)
Distribution of Credits in 1st year of B. Tech.
Core Engineering Courses (from (CSE/IT) Program:
PC 60
the branch of study)
Code Course Categories Credits
Core Engineering Courses (from
OC 12 MS Mathematics & Statistics 8
the other branch of Engineering)
Program Elective (from the branch Basic Sciences (Physics, Chemistry,
PE 20 SC 10
of study) Biology), Environmental Science.
Elective (from other branch of Humanities, Social Science, Literature,
EO 6 HS 6
Engineering) Management, Soft-skills
Open Elective (Science / Core Engineering Courses (from the
PC 6
OE Humanities / Engineering: not 6 branch of study)
more than one from each ) Core Engineering Courses (from the
OC 16
other branches of Engineering)
Projects, Internships
PI 24 Program Electives (from the branch of
(Research/Industrial) PE 0
study)
Total Credits 164*
Electives (from other branches of
EO 0
*Minor variation is allowed as per need of the respective Engineering)
disciplines. Open Electives (Science / Humanities /
OE Engineering: Not more than one from 0
each)
Projects, Internships
PI 0
(Research/Industrial)
Total Credits 46

4
IIIT Vadodara: UG Curriculum

Distribution of Credits in 2nd to 4th years of B. Tech. Distribution of Credits in 2nd to 4th years of B. Tech.
(CSE) Program: (IT) Program:
Code Course Categories Credits Code Course Categories Credits
MS Mathematics & Statistics 6 MS Mathematics & Statistics 4
Basic Sciences (Physics, Chemistry, Basic Sciences (Physics, Chemistry,
SC 2 SC 2
Biology), Environmental Science. Biology), Environmental Science.

Humanities, Social Science, Literature, Humanities, Social Science, Literature,


HS 6 HS 6
Management, Soft-skills Management, Soft-skills
Core Engineering Courses (from the Core Engineering Courses (from the
PC 56 PC 57
branch of study) branch of study)
Core Engineering Courses (from the Core Engineering Courses (from the
OC 0 OC 0
other branches of Engineering) other branches of Engineering)
Program Electives (from the branch of Program Electives (from the branch of
PE 20 PE 20
study) study)
Electives (from other branches of Electives (from other branches of
EO 6 EO 6
Engineering) Engineering)

Open Electives (Science / Humanities / Open Electives (Science / Humanities /


OE Engineering: Not more than one from 6 OE Engineering: Not more than one from 6
each) each)

Projects, Internships Projects, Internships


PI 24 PI 24
(Research/Industrial) (Research/Industrial)
Total Credits* 126 Total Credits* 125
*Total Credits for Degree is 172. *Total Credits for Degree is 171.

nd th nd th
Distribution of Credits in 2 to 4 years Distribution of Credits in 2 to 4 years
of B. Tech. (CSE) Program (in %) of B. Tech. (IT) Program (in %) 5%
15.87%
5%

16%
4.76% 5% 4.8% 5%
EO

0%
EO

E 0%
4.76%
O O E
4.8%
PE PE
OC 16% OC 16%
0% 0%
PI 19.05% PI 19.2%
PC 18% PC 18%
44% MS 46%
HS HS
5%
44.44% 5% 5%
MS

4.76% 45.6% 3.2%


SC 2%

1.6%
SC 2%

1.59% 4.8%
3%

4.76%

5
IIIT Vadodara: UG Curriculum

Semester wise distribution of Credits:

A. CSE Branch

Cr. SEM-I SEM-II SEM-III SEM-IV SEM-V SEM-VI SEM-VII SEM-VIII


L TP C L TPC L T P C L TP C L TP C L T P C L TP C LTP C

MS 14 3 1 0 4 3 1 0 4 3 1 0 4 0 1 2 2
4 4 4 2 0 0 0 0

SC 12 3 1 2 5 3 1 2 5 2 0 0 2

5 5 2 0 0 0 0 0
HS 12 2 0 2 3 3 0 0 3 1 1 2 3 3 0 0 3

3 3 3 0 0 0 0
3
PC 61 3 1 2 5 3 0 3 5 3 0 3 5 3 0 2 4 3 0 2 4 3 0 2 4

3 0 2 4 3 0 3 5 3 0 3 5 3 0 2 4
3 0 3 5 3 0 2 4 3 0 2 4
3 0 0 3
0 5 14 17 13 8 4 0
PE 20 3 0 2 4 3 0 2 4 3 0 0 3
3 0 0 3 0 1 2 2 3 0 2 4

0 0 0 0 7 6 7 0
OC 17 3 0 3 5 3 1 3 6
3 1 3 6
11 6 0 0 0 0 0 0
EO 6 3 0 0 3 3 0 0 3
0 0 0 0 0 3 3 0
OE 6 3 0 0 3 3 0 0 3
0 0 0 0 0 3 3 0

PI 24 0 0 0 3 0 0 0 3 0 0 36 18
0 0 0 0 3 3 18

172

Tot 172 14 3 10 23 15 4 7 23 15 2 10 23 15 1 10 22 15 0 9 23 15 1 8 20 15 0 4 20 0 0 36 18
Contact
hrs. per 27 26 27 26 24 24 19 36
week

6
IIIT Vadodara: UG Curriculum

B. IT Branch

Cr. SEM-I SEM-II SEM-III SEM-IV SEM-V SEM-VI SEM-VII SEM-VIII

L TP C L TPC L TP C L TP C L TP C L T P C L TP C LTP C

MS 12 3 1 0 4 3 1 0 4 3 1 0 4
4 4 4 0 0 0 0 0

SC 12 3 1 2 5 3 1 2 5 2 0 0 2
5 5 2 0 0 0 0 0

HS 12 2 0 2 3 3 0 0 3 1 1 2 3 3 0 0 3

3 3 3 3 0 0 0 0
PC 62 3 0 3 5 3 0 3 5 3 0 3 5 3 0 3 5 3 0 2 4 3 0 2 4
3 0 2 4 3 0 3 5 3 0 2 4 3 0 2 4

3 0 3 5 3 0 2 4 3 0 2 4

3 0 2 4

5 0 14 18 13 8 4 0
PE 20 3 0 2 4 3 0 2 4 3 0 0 3
3 0 0 3 0 1 2 2 3 0 2 4

0 0 0 0 7 6 7 0
OC 17 3 1 3 6 3 1 3 6
3 1 2 5
6 11 0 0 0 0 0 0
EO 6 3 0 0 3 3 0 0 3
0 0 0 0 0 3 3 0
OE 6 3 0 0 3 3 0 0 3
0 0 0 0 0 3 3 0

PI 24 0 0 0 3 0 0 0 3 0 0 36 18
0 0 0 0 3 3 18

171

Tot 171 14 3 10 23 15 4 7 23 15 2 10 23 15 0 10 21 15 0 9 23 15 1 8 20 15 0 4 20 0 0 36 18
.
Contact
hrs. per 27 26 27 25 24 24 19 36
week

7
IIIT Vadodara: UG Curriculum

Course Structure: First Year Semester-I: Courses and Contents


(Common to all branch of studies)
Course Course Name L-T-P: C
Semester-I Code
MA101 Mathematics-I 3-1-0: 4
Course Course Name L T P C (Linear Algebra and
Code Matrices)
MA101 Mathematics-I 3 1 0 4
(Linear Algebra Description: The course aims at introducing the
and Matrices) fundamental concepts of linear algebra culminating in
PH100* Mechanics and 3 1 0 4 abstract vector spaces and linear transformations. The
Thermodynamics course starts with systems of linear equations, matrices,
PH160* Mechanics and 0 0 2 1 matrix algebra, eigenvalues and eigenvectors. The
Thermodynamics course then goes on to introduce some basic concepts of
Lab the theory of vector spaces in the concrete setting of real
IT101 Computer 3 0 0 3 n-dimensional vector space and linear transformations.
Programming and At the end, numerical methods are introduced to apply
Problem Solving the theory to real life problems. The subject material is
IT161 Computer 0 0 3 2 of vital importance in all fields of mathematics and
Programming and sciences in general.
Problem Solving
Lab Objective: Students will be able to apply the concepts
EC100* Basic Electronic 3 1 0 4 and methods described in the syllabus and solve
Circuits problems using linear algebra.
EC160* Basic Electronic 0 0 3 2 Learning Outcomes: Upon successful completion of
Circuits Lab this course, student will be able to:
HS101 Spoken and Written 2 0 2 3 1. Solve the system of linear equations and apply the
Communication theory of vector spaces to understand it.
Total 14 3 10 23 2. Solve large system of linear equations using
*The Course may be offered in both Autumn and Winter computational techniques.
Semesters. 3. Demonstrate competence with the basic ideas of
linear algebra including concepts of linear systems,
Semester-II independence, theory of matrices, linear
transformations, bases and dimension, eigenvalues,
Course Course Name L T P C eigenvectors and diagonalization.
Code
MA102 Mathematics-II 3 1 0 4 Prerequisite: None
(Discrete Mathematics) Contents:
PH110* Waves and 3 1 0 4 Matrices and Linear systems: Matrix operations
Electromagnetics (addition, multiplication), Block-Partitioned Matrices
PH170* Waves and 0 0 2 1 and Block Operations, Elementary Row and Column
Electromagnetics Lab Operations, Determinant of a Square Matrix, Properties
EE100* Basic Electrical 3 1 0 4 of the Determinant Function , Cofactor Expansion, Rank
Engineering of a Matrix, The System of Linear Equations: Ax=b
EE160* Basic Electrical 0 0 3 2 Canonical Factorizations: Eigenvalues and Eigen-
Engineering Lab vectors, Companion Matrices and Characteristic
CS102 Introduction to Data 3 0 0 3 Polynomial, Method of Danilevsky for Characteristic
Structures Polynomial, diagonalization-Matrices with a Full-Set of
CS162 Introduction to Data 0 1 2 2 Eigenvectors, The Cayley-Hamilton Theorem,
Structures Lab Triangulization and Unitary Diagonalization of a Matrix,
HS102 Science Technology and 3 0 0 3 Schur's Lemma and the Spectral Theorem, QR-
Society Decomposition, QR-Algorithm for Hessenberg
Total 15 4 7 23 Matrices, Singular Value Decomposition.
*The Course may be offered in both Autumn and Winter Vector Spaces: Vector Space over the set real numbers
Semesters. (Field), Linear Independence of Vectors, Bases in a
Vector Space, Dimension of a Vector Space, Direct Sum

8
IIIT Vadodara: UG Curriculum

Decomposition of a Vector Space, Linear Schrödinger Equation: Particle in a box, Finite Potential
Transformations, Change of Bases, Canonical forms, well, Harmonic oscillator, Hydrogen Atom problem.
Rank of a Linear Transformation. Thermodynamics:
Numerical methods: Iterative methods (Jacobi, Gauss- Temperature and Zeroth Law of Thermodynamics,
Seidel, Relaxation) for solving linear systems, Work, Heat and First Law of Thermodynamics, Ideal
computing of eigenvalues and eigenvectors. Gas and Heat Capacities, Second Law of
Text Book: Thermodynamics, Carnot Cycle, Entropy,
1. Introduction to Linear Algebra, Gilbert Strang, 5th Thermodynamic variables and energies.
Ed, SIAM, 2016. Text Books:
Reference Books: 1. An Introduction to Mechanics; D. Kleppner and R.
1. Linear Algebra, Kunze Ray, Hoffman Kenneth 2nd Kolenkow, Second Edition.
Ed, Phi Learning, 2014. 2. Concepts of Modern Physics; Arthur Beiser, Sixth
2. Fundamentals of Matrix Computations, David S. Edition.
Watkins, 3rd ed, Wiley. 3. Heat and Thermodynamics; M. W. Zemansky and R.
H. Dittman, Seventh Edition.

Course Course Name L-T-P: C Reference Book:


Code 1. The Feynman Lectures on Physics, Vol-I & III,
PH100 Mechanics and 3-1-0: 4 Feynman, Leighton and Sands; Pearson Education.
Thermodynamics
Objectives: The course provides engineering students Course Course Name L-T-P: C
with important foundational knowledge about Code
mechanics, and thermodynamics and its application to PH160 Mechanics and 0-0-2: 1
common engineering systems. Thermodynamics Lab
Learning Outcomes: On successful completion of this Objectives: The course provides a list of experiments to
course, students should be able to: familiarize students with the basic experiments of
1. Demonstrate knowledge of the physical principles mechanics and thermodynamics.
that describe mechanics, materials, heat transfer, and
thermodynamics; Learning Outcomes: At the end of the course, the
2. Apply physics principles to common physical students shall be able to acquire the following learning
systems; outcomes:
3. Use the methods of algebra, vectors and calculus in Knowledge: The student has gained knowledge about
quantitative and qualitative predictions of behavior of 1. Motion of bodies in inertial and non-inertial frames,
physical systems and central forces, oscillations & its types.
4. Associate the correct unit with different physical 2. Planck’s constant and Quantization of light, Franck-
quantity they use. Hertz experiments and spectral lines.
3. Heat capacity of gases, specific heat of solids and the
Prerequisite: None laws of thermodynamics.
Contents: General competence: The student has gained
1. Increased ability for reflection and insight in how
Mechanics:
physics connects cause and effect for simple
Review of Newtonian Mechanics: Vectors and their processes in nature.
time derivatives, Inertial and non-inertial frames of 2. Increased understanding on how basic concepts and
reference, Centrifugal and Coriolis forces; Work-Energy methods are the foundations of more advanced fields.
Theorem; Conservation Principles, Collision problem in 3. Increased capability to recognize the basic concepts
laboratory and center of mass frame, Motion under of physics at play in everyday life phenomena.
Central Force and its universal features, Oscillatory 4. Training in analyzing complex problems by
Motion-Free, Damped and Driven Oscillations. decomposing them into simpler tasks.
Introduction to Quantum Mechanics: Double-slit
Prerequisite: None
experiment, de Broglie’s hypothesis, Uncertainty
Principle, Wave-Function and Wave-Packets, Phase- List of Experiments:
and Group-velocities, Schrödinger Equation, 1. Motion on Linear Air-Track (Virtually Frictionless
Probabilities and Normalization, Expectation values, Surface).
Eigenvalues and Eigen-functions, Applications of 2. Centripetal Force and Moment of Inertia.
3. Damped oscillation with spring-mass system.

9
IIIT Vadodara: UG Curriculum

4. Oscillations in Coupled Pendulum. Basic Data Structures: Structures, defining new types,
5. Photoelectric effect and Determination of Planck’s enumerations, dynamic memory allocation, dynamic
constant. arrays, linked lists and other pointer-based structures.
6. Franck Hertz Experiment.
Text Book:
7. Balmer Series and Determination of Rydberg
1. C How to Program, 7th Ed., P Deitel and H Deitel,
constant.
Prentice Hall of India, 2012.
8. Determination of Heat capacity of gases.
9. Determination of Specific Heat of Solids. Reference Books:
10. Mechanical Equivalent of Heat. 1. C programming language, 2nd Ed., Kernighan, Brian
W. & Ritchie, Dennis M, New Delhi. Prentice Hall
Reference: Laboratory Manual.
of India, 1998.
2. A Structured Programming Approach Using C, 1st
Ed., Forouzan, Behrouz, Course Technology, 2012.
Course Course Name L-T-P: C 3. Practical C Programming, 3rd Ed, Oualline, Steve,
Code Shroff Publishers, 2000.
IT101 Computer Programming 3-0-0: 3 4. Programming In ANSI C by E. Balagurusamy.
and Problem Solving

Objectives: The course provides concepts of computer Course Course Name L-T-P: C
programming and its roles in problem solving. It also Code
introduces how to develop well-structured programs.
IT161 Computer Programming 0-0-3: 2
Learning Outcomes: On successful completion of this and Problem Solving Lab
course, students should be able to:
1. Understand the basic computing environment, Objectives: The course provides a platform to enhance
limitations, and usage. the analyzing and problem solving skills and learn to
2. Understand basic problem solving and programming implement a list of programs in C or Python
concepts. programming language.
3. Visualize and model the basic real-life problems into Learning Outcomes: On successful completion of this
computational problems. course, students should be able to:
4. Analyze a given computational problem and convert 1. Given a problem, identify and model the
it into an algorithm and flowchart. computational task involved.
Prerequisite: None 2. Select a programming environment and convert the
algorithm (or flowchart) into a program.
Contents:
3. Choose the relevant data representation format based
Introduction to Computers: Computer Systems, on the requirements of the problem.
Computing Environments. 4. Execute the program in the given environment.
Introduction to Programming: Programming methods, Understand the type of errors evolved if any. Produce
paradigms, problem solving techniques, algorithm convincing arguments to resolve the issues. Analyze
development, flow charts, Editor, compiler, debugger, the program execution environment.
Software development. 5. Work as a team member among your peers.
Basics of Procedural Programming: Constants, Prerequisite: None
variables, expressions, operators, assignment, basic
input and output, built-in functions, program debugging. List of Laboratory Assignments:
Variables and Operators: Basic data types, precedence Part A (10 weeks):
and order of evaluation, pointers, memory allocation of 1. Program to find area and circumference of circle.
variables. 2. Program to convert temperature from degree
Control Structures: Selection statements, iteration centigrade to Fahrenheit.
statements. 3. Program to calculate sum of 5 subjects and find
percentage.
Functions and Program Structure: Return values,
4. Program to show swap of two no’s without using
actual and formal parameters, parameter passing: call by
third variable.
value versus call by reference, external variables, scope
5. Program to reverse the digits of a given number.
rules, header files, and recursion.
6. Program to print a table of any number.
Arrays: Character arrays, one and two dimensional 7. Program to find greatest in 3 numbers.
arrays; pointer arrays, command-line arguments. 8. Program to find that entered year is leap year or not.
I/O: ASCII data files, file pointers, end-of-file. 9. Program to shift input data by two bits to the left.

10
IIIT Vadodara: UG Curriculum

10. Program to display arithmetic operator using switch 1. Characterize circuit elements, sources,
case. semiconductors, diodes, transistors, oscillators and
11. Program to print stars Sequences (right triangular, operational amplifiers.
Isosceles triangle, etc.). 2. Design application oriented simple analog circuits.
12. Program to print Fibonacci series up to 100.
Prerequisite: None
13. Program to find factorial of a number.
14. Program to find whether given no. is a prime no. or Contents:
not.
15. Program to add two number using pointers. Introduction to Passive Circuit Elements & Sources:
16. Program to find the largest number in an array. Resistor, Capacitor, Inductor, Voltage and Current
17. Program for removing the duplicate element in an sources, Controlled Sources, Thevenin and Norton
Theorem.
array.
18. Program to add two matrices. Basics of Semiconductors: Semiconducting Materials,
19. Program to multiply two matrices. Intrinsic and Extrinsic Semiconductors, Charge-carrier
20. Program to find transpose of a matrix. Density and Distribution, Fermi level.
21. Program to swap two numbers using functions. Diodes: p-n Diode, Zener Diode, I-V Characteristics,
22. Program to show call by reference. Diode Models, Rectifiers and Voltage Regulators,
23. Program to find whether a string is palindrome or not. Clippers and Clampers, Introduction to Special Purpose
24. Program to find occurrences of vowels, consonants, Diodes: Varactor Diode, LEDs, Solar Cells, Photo-
words, spaces and special characters in the given diodes, Tunnel Diode, Schottky Diode.
statement. Bipolar Junction Transistors (BJTs): BJT structure,
25. Program to create enumerated data type for 12 Basic BJT operation mechanism, Input and Output
months. Display their values in integer constants. characteristics of common-emitter configuration,
26. Program for linear and binary search. Transistor Bias Circuits-Base Bias, Emitter Bias,
27. Program for bubble sort and insertion sort. Voltage-Divider Bias, Emitter Feedback Bias, Collector
28. Program that would sort a list of names in Feedback Bias, Emitter-Collector Feedback Bias, ac
alphabetical order. Models, Voltage Amplifiers, Common Collector and
29. Program to use (++,--) operator with return value of Common Base Amplifiers, Power Amplifiers, and
function. Frequency Response.
30. Program to read characters from a text file and print
number of vowels, consonants and other characters in Field Effect Transistors: JFETs-Device structure,
the file. Assume that the file will consist of mostly Drain Curves, Transconductance Curve, Biasing
English-language letters. Circuits, JFET Amplifiers, MOSFETs-Device structure,
Depletion-Mode MOSFET, D-MOSFET Curves,
Part B (4-6 weeks) Amplifiers, Enhancement-Mode MOSFET, Digital
A small project will be given in groups (at most 4 Switching, CMOS, Power FETs.
persons in each group). The objective is to apply Operational Amplifier: Differential Amplifiers, Op-
knowledge of programming language primitives such as Amp pin configuration, Ideal and Practical
functions, structures and/or files in day-to-day Characteristics of Op-Amp, Inverting and Non-Inverting
applications. Amplifiers, Active Filters, Summing Amplifier,
Reference: Laboratory Instructions and handouts. Differential and Integrating Amplifiers, Comparators,
Frequency response of an Op-Amp.
Oscillators: Amplifier with feedback, Condition of
Course Course Name L-T-P: C harmonic oscillation, Wein Bridge Oscillator, RC
Code Oscillators, Colpitts Oscillators, 555 Timer and Circuits.
EC100 Basic Electronic Circuits 3-1-0: 4 Text Book:
1. Electronic Principles, 7th Ed, Albert Malvino, and
Objectives: The course presents the principles of analog David Bates, Tata McGraw-Hill, 2007.
circuit analysis and design. It introduces the basic
concepts and characteristics of the electronic devices and Reference Books:
circuits. The tutorials helps to develop the ability of 1. Electronic Devices; 9th Edition, Thomas L. Floyd,
analyzing actual electronic circuits that implements the Pearson.
basic circuits presented. 2. Microelectronic Circuits: Theory and Applications,
A.S. Sedra and K.C. Smith, Oxford University Press,
Learning Outcomes: On successful completion of this Sixth Edition.
course, students should be able to:

11
IIIT Vadodara: UG Curriculum

Course Course Name L-T-P: C accurate and precise manner by developing their oral and
Code written skills in the English language. The course intends
EC160 Basic Electronic Circuits 0-0-3: 2 to expose the learner to various components of effective
Lab communication in the English language in order to
provide a comprehensive understanding of what
Objectives: The objective of the laboratory is to provide constitutes a communicative act.
experimental hand-on experiences to the topics covering Course Outcomes: At the end of the course, the students
the course ‘Basic Electronic Circuits’. shall be able to acquire the following skills:
Learning Outcomes: On successful completion of this 1. Spoken Communication: Develop the ability to
laboratory course, students should be able to: clearly and precisely state ideas, questions,
1. Design and construct circuits to verify theoretical arguments and other communication ranging from
relationships involving devices and circuits. informal discussion to formal presentations. Develop
2. Familiar with basic electrical measurements using the ability to participate in group communication
laboratory instruments. through the ability to condense large amount of
3. Able to design, assemble, build and test simple information into a concise speech act. Learn and
electronic circuits. understand the dynamics of effective turn-taking and
listening in order to engage in fruitful and
Prerequisite: None constructive oral communicative acts. Developing
List of Experiments: focused reading skills.
1. Introduction to circuit elements and basic 2. Written Communication: Develop the ability to
equipments: Resistors, Capacitors, Inductors, reduce thought to writing by effectively condensing
Diodes, Transistors, Oscilloscope, Function large amounts of information. Acquire the skill of
generator, Power supply, Cables and Switches. effective listening strategies in order to capture and
2. Transient- and steady-state response of RC circuits demonstrate the core ideas through written mode of
and design RC Filters. communication. Develop the faculty for critical
3. Current-voltage characteristics of a p-n junction and thinking so as to enhance written English skills.
Zener diode at room temperature. Prerequisite: None
4. Design a regulated power supply using Zener diode
and verify its characteristics. Contents:
5. Input and output current-voltage characteristics of n- Elements of Communication: Course instructor should
p-n bipolar junction transistors in common-emitter make the students aware of the elements of
configuration and determine transistor parameters. communication, the role of English language for
6. Design a Common-Emitter transistor (n-p-n) effective communication, the process of communication
amplifier circuit, obtain the frequency response curve and factors that influence communication (sender,
of the amplifier and determine the mid-frequency receiver, channel, code, topic, message, context,
gain, Amid, lower and higher cut-off frequencies. feedback, noise, filters & barriers), importance of
7. Design Inverting and Non-Inverting Operational audience and purpose, the information gap principle,
Amplifiers for a given specification. verbal and non-verbal communication: body language,
8. Design two stage RC coupled common emitter general communication and business communication.
transistor (n-p-n) amplifier circuit and determine its An ability to communicate well is a key soft skill. Many
frequency response curve. other skills depend on good communication skills. By
9. Design Integrator and Differentiator using learning the processes involved in communication, the
Operational Amplifier. students shall be able to appreciate the importance of
10. Design an active low pass and high pass filter of good communication skills in becoming a successful
different orders using Op-Amplifier. professional.
Reference: Laboratory Manual. Articulatory Phonetics: Course instructor should
introduce the students to the science of Articulatory
Phonetics. It would be a basic training for mastering
Course Course Name L-T-P: C English sound system, particularly putting emphasis on
Code British English, as well as basic knowledge on the
HS101 Spoken and Written 2-0-2: 3 Phonetics of English language. The focus shall be on IPA
Communication (International Phonetic Alphabet) symbols, the anatomy
of speech organs, production and organization of speech
Objectives: This course aims to equip students with the sounds and phonetic transcriptions. Understanding the
ability to express their thoughts effectively and in an phonetics of English shall help students in using

12
IIIT Vadodara: UG Curriculum

dictionaries effectively and pronouncing words 4. Of Ambition- Francis Bacon


correctly. 5. Of Innovations- Francis Bacon
Multimedia and Discursive Communication-I: 6. With the Photographer – Stephen Leacock
Course Instructor should make an optimal use of cinema 7. Speech on Indian Independence – Jawaharlal Nehru
for increasing the students’ familiarity with English. 8. Socrates and the Schoolmaster – F. L. Brayne
Testing be done on the basis of the student’s 9. The Bet – Anton Chekov
comprehension of the plot and their ability to describe 10. An Astrologer‘s Day – R. K. Narayan
scenes from the film. Classroom exercise of asking 11. The Gift of the Magi – O’ Henry
students to comment on the plot or scenes of a given film 12. The Monkey's Paw- W.W. Jacobs
– not in writing but by standing before the entire class
and speaking in English — be frequently carried out. The
aim of this unit is to make the student feel confident
about her/his ability to form sentence in English for
discursive communication.
Multimedia and Discursive Communication-II:
Course Instructor should use audio tapes, Ted Lectures,
radio news broadcast or celebrated speeches, etc. for
exposing the students’ to a real time‘ and good spoken
English. Class room tests be set to check the students’
ability to respond to their listening experience in writing.
This will help the Course Instructor to continually assess
the requirements of the students and provide corrective
advice. Testing the writing skills of students will require
setting several questions of very short composition tasks,
from 50 words to 150 words. The topics chosen for the
composition tasks should be selected from the topics
covered in the classroom discussions or from the life on
the campus.
Literature and Communication Skills: Students
should be provided four to five extended samples of
written English such as short stories or newspaper
editorials for them to mark their difficulties – words,
idioms, sentence structures, etc. This will help the
students in improving their ability to do focused reading
of serious written literature. Testing of the reading
comprehension skills be tested by giving them in
advance of the test several passages for reading. The
Course Instructor may select one or more of those seen
passages’ for the examination purpose.
Text Books:
1. Prism: Spoken and Written Communication, Prose &
Poetry published by Orient Longman, 2008.
2. Technical Communication: Principles and Practice,
Second Edition by Meenakshi Raman and Sangeeta
Sharma, Oxford Publications, 2009.
Recommended Books, Essays and Short Stories:
1. English and Communication Skills for Students of
Science and Engineering. Dhanavel, S.P. Units 1-5,
Chennai: Orient, .Blackswan Ltd., 2009.
2. Scientific English: A Guide for Scientists and Other
Professionals. 2 nd ed. Day, R A., Hyderabad:
Universities Press, 2000.
3. A Course in Phonetics, Fifth Edition, Ladefoged,
Peter (Harcourt, Brace, Jovanovich: Fort Worth),
2006.

13
IIIT Vadodara: UG Curriculum

Semester-II: Courses and Contents Reference Books:


1. Discrete Mathematical Structure, 4th Ed, B. Kolman,
Course Course Name L-T-P: C R.C. Busby and S. C. Ross, PHI, 2000.
Code 2. Discrete Mathematics, Richard Johnsonbaugh,
MA102 Mathematics-II 3-1-0: 4 Prentice Hall, 2007.
(Discrete Mathematics) 3. Mathematics: A Discrete Introduction, 3rd Ed.,
Edward R. Scheinerman, Cengage Learning, 2006.
Description: This course covers the basic concepts of 4. Mathematical Structure for Computer Science, 6th
discrete mathematics used in computer science that Ed, J. Gersting, Freeman, 2006.
involve formal reasoning. It also includes counting,
relations, graphs, trees, and number theory. Course Course Name L-T-P: C
Objective: To develop logical thinking and its Code
application to computer science and understand the basic PH110 Waves and 3-1-0: 4
principles of sets, functions and counting. The subject Electromagnetics
enhances one's ability to reason and ability to present a
coherent and mathematically accurate argument. Objectives: The objective of this course is to introduce
the behavior of electromagnetic waves. This also
Learning Outcomes: On successful completion of this provides an understanding of theories of electrostatics,
course, students should be able to: magnetism and electrodynamics with their applications.
1. Write valid arguments using logical notation,
2. Understand the basic principles of sets and relations, Learning Outcomes: After successful completion of
counting techniques and graph theory. this course, students will be able to:
3. Acquire ability to describe and validate computer 1. Apply vector calculus to analyze simple electrostatic
programs in a formal mathematical manner. and magnetostatic fields.
2. Able to perform calculations involving various
Prerequisite: None differential operators as well as line and surface
Contents: integrals relating to Gauss and Stoke's theorems.
3. Apply the principles of Coulomb’s Law and Gauss’s
Foundation: Propositional and predicate logic, logical law to electric fields in various coordinate systems.
equivalences, predicates and quantifiers, translation 4. Identify the electrostatic boundary‐value problems
from language to logical expressions, nested quantifiers, by application of Poisson’s and Laplace’s equations.
set theory, set operations, set identities and functions, 5. Understand the depth of static and time‐varying
inverse and composition functions, graph of functions. electromagnetic field as governed by Maxwell’s
Number Theory: Division operator, prime factorizat- equations.
ion, properties of prime numbers, prime number 6. Formulate and analyses problems involving
theorem, GCD and LCM, modular arithmetic and conducting media with planar boundaries using
applications, sequences and summations. uniform plane waves.
Counting: Permutation and combinations, pigeonhole Prerequisite: None
principle, inclusion-exclusion principle, binomial
theorem, Pascal identity and triangle. Contents:
Mathematical Reasoning and Induction: Rules of Mathematical Foundations: Vector Calculus,
inference, direct proof, proof by contradiction, proof by Gradient, Divergence and Curl. Line, Surface and
contrapositive, mathematical induction and second law Volume integrals. Gauss’s divergence theorem and
of mathematical induction. Stokes’ theorem in Cartesian, Spherical polar and
Recursion: Definition, recursive algorithm, recurrence cylindrical polar coordinates, Continuity equation.
relations, solving recurrence relations. Electrostatics: Electrostatics in Vacuum-Discrete and
Relations: Relations and their properties, applications Distributed Charges, Electrostatic Force, Scalar &
and representations, equivalence relations, partial Vector Potentials, Electrostatic Energy, Poisson and
ordering, Hasse diagram. Laplace equation and its applications; Electrostatics in
Dielectric Medium-Electric Polarization; Electric
Graphs: Introduction and terminology, representation, Displacement Vector, Dielectric Susceptibility, Energy
isomorphism, connectivity, Warshall’s algorithm, Euler in Dielectric Medium.
and Hamilton path, shortest path.
Magnetostatics: Magnetic Fields and Forces, Biot‐
Text Book: Savart law and Ampere’s law, Magnetic Vector
1. Discrete Mathematics and its Application, 7th Ed, K. Potential, Magnetization- Diamagnetism, Paramagnet-
Rosen, Tata McGraw Hill, 2011. ism and Ferromagnetism, Ampere’s Law in Magnetized

14
IIIT Vadodara: UG Curriculum

Materials-Auxiliary Field H, Magnetic permeability and 3. Measurement of Dielectric constant of dielectric


susceptibility. materials.
Electrodynamics: Electromotive force, Time‐varying 4. Measure Magnetic field of a paired coils in a
fields, Faraday’s' law of electromagnetic induction, Self Helmholtz arrangement with a Teslameter.
and Mutual Inductance, Displacement Current, 5. Verify Faraday Law and Induced e.m.f.
Maxwell's equations in Free Space & Matter, Energy and 6. Hysteresis in Ferromagnetic Materials.
Momentum in Electrodynamics. 7. Microwave optic system to study properties of
electromagnetic waves.
Electromagnetic Waves: Wave equation, Propagation
8. Experiments on Solar-Cell Trainer kit.
of Electromagnetic waves in Free Space and in
9. Dispersion of light in Prism Spectrometer.
Conducting Medium; Reflection, Refraction, Transmiss-
10. Measurement of Permeability and Permittivity of Air
ion and Dispersion of Electromagnetic waves.
and determination of speed of Light.
Text Book:
1. Introduction to Electrodynamics, Griffiths. D. J, Reference: Laboratory Manual.
Prentice Hall, 2007.
Reference Books: Course Course Name L-T-P: C
1. W. H. Hayt and J. A. Buck, Engineering Code
Electromagnetics, Tata McGraw Hill Education Pvt. EE100 Basic Electrical 3-1-0: 4
Ltd, 2006. Engineering
2. Purcell. E.M, Electricity and Magnetism, Berkley
Physics Course, V2, Tata McGraw Hill, 2008. Objectives: The course introduces basics of electric and
3. Feynman. R.P, Leighton. R.B, Sands. M, The magnetic circuits, single-and three-phase ac circuits. It
Feynman Lectures on Physics, Narosa Publishing describes the principle of operation of electrical
House, Vol. II, 2008. Hill, 2008. machines and let a student to identify the type of
4. G. B. Arfken, H. J. Weber and F. E. Harris, electrical machines for a given application. The course
Mathematical Methods for Physicists, Academic also introduces the power generation, transmission,
Press, 2013. distribution and power converters.
Learning Outcomes: On successful completion of this
Course Course Name L-T-P: C course, students should be able to:
Code 1. Analyze basic electric and magnetic circuits.
PH170 Waves and 0-0-2: 1 2. Explain working principles of electrical machines
Electromagnetics Lab and power converters.
3. Recognize the ratings of different electrical
Objectives: The laboratory course provides hands-on apparatus.
experience to students with the basic experiments of 4. Comprehend the power generation, transmission and
electromagnetics and wave propagation. distribution.
Learning Outcomes: After successful completion of Prerequisite: EC100
this course, students will be able to:
Contents:
1. Visualize the nature of electric field lines under
different physical conditions. AC Circuits: Representation of sinusoidal waveforms,
2. Distinguish electric and magnetic fields. peak and rms values, phasor representation, real power,
3. Measure magnitude of electronic charge and reactive power, apparent power, power factor. Analysis
dielectric constant of a material. of single-phase ac circuits consisting of R, L, C, RL, RC,
4. Understand the effects of magnetic fields, Hysteresis RLC combinations (series and parallel), resonance.
effect. Three-phase balanced circuits, voltage and current
5. Understand the principle of communications through relations in star and delta connections.
propagation of electromagnetic waves in a different Transformers: Ideal and practical transformer,
medium. equivalent circuit, losses in transformers, regulation and
Prerequisite: None efficiency. Auto-transformer and three-phase
transformer connections.
List of Experiments: Electrical Machines: Single-phase induction motor:
1. Measurement of elementary charge using Millikan Construction, working, torque-speed characteristic and
oil drop experiment. speed control of separately excited dc motor.
2. To draw electric field lines and equipotential lines. Construction and working of a three-phase induction
motor, Significance of torque-slip characteristic. Loss

15
IIIT Vadodara: UG Curriculum

components and efficiency, starting and speed control of method and to learn the parallel operation of the
induction motor. Construction and working of Transformers and their load sharing behavior.
synchronous generators. 4. Determine the three phase power consumed using 2-
Power Systems: Power generation techniques, wattmeters for different types of connections (star or
Transmission, Distribution, Grid, and Cost of Electricity. delta) and loadings (balanced and unbalanced).
5. Perform load test on the induction motor by loading
Power Converters: DC-DC buck and boost converters,
the motor using mechanical loading arrangement.
duty ratio control. Single-phase and three-phase voltage
Plot torque vs slip (%) and performance
source inverters; sinusoidal modulation.
characteristics vs output power.
Text Books: 6. To conduct an Open circuit test on a separately
1. S. J. Chapman, “Electric Machinery Fundamentals, excited dc generator and to determine the Open
4th Edition, McGraw Hill Education, 2005. circuit characteristics at rated speed of the machine.
2. D. P. Kothari and I. J. Nagrath, “Basic Electrical To Conduct Load Test on the separately excited DC
Engineering”, 3rd Edition, Tata McGraw Hill, 2010. Generator and determine the efficiency and
Regulation.
Reference Books: 7. Output waveform of the single phase bridge rectifier
1. D. P. Kothari and I. J. Nagrath, “Electric Machines”, and to design a filter capacitor to improve the dc
4th Edition, Tata McGraw Hill, 2010.
output.
2. D. C. Kulshreshtha, “Basic Electrical Engineering”,
8. Three phase controlled rectifier and output waveform
McGraw Hill, 2009.
of the rectifier with different firing angle.
3. L. S. Bobrow, “Fundamentals of Electrical
9. The working principle of the Insulated-Gate Bipolar
Engineering”, Oxford University Press, 2011. Transistor (IGBT) based three phase Inverter and
4. E. Hughes, “Electrical and Electronics Technology”, study the gate trigger circuit, their timing sequence
Pearson, 2010.
and the output waveform.
Reference: Laboratory Manual.
Course Course Name L-T-P: C
Code
EE160 Basic Electrical 0-0-3: 2 Course Course Name L-T-P: C
Engineering Lab Code
CS102 Introduction to Data 3-0-0: 3
Objectives: The lab course provides hands-on Structure
experience with single- and three-phase electric circuits,
and electrical machines such as transformers, motors and Objectives: The course familiarizes the basic data
generators. structures such as arrays, linked lists, stacks, queues,
heaps, binary trees, and graphs. The students will be able
Learning Outcomes: On successful completion of this to learn to develop generic data structure classes
course, students should be able to: containing operations such as insertion, deletion,
1. Connect and analyze single- and three-phase electric searching, and sorting of each data structure. In addition,
circuits. the students also learn to design and analyze efficiency
2. Distinguish between star- and delta-connections. of similar kind of algorithms using Big-O notation.
3. Understand transformer action.
4. Understand performance characteristics of electric Learning Outcomes: On successful completion of this
motors and generators. course, students should be able to:
1. Differentiate between basic data types and abstract
Prerequisite: EC160 data types.
List of Experiments: 2. Understand importance of data structures in
programming.
1. The magnetization characteristics of ferromagnetic 3. Identify the applications of various types of data
material of two coils connecting them in series, structures such as lists, stacks, queues, binary search
parallel and to determine their effective mutual trees, graphs, etc.
inductance. 4. Analyze the strength and weakness of the different
2. Determine the real and reactive powers in a load data structures (including array or linked list
consisting of resistor and inductor. Improve the implementations).
power factor by connecting an appropriate capacitor 5. Compare various sorting and searching algorithms.
in parallel to the load. 6. Understand various file structures.
3. The load regulation and efficiency characteristics of
the given single phase Transformer by direct loading Prerequisite: None

16
IIIT Vadodara: UG Curriculum

Contents: 3. Implement generic class for a given data structure


using any an appropriate programming language.
Introduction: Representation of data on a computer,
4. Compare and analyze programs with same problems
data types & array and linked list representations ways
but different logics. For example, compare various
of representing programs and associated data on
sorting algorithms over different input sets.
computers.
5. Work and contribute as a team member among their
Analysis Tools: Notion of the running time of an
peers.
algorithm, recurrences, parameters of performance.
Dictionary Operations: Find, max, min, successor, Lab and take home assignments based on the course
predecessor (query operations); insert, delete (modify “Data Structures”. Possible set of assignments may
operations) LIST DATA: Stacks, queues, variants include the following list of experiments.
implementation using arrays and linked lists.
Prerequisite: None
Sorting: Comparison based sorting algorithms, other
sorting algorithms, lower bounds for comparison-based List of Experiments:
sorting algorithms best-case, worst-case and average- 1. Design and Implement List data structure using i)
case running times; quicksort, heap Sort, insertion sort, array ii) singly linked list.
bubble sort etc. 2. Design and Implement basic operations on doubly
Disjoint set data structure: Make-set, Union and Find linked list.
Operations. 3. Design and Implement stack using i) array ii) singly
Trees: Heaps, Binary search trees (BST), heights of BST linked list.
BALANCED BSTs: Red Black trees, AVL Trees, 2,3,4- 4. Design and Implement Queue using i) array ii) singly
trees, B Trees. linked list.
Graphs: Representation using adjacency matrices and 5. Design and Implement basic operations on Circular
adjacency lists, Graph searching algorithms BFS and Queue.
DFS. 6. Implementation of Searching algorithms (Linear
search, Binary search).
Text Book:
7. Implementation of various sorting algorithms
1. Data Structures, Algorithms and Applications in
(Insertion sort, Bubble sort, Quick sort, Heap sort,
C++, Sartaj Sahni, Universities Press, 2nd Edition
Merge sort, counting sort, radix sort etc.).
(2009).
8. Design and Implement basic operations (insertion,
2. Data Structures and Algorithm in JAVA, Robert
deletion, search, findmin and findmax) on Binary
Lafre, Pearsons, 2nd Edition (2002).
Search trees.
Reference Book: 9. Design and Implement basic operations of various
1. Introduction to Algorithms, 3th Ed, Cormen, balanced BSTs, e.g., AVL tree, 2-3 Trees.
Lieserson and Rivest, PHI, 2011. 10. Implementation of Breadth First Search Techniques.
2. Data Structures and Algorithms, Aho, Hopcroft and 11. Implementation of Depth First Search Techniques.
Ullman, Addison-Wesley, 1999.
Reference: Laboratory instructions and handouts.

Course Course Name L-T-P: C


Course Course Name L-T-P: C
Code
Code
CS162 Introduction to Data 0-1-2: 2
HS102 Science, Technology and 3-0-0: 3
Structure Lab
Society
Objectives: The laboratory course is designed to
Objectives: The objectives of the course is to:
develop skills to design, implement, and analyze linear
and non-linear generic data structures. It improves the 1. Acquaint students the interdisciplinary nature of the
programming ability of the students to identify and course.
implement the suitable data structure for the given 2. Enlighten them about the history and philosophy of
computational problem. Science, Technology and Society in India.
3. Help students socialize and develop critical thinking
Learning Outcomes: On completion of this Laboratory skills.
course, students should be able to: 4. Familiarize students with the changing nature cum
1. Develop necessary programming skills required to interrelation of science, technology and society.
solve the given problems.
2. Select an appropriate data structure for solving a Learning Outcomes: On successful completion of this
given computational problem. course, students should be able to:

17
IIIT Vadodara: UG Curriculum

1. Apply knowledge of core theories, methods and its The ideology and image of developmental science: Role
applications to contemporary society in the inter- of Technical Education, Engineering Profession, Wealth
disciplinary field of STS. and Engineering, Engineering Institutions, Quality
2. Apply social/scientific theories and methods to Assurance, Engineering Education, and Role of Various
analyze interactions between science, technology and Agencies in Technical Education.
society in particular historical, political and cultural The agenda of People’s Science: Educational
contexts. Technologies and Pedagogy, History and Pedagogical
3. Evaluate critically the empirical evidence and Discussions, Computers and Learning, Constructivist
theoretical claims in STS-related debates. Theory, Educational Use of Computers, Technology and
4. Communicate clearly and persuasively about STS Teaching, Affordances for Learning and Teaching, and
issues to a general audience using different forms of Online Learning Environments.
communication including oral presentation and
Liberalization and the commoditization of science and
writing.
technology: Impact of Science on Society,
Prerequisite: None Globalization, Lifelong learning and the Learning
Society, Privatization, Learning Science Outside the
Contents
Classroom, ICT as Secondary Science, Innovation in
Introduction: Instructional Technology, Ethics, and Cybercrime.
Introduction to STS as a field of study and research in
Text Books:
the twentieth century: STS as Quest for Knowledge,
1. Science, Technology and Medicine in Colonial India
Nature of Science, Distinct Characteristics of Science,
– David Arnold (Cambridge, 2004).
Science in Twentieth Century, Science and Technology
2. Western Science in Modern India, Metropolitan
in Societal Context, and Key Concepts and Theorists in
Methods, Colonial Practices – Pratik Chakrabarti,
Cyber-culture Studies.
(Permanent Black, 2004).
Philosophical, Historical and Sociological Approaches 3. Cyberculture: The Key Concepts by David Bell.
to STS: Philosophy of Science and its Interconnection 4. Cyberculture Theorists by David Bell.
with Technology and Society, Social Role and Function 5. Science, Technology and Society: A Sociological
of Science, Science and Western Civilization, Social Approach by Wenda K. Bauchspies.
Theorists, Literature and Science, Culture of STS, 6. Philosophy of Science: A Contemporary Introduction
Scientific/Technological and Sociological Literacy, by Allen Rosenberg.
Society and Culture, Sociology of Society to STS, Social
world, Science and Technology a Social Institution, Reference Books:
Technoscience and Globalizations, Life After STS. 1. A Concise History of Science in India – D. M. Bose,
S. N. Sen, and B.V. Subarayappa (Universities Press,
The growth and identity of Modern Science and
2009).
Technology in India: History, key themes, Turn to
2. Science and Society in Twentieth Century by Wendy
technology and Beyond, Professional associations,
R. Sherman.
Journals, Deliberative Democracy, Modernism and
3. Nature of Science in Science Education by William
Postmodernism, Pace of Innovation, Privileged Positions
F. McComas
of Business and Science, STS Social Construction, and
Technoscience.
Science Communication: Institutions, Ideologies,
Practices
The diversity of science communication in colonial India
Communication in India: Historical Perspective, Current
State of Affair, Science Policy and Science
Communication, Modes and Means of Science
Communication in India, Role of Various Organizations,
Role of Public Funded Institutions, and Challenges.
Science Communication and the Nehruvian Agenda:
Jawaharlal Nehru and Mahatma Gandhi, Concept of
Scientific Temper, Nature of Nehruvian Science,
Features of Nehru’s Developmental Strategy, Nehru and
STS, Nehruvian Science and Postcolonialism, Scientific
Policy Resolution, and Problems Plaguing Practice of
Science in India.

18
IIIT Vadodara: UG Curriculum

Course Structure: Second Year


Semester-III Semester-IV
Common to CSE and IT Branch [A] CSE Branch
Course Course
Course Name L T P C Course Name L T P C
Code Code
Environmental Numerical
SC201 2 0 0 2 MA202 0 1 2 2
Science Techniques
Probability and HS202 Economics 3 0 0 3
MA201 3 1 0 4
Statistics CS202 System Software 3 0 0 3
HS201 Technical Writing 1 1 2 3 Database
CS204 3 0 0 3
Object Oriented Management System
CS201 Design & 3 0 0 3 Database
Programming CS262 Management System 0 0 3 2
Object Oriented Lab
CS261 Design & 0 0 3 2 CS206 Operating Systems 3 0 0 3
Programming Lab Operating Systems
Design and Analysis CS266 0 0 3 2
CS203 3 0 0 3 Lab
of Algorithms Computer
Design and Analysis CS208 Organization and 3 0 0 3
CS263 0 0 3 2
of Algorithms Lab Architecture
EC201 Digital Logic Design 3 0 0 3 Computer
Digital Logic Design CS268 Organization and 0 0 2 1
EC261 0 0 2 1
Lab Architecture Lab
Total 15 2 10 23 Total 15 1 10 22

[B] IT Branch
Course
Course Name L T P C
Code
HS202 Economics 3 0 0 3
IT202 Web Technology 3 0 0 3
IT262 Web Technology Lab 0 0 2 1
Database
CS204 3 0 0 3
Management System
Database
CS262 Management System 0 0 3 2
Lab
CS206 Operating Systems 3 0 0 3
Operating Systems
CS266 0 0 3 2
Lab
Computer
CS208 Organization and 3 0 0 3
Architecture
Computer
CS268 Organization and 0 0 2 1
Architecture Lab
Total 15 0 10 21

19
IIIT Vadodara: UG Curriculum

Semester-III: Courses and Contents succession, Food chains, food webs and ecological
pyramids, Introduction, types, characteristic features,
Course Course Name L-T-P: C structure and function of the following ecosystems:
Code 1. Forest ecosystem
SC201 Environmental Science 2-0-0: 2 2. Grassland ecosystem
3. Desert ecosystem
Objectives: The course on Environment Science is 4. Aquatic ecosystems (ponds, streams, lakes, rivers,
expected to give information about the environment that oceans, estuaries)
will lead to a concern for environment. When one Biodiversity and its conservation: Introduction–
develops this concern, he/she will begin to act at his/her Definition: genetic, species and ecosystem diversity.
own level to protect the environment. Biogeographical classification of India, Value of
Learning Outcomes: On successful completion of this biodiversity: consumptive use, productive use, social,
course, students should be able to: ethical, aesthetic and option values, Biodiversity at
1. Understand environmental problems arising due to global, National and local levels, India as a mega-
developmental activities. diversity nation, Hot-sports of biodiversity, Threats to
2. Identify the natural resources and suitable methods biodiversity: habitat loss, poaching of wildlife, man-
for conservation and sustainable development. wildlife conflicts, Endangered and endemic species of
3. Realize the importance of ecosystem and biodiversity India, Conservation of biodiversity: In-situ and Ex-situ
for maintaining ecological balance. conservation of biodiversity.
4. Identify the environmental pollutants and abatement Environmental Pollution: Definition, Cause, effects
devices. and control measures of:
1. Air pollution
Prerequisite: None 2. Water pollution
Contents: 3. Soil pollution
4. Marine pollution
Multidisciplinary nature of environmental studies: 5. Noise pollution
Definition, Scope and Importance, Need for public 6. Thermal pollution
awareness. 7. Nuclear hazards
Natural Resources: Renewable and non-renewable Solid waste Management: Causes, effects and control
resources; Natural resources and associated problems: measures of urban and industrial wastes. Role of an
1. Forest resources: Use and over-exploitation, individual in prevention of pollution. Pollution case
deforestation, case studies. Timber extraction, studies. Disaster management: floods, earthquake,
mining, dams and their effects on forest and tribal cyclone and landslides.
people.
2. Water resources: Use and over-utilization of surface Social Issues and the Environment: From
and ground water, floods, drought, conflicts over Unsustainable to Sustainable development, Urban
water, dams-benefits and problems. problems related to energy, Water conservation, rain
3. Mineral resources: Use and exploitation, water harvesting, watershed management, Resettlement
environmental effects of extracting and using mineral and rehabilitation of people; its problems and concerns-
resources, case studies. case studies, Environmental ethics: Issues and possible
4. Food resources: World food problems, changes solutions. Climate change, global warming, acid rain,
caused by agriculture and overgrazing, effects of ozone layer depletion, nuclear accidents and holocaust-
modern agriculture, fertilizer-pesticide problems, case studies. Wasteland reclamation, Consumerism and
water logging, salinity, case studies. waste products, Environment Protection Act, Air
5. Energy resources: Growing energy needs, renewable (Prevention and Control of Pollution) Act, Water
and non-renewable energy sources, use of alternate (Prevention and control of Pollution) Act, Wildlife
energy sources. Case studies. Protection Act, Forest Conservation Act, Issues involved
6. Land resources: Land as a resource, land degradation, in enforcement of environmental legislation, Public
man induced landslides, soil erosion and awareness.
desertification. Human Population and the Environment: Population
Role of an individual in conservation of natural growth, variation among nations. Population explosion –
resources. Equitable use of resources for sustainable Family Welfare Programme. Environment and human
lifestyles. health. Human Rights. Value Education. HIV/AIDS.
Women and Child Welfare. Role of Information
Ecosystems: Concept of an ecosystem, Structure and Technology in Environment and human health-case
function of an ecosystem, Producers, consumers and studies.
decomposers, Energy flow in the ecosystem, Ecological

20
IIIT Vadodara: UG Curriculum

Field work: and cumulative distribution functions, mathematical


1. Visit to a local area to document environmental expectation, moments, probability and moment
assets: river/ forest/ grassland/ hill/ mountain. generating function, median and quantiles, Markov
2. Visit to a local polluted site-Urban/ Rural/ Industrial/ inequality, Chebyshev’s inequality.
Agricultural. Special Distributions: Discrete uniform, binomial,
3. Study of common plants, insects, birds. geometric, negative binomial, hypergeometric, Poisson,
4. Study of simple ecosystems-pond, river, hill slopes, continuous uniform, exponential, gamma, beta, normal,
etc. lognormal, inverse Gaussian, Cauchy, double
exponential distributions, reliability and hazard rate,
Text Books:
reliability of series and parallel systems.
1. Textbook for Environmental Studies for
Undergraduate Courses of all Branches of Higher Joint Distributions: Joint, marginal and conditional
Education, Erach Bharucha for University Grants distributions, product moments, correlation and
Commission, 2004. regression, independence of random variables, bivariate
normal distribution.
Reference Books:
Transformations: functions of random vectors,
1. Trivedi R. K. and P.K. Goel, Introduction to Air
distributions of order statistics, distributions of sums of
Pollution, Techno-Science Publication.
random variables.
2. Miller T.G. Jr. Environmental Science, Wadsworth
Publishing Co. Sampling Distributions: Mean, median, variance,
3. Townsend C., Harper J, and Michael Begon, standard deviation, The Central Limit Theorem,
Essentials of Ecology, Blackwell Science. distributions of the sample mean and the sample variance
4. Mhaskar A.K., Matter Hazardous, Techno-Science for a normal population, Chi-Square, t and F
Publication. distributions.
Estimation: Unbiasedness, consistency, the method of
moments and the method of maximum likelihood
Course Course Name L-T-P: C estimation, confidence intervals for parameters in one
Code sample and two sample problems of normal populations,
MA201 Probability and Statistics 3-1-0: 4 confidence intervals for proportions.
Objectives: Students will learn fundamental rules of Testing of Hypotheses: Null and alternative hypotheses,
Probability, discrete and continuous distributions, and the critical and acceptance regions, two types of error,
statistical methods most commonly used in Computer power of the test, the most powerful test and Neyman-
Science and Software Engineering. They will be Pearson Fundamental Lemma, tests for one sample and
introduced to stochastic processes, Markov chains, two sample problems for normal populations, tests for
statistical inference, and Monte Carlo methods and will proportions, Chi square goodness of fit test and its
apply the theory and methods to the evaluation of applications.
queuing systems and computation of their vital Text Book:
characteristics. 1. Probability and Statistics for Computer Scientists, by
Learning Outcomes: On successful completion of this Michael Baron, CRC Press, second edition (2013).
course, students should be able to: Reference Books:
1. Appreciate the significance of probability and 1. Athanasios Papoulis and S. Unnikrishna Pillai,
statistics in computer science and related research ‘Probability, Random Variables, and Stochastic
areas. Processes’, Fourth Edition, McGraw-Hill, Europe,
2. Develop algorithmic approaches to real-life problems 2002.
incorporating randomness in data. 2. Alberto Leon-Garcia, ‘Probability, Statistics, and
3. Use appropriate statistical methods in the analysis of Random Processes for Electrical Engineering’, Third
datasets. Edition, Pearson, 2008.
Prerequisite: MA101.
Contents: Course Course Name L-T-P: C
Introduction: Classical, relative frequency and Code
axiomatic definitions of probability, addition rule and HS201 Technical Writing 1-1-2: 3
conditional probability, multiplication rule, total
probability, Bayes’ theorem and independence. Objectives: The objectives of this course include
understanding the concepts, terms and tools of technical
Random Variables: Discrete, continuous and mixed
writing; and applying them on various forms of
random variables, probability mass, probability density

21
IIIT Vadodara: UG Curriculum

representation like technical reports, projects, research Course Course Name L-T-P: C
papers, dissertation and thesis. Students will read, Code
analyze, and interpret material from technical fields, and CS201 Object Oriented Design & 3-0-0: 3
will practice research and writing skills appropriate for Programming
technical topics.
Learning Outcomes: Objective: This course introduces basic concepts of
object-oriented programming principles, design
1. Students will learn to follow the steps of writing techniques, and analysis tools.
process, i.e., pre-writing, writing, rewriting, and
editing, and apply them to technical and workplace Learning Outcomes: On completion of this course the
writing tasks. student should be able to design and analyze real-world
2. Students will be able to prepare technical documents problems based on object-oriented principles.
including project reports, manuscript preparation for Prerequisite: IT101.
conferences and journals, and drafting reports for
availing grants for technical projects. Contents:
3. Students will be exposed to various software tools Introduction: Principles of OOD; programming
(say, LaTeX) for preparing technical documentation Paradigms; benefits of OOD&P, applications of OOD;
and presentation. Classes and objects; access qualifiers; instance creation;
4. Students will understand the basic components of constructors, parameterized constructors, overloaded
definitions, descriptions, process explanations, and constructors, constructors with default arguments, copy
other common forms of technical writing. constructors, static class members, and static objects.
5. Students will have an appreciation for some of the
ideas, issues, and problems involved in writing about Functions and Operators: Function prototyping,
technology and in workplace writing. function components, passing parameters, inline
functions, default arguments, overloaded function; array
Prerequisite: None of objects, pointers to objects, dynamic allocation
Contents: operators, dynamic objects; Operator overloading,
overloading a unary and binary operator, overloading the
Structure of sentences, paragraphs, and documents. operator using friend function, stream operator
using stress for emphasis, and sequencing topics to overloading, data conversion.
create forward flow, writing for the reader; Formats of Inheritance: Defining derived classes, single
technical documents; the experimental report; the inheritance, protected data with private inheritance,
technical report, the proposal; workshop on published multiple inheritance, multi-level inheritance,
documents; Discussion and workshop on term paper hierarchical inheritance, hybrid inheritance, multi-path
proposals; Graphics; emphasis without distortion; visual inheritance, constructors in derived and base class,
illusions; a minimalist approach to data representation; abstract classes, virtual function and dynamic
univariate and multivariate displays; Discussion and polymorphism, virtual destructor.
workshop on term papers; elements of oral presentations;
oral presentations. Exception Handling: Principle of exception handling,
exception handling mechanism, multiple catch, nested
Text Book: try, re/throwing the exception.
1. The Elements of Style, W. Strunk, E B White, New Object Oriented Design: Requirements modeling,
York: Macmillan, 1972. business modeling, component based development;
Reference Books: Rational Unified Process (RUP), process overview,
1. The Mayfield Handbook of Technical and Scientific phases and iterations, static structure of the process, core
Writing, L. Perelman, Mayfield Publishing workflows; UML history, building blocks of UML,
Company, 1998. structural modeling, behavioral modeling; Use Case
2. The Science of Scientific Writing, G. D. Gopen, J. A. Diagrams, Modeling Ordered Interactions: Sequence
Swan, American Scientist, 78(6):550-558, Nov-Dec Diagrams; case studies.
1990. Text Books:
1. Introduction to object-oriented programming, B.
Timothy, Pearson, 2001.
2. Applying UML and Patterns: An Introduction to
Object-Oriented Analysis and Design and Iterative
Development, C. Larman, Prentice Hall, 2004.

22
IIIT Vadodara: UG Curriculum

Reference Books: Course Course Name L-T-P: C


1. Object Oriented Design and Patterns, C. Horstmann, Code
John Wiley & Sons, 2005. CS203 Design and Analysis of 3-0-0: 3
2. Unified Modeling Language User Guide, G. Booch, Algorithms
J. Rumbaugh, I. Jacobson, Pearson Education, 2001.
3. Object-Oriented Systems Analysis and Design using Objectives: Algorithms are at the core of computer
UML, Bennett, McRobb, Farmer, McGraw-Hill, science, and this course intends to provide a rigorous
2002. introduction to fundamental techniques in the design and
analysis of algorithms. The course will be divided into
five major components namely,
Course Course Name L-T-P: C 1. Foundations,
Code 2. Sorting and Order Statistics,
CS261 Object Oriented Design & 0-0-3: 2 3. Advanced Design and Analysis Techniques,
Programming Lab 4. Graph Algorithms and
5. Special Topics.
Objective: This course equip students with object- Learning Outcomes: On successful completion of this
oriented programming skills required to build reusable, course, students should be able to:
robust and maintainable softwares using Java. 1. Apply existing algorithms and analyze their strengths
Learning Outcomes: On completion of this course the and weaknesses.
student should be able to design and implement real 2. Design, implement, and analyze new algorithms.
world applications based on object-oriented principles Prerequisites: MA102, IT101 and CS102.
using Java.
Contents
Prerequisite: IT101
Introduction and asymptotic notations: The role of
Contents: algorithms in computing, Insertion sort, Analysing
Lab and take home assignments based on the course algorithms (Random-access machine (RAM) model),
‘Object Oriented Design and Programming’. Emphasis Designing algorithms, Asymptotic notations.
on following topics: Divide and Conquer Techniques: Divide and conquer
1. Eclipse (or NetBeans) IDE introduction. algorithms such as the maximum-subarray problem,
2. Compiling & running programs on IDE. Strassen’s algorithm for matrix multiplication, etc.,
3. Object oriented coding conventions. Solving recurrences -- The substitution method, The
4. Simple example of object-oriented design and recursion-tree method, The master method, Proof of the
message passing. master theorem.
5. Problems on object based iteration. Heapsort and Quicksort: Heaps, Maintaining the heap
6. Problems on object based arrays, matrices, and property, Building a heap, the heapsort algorithm,
strings. Priority queues, Quicksort.
7. Design oriented problems on object polymorphism.
8. Design oriented problems on object inheritance & Dynamic Programming: Dynamic programming
overriding. algorithms such as the rod cutting, matrix-chain
9. Object-oriented designing of advanced data multiplication, Longest common subsequence, etc.,
structures (linked list, trees, graphs, tables). Elements of dynamic programming – Optimal
10. Problems on object based linked lists. Substructure, Overlapping sub-problems.
11. Problems on object based trees. Greedy Algorithms: Greedy algorithms such as
12. Problems on object based graphs. activity-selection problem, huffman codes, etc.,
13. Mini Projects. Elements of the greedy strategy - Optimal Substructure,
Greedy choice property.
Text Books:
1. Big Java/Big C++, Horstmann, Cay S., John Wiley Graph Algorithms: Representations of graphs, Depth
& Sons First search, Breadth First Search, Topological sort,
2. Object-Oriented Analysis and Design with Minimum Spanning Trees - The algorithms of Kruskal
Applications, Brooch, Grady, Addison Wesley. and Prim, Shortest Paths - The Bellman-Ford algorithm,
Dijkstra’s algorithm.
NP-Completeness and Approximation Algorithms –
Introduction to NP-Completeness, Approximation
algorithms such as the traveling-salesman problem, the
subset-sum problem, etc.

23
IIIT Vadodara: UG Curriculum

Text Book: Course Course Name L-T-P: C


1. Cormen et al., Introduction to Algorithms, Third Code
Edition, Publisher: The MIT Press, 2009. EC201 Digital Logic Design 3-0-0: 3
Reference Books:
1. Goodrich and Tamassia, Algorithm Design and Objectives: The main objective of this course is to
Applications, First Edition, Publisher: Wiley, 2014. introduce the concept of digital logic circuits and binary
2. Sedgewick and Wayne, Algorithms, Forth Edition, systems. To design and implement the combinational
Publisher: Addison-Wesley Professional, 2011. and sequential logic circuits which are the prime
ingredient to make ALU. To provide the basic
understanding of design and implementation of the
digital circuits using VHDL.
Course Course Name L-T-P: C
Code Course Outcomes: On successful completion of this
CS263 Design and Analysis of 0-0-3: 2 course, students should be able to:
Algorithms Lab 1. Understand the fundamentals of digital logic design,
Boolean algebra and number systems.
Objectives: The objectives of the lab course is to let the 2. Understand the combinational logic circuits.
students learn to design and implement the state-of-the- 3. Understand the sequential logic circuits.
art algorithms, empirically analyze the performance 4. Understand the design and implementation of digital
(e.g., running time, etc.) of algorithms and to identify circuits using VHDL.
suitable algorithms for resource-constrained devices.
Prerequisite: EC100
Learning Outcomes: On successful completion of this
course, students should be able to: Contents:
1. Implement algorithms using different algorithm Number Systems: Representations, signed, 1's
design paradigms such as divide-and conquer complement, 2's complement, saturation and overflow in
paradigm, greedy paradigm, and dynamic- fixed point arithmetic.
programming paradigm.
Boolean Algebra: Axioms and theorems, De Morgan’s
2. Empirically analyze the performance (e.g., running
law, universal gate, duality, expression manipulation
time, etc.) of different algorithms.
using axioms and theorems.
3. Comparatively evaluate the performance (e.g.,
running time, etc.) of different algorithms. Combinational Logic: Introduction to switching
4. Implement the state-of-the-art graph algorithms. algebra, canonical forms, two-level simplification,
Empirically analyze the performance of graph Boolean cube, logic minimization using K-map method,
algorithms. QuineMcCluskey tabular method, minimization for
product-of-sum form, minimization for sum-of-product
Prerequisites: MA102, IT101, IT161, CS102 & CS162. form, multiplexers, demultiplexers, decoders, encoders,
Contents: hazard free synthesis, Arithmetic circuits, adders, half
adder, full adder, BCD adder, ripple carry adder, carry-
Laboratory assignments should be given from the
look ahead adder, combinational multiplier.
following topics (or any other state-of-the-art topic) to
develop creativity and analytical abilities of students. Sequential Logic: Simple circuits with feedback, basic
The assignments should be in the form of hands-on latches, clocks, R-S latch, master- slave latch, J-K flip
experience of algorithms in one (or more) of the flop, T flip-flop, D flip-flop, storage registers, shift
programming language(s). register, ripple counter, synchronous counters, Finite
State Machine (Moore/Mealy Machines), FSM with
1. Divide and conquer algorithms.
single/multiple inputs and single/multiple outputs,
2. Sorting techniques such as Merge sort, Quick sort, etc
RAM, ROM, EPROM.
3. Heap sort and Priority Queues.
4. Greedy algorithms. Hardware Description Language: Programming and
5. Graph representation techniques. simulation, structural specification, behavioral
6. Graph search. (DFS, BFS, etc.) specification, dataflow modelling, test bench, testing
7. Minimum spanning trees. (Prim, Kruskal, etc.) using test vectors, testing using waveforms, design of
8. Shortest paths algorithms. (Bellman-ford algorithm, basic blocks to build larger circuits, case studies, adder,
Dijkstra’s algorithm) ALU, counters, shift registers, register bank, FSM design
9. Dynamic programming-Algorithms. example etc.

References: Laboratory instructions and handouts. Text Books:


1. Digital Design, Morris Mano, Prentice Hall, 2002.

24
IIIT Vadodara: UG Curriculum

2. Digital Fundamentals, 10th Ed, Floyd T L, Prentice 9. Write VHDL programme for the following, analysis
Hall, 2009. the output waveform and the hardware generated (a)
Arithmetic logic unit (ALU), (b) Finite state machine
Reference Books:
(FSM).
1. Digital Circuits and Design, S Salivahanan, Vikas
Publication House Pvt. Ltd. References: Laboratory Manual.
2. A VHDL Primer, 3rd Edition, J. Bhaskar, Pearson.
3. Digital Design-Principles and Practices, 4th Ed, J F
Wakerly, Prentice Hall, 2006.

Course Course Name L-T-P: C


Code
EC261 Digital Logic Design Lab 0-0-2: 1

Objective: To provide hands-on experience in digital


circuits, which can be design and implemented by using
standard integrated circuits (ICs). To investigate the
operation of several digital combinational and sequential
circuits. To provide the basic understanding of design
and implementation of the digital circuits using VHDL
Learning Outcomes: On successful completion of this
course, students should be able to:
1. Minimize the Boolean algebra using the
minimization methods (K-Map and Quine–
McCluskey)
2. Realize the logics circuits using the universal gates.
3. Analyze and design a combinational circuit.
4. Realize the given function using the combinational
circuit.
5. Design and develop sequential circuits.
6. Understand the design and implementation of the
digital circuits using VHDL
Prerequisite: EC100
List of Experiments:
1. Verification and interpretation of truth tables for
logic gates.
2. Realization of logic functions with the help of
universal gates-NAND Gate & NOR Gate.
3. Construction of half adder, full adder and full
subtractor using XOR and NAND gates and
verification of its operation.
4. Construction of a SR and JK flip flop and verification
of its operation, convert SR to JK, JK to D, SR to T,
J-K to T flip flop.
5. Verification of truth table for 7 segment decoder/
driver ICs.
6. Verification of truth table for 2:1, 4:1, 8:1
multiplexer/ Demultiplexer and implement 16:1
using 4:1 multiplexer.
7. Construction of 4 bit SISO, SIPO, PISO, PIPO shift
registers and verification of their operation.
8. Construction and verification of operation of 4-bit
ring counter.

25
IIIT Vadodara: UG Curriculum

Semester-IV: Courses and Contents Course Course Name L-T-P: C


Code
Course Course Name L-T-P: C HS202 Economics 3-0-0: 3
Code
MA202 Numerical Techniques 0-1-2: 2 Objectives: To integrate the basic concepts of
economics with the tools of mathematics and statistics in
Objective: This course provides insights in to order to analyze and make optimal business decisions.
implementation of numerical computing methods that
are practical, efficient, and elegant. Learning Outcomes: On successful completion of this
course, students should be able to:
Learning Outcomes: On successful completion of this 1. Understand the roles of the Organizations.
course, students should be able to: 2. Analyze the demand and supply conditions and
1. Implement numerical algorithm for specific problem. assess the position of a company.
2. Apply algorithm with analysis of cost benefits. 3. Design competition strategies, including costing,
pricing, product differentiation, and market
Prerequisite: MA101.
environment according to the natures of products and
List of Experiments: the structures of the markets.
1. Solving system of linear algebraic equation: Gauss 4. Analyze real-world business problems with a
Elimination Method, LU Decomposition, Iterative systematic theoretical framework.
Methods, Singular Value Decomposition, Ill 5. Make optimal business decisions by integrating the
Conditioned System, Eigen Value Computation concepts of economics, mathematics and statistics.
(Jacobi Method for Symmetric Matrices) Prerequisite: MA101, MA201
2. Interpolation and Curve Fitting: Polynomial
interpolation, Extrapolation, Cubic Spline, Least Contents:
Square fit. The Problems of Economic Organization; Demand and
3. Finding roots of an Equation: Incremental Search Supply; Price Determination; Elasticity of Demand and
method, Bisection Method, Newton Raphson Supply; Theory of Production; Production function; Law
Method, Regula-Falsi method. of diminishing returns; Analysis of Cost; Fixed and
4. Numerical Differentiation: Finite Difference variable costs; Marginal cost; Market Structure and
Approximation, Derivatives by Interpolation (Using Various Types of Markets; Perfectly Competitive
Forward/ Backward/central difference formula) Market; Monopolistic Markets; Aggregate Demand and
5. Numerical Integration: Trapezoidal and Simpson's Aggregate Supply; Determination Of National Income
rules for integration. and criticisms; Consumption, Saving and Investment;
6. Solution of first order and second order ordinary Business Cycle and remedies; International Trade;
differential equations: Euler method, Euler Balance of Payment; Case for and against free trade;
modified method, Runge-Kutta methods, Milne PC Economics of banking; Interest rates and demand for
method, Boundry Value Problem. money; Role of Central Bank; Inflation: measurement,
causes and index numbers.
Text Books:
1. Numerical Methods in Engineering with Python, Jaan Text Books:
Kiusalaas, 2nd Ed. Cambridge University Press. 1. Economics, P. Samuelson & Nordhaus, Tata-
2. Numerical Recipes in C, W. H. Press, S. A. McGraw Hill.
Teukolsky, W. T. Vetterling, B. P. Flannery, 3 rd Ed., 2. Indian Economy, Ruddar Datt & Sundaram, S. Chand
Cambridge University Press. & Co.
Reference Books:
1. Elementary Numerical Analysis, S. D. Conte and C. Course Course Name L-T-P: C
De Boor, Mc Graw Hill Publisher. Code
2. Applied Numerical Analysis, E. V. Krishnamurthy &
CS202 System Software 3-0-0: 3
S. K. Sen, East West Publication.
3. Numerical Methods, B. Ram, Pearson Education. Objective: This course introduces design and
implementation of various types of system software and
their relationship with machine architecture.
Learning Outcomes: On successful completion of this
course, students should be able to:
1. List relationship between machine architecture and
system software.

26
IIIT Vadodara: UG Curriculum

2. Analyze different types of software processors viz. associated communication protocols such as HTTP,
assemblers, compilers, loaders. HTTPS, etc.
3. Able to differentiate between top down and bottom 2. Formats and languages used in modern WWW:
up parsing and understand syntax directed translation HTML, XHTML, CSS, XML, XSLT, Javascript,
techniques. DOM, etc.
3. Understand basics of client-server web application.
Prerequisites: CS102.
4. Know the usage and different ways to connect
Contents: database with a web application and relevant data
access operations.
Introduction: Overview and history, Language
Processors, Introduction to CISC and RISC machine Prerequisites: CS201
architecture.
Contents:
Assembler: Basic Assembler Functions, Machine
Introduction Web Services: Web services architecture;
Dependent Features, Machine Independent Features,
overview of web services; service oriented roles and
One pass and Multi pass Assembler.
architecture; architectural process; three tier web based
Linkers, Loaders and Macro Processors: Basic architecture.
Loader Function, Loader Design Options, Relocation
XML: Introduction to XML; XML fundamentals; well-
and Linking Concepts, Design of a Linker, Case study
formed XML documents; components of XML
for Linker and Loader, Basic Macro Processor Functions
document; XML tools; XML style sheets; XSL; CSS;
and Features, Macro Processor Design Options,
XML namespaces; EDI fact; message definition;
Implementation example for Macro Processor.
segments; message structure and electronic enveloping.
Compilers: Aspects of Compilation, Compiler Features,
Java Web Services Architecture: J2EE and web
Memory Allocation, Grammar, Parsing Techniques,
services-Introduction to JSP and java servlets; servlets;
Compiler Design Options, Intermediate Code
overview of Java server pages.
Generation and Optimization Techniques.
Active Server Pages: HTML and VBScript
Software Tools: Text Editors, Debuggers, Data Base fundamentals; ASP concepts, using request, response,
Management System, User Interfaces. application, session, server objects; cookies.
Text Books: .Net Framework: Overview of .NET framework;
1. System Software – An introduction to System building blocks of .NET platform; role of .NET class
Programming, Leland L. Beck, 3rd Edition, Pearson libraries; understanding CTS, CLR, CLS; deploying
Education. .NET; building C# applications.
2. Systems Programming and Operating Systems, D. M.
Text Book:
Dhamdhere, Tata McGraw Hill Publication.
1. Web Application Architecture: Principles, Protocols,
Reference Books: & Practices, L. Shklar, R. Rosen.
1. System Programming, John Donovan, McGraw Hill
Reference Books:
Publication.
1. Web Technologies: A Computer Science Perspective,
2. System Software, Santanu Chattopadhyay, Prentice
Jeffrey Jackson.
Hall India Publication.
2. Web Technology: Theory and Practice, M.
Srinivasan.
3. Java Servlet Programming, J. Hunter, W. Crawford,
Course Course Name L-T-P: C O’Reilly Publications, USA, 1998.
Code
IT202 Web Technology 3-0-0: 3
Course Course Name L-T-P: C
Objectives: Students will learn to use web technology Code
for building web applications. They will develop a case IT262 Web Technology Lab 0-0-2: 1
study where they will be able to understand and
demonstrate use of web technology for a particular Objectives: Students will apply web technology for
application domain. building web applications. They will develop a case
Learning Outcomes: On successful completion of this study where they will be able to understand and
course, students should be able to: demonstrate use of web technology for a particular
1. Know the history of the WWW and associated domain.
technologies. The client-server architecture and

27
IIIT Vadodara: UG Curriculum

Learning Objectives: On successful completion of this Contents:


course, students should be able to:
Introduction and Conceptual Modeling: Databases
1. Design and implement dynamic websites using
and database users; database system concepts and
appropriate and modern languages discussed.
architecture; data modeling using the entity-relationship
2. Create a client-server web application using
(ER) model; enhanced entity relationship.
appropriate tools.
3. Connect a webpage to a database and perform Data Storage and Indexing: Introduction, record
relevant data access operations. storage, and primary file organization index structures
4. Have a Good knowledge of web application for files; single level indexing; multilevel indexing.
terminologies, Internet tools, e-commerce and other Relational Model: The relational data model; relational
web services. database constraints; relational algebra; relational
calculus; relational database design by ER and EER;
Prerequisites: CS201
relational mapping; SQL; the relational database
Contents: standard; examples of relational database management
systems; Oracle.
Web technology tools, XML, SOAP, CORBA, RMI with
emphasis on following: Database Design Theory and Methodology:
Functional dependencies and normalization for
Project/Assignment-1 (Information Flow):
relational databases, relational database design
Implementation of complete website; PHP backend;
algorithms and further dependencies.
MySQL Database; front-end Form development (text,
email, radio, checkbox, select/data list) System Implementation Techniques: Query
processing and optimization, transaction processing
Project/Assignment-2 (Validation and Structure):
concepts, concurrency control techniques, database
Client-side validation of project/assignment 1; Server-
recovery techniques.
side validation of project/assignment 1; Object-oriented
designing of PHP backend (following MVC Object and Object Relational Databases: Object
architecture); Unit testing; Using Git; Using GitHub. database concepts, the ODMG standard for object
databases, object-relational systems, and SQL.
Project/Assignment-3 (Session Management):
Session Management addition to project/assignment 2; Emerging Applications: Distributed databases and
User login addition to project/assignment 2; Styling & client/server models, XML Database (DTD, XML
Layout addition project/assignment 2. Schema), Query for XML Database, NoSQL.

Reference: Laboratory instructions and handouts. Text Book:


1. Fundamentals of Database Systems, R. Elmasri, S. B.
Navathe, Prentice Hall, New Delhi, 2007.
Course Course Name L-T-P: C Reference Books:
Code 1. Database System Concepts, A. Silberschatz, H. F.
CS204 Database Management 3-0-0: 3 Korth, S. Sudharshan, Tata McGraw Hill, New
System Delhi, 2005.
2. Introduction to Database Systems, C. J. Date,
Objectives: The course aims the students will be able to Prentice Hall, New Delhi, 2004.
list and understand the basic concepts of a relational
database system. They can analyze database
requirements, determine the entities involved and Course Course Name L-T-P: C
relationships among them. The students are able to Code
efficiently and effectively organize, maintain and
CS262 Database Management 0-0-3: 2
retrieve information from a database system.
System Lab
Learning Outcomes: On completion of this course the
student should be able to: Objective: This course aims to develop an in-house
1. List the basic concepts of relational database model, project using the fundamentals of Database Management
relational algebra, entity-relationship model, and System design process discussed in the course "Database
SQL. Management System".
2. Convert the entity-relationship model to relational Learning Outcomes: On completion of this course the
database and formulate SQL queries on it. student should be able to:
3. Optimize database design through different 1. Design and implement a database schema.
processes. 2. Use normalization techniques in a real-time DBMS
Prerequisites: CS102 application.

28
IIIT Vadodara: UG Curriculum

3. Formulate SQL commands such as create, insert, 3. Describe various memory management techniques,
update, delete, etc. to a relational DBMS. file system interfacing and disk scheduling
algorithms.
Prerequisites: CS102
4. Conceptualize the components involved in designing
Contents: a contemporary OS.
Lab and take home assignments based on the course Prerequisites: MA102 and IT101.
“DBMS”. Emphasis on following topics:
Contents:
1. ER Modeling Tool (ERWin): Introduction to
ERWin; Adding Entity types & relations; Forward Introduction: Overview and history, multi-
generation. programming, functions of an OS, device drivers, I/O
2. Abstract Query Language Interpreter (JCup & interrupts, and system call interface.
JFlex): Relational Algebra (syntax, RA interpreter); Process Management: Process Abstraction, Process
Domain Relational Calculus (syntax, DRC States, Implementing Processes (PCB), Threads,
interpreter); Datalog (syntax, Datalog interpreter). Classical Synchronization Problems; Synchronization
3. Relational Database Management System Primitives; Semaphores; Monitors; Deadlocks,
(Oracle): SQL* Plus Utility; SQL* Loader Utility; Deadlock Avoidance. CPU Scheduling, Real Time
Programming with Oracle using JDBC API. Scheduling.
4. Relational Database Management System
Memory Management: Segmentation, Demand
(MySQL): MySQL Utility; Bulk loading of data;
Paging, Hardware Support, Page Fault Handling; Page
MySQL and PHP programming; Making an online
Replacement Algorithms; Shared Memory.
Address Book.
5. Database Design Toolkit (DBD): Coding Relational Files Systems: Disks Structure, Disk Scheduling, Disk
Schemas & Functional Dependencies; Invoking Management, RAID Structure, File Organization and
SWI-Prolog Interpreter; DBD system predicates Mounting, File descriptor, Directory Structure and
(xplus, finfplus, fplus, implies, equiv, superkey, Implementation, I/O Systems.
candkey, mincover. Text Books:
6. Object-Oriented Database Management System 1. Operating Systems: internals and design principles,
(db4o): db4o Installation & Introduction; Simple William Stallings, Pearson Education.
database creation exercise; Database updates & 2. Modern Operating Systems, Andrew Tanenbaum,
deletes; Database Querying (queryByExample, Prentice Hall Publication.
Native Queries, SODA Queries); Company database
application exercise; Web application exercise Reference Books:
(client-server configuration).XML DATABASE: 1. Operating System Concepts, A. Silberschatz, P.
XML basics; Creating a company database in XML; Galvin, & G. Gagne, John Wiley & Sons.
XML Editor (EditiX); XPath; XQuery; FLWOR 2. Operating System – A Concept based Approach, D.
expressions; XML Schema M. Dhamdhare, McGraw Hill Publication.
Reference: Laboratory instructions and handouts.
Course Course Name L-T-P: C
Code
Course Course Name L-T-P: C CS266 Operating Systems Lab 0-0-3: 2
Code
CS206 Operating Systems 3-0-0: 3 Objective: This lab course provides practical
implementation of various architectural algorithms used
Objective: This course provides undergraduate students contemporary operating system. It includes analysis of
with knowledge about contemporary operating system design related issues using simulations.
design and its relationship between memory, processor,
file interface and processes. Learning Outcomes: On successful completion of this
course, students should be able to:
Learning Outcomes: On successful completion of this 1. Program using shell scripting.
course, students should be able to: 2. Perform multithread programming on single core
1. Describe process management and concepts of architecture using libraries.
threading, multitasking, IPC. 3. Implement of various process scheduling algorithms.
2. Differentiation of various scheduling algorithms and 4. Implement Deadlock avoidance method and analysis
identify the reasons of deadlock and their remedial on dynamic system behavior.
measures in an operating system. 5. Implement Paging Concept of Operating System.

29
IIIT Vadodara: UG Curriculum

Prerequisites: MA102 and IT101. Prerequisite: EC201


List of Experiments: Contents:
1. Review of Pointers and File Handling using C. Von Neumann: Functional units, ALU, data paths
2. Understanding of Shell Scripting. architecture, registers, instruction set architecture (ISA),
3. Understanding of System Calls. addressing modes.
4. Implementation of Producer-Consumer Problem
Data representation and arithmetic: Overview of
using Stack & Queue.
integer data, fixed, floating point systems, representation
5. Multithreaded Programming.
of non-numeric data (characters, strings, records, and
6. Implementation of basic CPU Scheduling algorithms
arrays), integer addition and subtraction, ripple carry
like FCFS, SJF, Round Robin.
adder, carry look-ahead adder, etc. multiplication - shift-
7. Implementation of Banker’s Algorithm.
and-add, Booth multiplier, division, floating point
8. Implementation of basic Page Replacement
arithmetic.
Algorithm like LRU, Optimal Page Algorithm.
Pipelining and Parallelism: An overview of pipelining,
Text Book: throughput and speedup, pipelined data path and control,
1. Operating System Concepts, A. Silberschatz, P. data dependency and hazard, control hazard and
Galvin, & G. Gagne, John Wiley & Sons. structural hazard, instruction level parallelism (ILP)
Reference Books: concepts and challenges, basic compiler techniques for
1. Operating Systems: Internals and Design Principles, exposing ILP, ILP using dynamic scheduling, VLIW,
William Stallings, Pearson Education. super scaler architecture, overview of thread level
2. Modern Operating Systems, Andrew Tanenbaum, parallelism.
Prentice Hall Publication. Memory system and I/O: Principles of temporal and
3. Operating System – A Concept based Approach, D. spatial locality; cache memories (address mapping,
M. Dhamdhare, McGraw Hill Publication. block size, replacement and store policy); virtual
memory (page table, TLB); disk organization and data
access from disk drive, programmed I/O, interrupt-
Course Course Name L-T-P: C driven I/O, Handshaking, DMA, interrupts.
Code Text Books:
CS208 Computer Organization 3-0-0: 3 1. Introduction to Computing Systems: From Bits and
and Architecture Bytes to C and Beyond, 2th Ed, Yale Patt and Sanjay
Patel, Tata McGraw-Hill, 2001.
Objectives: To study the basic organization and 2. Computer Architecture: A Quantitative Approach,
architecture of digital computers (CPU, memory, I/O, 5th Edition By John L Hennessy & David A
software, pipelining and parallelism). Discussions will Patterson.
include digital logic, microprogramming and
performance enhancement of processor. Such Reference Books:
knowledge leads to better understanding computer 1. Computer Organization and Design: The
organization and architecture, can be used in the design hardware/software Interface (ARM edition) by John
and implementation of computer systems or as L Hennessy & David A Patterson.
foundation for more advanced computer-related studies. 2. Computer Organization and Architecture, 8th Ed,
Stallings, Pearson, 2010.
Learning Outcomes: 3. B. Parhami, Computer Architecture: From
1. To familiarize the students with the computer Microprocessors to Supercomputers, Oxford Univ.
resources as designer and user point of view. Press, New York, 2005.
2. To provide the hands on experience of software and
hardware.
3. To familiarize the students with the processor Course Course Name L-T-P: C
interaction with other hardware and time Code
management. CS268 Computer Organization 0-0-2: 1
4. To familiarize the students with pipeline architecture and Architecture Lab
and instruction level parallelism.
Objective: To provide hands-on experience using the
5. To familiarize the students with dynamic instruction
software and hardware to understand the performance
scheduling and thread level parallelism.
improvement of the processor.
6. To familiarize the students with memory system and
its interaction with processor. Learning Outcomes: On successful completion of this
course, students should be able to:

30
IIIT Vadodara: UG Curriculum

1. Understand the instruction set architecture (ISA).


2. Understand the design and simulations of ALU and
data path architecture.
3. Understand the computer performance
measurements.
4. Understand the pipeline design and execution of
instructions with minimum hazards.
5. Understand the instruction level parallelism and
dynamic instruction scheduling.
6. Understand the performance measurements using
Tomasulo and scoreboard algorithm.
Prerequisite: IT101, EC201
List of Experiments:
1. Design and implementation of data path architecture
and program counter.
2. Design and implementation of arithmetic logic unit
(ALU).
3. Design and implementation of ripple carry adder and
carry-look-ahead adder.
4. Design and implementation of Booth's multiplier and
combinational multipliers.
5. To understand the basic principles of pipeline design
for single instruction, including the problems of data
and branch hazards.
6. To understand pipeline design for multiple
instructions, including the problems of data and
branch hazards.
7. To understand the multiple instructions (beq, lw and
st) working using pipelined processors.
8. To understand the arithmetic instruction (add, mult,
div, sub) working using instruction level parallelism.
9. To understand the implementation of instruction
level parallelism using Score Board algorithm.
10. To understand the implementation of instruction
level parallelism using Tomasulo algorithm.
Reference: Laboratory instructions and handouts.

31
IIIT Vadodara: UG Curriculum

Course Structure: Third Year


Semester-V Semester-VI
[A] CSE Branch [A] CSE Branch
Course Course
Course Name L T P C Course Name L T P C
Code Code
CS301 Computer Networks 3 0 0 3 CS302 Artificial Intelligence 3 0 0 3
Computer Networks Artificial Intelligence
CS361 0 0 2 1 CS362 0 0 2 1
Lab Lab
CS303 Software Engineering 3 0 0 3 Introduction to
Software Engineering CS304 Cryptography and 3 0 0 3
CS363 0 0 3 2 Network Security
Lab
Formal Language and Introduction to
CS305 3 0 2 4 Cryptography and
Automata Theory CS364 0 0 2 1
Program Elective Network Security
- 3 0 2 4 Lab
(PE1)*
Program Elective Program Elective
- 3 0 0 3 - 3 0 2 4
(PE2)* (PE3)*
CS391 Design Project 0 0 0 3 Program Elective
- 0 1 2 2
(PE4)*
Total 15 0 9 23
Elective from other
*List of Program Electives is provided in Appendix-I
- Branch of 3 0 0 3
[B] IT Branch Engineering (EO1)#
Course - Open Elective (OE1)$ 3 0 0 3
Course Name L T P C
Code Total 15 1 8 20
CS301 Computer Networks 3 0 0 3 *List of Program Electives is provided in Appendix-I.
Computer Networks #
List of Electives from other Branch of Engineering is
CS361 0 0 2 1
Lab provided in Appendix-II.
$
CS303 Software Engineering 3 0 0 3 List of Open Electives is provided in Appendix-III.
Software Engineering [B] IT Branch
CS363 0 0 3 2
Lab
Course
IT301 Information Security 3 0 0 3 Course Name L T P C
Code
Information Security Software Project
IT361 0 0 2 1 IT302 3 0 0 3
Lab Management
Program Elective Software Project
- 3 0 2 4 IT362 0 0 3 2
(PE1)* Management Lab
Program Elective Management
- 3 0 0 3 IT304 3 0 0 3
(PE2)* Information System
IT391 Design Project 0 0 0 3 Program Elective
- 3 0 2 4
Total 15 0 9 23 (PE3)*
*List of Program Electives is provided in Appendix-I Program Elective
- 0 1 2 2
(PE4)*
Elective from other
- Branch of 3 0 0 3
Engineering (EO1)#
- Open Elective (OE1)$ 3 0 0 3
Total 15 1 7 20
*List of Program Electives is provided in Appendix-I.
#
List of Electives from other Branch of Engineering is
provided in Appendix-II.
$
List of Open Electives is provided in Appendix-III.

32
IIIT Vadodara: UG Curriculum

Semester-V: Courses and Contents Edition) by J. F. Kurose and K. W. Ross, publisher:


Pearson
Course Course Name L-T-P: C
Reference Book:
Code
1. TCP/IP Illustrated Volume 1: The Protocols, Second
CS301 Computer Networks 3-0-0: 3 edition, K. R. Fall and W. Richard Stevens,
publisher: Pearson.
Objective: This course develops an understanding of
modern network architectures from a design and
performance perspective. It clarifies network
terminology and provides an opportunity to do network Course Course Name L-T-P: C
programming using TCP/IP. The course exposes Code
students to emerging technologies and their potential CS361 Computer Networks Lab 0-0-2: 1
impact.
Objective: This course makes students aware of various
Learning Outcomes: On completion of this course the cabling technologies used in different types of network.
student should be able to: Give exposure to various network commands. To
1. Relate the TCP/IP layered model with real-life data implement various network and transport level
communication. protocols. Give exposure to Wireshark and packet tracer
2. Analyze the requirements for an organizational to simulate different types of network.
network layout and give the most appropriate
Learning Outcomes: On completion of this course the
networking architecture and technologies suited.
student should be able to:
3. Have a working knowledge of connection-less and
1. Describe the functions of common networking
connection-oriented protocols.
devices and their role in data communication.
Prerequisite: None 2. Implement various networking commands.
3. Implement various networking protocols such as
Contents: flow and error control.
Introduction: Overview of an internet, internet as a 4. Have a working knowledge of socket programming.
service, internet architecture, circuit switching, packet 5. Have a working knowledge of Wireshark and Cisco
switching, network performance metrics (delay, packet Packet Tracer.
loss, and throughput), layered approach (TCP/IP and
OSI models). Students are expected to create an internet-based
application such as e-mail application, chat application,
Link layer: Multiple access protocols (channel etc. In the third week, the students should finalize their
partitioning protocols, random access protocols, and application title and communicated it to their respective
CSMA protocols), Ethernet – IEEE 802.3, Token ring – TA. The students can form groups with at most four
IEEE 802.5, WiFi – IEEE 802.11, reliable link layer students in each group. Mid-term evaluation of the
protocols (stop and wait, sliding window protocols), project will be held in the 7th week and end-term
switches and bridges. evaluation in the last week.
Network layer: IP addressing: IPv4, IPv6, and ICMP
header formats; intra-domain routing: distance vector Prerequisite: None
and link state routing protocols; inter-domain routing: List of Laboratory Tasks:
BGP; routing for multicasting and broadcasting.
1. Analyze the IIITV Network structure and basic
Transport layer: principles of reliable data transfer; networking hardware devices such as Hub, Switch,
connection-oriented transport: TCP connection Router, Firewall, NIC, Modem, Gateway, etc. Write
establishment, TCP timeout estimation, TCP RTT down and submit the difference between various
estimation, TCP congestion control; connectionless networking devices.
transport: UDP. 2. Study various types of network cables and their
Application layer: network applications, hypertext usage. Construct the cross and straight cables using a
transfer protocol, domain name system, simple mail crimping tool. Install and configure wired and
transfer protocol, socket interface, client-server wireless NIC.
programming. 3. Configure Host IP, Subnet Mask and Default
Text Books: Gateway in a System in LAN (TCP/IP
1. Computer Networks: A Systems Approach (Fifth Configuration). Transfer files between machines in
Edition) by L. L. Peterson and B. S. Davie, publisher: LAN using FTP. Configuration and install a Print
Morgan Kaufmann. server in a LAN and share the printer.
2. Computer Networking: A Top-Down Approach (Fifth 4. Understand and implement basic networking
commands such as Ping, Ipconfig, Traceroute, Arp,

33
IIIT Vadodara: UG Curriculum

Netstat, Whois, SSH, etc. teaching assistants. In addition, issue based assistance is
5. Implement standard error detection and correction provided as and when required or as and when the same
methods. is sought by the team members.
6. Study and implement Socket Programming using any
Learning Outcomes: Upon completion of this course
preferred internet-based programming language.
the student should be able to:
7. Study and implement flow control protocols: sliding
1. Enumerate and define the phases in the software
window and go-back-n protocols.
development process.
8. Configure Internet connection and use IPCONFIG,
2. Describe the activities performed in each of the
PING / Tracer, and Net stat utilities to debug the
phases and how each phase relates to the others.
network issues.
3. Develop a coherent set of software requirements for
9. Configure a Network topology using packet tracer
a particular application.
software. Hands-on with Wireshark.
4. Convert a set of requirements into a set of
10. Hands-on with Cisco Packet Tracer.
specifications that can be validated.
Reference: Laboratory instructions and manuals. 5. Apply any of several design methodologies to the
design of a software work product.
6. Develop and implement a test plan that will
Course Course Name L-T-P: C adequately exercise a software work product with the
Code purpose of discovering defects.
CS303 Software Engineering 3-0-0: 3 7. Enumerate and define the steps in the post-
implementation phases.
Objectives: The following are the objectives of the 8. Describe the activities associated with corrective,
course: adaptive, and perfective maintenance.
1. Provides an understanding of the foundations of 9. Describe the activities associated with the
software engineering. configuration management process and relate its
2. Provides a foundation for students who want to importance during software development and
develop their career in the broad field of computing maintenance.
and specifically in the areas of Information and 10. Perform an impact analysis for a change request as it
Communication technology. applies to a software work product.
3. Apply key engineering principles and mathematical 11. Perform all software engineering tasks associated
models to application development projects. with developing a software system or product
4. Emphasize the complete lifecycle of the software requiring a team of software engineers.
development process and design, develop, test, and 12. At the end of the project, assess a software
deploy software using rigorous software engineering development effort to determine the appropriate
practices. principles and practices that will maximize the
5. Develop the skills and abilities of applying the probabilities for success.
fundamental concepts of computing in industrial,
Prerequisite: CS201.
business and other problems, in order to produce
software solutions. Contents:
6. Introduce the role of software tools in the process of Introduction to Software Engineering
software development.
Software life cycle models
This course has been designed to provide the students
with the opportunity to apply the software engineering Software Project Phases
principles learned in the course to a project, that is also a 1. Pre-development phase-Feasibility & Proposal.
part of this course. Students will work on a significant 2. Development phase: Requirements analysis &
software development project that may include any or all specification, Design, Coding & Unit Testing,
activities associated with creating a software solution to Testing.
a client/customer problem. They would be taken through 3. Post-development phase: Maintenance
all the software engineering activities that are typically Software Project Management
experienced from the initiation to the completion of a 1. Software Project Estimation
software development project. Special emphasis has 2. Software Project Scheduling
been placed on defining the client/customer problem and 3. Risk Management
determining requirements by either working with real 4. Configuration Management
clients on real world problems. Teams are encouraged to 5. Software Reliability and Quality Assurance
work autonomously following good software Computer Aided Software Engineering (CASE)
engineering practices, with guidance in the form of
Agile Methodologies
lectures and tutorials, from the course instructor and

34
IIIT Vadodara: UG Curriculum

Additional Expectations: The student should be able to: Course Course Name L-T-P: C
1. Analyze a software development project and Code
determine the most appropriate software engineering CS363 Software Engineering Lab 0-0-3: 2
principles and practices for the given situation.
2. Evaluate the effectiveness of a given set of software Objectives: To learn skills to work effectively as a team
engineering practices and make recommendations for member and/or leader in a professional environment,
changes that can improve the software development typically a software industry.
project.
3. Analyze a software development project to determine Learning Outcomes: On successful completion of this
missing or inappropriate software engineering course, students should be able to:
practices. 1. Identify, formulate, and solve complex engineering
4. Assess the quality of software engineering processes, problems by applying principles of computer
practices, products, and artifacts associated with a engineering, science, and mathematics.
software engineering development effort. Prerequisites: IT101 and IT161.
5. Demonstrate interpersonal and team skills that
support maximizing their team’s effectiveness. Laboratory Assignments:
Special Expectations: The student should be able to: 1. Practical implementation of various aspects of
1. Work collaboratively and cooperatively with others software design life cycle.
as a team that produces the required software 2. Management of software engineering design
engineering work products. activities.
2. Create and deliver a quality presentation 3. Work on various projects in team/group.
(individually and as part of a team presentation) 4. Study and hands-on various CASE tools that are used
related to selected aspects of software engineering by IT Industries.
processes, practices and work products associated Reference: Laboratory instructions and handouts.
with a software engineering project.
Text Books:
1. Roger S Pressman, “Software Engineering – A Course Course Name L-T-P: C
practitioner’s Approach”, McGraw Hill Higher Code
Education, 5th, 6th and 7th Edition, 2010. CS305 Formal Languages and 3-0-2: 4
2. Pankaj Jalote, “An Integrated Approach to Software Automata Theory
Engineering”, Narosa Publication, 2001.
Objective: This course introduces students to the
Reference Books: various types of regular languages, their equivalences to
1. Eric Braude (Ed.), “Software Engineering – Selected finite automata, Turing machines and Undecidability.
Readings”, IEEE, 2000.
2. Ivor Jacobson, “Object Oriented Software Learning Outcomes: On successful completion of this
Engineering: A Use Case Driven Approach”, course, students should be able to:
Pearson Education Asia, 2001. 1. Apply Languages and their principles.
3. Carlo Ghezzi, “Fundamentals of Software 2. Differentiate various computational models in
Engineering”. Prentice Hall of India, 2001. theoretical computer science.
4. Ian Sommerville, “Software Engineering”, 8th 3. Analyze complexity of computational models.
Edition, Addison-Wesley, 2006. Prerequisite: MA102.
5. Richard Fairley, “Software Engineering Concepts”,
Tata McGraw-Hill, 2001. Contents:
6. Ali Behforooz, “Software Engineering
Mathematical Preliminaries: Review of Set theory,
Fundamentals”, Oxford University Press, 1996.
Functions and Relations, Graphs, Proof Techniques.
7. Richard Thayer (ed.), “Software Engineering Project
Management”, IEEE Computer Society, 1997. Finite Automata and Regular Languages:
8. Rajib Mall, “Fundamentals of Software Deterministic Finite Automata (DFA), Non
Engineering”, Prentice Hall of India, 2003. Deterministic Finite Automata (NDFA), Equivalence
between DFA and NDFA, Regular Language and their
relationship with Finite Automata, Regular Grammar,
Properties of Regular Languages, Arden’s Theorem,
Minimization of Finite Automata, Pumping Lemma for
Regular Languages.

35
IIIT Vadodara: UG Curriculum

Push Down Automata and Context Free Languages: Contents:


Push Down Automata, Context Free Languages (CFL) Symmetric-key Cryptography: Classical ciphers,
and Grammar (CFG), Simplification of CFG, Properties Feistel structure, Modern block ciphers such as Data
of CFG, Pumping Lemma for CFL. Encryption Standard (DES) and Advanced Encryption
Turing Machine and Undecidability: Introduction to Standard (AES), Cryptographic hash functions, Message
Turing Machine (TM), Variants of TM, Context authentication codes (MAC).
Sensitive Languages and Linear Bounded Automata, Asymmetric-key Cryptography: Applications of
Recursive and Recursive Enumerable Languages, asymmetric-key cryptosystem, RSA cryptosystem,
Halting Problem, Post Correspondence Problem, Diffie-Hellman key exchange protocol, Digital
Undecidable Problem, Complexity Analysis. signature.
Text Books: User Authentication and Access Control: Password-
1. An Introduction to Formal Languages and Automata, Based/Token-Based/Biometric Authentication, Remote
Peter Linz, Jones and Bartlett Publication. User Authentication, Security Issues for User
2. Introduction to Theory of Computation, Micheal Authentication, Access Control Principles, Subjects,
Sipser, Cengage Learning Publication. Objects, and Access Rights, Linux/UNIX Filesystem
Access Control, Role-Based/Attribute-Based Access
Reference Books:
Control, Identity, Credential, and Access Management.
1. Elements of the Theory of Computation, H. Lewis and
C. Papadimitrou, Prentice Hall Publication. Network Security: Secure socket layer (SSL)/
2. Introduction to Languages and Theory of Transport layer security (TLS), Firewalls, Packet
Computation, John C. Martin, McGraw Hill filtering firewall, Stateful inspection firewalls, E-Mail
Publication. security, Pretty good privacy (PGP), Secure
3. Introduction to Automata Theory, Langauges and Multipurpose Internet Mail Extensions (S/MIME), IP
Computation, John E. Hopcraft, Rajeev Motwani, security overview, IP security policy, Encapsulating
Jeffrey D. Ullman, Pearson Publication. security payload (ESP).
4. Introduction to Formal Languages, Automata Theory Management Issues: Security Risk Assessment,
and Computation, Kamala Kirtivasan and Rama R., Security Risk Analysis, Security Plan, Monitoring Risks,
Pearson Publication. Security Awareness/Training/Education, Security
policies, Standards, Ethics.
Text Books:
Course Course Name L-T-P: C 1. Stallings and Brown, Computer Security: Principles
Code and Practice, Third Edition, Publisher: Pearson,
IT301 Information Security 3-0-0: 3 2014.
2. M. Bishop, Computer Security: Art and Science,
Objectives: The course intends to provide the basic Reprint Edition, Addison-Wesley Professional, 2015.
foundations of information security and its impact on the 3. Kaufman et al., Network Security, Second Edition,
IT infrastructure. The course includes not only the Publisher: Prentice Hall, 2002.
cryptographic techniques used in information security,
but it also focuses on the hands-on experience with tools Reference Books:
and techniques used to ensure network security. 1. Trappe and Washington, Introduction to
Cryptography with Coding Theory, Second Edition,
Learning outcomes: On successful completion of this Publisher: Pearson, 2009.
course, students should be able to: 2. Bruce Schneier, Applied Cryptography: Protocols,
1. List the importance of information security of IT Algorithms, and Source Code in C, Second Edition,
infrastructure. Publisher: Wiley, 1996.
2. Use the cryptographic algorithms to ensure the
confidentiality, integrity, availability, etc. of
information. Course Course Name L-T-P: C
3. Analyze the security strengths of cryptographic Code
algorithms. IT361 Information Security Lab 0-0-2: 1
4. Learn the network security protocols used to ensure
the web application security. Objectives: The laboratory course intends to provide a
5. Identify network security threats and the means to platform to implement the state-of-the-art cryptographic
prevent attacks thorough tools/techniques such as algorithms, detect and prevent security vulnerabilities in
firewalls, PGP, etc. the IT infrastructure and effectively use and apply the
Prerequisites: MA102 and IT101.

36
IIIT Vadodara: UG Curriculum

state-of-the-art tools/techniques to ensure information complete systems.


security.
Students are expected to carry out design project either
Learning outcomes: On successful completion of this individually or in a group of 2 – 4 students. The duration
course, students should be able to: of the project work is between 6 – 8 weeks. Followings
1. Detect the vulnerabilities in the IT infrastructure. are the broad areas in which a student may work:
2. Implement the state-of-the-art cryptographic 1. Software Development.
algorithms. 2. Software Maintenance.
3. Effectively use and apply the tools/techniques such 3. Software Tools and Techniques.
as Pretty Good Privacy, Firewall, etc. to ensure the 4. Hardware Development/Implementation.
information security. 5. Robotics.
4. Effectively use and apply the tools/techniques such 6. Embedded System (Software & Hardware combine)
as Wireshark, Nmap (Network Mapper), Metasploit, Development/Implementation.
etc. to ensure the information security.
Prerequisites: IT101, IT161, MA102, CS203 and
CS263.
Contents:
Laboratory assignments will consist of following topics
to develop creativity and analytical abilities of students.
The assignments should be in the form of hands-on
experience of cryptosystems, in one (or more) of the
programming language(s), and network security
protocols.
1. Classical ciphers to understand encryption,
decryption, cryptanalysis.
2. Data Encryption Standard.
3. Advanced Encryption Standard.
4. Cryptographic hash algorithm such as SHA-512.
5. Message authentication codes such as HMAC.
6. RSA cryptosystem, Diffie-Hellman key exchange,
Elgamal cryptosystem (1024/2048-bits).
7. Secure socket layers (SSL)/Transport layer security
(TLS).
8. Firewalls (e.g. iptables).
9. Pretty good privacy (PGP).
10. Wireshark.
11. Nmap (Network Mapper), Metasploit
Reference: Laboratory instructions and handouts.

Course Course Name L-T-P: C


Code
CS391/ Design Project# 0-0-0: 3
IT391
#The Design Project is a Pass/Fail course. It is
conducted during summer vacation between 4th and 5th
semester. The evaluation of project work is carried out
in 1st week of 5th semester and its grade will appear in
the 5th semester grade sheet.
Scope of the Project: To provide an opportunity to
second year undergraduate students to apply individual
efforts involving the knowledge of Information
Technology, Computer Science, Embedded Systems or
related areas in designing/ developing/ implementing

37
IIIT Vadodara: UG Curriculum

Semester-VI: Courses and Contents domain. Introduction, rule-based system architecture,


non-production system architecture, dealing with
Course Course Name L-T-P: C uncertainty; knowledge acquisition and validation;
Code knowledge system building tools; selecting the
CS302 Artificial Intelligence 3-0-0: 3 appropriate problem; stages in the development of
Expert system; errors in development stages; software
Objective: The use of computer to solve complex engineering and expert systems.
problems is the fundamental theme of this course. The
notion of intelligence being captured by problem solving Text Books:
ability reflects throughout the course. Understanding the 1. Artificial Intelligence – A Modern Approach, S.
difficult problems in computation and interpreting Russell, P. Norvig, Pearson Education, New Delhi,
software as intelligent agents is important. Modeling the 2002.
problems in a way that can be solved using computer 2. A First Course in Artificial Intelligence, Khemani
programs is very crucial to understanding artificial D., Tata McGraw Hill, 2014.
intelligence. References:
Learning Outcomes: 1. Artificial Intelligence: A guide to intelligent systems,
1. Student will be able to model a real world problem in Negnevitsky M., Pearson Education, 2005.
a formal way with appropriate specifications, for 2. The Quest for Artificial Intelligence: A history of
example: search problems, multiplayer games and ideas and achievements, Nilsson N., Cambridge
strategies, expert systems etc. University Press, 2008.
2. Student will be able to select suitable search strategy
for the given problem.
3. Student will be able to design expert systems and be Course Course Name L-T-P: C
able to decouple the domain specific knowledge and Code
decision/ inference engine. CS362 Artificial Intelligence Lab 0-0-2: 1
4. Student will be able to program computer to solve
logical inference problems with uncertainty. Objectives: The use of computer to solve complex
problems is the fundamental theme of this course.
Prerequisites: MA102, IT101 and CS102.
Identifying the difficult problems in terms of
Contents: computation and interpreting softwares as intelligent
agents is central theme of laboratory experiments.
Introduction and History: The state of art; intelligent
Modeling the problems in a way that can be solved using
agents; structure; environment.
computer programs is a major objective of the laboratory
Problem Solving and Game Playing: Configuration course.
and Planning Problems, State space representation,
Breadth-first search; uniform cost search; depth-first Learning Outcomes: On successful completion of this
search; depth-limited search; iterative, deepening search; course, students should be able to:
bi-directional search; heuristic search techniques; 1. Apply the knowledge of data-structure and
comparing search strategies. algorithms for implementing solution strategies
efficiently.
Knowledge, Logic and Reasoning: Propositional logic;
2. Model a real world problem in a formal way with
predicate logic; rules; forward and backward chaining;
appropriate specifications, for example: search
strong and weak slot fillers. The meaning of knowledge,
problems, multiplayer games and strategies, expert
production, semantic nets, schemata, frames;
systems etc.
propositional logic; The first Order Predicate Logic; The
3. Select suitable search strategy for the given problem
Universal Quantifier; The Existential Quantifier.
4. Design expert systems and be able to decouple the
Planning: Goal stack planning; non-linear planning; domain specific knowledge and decision/ inference
hierarchical planning; reactive systems. engine.
Reasoning Under Uncertainty: Non-monotonic 5. Program a general purpose computer to solve logical
reasoning; logics; implementation; probability and inference problems with uncertainty
Bayes theorem; certainty factors; Bayesian networks;
Prerequisites: MA102, CS102 and CS203.
Dempster Shafer theory.
Introduction to and Design of Expert Systems: What Laboratory Assignments:
is an Expert System; advantages of Expert System; 1. State Space Search: Modeling and BFS.
general concepts of Expert system, characteristics of 2. State Space Search: Heuristic search, Best First
Expert System; Expert System application and Search, Hill Climbing.

38
IIIT Vadodara: UG Curriculum

3. Non-deterministic Search: Genetic Algorithm. Public Key Cryptography: RSA cryptosystem, Rabin's
4. Path Finding: A* on Visibility Graph. cryptosystem, Diffie-Hellman key exchange, Elgamal
5. Game Playing: Min-Max and Alpha-Beta Algorithm. cryptosystem, Digital signature algorithm (DSA),
6. Sudoku: Constraint Satisfaction Problem. Elliptic curve arithmetic, Elliptic curve digital signature
7. K-means clustering. algorithm (ECDSA).
8. Neural Network. Security Models: Ciphertext-only attacks, Known-
9. Decision Tree. plaintext attacks, Chosen plaintext attacks (CPA),
10. Fuzzy Expert System Chosen ciphertext Attacks (CCA), Adaptive chosen
Reference: Laboratory instructions and handouts. ciphertext attacks (CCA2).
Network Security: Introduction to Web application
security, Secure socket layers (SSL) / Transport layer
Course Course Name L-T-P: C security (TLS), HTTPS, Secure Shell (SSH), Access
Code controls, Firewalls, Packet filtering firewall, Stateful
CS304 Introduction to 3-0-0: 3 inspection firewalls.
Cryptography and Text Books:
Network Security 1. William Stallings, Cryptography and Network
Security - Principles and Practice, Seventh Edition,
Objectives: The course intends to provide a theoretical Publisher: Pearson, 2016.
knowledge and hands-on experience of cryptographic 2. Trappe and Washington, Introduction to
algorithms, cryptanalysis, and network security Cryptography with Coding Theory, Second Edition,
protocols, used to ensure the security of data. Publisher: Pearson, 2009.
Learning Outcomes: On successful completion of this 3. Katz & Lindell, Introduction to Modern
course, students should be able to: Cryptography: Principles and Protocols, Second
1. Understand the role of cryptography and Edition, Publisher: Chapman & Hall/CRC, 2014.
cryptanalysis in security. Reference Books:
2. Effectively use the cryptographic algorithms to 1. Bruce Schneier, Applied Cryptography: Protocols,
ensure the confidentiality, integrity, availability, etc. Algorithms, and Source Code in C, Second Edition,
of information. Publisher: Wiley, 1996.
3. Effectively analyze the security strengths/ 2. Douglas R. Stinson, Cryptography: Theory and
weaknesses of cryptographic algorithms. Practice, Third Edition, Publisher: Chapman and
4. Learn the network security protocols used to ensure Hall/CRC, 2005.
the web application security. 3. Kaufman et al., Network Security, Second Edition,
Prerequisites: IT101, MA102, and CS301. Publisher: Prentice Hall, 2002.

Contents:
Secret Key Cryptography: Substitution-Permutation Course Course Name L-T-P: C
network, Feistel structure, Block ciphers, Data Code
encryption standard (DES), Advanced encryption CS364 Introduction to 0-0-2: 1
standard (AES), Stream ciphers. Cryptography and
Modes of Operation: Electronic code book mode Network Security Lab
(ECB), Cipher block chaining mode (CBC), Cipher
feedback mode (CFB), Output feedback mode (OFB), Objectives: The Laboratory course is intended to
Counter mode (CTR). Implement and empirically analyze the state-of-the-art
cryptographic algorithms used for encryption,
Concepts of Number Theory and Finite Fields: authentication, digital signatures, key exchange, etc.
Euclidian algorithm, Modular arithmetic, Groups, Rings, Empirically analyze the network security protocols such
Finite fields, Polynomial arithmetic, Fermat’s theorem, as HTTPs. Effectively use the tools and techniques such
Euler’s theorem, Chinese remainder theorem (CRT), as Pretty Good Privacy, etc.
Integer factorization problem, Discrete logarithm
problem, Elliptic curve discrete logarithm problem Learning Outcomes: On successful completion of this
(ECDLP). course, students should be able to:
Data Integrity: Cryptographic Hash functions, Secure 1. Implement and analyze the classical ciphers,
hash algorithm (SHA2 or SHA3); Message symmetric-key cryptosystems, and asymmetric-key
authentication codes (MAC). cryptosystems.

39
IIIT Vadodara: UG Curriculum

2. Encrypt and decrypt the information using Learning outcomes: Skill set for an entry level software
symmetric-key algorithms. project manager/ team lead in the software industry.
3. Encrypt and decrypt the information using
Prerequisite: CS303.
asymmetric-key algorithms.
4. Protect the integrity of the information using Contents:
symmetric-key and asymmetric-key algorithms.
Introduction: Introduction to project management;
5. Perform the secure key-exchange using asymmetric-
Open source tools, merits and limitations.
key algorithms.
Software Measurement: software metrics, cyclomatic
6. Digitally sign and verify the information.
7. Effectively use the network security tools. complexity, class cohesion metrics.
Software Estimation: Cost estimation, effort
Prerequisites: IT101, IT161, MA102, CS263, CS301 estimation, schedule estimation, duration estimation.
and CS361. Software Management: Software planning;
configuration management; software tendering and
Contents: Laboratory assignments will consist of the
contracting processes; risk management.
following topics to develop creativity and analytical
Project Execution and Quality: Project execution;
abilities of students. The assignments should be in the
quality insurance, deadline management, configuration
form of hands-on experience of cryptosystems, in one (or
management.
more) of the programming language(s), and network
Standards and Methodologies: RFPs, IETF, ISO, IEEE
security protocols.
standards.
1. Classical ciphers to understand encryption,
Web Based Open Source Project Management Tools:
decryption, cryptanalysis.
Simulation/emulation, performance measures,
2. Data Encryption Standard.
applications.
3. Advanced Encryption Standard.
4. Generation of S-Boxes used in AES. Text Book:
5. Modes of operations and their analysis. 1. Software Project Management: A Process-Driven
6. Cryptographic hash algorithm such as SHA-512. Approach -- A. Ahmed: Auerbach Publications, 2011
7. Message authentication codes such as HMAC.
8. Number theory related concepts such as Chinese Reference Book:
remainder theorem (CRT). 1. Applied Software Project Management -- A.
Stellman and J. Greene: O'Reilly Media, 2005.
9. Analyze the impact of various parameter sizes on
number theoretic problems such as integer
factorization problem, Discrete logarithm problem,
Elliptic curve discrete logarithm problem (ECDLP). Course Course Name L-T-P: C
10. RSA cryptosystem, Diffie-Hellman key exchange, Code
Elgamal cryptosystem (1024/2048-bits). IT362 Software Project 0-0-3: 2
11. Implementation of elliptic curve arithmetic. Management Lab
12. Elliptic curve digital signature algorithm (ECDSA).
Objectives: The objective of the laboratory course is let
13. Secure socket layers (SSL)/Transport layer security
the students to learn about the phases of software
(TLS).
projects, project life cycle, project stakeholders, and
14. Secure shell (SSH).
general management skills.
15. Firewalls (e.g. iptables)
Learning Outcomes: Skill set for an entry level
Reference: Laboratory instructions and handouts.
software project manager/ team lead in the software
industry.
Course Course Name L-T-P: C Prerequisites: IT101 and IT161.
Code
Contents:
IT302 Software Project 3-0-0: 3
Management Laboratory sessions based on understanding project
management concepts, project planning, project
Objectives: The objective of the course is to let the monitoring, risk management, resource management,
student to understand the project management project metrics analysis, subcontract management,
framework. Learn about the project phases, project life quality management and models, tools and frameworks
cycle, project stakeholders, and key general management for project management.
skills. Learn about the supporting project management Reference: Laboratory instructions and handouts.
knowledge areas like quality and human resources.

40
IIIT Vadodara: UG Curriculum

Course Course Name L-T-P: C benefits; implementation factors of ERP; Internet and
Code Web based information system; Electronic Commerce.
IT304 Management Information 3-0-0: 3 Text Book:
System 1. Management Information Systems, K. C Landon, J.
Objective: This course provides a foundation in the P. Laudon, Prentice Hall, 2000.
theory and practical application of information systems Reference Book:
within an organization. The course includes strategic 1. Management Information Systems, G. B. Davis, M.
value, methodologies, quality, decision making, H. Olson, McGraw Hill, 1998.
business-driven information systems.
Learning outcomes: On successful completion of this
course, students should be able to:
1. Analyze, evaluate and make recommendations
regarding business technology and decisions.
2. Have problem solver approach using critical thinking
and make informed decision.
3. Work in team collaboratively, demonstrating
courtesy and etiquettes.
Prerequisite: CS303.
Contents:
Introduction: Technology of Information Systems,
concepts, definition; role and impact of MIS; role and
importance of management; approaches to management;
functions of the manager; management as a control
system; concepts of data models; database design; client-
server architecture.
Process of Management: Planning, organization,
staffing, coordination and controlling; management by
exception; MIS as a support to management;
organization structure and theory; basic model and
organization structure; organizational behavior.
Decision Making and Information: Decision making
concepts, methods, tools and procedures; behavioral
concepts in decision making; organizational decision
making; information concepts as a quality product;
classification of the information; methods of data and
information collection; value of the information;
organization and information system concepts, control
types; handling system complexity; post implementation
problems in systems.
System Analysis and Design: Need for system analysis;
system analysis of existing system; new requirement;
system development model; structured system analysis
and design; computer system design; development of
MIS; development of long range plans of the MIS;
ascertaining the class of the information; determining the
information requirement; development and
implementation of the MIS; management of quality; MIS
factors of success and failure.
Decision Support Systems: Deterministic systems;
artificial intelligence; knowledge based systems; MIS
and the role of DSS; enterprise management systems;
enterprise resource planning (ERP); ERP features and

41
IIIT Vadodara: UG Curriculum

Course Structure: Fourth Year


Semester-VII Semester-VIII:
[A] CSE Branch Common to CSE and IT Branch
Course Course
Course Name L T P C Course Name L T P C
Code Code
Introduction to CS490/
B. Tech. Project 0 0 36 18
CS401 Distributed and 3 0 0 3 IT490
Parallel Computing Total 0 0 36 18
Introduction to
Distributed and
CS461 0 0 2 1
Parallel Computing
Lab
Program Elective
- 3 0 0 3
(PE5)*
Program Elective
- 3 0 2 4
(PE6)*
Elective from other
- Branch of 3 0 0 3
Engineering (EO2)#
- Open Elective (OE2)$ 3 0 0 3
Research/
CS491 0 0 0 3
Industrial Internship
Total 15 0 4 20
*List of Program Electives is provided in Appendix-I.
#
List of Electives from other Branch of Engineering is
provided in Appendix-II.
$
List of Open Electives is provided in Appendix-III.
[B] IT Branch
Course
Course Name L T P C
Code
System
IT401 Administration and 2 0 0 2
Maintenance
System
IT461 Administration and 0 0 3 2
Maintenance Lab
Program Elective
- 3 0 0 3
(PE5)*
Program Elective
- 3 0 2 4
(PE6)*
Elective from other
- Branch of 3 0 0 3
Engineering (EO2)#
- Open Elective (OE2)$ 3 0 0 3
Research/Industrial
IT491 0 0 0 3
Internship
Total 14 0 5 20
*List of Program Electives is provided in Appendix-I.
#
List of Electives from other branch of Engineering is
provided in Appendix-II.
$
List of Open Electives is provided in Appendix-III.

42
IIIT Vadodara: UG Curriculum

Semester-VII: Courses and Contents 1. Distributed Systems: Principles and Paradigms,


Andrew Tanenbaum and Maarten van Steen, Prentice
Course Course Name L-T-P: C Hall.
Code 2. Distributed Systems: Concepts and Design, George
CS401 Introduction to Distributed 3-0-0: 3 Coulouris, Jean Dollimore, and Tim Kindberg.
and Parallel Computing

Description: This course covers the foundations of Course Course Name L-T-P: C
distributed systems including models of computing, Code
different types of communication (Layered Protocols, CS461 Introduction to Distributed 0-0-2: 1
Remote Procedure Calls, Remote Objects, messages, and Parallel Computing
streams), process models (threads, client/server, code Lab
migration and software agents), naming of entities,
logical clocks and synchronization. The course will Objectives: The course aim to provide practical
include programming assignments, project and project exposure of current computational paradigms. A student
presentation. Specific language mastery is not important, is expected to evaluate distributed, parallel and cloud
though using one of C, C++, or Java will be essential. architecture for various real life problems.
Learning Outcomes: On successful completion of this Learning Outcomes: On successful completion of this
course, students should be able to: course, students should be able to:
1. Learn architecture, algorithms and computational 1. Implement algorithms in distributed, cloud and
models used in Distributed, Cloud and parallel parallel architecture.
systems. 2. Evaluate various models on performance and
2. Understanding of various trade-offs involved in scalability trade off.
system design and performance analysis. 3. Design and implement real life application on
3. Understand various libraries for Distributed, Parallel different models of computation.
and cloud computing platforms using various case
studies. Prerequisites: IT101, CS201, CS204 and CS301.

Prerequisites: IT101, CS201, CS204 and CS301. Contents:

Contents: The lab part involve implementation of following


problems
Overview of C, UNIX and UNIX system calls.
1. Basic client-server in distributed environment.
Introduction: Definition of a distributed system, goals, 2. Multi-client single server in distributed environment.
hardware concepts, software concepts, the client-server 3. Multi-client multi server in distributed environment.
model. 4. Java RMI.
Communication: Layered Protocols, Remote Procedure 5. Distributed Chat application.
Call, Remote Object Invocation, Message-Oriented and 6. Distributed Banking application.
Stream-Oriented Communication. 7. Distributed File system application.
Processes: Threads, Servers, Code Migration and 8. Matrix multiplication using parallel programming.
Software Agents. 9. Real life problems on OpenMP and MPI libraries.
10. Working AWS and Google Colab architectures.
Naming: Naming Entities, Locating Mobile Entities,
11. Performance analysis of various methods on GPU.
Removing Unreferenced Entities.
Synchronization: Clock Synchronization, Logical Reference: Laboratory instructions and handouts.
Clocks and Election Algorithms.
Parallel Computing: Parallel Computer memory
Course Course Name L-T-P: C
architectures, Programming Models, Shared memory
Code
model, Flynn’s Programming model, Pipeline
computations. Automatic vs Manual Parallelization, IT401 System Administration and 2-0-0: 2
Data dependencies, Load balancing. Maintenance
Cloud Computing: Cloud Computing Models, Web
Objectives: The course introduces students to the roles
Application Framework, Cloud Web Services, Service
and responsibilities of the system administrator in large
Oriented Architectures towards Cloud Computing.
organizations (e.g., data centers), and focuses on hands-
Text Books: on experience of IT infrastructure administration.

43
IIIT Vadodara: UG Curriculum

Learning Outcomes: backups, dump and restore, archiving programs – tar and
1. To list the roles and responsibilities of a system dd, Commercial backup products.
administrator in organizations. Networking and Routing: TCP/IP and its relationship
2. To manage the resources (system, network, database, to the Internet, Networking road map, Packet addressing,
users, etc.) and security of an IT infrastructure. IP addresses, Routing, ARP, DHCP, Basic network
3. To use the UNIX/Linux utilities and scripting configuration, Linux networking.
languages effectively.
4. To design and manage policies governing IT Text Book:
infrastructure. 1. Evi Nemeth et al., UNIX and Linux System
Administration Handbook, Fifth Edition, Publisher:
Prerequisite: CS301. Addison-Wesley Professional, 2017.
Contents: Reference Books:
Introduction: Roles and responsibility of the system 1. Æleen Frisch, Essential System Administration,
administrator, Friction between UNIX and Linux, Linux Third Edition, Publisher: O'Reilly Media, 2009.
distributions and examples, System- specific 2. Limoncelli et al., The Practice of System and
administration tools, Man pages and other authoritative Network Administration, Second Edition, Publisher:
documentations. Addison-Wesley Professional, 2007.
Scripting and the Shell: Shell basics - Command
editing, Pipes and redirection, Variables and quoting,
Common filter commands, bash scripting, Regular Course Course Name L-T-P: C
expressions, Python scripting, Scripting best practices. Code
IT461 System Administration 0-0-3: 2
Bootstrapping the system: Booting PCs, GRUB: The and Maintenance Lab
GR and Unified Boot loader, Booting to single-user
mode, Working with startup scripts, init and its run Objectives: The objective of the laboratory course is to
levels, systemd, Rebooting and shutting down. provide the students a platform to learn to manage the IT
Access Control and Users: Traditional UNIX access infrastructure using different tools/techniques.
control, Modern access control - Role-based access
Learning Outcomes: On successful completion of this
control, SELinux: security-enhanced Linux, PAM:
course, students should be able to:
Pluggable Authentication Modules, Kerberos - third-
1. Automate the repetitive tasks such as installation
party cryptographic authentication, Access control lists,
using different scripting languages.
Real-world access control – su and sudo, Pseudo-users
2. Empirically analyze the start-up scripts used during
other than root, The /etc/passwd file, The /etc/shadow
the booting and shutting down procedure.
file, The /etc/group file, Adding and removing users,
3. Manage the users of the system, and implement
Managing users with system-specific tools.
access control policies.
Controlling Processes: Components of a process, The 4. Empirically analyze and control the performance of
life cycle of a process, Signals, kill, Process states, nice the system by analyzing and controlling different
and renice: influence scheduling priority, ps - monitor processes.
processes, Dynamic monitoring with top, prstat, and 5. Empirically analyze the role of different file-systems,
topas, The /proc filesystem, strace: trace system calls, and manage the file-systems.
Runaway processes. 6. Generate/configure/debug Syslog and log files.
Periodic Processes: cron - schedule commands, The 7. Effectively use the tools/techniques to perform the
format of crontab files, Crontab management, Linux and backups.
Vixie-cron extensions, Common uses for cron. 8. Effectively use, at least, one of the following (or any
The Filesystem: Pathnames, Filesystem mounting and other state-of-the-art) DevOps tools: Docker,
unmounting, File types, File attributes - The permission Kubernetes, Jenkins, Chef, Puppet, Ansible, etc.
bits, The setuid and setgid bits, The sticky bit. Prerequisites: CS206 and CS266.
Syslog and log files: Syslog: the system event logger,
Laboratory Contents:
Syslog architecture, Configuring syslogd, Syslog
1. OS Installations, VM Installation, Configurations,
debugging, Alternatives to syslog, Linux kernel and
Printing, etc.
boot-time logging, logrotate - manage log files,
2. To learn and effectively use shell scripts e.g., Bash,
Condensing log files to useful information, Logging
Perl, Python, to monitor and manage IT
policies.
infrastructure.
Backups and restore: Introduction and requirements for 3. To understand the bootstrapping and shutdown, and
backups, Backup devices and media, Incremental the related scripts involved during the processes.

44
IIIT Vadodara: UG Curriculum

4. To configure & debug the startup scripts.


5. Access control and user management.
6. To effectively manage (e.g., monitor, start, stop,
schedule, etc.) the processes.
7. Mount/ unmounts/ configure/ access-control/ etc. the
filesystem.
8. Network configuration and management.
9. To generate/ configure/ debug Syslog and log files.
10. To generate/ configure/ debug backups and restore.
Apart from the laboratory exercises, students are
expected to learn and effectively use, at least, one of the
following (or any other state-of-the-art) DevOps tools:
Docker, Kubernetes, Jenkins, Chef, Puppet, Ansible, etc.
Reference: Laboratory instructions and handouts.

Course Course Name L-T-P: C


Code
CS491/ Research / 0-0-0: 3
IT491 Industrial Internship*
*The Research/Industrial Internship is a Pass/Fail
course. It is conducted during summer vacation between
6th and 7th semester. The evaluation of the internship is
carried out in 1st week of 7th semester and its grade will
appear in the 7th semester grade sheet.
Scope of the Internship: It provides the students with
an opportunity to update their skill-set by deploying
themselves in a real-time environment. It is offered in
two modes:
1. Summer Research Internship (SRI) and
2. Summer Industrial Internship (SII)
Under SRI mode, a student is allowed to join any
academic institution around the globe by collaborating
with faculty and associated research lab. It provides an
opportunity to expose himself/herself with the initial
glimpse of research environment in more profession
way.
Under SII mode, a students is introduced to the corporate
world. It teaches him/her professional ethics and
polishes his/her soft skills like communication and
interpersonal skills. This internship will be helpful for an
effortless adaptation to work environment when he/she
joins a full-time job. Also, a considerable number of
internships come with a pre-placement offer (PPO)
which gives an opportunity to prove his/her abilities and
convert internship into a full-time job. In addition, SII
allows to create professional network which could come
in handy when a student will be applying for jobs in
future.

45
IIIT Vadodara: UG Curriculum

Semester-VIII 3. Research work in the form of Conference/Journal


paper.
Course Course Name L-T-P: C 4. Software developed along with instructions and
Code source code.
CS490/ B. Tech. Project 0-0-36: 18 5. Comparative study (products/ methods/ designs).
IT490 6. Simulation study results.
7. Project report at the end of the work.
The B. Tech. Project (BTP) is an academic course. A In case certain projects may not get clearly classified
student may pursue BTP amongst the categories mentioned above, the concerned
1. On-campus: Under the supervision of the Institute's supervisor may identify the specific deliverables for
faculty members. those projects.
2. Off-campus: At an Organization/Institute of repute Group project: A group project is defined as a project
under an Off-campus supervisor. In addition, student where several students work in a group on one problem;
will be assigned On-campus mentor from the
or sub-task of a larger problem or a problem set. In such
Institute. The Off-campus supervisor gives feedback
case it is mandatory to clearly define the deliverables of
to the On-campus mentor about the progress of the
project and the On-campus mentor provides the individual student of the group.
interface to the student with the Institute. Duration: The Off-campus project is for a minimum
Acceptable B. Tech. Projects: duration of 16 weeks after the completion of seventh
1. Software Development. semester. It is expected that the project would end by the
2. System Design and Simulation. last week of April in the respective academic year.
3. Hardware Development/Implementation.
4. Embedded System (Software & Hardware combined) Expectations from the student: Followings are
Development/Implementation. expected from students:
5. Theoretical Modeling.
For On-campus students:
6. Technical Study.
7. Modules of a big research and development project 1. Student must find an On-campus supervisor from
jointly guided by teams of faculty with a focus on IIIT Vadodara.
synthesis of their class-room learning to solve real 2. The student is expected to complete the project work
world problems. assigned by the On-campus supervisor and is
expected to meet all the milestones identified.
The project work could be on
3. The student is expected to follow the work-plan
1. A novel/new idea.
decided by his/her On-campus supervisor. This
2. An extension of some previous research work.
includes reporting, leave and working hours during
3. An abstract problem.
4. Some proof of concept problem. the project tenure.
4. The student should report immediately to the On-
Objective: The project work (On-campus or Off- campus supervisor in the event of exceptional
campus)/Internship (Off-campus) is expected to provide circumstances like illness.
an opportunity to final year undergraduate students to 5. The student is supposed to submit a ‘Project Report’
design/develop/implement systems involving
in the prescribed format to the BTP Coordinator at
information technology, computer science, embedded
IIIT Vadodara on or before due date.
systems and its applications, requiring an individual
effort on the part of the student. 6. Student will be responsible for the plagiarism and
copy-right issues.
Scope: Different kinds of projects and the associated
deliverables that could be accepted as a final year For Off-campus students:
student’s project are conceived broadly as follows: 1. Student will be allotted an On-campus mentor from
1. Software Development. IIIT Vadodara. Students are advised to meet
2. System Design & Simulation. prospective faculty member to act as mentor.
3. Hardware Development/Implementation. 2. The student is expected to complete the project work
Deliverables: In general, the expected deliverables will assigned by the Off-campus supervisor and is
include one or more of the followings expected to meet all the milestones identified.
1. Product developed. 3. The student is expected to follow the work-plan
2. Code developed. decided by his/her Off-campus supervisor and due

46
IIIT Vadodara: UG Curriculum

concern with On-campus mentor. This includes All care should be taken to write a final report that
reporting, leave and working hours during the project summarizes the work carried out by the student as part
tenure. of his/her BTP. The report should not exceed the
4. The student should report immediately to the Off- prescribed length of 40 pages in the single column
campus supervisor and On-campus mentor in the format with a font size 12 points and Times New Roman.
event of exceptional circumstances like illness. The page limit of 40 pages will be strictly imposed.
5. The student is expected to follow the rules and The BTP report submitted by the students will be passed
regulations of the organization as briefed by the Off- through a plagiarism check using the Turnitin or similar
campus supervisor. anti-plagiarism software. Reports which bear similarity
6. The student is supposed to submit a “Project Report” of more than 5% with a single source and a cumulative
in the prescribed format to the BTP Coordinator at similarity of 20% will be identified and communicated
IIIT Vadodara on or before the due date. to the evaluation committee and On-campus BTP
7. Student will be responsible for the plagiarism and supervisor/mentor. Note that subsequent revision of the
copy-right issues. BTP report is not possible under any circumstances.

Expectations from the Organization (Off-campus


BTP): Followings are expected from the Organization
where the student is pursuing the project:
1. Provide an opportunity to the student to carry out a
project that satisfies the objective, scope and
guidelines of the final year student projects given
above.
2. An Off-campus supervisor is to be assigned who
would look after the project work of the student and
interact closely with the student’s On-campus mentor
at IIIT Vadodara.
3. The Off-campus supervisor is expected to supervise
the performance of the student in achieving the
required milestones and is advised to send the
feedback on a regular basis (as decided mutually) to
the On-campus mentor.
4. Student is required to defend/present his project work
in the respective academic year. This requires the
physical presence of the student on the campus and
this presentation will formally close the process of
BTP. The organization is expected to relieve the
student by that time.
5. The Organization's Non-disclosure Agreement
(NDA), if any, must not prohibit the student to show
the data, technique and/or results to the evaluation
committee during the presentation of the project.
6. Off-campus supervisor is required to provide
evaluation details as listed in next section, to On-
campus mentor on or before in the respective
academic year.

BTP Report: The mid-semester BTP report should not


exceed the prescribed length of 10 pages in the single
column format with a font size 12 points and Times New
Roman. The page limit of 10 pages will be strictly
imposed. Students are required to submit their mid
semester report on or before 1st March of the respective
academic year.

47
IIIT Vadodara: UG Curriculum

Appendix-I PV3 Post Quantum Cryptography


PE4 (0-1-2:2)
List of Program Electives for CSE / IT Branch
PV4 Parallel Programming Lab
Program Verticals (PV) Code PV4 VHDL Lab
Artificial Intelligence and Data Analytics PV1 PV1, PV2 Robotics Lab
Cyber Physical Systems PV2 PV4 HPC Lab
Security PV3
Computational Science PV4 Appendix-II
List of Electives form other Branch of Engineering
PV Course Name (EO1 and EO2)
Code Course Name
PE1-PE3 & PE5-PE6 (3-0-0:3 / 3-0-2:4)
PV2 Human Computer Interaction Digital Image Processing
PV2 Enterprise Resource Planning Deep Learning
PV2 Software Project Management (CSE) Information Theory Coding
PV1, PV2 Advance DBMS Cognitive Science
PV1, PV4 Speech Science Soft Computing
PV2 Embedded System Advanced Image Processing
PV2 Wireless Sensor Networks Graph Theory
PV3 Web Application Security Low Power Circuit Design
PV2 Advance Computer Networks Real-time System
PV1 Natural Language Processing Nano Technology
PV1 Data Analytics VLSI Design
PV2 Computer Graphics and Animation E-Commerce
PV1 Information Retrieval
PV1, PV2 Computer Vision Appendix-III
PV2 Compiler Design
PV4 Logic for Computer Science List of Open Electives (OE1 and OE2)
PV4 Principles of Programming Language Code Course Name
PV2 Software Verification
PV2 Internet of Things Operation Research
PV2, PV3 Cloud Computing Security Network Flow Algorithms
PV2, PV3 Cyber Security Professional Ethics
PV3 Security Protocols Quantum Mechanics
PV1, PV4 Data Compression Quantum Models in Science and
PV1, PV4 Bio-Informatics Engineering
PV1, PV4 Pattern Recognition Introduction to Quantum Computation
PV1 Modeling and Simulation Game Theory
PV4 Advanced Computer Architecture Computational Physics
PV4 Approximation Algorithms
PV4 Scientific Computing
PV1 Graph Signal Processing
PV1, PV4 Mathematics and Big Data
PV4 Vector Space Projection
PV4 Numerical Optimization
Introduction to Distributed and Parallel
PV2, PV4
Computing (IT)
PV1, PV2 Machine Learning
PV1, PV2 Deep Learning
PV1, PV2 Reinforcement Learning
PV3 Introduction to Cryptography
PV3 Block Chain
PV3 Number Theory and Cryptography

48

You might also like