BITS WILP Data Structures and Algorithms Design Handout 2017-H1
BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI
WORK INTEGRATED LEARNING PROGRAMMES
Digital Learning
Part A: Course Design
Course Title
|
Data
Structures and Algorithms Design
|
Course No(s)
|
SS
ZG519
|
Credit Units
|
5
|
Credit Model
|
|
Content Authors
|
A
Baskar
|
Course Objectives
CO1
|
Introduce mathematical and experimental techniques to analyze
algorithms
|
CO2
|
Introduce linear and non-linear data structures and best
practices to choose appropriate data structure for a given application
|
CO3
|
Exposes students to various sorting and searching
techniques
|
CO4
|
Overview of algorithm design methods such as the greedy
method, divide and conquer, dynamic programming, backtracking, and branch and
bound
|
CO5
|
Introduce complexity classes and ways of classifying problem.
|
Text Book(s)
T1
|
Algorithms
Design: Foundations, Analysis and Internet Examples Michael T. Goodrich,
Roberto Tamassia, 2006, Wiley (Students Edition)
|
Reference Book(s) & other resources
R1
|
Data Structures,
Algorithms and Applications in C++, Sartaj Sahni, Second Ed, 2005,
Universities Press
|
R2
|
Introduction to
Algorithms, TH Cormen, CE Leiserson, RL Rivest, C Stein, Third Ed, 2009, PHI
|
R3
|
Algorithm
Design, Jon Kleinberg, Eva Tardos, First Ed.,
Pearson
|
Content Structure
1.
Analyzing Algorithms [4
Hours]
1.1.
Theoretical Foundation
1.1.1.
Algorithms and it’s Specification
1.1.2.
Random Access Machine Model
1.1.3.
Counting Primitive Operations
1.1.4.
Notion of best case, average case and worst case
1.2.
Characterizing Run Time
1.2.1.
Use of asymptotic notation
1.2.2.
Big-Oh Notation, Little-Oh, Omega and Theta Notations
1.3.
Correctness of Algorithms
1.4.
Analyzing Recursive Algorithms
1.4.1.
Recurrence relations
1.4.2.
Specifying runtime of recursive algorithms
1.4.3.
Solving recurrence equations
1.5.
Case Study: Analyzing Algorithms
2.
Elementary Data
Structures [2 hours]
2.1.
Stacks
2.1.1.
Stack ADT and Implementation
2.1.2.
Applications
2.2.
Queues
2.2.1.
Queue ADT and Implementation
2.2.2.
Applications
2.3.
List
2.3.1.
Notion of position in lists
2.3.2.
List ADT and Implementation
3.
Non-Linear Data Structures [3 hours]
3.1.
Trees
3.1.1.
Terms and Definition
3.1.2.
Tree ADT
3.1.3.
Applications
3.2.
Binary Trees
3.2.1.
Properties
3.2.2.
Representations (Vector Based and Linked)
3.2.3.
Binary Tree traversal (In Order, Pre Order, Post Order)
3.2.4.
Applications
3.3.
Heaps
3.3.1.
Definition and Properties
3.3.2.
Representations (Vector Based and Linked)
3.3.3.
Insertion and deletion of elements
3.3.4.
Heap implementation of priority queue
3.3.5.
Heap sort
4.
Dictionaries [as Hash Tables and Search Trees] [3 hours]
4.1.
Unordered Dictionary
4.1.1.
ADT Specification
4.1.2.
Applications
4.2.
Hash Tables
4.2.1.
Notion of Hashing and Collision (with a simple vector based hash
table)
4.2.2.
Hash Functions
4.2.2.1.
Properties
4.2.2.2.
Simple hash functions
4.2.3.
Methods for Collision Handling
4.2.3.1.
Separate Chaining
4.2.3.2.
Notion of Load Factor
4.2.3.3.
Rehashing
4.2.3.4.
Open Addressing [ Linear & Quadratic Probing, Double
Hash]
4.3.
Ordered Dictionary
4.3.1.
ADT Specification
4.3.2.
Applications
4.4.
Binary Search Tree
4.4.1.
Motivation with the task of Searching and Binary Search
Algorithm
4.4.2.
Properties of BST
4.4.3.
Searching an element in BST
4.4.4.
Insertion and Removal of Elements
4.4.5.
Performance
5.
Algorithm Design Techniques [8 Hours]
5.1.
Greedy Method
5.1.1.
Design Principles and Strategy
5.1.2.
Fractional Knapsack Problem
5.1.3.
Task Scheduling Problem
5.2.
Divide and Conquer
5.2.1.
Design Principles and Straegy
5.2.2.
Analyzing Divide and Conquer Algorithms
5.2.3.
Integer Multiplication Problem
5.2.4.
Sorting Problem
5.2.4.1.
Merge Sort Algorithm
5.2.4.2.
Quick Sort Algorithm
5.2.5.
Searching Problem and
Binary Search Algorithm [Ref to 4.4.1]
5.3.
Dynamic Programming
5.3.1.
Design Principles and Strategy
5.3.2.
Matrix Chain Product Problem
5.3.3.
0/1 Knapsack Problem
5.4.
Graph Algorithms
5.4.1.
Introduction to Graphs
5.4.2.
Prim's and Kruskal's Algorithms [Greedy]
5.4.3.
Dijkstra’s Algorithm [Greedy]
5.4.4.
Bellman-ford Shortest Path Algorithm [Greedy]
5.4.5.
All Pair Shortest Path Algorithm [Dynamic Programming]
6.
Complexity Classes
[2 hours]
6.1.
Definition of P and NP
classes and examples
6.2.
Understanding NP-Completeness
Learning Outcomes:
No
|
Learning Outcomes
|
LO1
|
Analyzing algorithms using recurrence relations and expressing
it using asymptotic notation.
|
LO2
|
Understanding different sorting and searching algorithms with
the analysis of best, worst and average cases.
|
LO4
|
Understanding of graph algorithms for Reachability and Path
Finding
|
LO3
|
Students will be able to solve problems using appropriate data
structures to implement solutions.
|
L05
|
Understanding complexity classes P and NP
|
Part B: Contact Session Plan
Academic Term
|
Second Semester 2016-2017
|
Course Title
|
Data Structures and Algorithms
Design
|
Course No
|
SSZG 519
|
Content Developer
|
BHARAT M DESHPANDE
|
Glossary of Terms:
1.
Contact Hour (CH) stands for a hour long live session with
students conducted either in a physical classroom or enabled through
technology. In this model of instruction, instructor led sessions will be for
20 CH.
a.
Pre CH = Self Learning done prior to a given contact hour
b.
During CH = Content to be discussed during the contact hour by
the course instructor
c.
Post CH = Self Learning done post the contact hour
2.
RL stands for Recorded Lecture or Recorded Lesson. It is
presented to the student through an online portal. A given RL unfolds as a sequences
of video segments interleaved with exercises
3.
SS stands for Self-Study
to be done as a study of relevant sections from textbooks and reference books.
It could also include study of external resources.
4.
LE stands for Lab Exercises
5.
HW stands for Home Work will consists could be a selection of
problems from the text.
Contact
Hour 1
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL1.1
|
|
|
During CH
|
CH1
|
CH1.1= Introduction
CH1.2 = Algorithms and it’s Specification,
CH1.3 = Random Access Machine Model, Counting Primitive
Operations
CH1.4= Notion of best case, average case and worst case
|
T1: 1.1.1-1.1.3
|
Post CH
|
SS1
|
|
|
Post CH
|
HW1
|
|
|
Post CH
|
LE1
|
|
|
Post CH
|
QZ1
|
|
|
Notes:
Contact
Hour 2
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL1.1
|
|
|
During CH
|
CH2
|
CH2.1= Notion of best case, average case and worst case
CH2.2 =Use of asymptotic notation (Big-Oh Notation, Little-Oh,
Omega and Theta Notations)
|
T1: 1.2
|
Post CH
|
SS2
|
T1
– 1.3
|
|
Post CH
|
HW2
|
T1
- R-1.15, R-1.19
|
|
Post CH
|
LE2
|
|
|
Post CH
|
QZ2
|
|
|
Notes:
Contact
Hour 3
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH3
|
CH3.1 = Correctness of Algorithms
CH3.2= Analyzing
Recursive Algorithms:
CH3.3= Recurrence
relations, CH3.3= Specifying runtime of recursive algorithms,
|
T1: 1.1.4, Class Notes
|
Post CH
|
SS3
|
|
|
Post CH
|
HW3
|
|
|
Post CH
|
LE3
|
|
|
Post CH
|
QZ3
|
|
|
Notes:
Contact
Hour 4
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH3
|
CH4.1= Solving
recurrence equations
|
T1: 1.1.4, Class Notes
|
Post CH
|
SS3
|
|
|
Post CH
|
HW3
|
|
|
Post CH
|
LE3
|
|
|
Post CH
|
QZ3
|
|
|
Contact
Hour 5
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL1.2
|
|
|
During CH
|
CH4
|
CH4.1 =Stacks: ADT and Implementation, Applications
CH4.2= Queues: Queue ADT and Implementation, Applications
|
T1: 2.1
|
Post CH
|
SS4
|
|
|
Post CH
|
HW4
|
|
|
Post CH
|
LE4
|
|
|
Post CH
|
QZ4
|
|
|
Notes:
Contact
Hour 6
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL1.2
|
|
|
During CH
|
CH5
|
CH6.1 =List: Notion of position in lists
CH6.2 = List ADT and Implementation
|
T1: 2.2
|
Post CH
|
SS5
|
|
|
Post CH
|
HW5
|
T1
- R-2.1
|
|
Post CH
|
LE5
|
|
|
Post CH
|
QZ5
|
|
|
Notes:
Contact
Hour 7
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL1.3
|
|
|
During CH
|
CH7
|
CH7.1 =Binary Trees :
Representations (Vector Based and Linked),
C H7.2= Binary Tree traversal (In Order, Pre Order, Post
Order), CH7.3= Applications
|
T1: 2.3.3
|
Post CH
|
SS7
|
|
|
Post CH
|
HW7
|
|
|
Post CH
|
LE7
|
|
|
Post CH
|
QZ7
|
|
|
Notes:
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL2.2
|
|
|
During CH
|
CH8
|
CH8.1 =Heaps: Definition and Properties,
CH8.2 = Representations (Vector Based and Linked), CH8.3
=Insertion and deletion of elements
|
T1:2.4.1,2.4.2, 2.4.3
|
Post CH
|
SS8
|
|
|
Post CH
|
HW8
|
|
|
Post CH
|
LE8
|
|
|
Post CH
|
QZ8
|
|
|
Notes:
Contact
Hour 9
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL2.2
|
|
|
During CH
|
CH9
|
CH9.1 =Heap implementation of priority queue,
CH9.2 = Heap sort
|
T1:2.4.1,2.4.2, 2.4.3
|
Post CH
|
SS9
|
T1 - Section 2.4.2 PQ-Sort
|
|
Post CH
|
HW9
|
|
|
Post CH
|
LE9
|
|
|
Post CH
|
QZ9
|
|
|
Notes: Syllabus for mid-semester (Feb 2017)
1. Analyzing Algorithms
1.1. Theoretical Foundation
1.2. Characterizing Run Time
1.3. Correctness of Algorithms
1.4. Analyzing Recursive
Algorithms
2. Elementary Data Structures
2.1. Stacks
2.2. Queues
2.3. List
3. Non-Linear Data Structures
3.1. Trees
3.2. Binary Trees
3.3. Heaps
3.4. Sorting algorithms: Insertion
sort, Selection Sort, Heap Sort
4. Dictionaries
4.1. Dictionary ADT
4.2. Log file and Look-up table
4.3. Binary Search Tree
Contact
Hour 10
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL3.1
|
|
|
During CH
|
CH10
|
CH10.1 =Unordered Dictionary :ADT, Applications
CH10.2= Hash Tables: Notion of
Hashing and Collision (with a simple vector based hash table)
CH10.3 = Hash Functions: Properties, Simple hash functions
|
T1: 2.5.1, 2.5.2, 2.5.3, 2.5.4
Chapter 11 (Hash Tables) –
Intro to Algorithms (Cormen, 3e, 2010)
|
Post CH
|
SS10
|
|
|
Post CH
|
HW10
|
|
|
Post CH
|
LE10
|
|
|
Post CH
|
QZ10
|
|
|
Notes:
Contact
Hour 11
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL3.2
|
|
|
During CH
|
CH11
|
CH11.1 =Methods for Collision Handling:
CH11.2 = Notion of Load Factor,
CH11.3 = Rehashing,
CH11.4 = Open Addressing
|
T1: 2.5.5
Chapter 11 (Hash Tables) –
Intro to Algorithms (Cormen, 3e, 2010)
|
Post CH
|
SS11
|
|
|
Post CH
|
HW11
|
|
|
Post CH
|
LE11
|
|
|
Post CH
|
QZ11
|
|
|
Notes:
Contact
Hour 12
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL4.1
|
|
|
During CH
|
CH12
|
CH12.1= Ordered Dictionary:
ADT, Applications
CH12.2 = Binary Search Tree:
Motivation with the task of Searching and Binary Search Algorithm, CH12.3 =
Properties of BST
CH12.4 = Searching an element
in BST, Insertion and Removal of Elements
|
T1: 3.1.1-3.1.5
|
Post CH
|
SS12
|
T1: 3.1.6
|
|
Post CH
|
HW12
|
|
|
Post CH
|
LE12
|
|
|
Post CH
|
QZ12
|
|
|
Contact
Hour 13
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH13
|
CH13.1 =CH12.1 =Greedy Method: Design Principles and Strategy,
CH12.2 =Fractional Knapsack Problem
|
T1: 5.1.1
|
Post CH
|
SS13
|
|
|
Post CH
|
HW13
|
|
|
Post CH
|
LE13
|
|
|
Post CH
|
QZ13
|
|
|
Notes:
Contact
Hour 14
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH14
|
CH14.1 =Greedy Method Task Scheduling Problem
|
T1:5.1.2
|
Post CH
|
SS14
|
|
|
Post CH
|
HW14
|
|
|
Post CH
|
LE14
|
|
|
Post CH
|
QZ14
|
|
|
Notes:
Contact
Hour 15
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL2.1
|
|
|
During CH
|
CH15
|
CH15.1 =Divide and Conquer: Design Principles and Strategy,
CH15.2 = Analyzing Divide and Conquer Algorithms CH15.3 = Integer Multiplication Problem
|
T1:5.2.1, 5.2.2
|
Post CH
|
SS15
|
|
|
Post CH
|
HW15
|
|
|
Post CH
|
LE15
|
|
|
Post CH
|
QZ15
|
|
|
Notes:
Contact
Hour 16
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL2.1,RL2.2
|
|
|
During CH
|
CH16
|
CH16.1 = Merge Sort
CH16.2 =Quick Sort
|
T1:4.1, 4.3
|
Post CH
|
SS16
|
|
|
Post CH
|
HW16
|
|
|
Post CH
|
LE16
|
|
|
Post CH
|
QZ16
|
|
|
Notes:
Contact
Hour 17
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH17
|
CH17.1 =Dynamic Programming: Design Principles and Strategy,
CH17.2 = Matrix Chain Product Problem
CH17.3 =0/1 Knapsack Problem
|
T1: 5.3.1, 5.3.2
|
Post CH
|
SS17
|
|
|
Post CH
|
HW17
|
|
|
Post CH
|
LE17
|
|
|
Post CH
|
QZ17
|
|
|
Notes:
Contact
Hour 18
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL5.1,RL5.2
|
|
|
During CH
|
CH18
|
CH18.1 = Graphs : Terms
and Definitions, Properties, CH18.2 = Representations (Edge List, Adjacency
list, Adjacency Matrix)
CH18.3 = Graph Traversals
|
T1: 6.1, 6.2,6.3
|
Post CH
|
SS18
|
T1: 6.4
|
|
Post CH
|
HW18
|
|
|
Post CH
|
LE18
|
|
|
Post CH
|
QZ18
|
|
|
Notes:
Contact
Hour 19
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
RL 5.4,5.5
|
|
|
During CH
|
CH19
|
CH 19.1 =Single Source Shortest Path algorithm: Dijkstra’s
Algorithm
|
T1:7.1.1
T1: 13.1
|
Post CH
|
SS19
|
T1.7.1.2, 7.2.1, 7.3.1, 7.3.2
|
|
Post CH
|
HW19
|
|
|
Post CH
|
LE19
|
|
|
Post CH
|
QZ10
|
|
|
Notes:
Contact
Hour 20
Time
|
Type
|
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH20
|
CH20.1 = Definition of P and NP classes and examples
CH20.2 =Understanding NP-Completeness: CNF-SAT Cook-Levin
theorem
|
T
13.1, 13.2, T 13.3
|
Post CH
|
SS20
|
|
|
Post CH
|
HW20
|
|
|
Post CH
|
LE20
|
|
|
Post CH
|
QZ20
|
|
|
Notes:
Contact
Hour 21
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
During CH
|
CH21
|
CH21.1 =Polynomial time
reducibility: CNF-SAT and 3-SAT, Vertex Cover
|
T1:13.3
|
Post CH
|
SS21
|
Traveling
Salesman Problem
|
|
Post CH
|
HW21
|
|
|
Post CH
|
LE21
|
|
|
Post CH
|
QZ21
|
|
|
Notes:
Contact
Hour 22
Time
|
Type
|
Sequence
|
Content Reference
|
Pre CH
|
|
|
|
CH22
|
CH22.1 = Course Review
|
|
|
Post CH
|
SS22
|
|
|
Post CH
|
HW22
|
|
|
Post CH
|
LE22
|
|
|
Post CH
|
QZ22
|
|
|
Lab exercises
1 Find out what an Ackerman's function is and write a C/C++
recursive program to calculate the Ackerman's function for two positive
integers. What are the challenges That you see?
2 Representing polynomial in circular linked list, write a
C/C++ program to accept two polynomials, add them and display the sum.
3 Write a C/C++ program to simulate the working of a simple
LIFO stack of integers showing the operations: push and pop.
4 Write a C/C++ program to evaluate a valid postfix expression
using stacks. The arithmetic operators are + , -, *, / and use ^ or $ for
exponent operator.
5 Write a C/C++ program to simulate the working of a simple
FIFO character queue showing the operations: add, delete and display.
6 Write a C/C++ program to implement a circular queue of
integers. Do you experience any advantage of circular queue over linear queue?
7 Write a C/C++ program to take integers one at a time, create
a Binary Search Tree (BST) and display its preorder, inorder and postorder
traversals.
8 Write a C/C++ program to take integers one at a time, create
a max heap using array based implementation and display the array from left to
right.
9 Write C/C++ programs to perform the following to sort the
integers:
a.
Heap Sort.
b.
Merge Sort
c.
Quick Sort
Using time() or delay() library
functions, compare their performances.
10 Write iterative and recursive C/C++ versions of Binary
Search for searching an integer key from the given list of sorted integers
(increasing order).
11 Representing graphs in adjacency matrix, write a C/C++
program to find out the single source shortest path from a given source using
Dijkstra's Algorithm.
12 Representing graphs in adjacency matrix, write C/C++
programs:
a.
Single source shortest path from a given source using
Bellman-Ford Algorithm.
b.
All Source-Shortest paths using Floyd-Warshall
Algorithm.
Note:
provide some edges with negative costs and verify working.
13 Representing graphs in adjacency matrix, write a C/C++
program to solve the Travelling Salesman Problem (TSP) using a suitable
algorithmic approach.
14 There is a row of n coins whose values are some positive
integers c1, c2, . . . , cn, not necessarily distinct. The goal is to pick up
the maximum amount of money F(n), subject to the constraint that no two coins
adjacent to each other can be picked up. Formulate the Dynamic Programming
Approach, write a C/C++ program and verify your output.
15 Accept cost in integers for n jobs when they are assigned
to n different people. Using Branch and Bound strategy, write a C/C++ program
to find out an optimum job assignment with minimum cost. A job cannot be
assigned to two people and one person cannot have more than one job.
16 Using backtracking approach, write a C/C++ program to print
the permutations of the characters of a string. E.g. For ABC, the different
possibilities are ABC, ACB, BAC, BCA, CAB and CBA.
17 Formulate dynamic programming for 0/1 Knapsack, write C/C++
program for it and measure its timing performance with the different inputs
Assignments:
Problem-1
Suppose
you are hired as a consultant to a professor, Dr. Bob Loblaw, from the
Sociology department. He is asking that you build him a software system that
can maintain a set, P , of people from a country, Phishnonia, that he is
studying. People in Phishnonia are free to come and go as they please, so Dr.
Bob Loblaw is asking that your system support fast insertions and deletions. In
addition, he is also interested in doing queries that respectively return the
mean and median ages of the people in P . His thesis is that if the median age
is much smaller than
the
mean, then the Phishnonia is ripe for revolution, for it implies that there are
a disproportionate number of young people. Describe a scheme for maintaining P
that can support median and mean age queries, subject to insertions and
removals, with each of these operations running in at most O(log n) time, where
n is the number of people in P .
Problem-2
Suppose
there is a computer game, LoC, where a player moves through a three-dimensional
world defined by the cells in an n × n × n array, C. Each cell, C[i, j, k],
specifies the number of points that a player in LoC gets when they are at
position (i, j, k). At the start of a game in LoC, there are only
O(n)
nonzero cells in C; all the other O(n3 ) cells in C are equal to 0.
During the course of the game, if a player moves to a position (i, j, k) such
that C[i, j, k] is nonzero, then all the points in C[i, j, k] are awarded to
the player and the value of C[i, j, k] is reduced to 0. Then the game picks
another position, (i’, j’ , k’ ), at random and adds 100 points to C[i’ , j’ ,
k’ ]. The problem is that this game was designed for playing on a large
computer and now must be adapted to run on a smartphone, which has much less
memory. So you cannot afford to use O(n3 ) space to represent C, as
in the original version. Describe an efficient way to represent C, which uses
only O(n) space. Also describe how to lookup the value of any cell, C[i, j, k],
and how to add 100 points to any cell, C[i, j, k], efficiently so that looking
up the value of any cell, C[i, j, k], can be done in O(log n) worst-
case
time or better
Problem-3
The
pointy-haired boss (PHB) of an office in a major technology company would like
to throw a party. Based on the performance reviews he has done, the PHB has
assigned an integer “fun factor” score, F (x), for each employee, x, in his
office. In order for the party to be as crazy as possible, the PHB has one
rule: an employee, x, may be invited to the party only if x’s immediate
supervisor is not invited. Suppose you are the PHB’s administrative assistant,
and it is your job to figure out who to invite, subject to this rule, given the
list of F (x) values and the office organizational chart, which is a tree, T ,
rooted at the PHB, containing the n employees as nodes, so that each employee’s
parent in T is the immediate supervisor of that employee. Describe an algorithm
for solving this office party problem, by choosing a group of employees to
invite to the party such that this group has the largest total fun factor while
satisfying the PHB’s rule and also guaranteeing that you are invited, which, of
course, means that the PHB is not. What is the running time of your algorithm?
Notes:
Evaluation Scheme:
Legend: EC =
Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No
|
Name
|
Type
|
Duration
|
Weight
|
Day, Date, Session, Time
|
EC-1
|
Quiz-I/ Assignment-I
|
Online
|
-
|
5%
|
February
1 to 10, 2017
|
|
Quiz-II
|
Online
|
-
|
5%
|
March
1 to 10, 2017
|
|
Quiz-III
|
Online
|
-
|
5%
|
March
20 to 30, 2017
|
|
Lab
|
Online
|
|
10%
|
To be
announced
|
EC-2
|
Mid-Semester Test
|
Closed Book
|
2 hours
|
30%
|
25/02/2017 (AN) 2 PM – 4 PM
|
EC-3
|
Comprehensive Exam
|
Open Book
|
3 hours
|
45%
|
08/04/2017 (AN 2 PM – 5 PM
|
Syllabus for
Mid-Semester Test (Closed Book): Topics in Session Nos. 1 to 11
Syllabus for
Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 22)
Important
links and information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are
expected to visit the Elearn portal on a regular basis and stay up to date with
the latest announcements and deadlines.
Contact sessions: Students should
attend the online lectures as per the schedule provided on the Elearn portal.
Evaluation Guidelines:
1.
EC-1 consists of either two Assignments or three Quizzes.
Students will attempt them through the course pages on the Elearn portal.
Announcements will be made on the portal, in a timely manner.
2.
For Closed Book tests: No books or reference material of any
kind will be permitted.
3.
For Open Book exams: Use of books and any printed / written
reference material (filed or bound) is permitted. However, loose sheets of
paper will not be allowed. Use of calculators is permitted in all exams.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
4.
If a student is unable to appear for the Regular Test/Exam due
to genuine exigencies, the student should follow the procedure to apply for the
Make-Up Test/Exam which will be made available on the Elearn portal. The
Make-Up Test/Exam will be conducted only at selected exam centres on the dates
to be announced later.
It shall be the
responsibility of the individual student to be regular in maintaining the self
study schedule as given in the course handout, attend the online lectures, and
take all the prescribed evaluation components such as Assignment/Quiz,
Mid-Semester Test and Comprehensive Exam according to the evaluation scheme
provided in the handout.
good job
ReplyDelete