BSC 101 Introduction to IT
BSC 102 Effective Communication
BSC 103 Digital Electronics
BSC 104 Mathematics for Computer Science I
BSC 105 Humanities I
BSC106. Basic Computer Lab-I
BSC107. Digital Electronics Lab
SEMESTER 2
BSC 201 Introduction to Programming
1. AIMS:
To expose students to algorithmic thinking and problem solving and impart moderate skills in programming in a industry-standard programming language
2. OBJECTIVES:
• To expose students to algorithmic thinking and algorithmic representations
• To introduce students to basic data types in C.
• To introduce students to basic control structures in C.
• To introduce students to structured programming concepts
• To introduce students to standard library functions in C language
3. SYLLABUS
• Module–I: Introduction to programming: Algorithm & Flow charts: Definitions, Symbols used to draw flowcharts, Examples. High-level and Low-level Languages, Generations of Programming Language, Language translators: Assemblers, Compilers Interpreter (Only concept and differences), Editor, Program Writing – Structure of the Program, top-down design, Source code, Object code, Executable file, extensions of different files, Program Compilation, Running of a Program; Header file concept.
• Module–II: Basic elements: Variables and Constants, Rules for naming the Variables/Identifiers; Basic data types of C, int, char, float, double; storage capacity – range of all the data types; Storage classes; Operators and Expressions: Assignment Operator, Arithmetic Operator and Arithmetic exp., Relational Operator and Relational exp., Logical Operator and how it is used in condition, Expression Evaluation (Precedence of Operators); data types-basic data types, variable declarations, statements, simple I/O statements. Control structures, if, if else, switch-case, for, while, do-while, break, continue.
• Module-III: Arrays, Structures, Pointers: One and two dimensional arrays, declaration, initialization and processing; Strings: String handling functions; Structures and unions; Pointers: The & and * Operators, pointer declaration, assignment and arithmetic, visualizing pointers, array & pointer relationship, dynamic memory allocation, pointer to arrays, array of pointers.
• Module–IV: Functions: Library, User defined functions, declaration, definition & scope, recursion, call by value, call by reference.
• Module V: Advanced features: file handling: text and binary files; bitwise operations; Preprocessor directives: #include, #define, macros with arguments, the operators # and ##, conditional compilations, multiple file programming; program verification, algorithm efficiency analysis; int86 functions and graphic functions (introduction only).
4. References
4.1 Core References
Yashvant Kanetkar, Let us C, BPB Publications, 3rd Edition, Rs 165/-
Ashok N. Kamthane, Programming with ANSI and Turbo C, Pearson Education,ISBN 81-7808-585-2, Rs 195/-
4.2 Additional References
NIIT, Programming with C in Linux, Prentice Hall of India, ISBN 81-203-2388-2, Rs 175/-
Noel Kallicharan, C By Example, Cambridge University Press, Rs 185/-
Deitel & Deital, C: How to Program, Pearson Education, ISBN 81-7808-383-3, Rs 325/-
Tom Swan, GNU C++ for Linux, PHI [Rs 425]
Schildt, Herbert, C The Complete Reference. 4th ed., 2000, Osborne McGraw-Hill, ISBN 0072121246.
4.3 Internet resources:
www.cprogramming.com
www.programmersheaven.com
comp.lang.c newsgroup
www.cplusplus.com
//cwx.prenhall.com/bookbind/pubbooks/deitel
5. NOTE ON CURRICULAR TRANSACTIONS:
Teaching of language can be done in two ways: a syntax-centrically and logic centrically. Being the first language, syntax cannot be wished away, but must not be made the corner-stone of the course. It is advisable that handouts are used in the lecture classes to cover large number of examples in a short time. For instance, after discussing basic array concepts and syntax, a handout as follows is recommended:
Lecture Handout: Sample content
Here is a program to read 5 integer numbers and process them using arrays.
#include
main()
{ int n[5], i;
printf("Enter 5 integers\n");
for (i=0; i<5; i++)
{
scanf("%d", &n[i]);
}
for (i=0; i<5; i++)
{
…………………………
}
}
Now complete the program for the following tasks:
a) Print out all numbers.
b) Print out numbers greater than 25.
c) Print out number not less than 50.
d) Print out numbers greater than 25 and less than 50.
e) Print out numbers which are > 25 and less than 50 or greater than 75 and less than 100.
f) Print out numbers which are odd.
g) Print out numbers which are even.
h) Print out numbers which are multiples of 7.
i) Print out numbers which are multiples of 3 and 6.
j) Print out numbers which are multiples of 3 or 5.
The topic of pointers usually is considered as a challenge by the students as well as teachers. It is advised that students be asked to draw memory diagrams and graphically allocate memory using hypothetical addresses and answer all pointer-related questions based on these visualizations.
#include
main()
{
int x;
int *p;
x=100;
p=&x;
printf(“x=%d\n”,x); x=100
printf(“p=%d\n”,p); p=275675
printf(“*p=%d\n”,*p); *p=100
}
Students must be given opportunity to learn programming through a variety of ways: (1) Writing programs to solve structured problems at first and unstructured problems later, (2) Reading programs written by peers and debugging and/or predicting output, (3) Running programs (4) Visualising program constructs
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 20% weightage
• 1 test paper- 30% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. A sample quiz for the topic of Loops: for, while, do-while is given below:
Each question carries 10 marks.
1. for (i=0; i<10; i++);
{
printf(“%d\n”,i);
}
What, if any, is wrong with the above for loop?
(A) Nothing
(B) There is no scanf (“%d”, &i)
(C) There is a semi-colon after the for statement.
(D) There is no semi-colon after closing}.
2. for (i=0; i<10; i++)
{
printf(“%d\n”, i+2);
}
What will be the output of the above for loop?
(A) 2,4,6,8,10 (B) 2,3,4,5,6,7,8,9,10
(C) 2,3,4,5,6,7,8,9,10,11 (D) 0,2,3,4,5,6,7,8,9,10,11
3. The following for loop will print out
for (i=0; i<10; i++)
{
if (i%3==0) { printf (“%d\n”, i); }
}
A) 0, 1, 2, 3 B) 0, 3, 6, 9
B) 3 C) 3, 6, 9
4. The following for loop will print out
for (i=0; i<10; i=i+2)
{
printf (“%d”,i*i);
}
(A) 0,1,4,9,16,25,36,49,64,81,100 (B) 0,1,4,9,16,25,36,49,64,81
(C) 0,4,16,36,64 (D) 0,4,16,36,64,100
5. The following loop will print out
for (i=0; i<10; i++)
{
if (i%2==0) { printf(“%d\n”,i+5); }
}
(A) 5,6,7,8 (B) 0, 2, 4, 6, 8
(C) 5, 7, 9, 11, 13 (D) 7, 9, 11, 13
6. The following loop will print out
for (i=0; i<5; i++)
{
printf (“%d\n”, i%3);
}
(A) 0,3 (B) 0,1,2,2
(C) 0,1,2,0,1 (D) 0,1,2,1,4,5
7. The following loop will print out
for (i=0; i<6; i++)
{
if (i==5) { printf (“You can see this message once”); }
if (i==6) { printf (“You can see this message twice”); }
}
(A) You can see this message once
(B) You can see this message twice
(C) A and B
(D) Nothing
8. The following while loop will run how many times?
i=6;
while (i>0)
{
printf (“ %d”,i);
i++;
}
(A) 0 (B) 1 (C) 6 (D) Infinite
9. What is the problem, if any, with the following loop?
i=0;
do {
printf (“%d”,i);
i++;
}while (i<10);
(A) Nothing
(B) There is a semi-colon at the end of the loop.
(C) The condition (i<10) should be given at the beginning of the loop.
(D) Both B & C.
10. What will be the output of the following for loop?
for (i=0; i<10; i++)
{
if (i==5) { continue; }
printf (“%d”, i);
}
(A) 0,1,2,3,4 (B) 0,1,2,3,4,6,7,8,9
(C) 5 (D) 0,1,2,3,4,5,5,5,5,5
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.
6.3 End-sem Assessment
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
A1. Given i=2, j=3 and k=6, what are the results of the following :
( i > j) && (i * j <=k)
(!( i > j) ) && ( i * j <=k)
(!( i > j))
( i * j <=k)
(( i > j) && ( i <= k))
( i * j <= k)
A2. Study the program below then predict the final value for the a, b, and c.
# include
main( )
{
int a, b, c;
a = 12;
b = 3;
c = a + b;
c = a - b;
c = a * b;
c = a / b;
c = a % b;
c = 12*a + b/2 - a*b*2/(a*c + b*2);
c = c/4+13*(a + b)/3 - a*b + 2*a*a;
a = a + 1;
b = b * 5;
printf(“a = %d\n b = %d\n c = %d\n”, a, b, c);
}
A3. What is the out put of the following program ? How it be different if the break statement is replaced by a continue statement ?
#include
main( )
{int i;
for (int i = 1; i <= 10; i++ )
{
if (i == 5 ) { break; }
printf(“%d\t”, i);
}
}
A4. Predict the output of the following program segment
int i, j, *ip;
i=1;
ip=&i;
j=*ip;
*ip=0;
printf(“The value of i %d\n”, i);
printf(“The value of j %d\n”, j);
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
B1. Write a program to read 10 int number into an array N and then
a. Print out all numbers.
b. Print out numbers greater than 25.
c. Print out number not less than 50.
d. Print out numbers greater than 25 and less than 50.
e. Print out numbers which are > than 25 and less than 50 or >than 75 and less than 100.
f. Print out numbers which are odd.
g. Print out numbers which are even.
h. Print out numbers which are multiples of 7.
i. Print out numbers which are multiples of 3 and 6.
j. Print out numbers which are multiples of 3 or 5.
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15.
This section should present a challenge, an unstructured, non-standard problem
Incomplete
C1 (a) Consider the following requirements to store and process data. In each case suggest how you will store the data, justifying your choice
• Examination marks for processing the results
• Examination marks to be made available at a touch screen kiosk for each student to get his/her marks
• Ban account details for each customer to verify
• Text file created by user for providing feedback
BSC 202 Computer Organization & Architecture
1. AIMS:
• To impart knowledge in the functional organization of physical components and architecture of a computer.
2. OBJECTIVES:
• To familiarize the basic terminology of computer hardware.
• To understand the functional units of a standard PC.
• To understand the basic working of a CPU..
• To understand the memory organization in a computer.
• To explain how input/output devices are organized and managed.
• To introduce the concept of parallel processing and multiprocessing.
3. SYLLABUS
• Module–I: Functional units of a PC; basic operational concepts; memory address, word, instruction set, programs, assembly language instructions; CPU registers; addressing modes, instruction format, system buses, instruction cycle, memory, example-organization of 8085 computer; encoding of information, unsigned numbers, signed numbers, operations, Booth’s algorithm (circuit design and RTL not required), floating point number representation, operations; BCD, pipelining of operations.
• Module–II: Processing unit: Specifying a CPU, design of a simple CPU, fetching instructions, decoding and executing instructions, branching, design of a simple ALU, design of control unit, multiple buses in CPU, internal architecture of 8086. Microprogram, micro sequencer, micro subroutine, microinstruction format, design and implementation of a simple microsequencer; microcprogrammed control and hardwired control, RISC & CISC (feature-wise comparison only); Pentium microprocessor.
• Module–III: Memory: memory hierarchy, speed, size, cost; RAM, ROM, internal chip organization; cache memory, operations in cache memory, hit ratio, multilevel organization of cache memory; virtual memory, page fault, TLB, segmentation, memory protection, multiple module memories, memory interleaving.
• Module–IV: Input Output operations: Accessing I/O devices; Asynchronous data transfers, handshaking, programmed I/O (concept only), polling, interrupts: types of interrupts, processing interrupts, priority, interrupt hardware, ISR, daisy chaining; Direct memory access, DMA controller, transfer modes, I/O processors, serial communication, UART, standards: RS-232, USB.
• Module–V: Pipelining and Parallel processing; parallelism in uniprocessor systems, organization of general-purpose multiprocessors; RTL, VHDL; hardware essentials: CPU sockets; FDC, HDC, I/O cards, display adapter, modem; motherboard architecture; bus system: PCI, AGP, USB; clustering, grid computing; Computer faults: hardware & software; types of faults; diagnostic programs and tools; printer problems; monitor problems, problem diagnosis, organization of a modern PC.
4. REFERENCES
4.1 Core References
• Ramesh Bangia, Learning PC hardware, Khanna Publishing Co., ISBN 81-87522-11-9, Rs. 70/-
• Carpinelli, John D., Computer systems Organization & Architecture, Pearson Education Asia, ISBN 81-7808-268-3, 2001. [Price Rs. 295/-]
4.2 Additional References
• William Stallings, Computer Organisation & Architecture, 6/e, Pearson Education, ISBN 81-7808-792-8, Rs 250/-
• Carl Hamacher, Vranesic, Zaky, Computer Organization 4/e, McGraw-Hill, ISBN 0-07-114323-8
4.3 Internet resources:
www.aw.com/carpinelli
www.prenhall.com/mano
www.williamstallings.com/COA6e.html
5. NOTE ON CURRICULAR TRANSACTIONS:
Demonstrations should be arranged as much as possible on concepts contained in the syllabus as applied to personal computers. For instance (1) CPU registers should be displayed using debug commands in MS DOS Window in Windows PCs (2) Memory settings could be changed and corresponding performance change demonstrated.
6. NOTE ON ASSESSMENT:
6.1. Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions will be of objective type as exemplified below.
1. The memory space that can be addressed using a 16 line address bus is
A. 168 B. 216 C. 216 -1 D. 216-1
2. The display adapter used for a PC monitor popular today is
A. CGA B. VGA C. SVGA D. EGA
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some tasks that could be given are exemplified below:
1. Observe the components of a PC in your lab and explain the details of each including motherboard architecture, bus systems, slots etc. Find out the size of RAM, Hard disk and cache memory.
2. Collect the details of different PC components available in current market. Bring out a comparison chart based on various parameters like price, speed, data rate etc. Prepare a component wise configuration for an ideal PC in your Lab.
3. Prepare a hardware trouble shooting quick reference for a PC.
6.3 Test Paper
This could be modeled after the question paper for the final assessment, but of maximum two hours.
6.4. Final Assessment
Section A: 10 out of 13 questions., 10 x 3 = 30
A1. What is the difference between DRAM and SRAM in terms of speed, size and cost ?
A2. Mention any 4 special purpose registers and their function in CPU.
A3. Briefly define the 7 RAID levels
A4. List and briefly define 3 techniques for performing I/O.
A5.
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
B1. What differences between a CD and a DVD account for the larger capacity of the latter ?
B2. Explain the concept of virtual memory. What is the role of memory management unit in virtual memory?
B3. What is the role of DMA in I/O operations?
B4. Explain any one RISC strategy to minimize register-memory operations
Section C: 1 out of 2 questions. 1 x 15 = 15.
C1. (a) Discuss why in virtually all systems that include DMA modules, DMA access to main memory is given higher priority than CPU access to main memory
(b) Design a 16-bit memory of total capacity 8192 bits using SRAM chips of size 64x1 bit. Give the array configuration of the chips on the memory board showing all required input and output signals for
BSC 203 Numerical Methods
1. AIMS:
• To expose students to computer-based numerical solutions.
2. OBJECTIVES:
To impart basic theoretical knowledge underpinning numerical solutions to the following problems and also to provide an opportunity to apply programming skills acquired in course BSC 201 to solve these problems:
• Non-linear equations
• Interpolation
• Numerical Integration and differentiation
• Matrix computations
• Differential equations
3. SYLLABUS
• Module–I: Introduction and Non-linear Equations, Interpolations: Introduction to Numerical Methods: Nature of numerical problems; computer based solutions; number representations; Notions of accuracy, convergence, efficiency, complexity; Solutions of Non-linear equations: (Bisection method; Regula-Falsi; Newton-Raphson; Secant; Sucessive approximation method; Schroder’s Method; Bairstrow’s method); Interpolation techniques: Linear Interpolation; Newton’s forward and backward formulae; Lagrange’s interpolation; Bessel Functions; Linear Regression; Cubic Splines; Chebyshev Polynomial.
• Module–II: Numerical Integration & Differentiation: Concept of differentiation and Integration, graphical interpretation; Cubic Spline based Numerical Differentiation; Numerical Integration: Trapezoidal, Simpson’s Romberg, Gaussian, and Filon’s methods.
• Module–III : Matrix Computations: Addition, subtraction, transpose, multiplication of matrices; Matrix-based solutions of simultaneous linear equations: Gauss Jordan Method; Gauss elimination with back-substitution; LU Decomposition method
• Module–IV: Differential Equations: Ordinary Differential Equations: Picard’s method; Euler’s and modified Euler’s method; Runge-Kutta; Predictor-Corrector methods; Partial Differential Equations: Jacobi and Gauss-Siedel methods.
• Module–V: Sorting & Miscallaneous topics: Sorting algorithms (bubble; shell; quick; selection; heap sorts); Introduction to Genetic algorithm for Optimisation;
4. REFERENCES
4.1 Core References
• E V Kameshwar, Numerical Techniques in C, BPB Publications, Rs 75/-
• N Datta, Computer Oriented Numerical Methods, Vikas, ISBN 81-259-1424-2, Rs 175
4.2 Additional References
V. Rajaraman, Computer Oriented Numerical Methods, 3/e, PHI, ISBN 81-203-0786-0, Rs 59/-
4.3 Internet resources:
www.math.jct.ac.il/~naiman/nm/
www.math.odu.edu/~bogacki/videnum : Virtual Demo of Numerical Methods
5. NOTE ON CURRICULAR TRANSACTIONS:
Deep coverage of back ground mathematics is not intended. Virtual demo recommended above should be used for encouraging visualization of the techniques. C Programming language should be used as working language in assignments. The code for tasks such as measuring execution time etc should be provided by the teacher leaving the exploration of methods implemented to students. In some cases, spread sheets could also be effectively used for learning and experimentation.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities.
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.
6.4 End-semester assessment
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
BSC 204 Operating Systems and System Software
1. AIMS:
To introduce students to basic functions and the theoretical underpinnings of modern operating systems
2. OBJECTIVES:
To introduce students to:
• Functions of operating systems as a resource manager
• Strategies for constrained resource allocation
• Strategies for process scheduling
• Memory and I/O Management techniques
• Fundamental concepts of systems software
• Salient features of popular operating systems.
3. SYLLABUS
MODULE – I:
System software: Definition, components of system software, operating system as the main component of system software; Operating Systems: OS as a resource manager, Structure of OS, evolution of OS, OS functions, Characteristics of modern OS; Process description and control: Process states: operations on processes; concurrent process; threads; processes and threads; symmetric multiprocessing; micro Kernels. CPU Scheduling: Schedulers, Scheduling methodology , CPU Scheduling algorithms , performance comparison.
MODULE – II
Concurrency: Deadlock and starvation , resource allocation graph, conditions for deadlock, deadlock prevention, deadlock avoidance, deadlock detection, recovery from deadlock. Concurrency: Mutual Exclusion and Synchronization, Critical section, mutual Exclusion, Semaphores, interposes communication, monitors, message passing. Memory Management: Logical vs Physical address Space, Swapping, memory management requirements, dynamic loading and dynamic linking, memory allocation memods, protection, comparison between paging and segmentation, Virtual Memory: Demand paging, page fault, page replacement algorithms, thrashing.
MODULE – III
I/O Management : Introduction, I/O hardware, I/O buffering, DISK I/O, Raid, DISK cache, File Management: Overview, file management system, file access methods, file directories, file allocation methods, free space management, Protection/Security: Mechanisms and Policies, threats, accidental data loss, protection mechanisms, user authentication, attacks from inside the system, virus, anti-virus.
MODULE- IV
Software processors: Definition, translators, loaders (basic functions), Linkers (basic functions), interpreters. Compilers: overview of compilation process, grammars, scanning, parsing, storage allocation, compilation of expressions, compilation of control structures, code optimization, compiler writing tools. Software tools: library routines, text editors, program generators, IOCS, debugging tools, Sort Programs, merge programs, memory dump programs.
MODULE –V
Introduction to different Operating Systems: MS-DOS, UNIX, Windows 2000, Windows NT, LINUX, SUN OS, Solaris, CORBA. Process Management in OS: Windows, Windows NT, UNIX, LINUX, Solaris; Concurrency Management (Deadlock) in OS: UNIX, Solaris, Windows 2000; Memory Management in OS: UNIX/Solaris, LINUX, Windows 2000
4. REFERENCES
4.1 Core References
Operating Systems & Sytems Programming – P. Balakrishna Prasad, SciTech Publishers, ISBN 81-88429-37-6, Rs 210
NIIT, Introduction to Operating Systems , PHI
4.2 Additional References
Pramod Chandra P Bhatt, An Introduction to Operating Systems, PHI, ISBN 81-203-2306-8, Rs 175/-
Michael Palmer et al., Guide to Operating Systems (2nd Ed), Vikas Publishing House, ISBN 981-243-117-9, Rs 450; {Hands on knowledge and projects in DOS, Windows, Win Server, Win NT, UNIX etc.}
Colin Ritchie, Operating Systems, BPB, ISBN 81-7029-642-0; Rs 120 {Question-answer style}
Operating Systems – Schaum Outline Series
4.3 Internet resources:
www.aw.com/cs_supplements/nutt3/index.html
www.aw.com/cs_supplements/nutt/index.html
//cwx.prenhall.com/bookbind/pubbooks/tanenbaum2/
www.gnu.org
www.linux.org
www.linuxcentral.com
5. NOTE ON CURRICULAR TRANSACTIONS:
As far as possible, this course should be based on the Linux operating system.
6. NOTE ON ASSESSMENT:
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Here are some samples:
1. Which of the following is an example of spooled device?
a. A line printer used to print out put of number of jobs.
b. A terminal used to enter input data to a running program.
c. A secondary storage device in a virtual memory system.
d. A graphic display device.
2. Which of the following disk scheduling strategies is likely to give the best thought put?
a. Farthest cylinder next.
b. Nearest cylinder next.
c. First come first served.
d. Elevator algorithm.
3. A linker reads four modules whose lengths are 200,800,600 and 500 words, respectively. If they are loaded in that order, what are the relocation contains
a. 0,200,500,600
b. 0,200,1000,1600
c. 200,700,1300,2100
4. The total time to prepare a disk drive mechanism for a block of data to be read from it is
a. Seek time.
b. Latency.
c. Seek time and Latency.
d. Transmission time.
5. A task in a blocked state
a. Is executable.
b. Must still be placed in the run queues.
c. Are waiting temporarily unavailable resources.
d. Is running.
6. The strategy of allowing processes that is logically unable to be temporarily
a. Preemptive scheduling
b. Non preemptive scheduling
c. Shortest job first
d. First cum first served.
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.
6.4 End-semester assessment
Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks
This section should give an opportunity for the student to demonstrate his/her knowledge
A1. Why must a computer start in Kernel mode when power is first turned on?
A2. Name hardware features designed to explicitly assist the operating system.
A3. On a system using best-fit allocation, assume memory is allocated as specified in Fig. below before additional requests for 20K, 10K, and 5K (in that order) are received. At what starting address will each of the additional requests be allocated?
A4. Why must user programs be prohibited from writing to the memory locations containing the interrupt vector?
A5. On a system using a free hole array, and that has K physical blocks, what is the maximum length of a free hole array? The minimum length?
Section B:5 out of 8 questions (two questions from each module); 5*6=30 marks
This section should be designed to test the application skill of the student in a standard situation
B1. Consider the following page reference string: 7,0,1,2,3,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1. Calculate the page fault rate for the following algorithms
• LFU replacement
• FIFO replacement
• Optimal replacement
Assume that number of frames =3
B2. For each of the following transitions between process states, indicate whether the transition is possible. If it is possible, give an example of one thing that would cause it.
B3. Is a non-preemptive scheduling algorithm a good choice for an interactive system? Briefly, explain why?
B4. Show how the following problem does not satisfy the requirements of a mechanism to control access to a critical section.
B5. How is an absolute partition scheme using relocatable code similar to a relocatable partition scheme? How are they different?
B6. Which allocation scheme would work best for a file system implemented on a device that can only be accessed sequentially, a tape drive, for instance.
Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15
This section should present a challenge, an unstructured, non-standard problem
C1(a) Can you think of a device on a typical PC for which delayed-write caching is a desirable policy? Can you think of a device for which write-through caching would be a better choice?
C1(b) A disk has 8 sectors per track and spins at 600 rpm. It takes the controller 10ms from the end of one I/O operation before it can issue a subsequent one. How long does it take to read all 8 sectors using the following interleaving systems?
• No interleaving
• Single interleaving
• Double interleaving
BSC 205 Principles of Management
1. AIMS:
To introduce the students to basic principles of management a provide an overview of its practice in the global industries.
2. OBJECTIVES:
To introduce students to:
• Concept of Management and Organisations
• Planning and decision making strategies
• Concepts of organizational behavious and HR management
• Leadership qualities
3. SYLLABUS
Module 1: Introduction to Management: Functions and Processes, Roles, Skills; Historic Evolution of Management, Organisational behaviour.
Module 2: Planning and Decision Making: Nature and forms of planning, strategic planning, Decision making: the decision making process, manager as a decision maker, Types of decisions, business forecasting & operations research
Module 3: Organisations: Nature of organizations, principles, types of organizational structures, authority and responsibility, delegation and decentralization, informal organizations, group dynamics, Staffing: manpower planning, recruitment, selection and placement, training and development, Performance appraisal, wage payment plans, directing.
Module 4: Leadership: Functions and models of leadership, motivational theories, effective communication: principles; managerial control; social responsibilities of business; management of public enterprises.
Module 5: Current trends and issues: Globalisation, diversity, IT, Quality Management. Organisational Culture & Environment; Managing in a global environment, understanding the global environment, managerial ethics.
4. REFERENCES
4.1 Core References
PC Tripathi and P N Reddy, Principles of management, 2/e, Tata Mc Graw Hill, ISBN 0-07-460440-6, Rs 130/-
4.2 Additional References
Stephen P Robins & Mary Coulter, Management, Pearson Education, ISBN 81-7808-649-2, Rs 325/-
E H McGrath, Basic Managerial Skills for All, Prentice Hall of India, ISBN 81-203-2180-4, Rs 295/-
4.3 Internet resources:
www.prenhall.com/robbins
5. NOTE ON CURRICULAR TRANSACTIONS:
Reference 1 (Tripathi & Reddy) covers the topic in an impassionate academic manner. However, the book by Robins and Coulter adopts a refreshing style with case studies, quotes from contemporary successful managers etc. Reading and discussions based on this book is highly recommended. Also, the book on Basic Managerial Skills for All is a resource for large number of activities suitable for this course.
6. NOTE ON ASSESSMENT:
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities.
6.2 Assignment
Assignment should consist of carefully chosen activities which provide an opportunity pick up some management skills, interact with managers etc. An interview with managers from an IT firm is highly recommended component in the assignment. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours.
6.4 End-semester assessment
Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks
This section should give an opportunity for the student to demonstrate his/her knowledge
Section B: 5 out of 8 questions (at least one question from each module); 5*6=30 marks
This section should be designed to test the application skill of the student in a standard situation
Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15
This section should present a challenge, an unstructured, non-standard problem. This could involve a situation where decision making and justification of the same is called for.
BSC 206. Programming Lab – I
1. AIMS:
To provide an opportunity for hands-on practice of algorithmic thinking and problem solving in a industry-standard programming language
2. OBJECTIVES:
This course will provide hands-on practice in a the following topics, under a variety of programming situations with a focus on writing, debugging and analyzing structured programs:
• basic data types in C.
• basic control structures in C.
• arrays, structures and files
• standard library functions in C language
• solving moderately complex problems involving the above and requiring selection of appropriate data structures and efficient algorithms
3. SYLLABUS
The laboratory work will consist of 15-20 experiments
1. Testing out and interpreting a variety of simple programs to demonstrate the syntax and use of the following features of the language: basic data types, operators and control structures.
2. 1 continued
3. 1-D Arrays: A variety of programs to declare, intitialise, read, print and process 1-D arrays of various basic data types. Processing to include, selection, sum, counting, selective sum, selective counting, reversing etc.
4. 2-D Arrays: A variety of programs to declare, intitialise, read, print and process 2-D arrays of various basic data types. Processing to include, selection, sum, counting, selective sum, selective counting, reversing etc.
5. Structures: A variety of programs to declare, intitialise, read, print and process structures made up of a variety of data types and structures.
6. Array of Structures and Structure of Arrays: Programs to demonstrate declaration and processing of structure of arrays and array of structures.
7. Pointers: A large number of trivial programs involving all possible data types to familiarize the syntax of pointers in a variety of situations and to draw memory diagrams based on the observations.
8. Pointers to Arrays: A number of programs to demonstrate handling of 1-D and 2-D arrays using pointers and to draw memory diagrams based on the observations.
9. Pointers to Structures: A number of programs to demonstrate use of pointers to structures and to draw memory diagrams based on the observations.
10. Functions –I: Simple examples of declaring and using functions of the following categories (i) no argument, no return, (ii) argument, no return, (iii) no argument, return, (iv) argument, return, all pass by value
11. Functions –II: Declaring and using functions with pass by reference, Passing and Returning structures, Recursive functions.
12. Files: Simple example involving use of multiple files: declaring, opening, closing, reading from and writing to text files.
13. Files: Example involving use of multiple files: declaring, opening, closing, reading from and writing to binary files.
14. Library functions: A variety of examples demonstrating (i) string processing functions (ii) a variety of slected library functions
15. Debugging programs involving syntactic and/or logical errors
16-20: Developing programming solutions to problems including program design, algorithm development and data structure selection.
4. REFERENCES
Deitel & Deital, C: How to Program, Pearson Education, ISBN 81-7808-383-3, Rs 325/-
Alan R Feuer, The C Puzzle Book, Pearson Education, ISBN, 81-297-0490-0, Rs 125/-
Yashvant Kanetkar, Test Your C Skills, BPB Publications, 3rd Edition, Rs 165/-
4.3 Internet resources:
www.cprogramming.com
www.programmersheaven.com
comp.lang.c newsgroup
www.cplusplus.com
//cwx.prenhall.com/bookbind/pubbooks/deitel
5. NOTE ON CURRICULAR TRANSACTIONS:
Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to arrays is given below:
Task: Write a program to initialize an array a of size 4 by 3 with the following values:
21 32 57
93 20 69
37 66 17
11 3 94
Now write for loops to:
a) Print out all the element of the array, each row in separate line.
b) Print out all elements>50
c) Print out all elements >50, with a zero in position of other elements.
d) Print out all elements >50 and <60.
e) Calculate and print out sum of all elements.
f) Calculate and print out count of all elements
g) Calculate and print out average of all elements
h) Calculate and print out sum of elements >50.
i) Calculate and print out count of elements>50.
j) Calculate and print out average of elements>50.
k) Print out odd valued elements.
l) Print out elements which are multiples of 6.
m) Calculate and print out count of odd valued elements.
n) Print only the elements in row 1 and column 2.
o) Print only the elements in row 1 and column 2.
p) Print only the elements which are not in row 2 and column 1.
q) Print out upper diagonal elements
r) Print out diagonal elements
s) Print out transpose of the matrix
Questions:
1. Predict the amount of memory occupied by the array and test it using sizeof( ) operator.
2. What is the difference between declaring array inside main ( ) and outside main () ?
3. What will be the outcome if the number of values in the initialization is (i) more (ii) less than the declared maximum ?
4. Using the & operator, find out address of each element and draw a memory diagram of internal representation of the array. (Use %u to print out addresses).
5. What will be the outcome if the row and column loops are interchanged ?
7. NOTE ON ASSESSMENT:
The In-semester laboratory assessment will be based on the following components:
2.5% for satisfactory conduct of each experiment (maximum 25%)
25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).
25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.
25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions
The End-semester assessment shall be based on the following:
25% for a common Quiz conducted on all the experiments with 10-20 questions
75% for successful conduct of assigned tasks as follows:
25% for 2 minor programs to demonstrate basic programming ability (such as read and write an array, open and display the contents of a file, function to do simple computation on arguments etc, with stress on syntax and minor logic involved).
25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: arrays, structures, files, functions, pointers
10% for successfully debugging a given program
15% for a viva-voce
BSC 207. Numerical Methods Lab
1. AIMS:
• To provide hands-on experience to students on computer-based numerical solutions.
2. OBJECTIVES:
To provide hands-on experience to students on computational solution to:
• Non-linear equations
• Interpolation
• Numerical Integration and differentiation
• Matrix computations
• Differential equations
3. Syllabus
15-20 experiments from the following:
Solutions of Non-linear equations:
• Bisection method;
• Regula-Falsi;
• Newton-Raphson;
• Secant;
• Sucessive approximation method;
• Schroder’s Method;
• Bairstrow’s method
Interpolation techniques:
• Linear Interpolation;
• Newton’s forward and backward formulae;
• Lagrange’s interpolation;
• Linear Regression; Cubic Splines; Chebyshev Polynomial.
Numerical Integration & Differentiation:
• Cubic Spline based Numerical Differentiation;
• Numerical Integration:
• Trapezoidal,
• Simpson’s
• Gaussian, and Filon’s methods.
Matrix Computations:
• Addition, subtraction, transpose, multiplication of matrices;
• Matrix-based solutions of simultaneous linear equations:
• Gauss Jordan Method;
• Gauss elimination with back-substitution;
• LU Decomposition method
Differential Equations:
• Ordinary Differential Equations:
• Picard’s method;
• Euler’s and modified Euler’s method;
• Runge-Kutta; Predictor-Corrector methods;
Partial Differential Equations:
• Jacobi and Gauss-Siedel methods.
Sorting (Any two of student’s choice and comparison)
• Bubble;
• Shell;
• Quick;
• Selection;
• Heap;
4. REFERENCES
4.1 Core References
• E V Kameshwar, Numerical Techniques in C, BPB Publications, Rs 75/-
• N Datta, Computer Oriented Numerical Methods, Vikas, ISBN 81-259-1424-2, Rs 175
4.2 Internet resources:
www.math.jct.ac.il/~naiman/nm/
www.math.odu.edu/~bogacki/videnum : Virtual Demo of Numerical Methods
5. NOTE ON CURRICULAR TRANSACTIONS:
Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to Numerical Integration is given below:
Write a program to numerically integrate the function x*sin(x) from 0 to pi, using N-R 1st order Method. Use symbolic integration to calculate the value for checking the results. Run the program with at least 5 different values for intervals and compare and comment on the results. Modify the program to implement 3rd order N-R method. Repeat all the previous intervel values and compare the results in the two cases.
7. NOTE ON ASSESSMENT:
The In-semester laboratory assessment will be based on the following components:
2.5% for satisfactory conduct of each experiment (maximum 25%)
25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).
25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.
25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions
The End-semester assessment shall be based on the following:
25% for a common Quiz conducted on all the experiments with 10-20 questions
75% for successful conduct of assigned tasks as follows:
30% for developing the logic on paper
30% successful coding and correct results
15% for viva-voce
SEMESTER 3
BSC 301 Data Structures
1. AIMS:
To introduce students to various data structures and their features and applicability.
2. OBJECTIVES:
By the end of the course, students should be:
• Able to rite well structured programs in C
• Be familiar with common data structures like array, structures, lists, stacks, queues, trees and graphs
• Able to implement the above data structures in C/C++
• Able to appreciate various searching and sorting strategies
• Able to select appropriate data structures for solving a given problem
3. SYLLABUS
Module–I: Concept of abstract data types, the notion that programs= algorithms + data structures, Review of C Programming language: basic data types, operators and control structures and unions, pointers, Arrays in C: handling of 1, 2 and 3 dimensional arrays, handling of arrays using pointers, passing arrays as arguments to functions. Structures: building complex structures – structure of arrays, array of structures, pointer to structures, passing structures as arguments to functions. Files: binary and text files.
Module–II: Linked Lists: Concept of static versus dynamic data structures, implementation of linked lists using pointers, operations on linked lists: insertion, deletion and traversing. Doubly linked lists and circular linked lists – applications. Stacks and Queues: FIFO and LIFO data structures – stacks using (i) pointers and (ii) arrays. Queues using (i) pointers and (ii) arrays, applications, polish notation.
Module-III: Trees: Concept of linear versus non-linear data structures, various types of trees – binary, binary search trees. Creating a binary search tree, traversing a binary tree (in, pre and post order), operations on a tree –insertion, deletion and processing, implementation using pointers, applications.
Module–IV: Efficiency considerations, O notation, best case, worst case and average cases Searching: sequential searching, binary searching, trees searching, Hashing – linear hashing, hash functions, hash table searching, Sorting: any one exchange sort, any one selection sort and any one insertion sort.
Module–V(Flexi) : Graphs, graph traversal, applications, depth-first and depth first traversal of trees, Multi-way search trees, B-trees, Huffman trees, case studies.
4. REFERENCES
4.1 Core References
• Yedidyah Langsam, Moshe J. Augustein, Aaron M. Tenenbaum, Data Structures using C and C++, 2/e, ISBN 81-7808-729-4, Pearson Education (Indian Edition), Rs 250/-
• S K Bandyopadhyay, K N Dey, Data Structures Using C, ISBN 81-297-0326-2, Pearson Education, Rs 150/-
4.2 Additional References
• Ashok N Kamthane, Introduction to Data Structures in C, Pearson, ISBN 81-297-0643-1, Rs 195/-
• Ken Brownsey, The essence of data structures using C++, Pearson Education, ISBN 81-297-0682-2, Rs 150/-
4.3 Internet resources:
www.keralauniversity.edu/csbos
http://warrior-101.tripod.com/dstut/dstut.html : Tutorial on data structures.
http://crasseux.com/books/ctutorial/Data-structures.html
5. NOTE ON CURRICULAR TRANSACTIONS:
In teaching data structures, the style recommended in BSC201 Introduction to programming should be continued. Memory visualization should be continued to be used. Only after concepts are drilled out, programming for the general case should be attempted. Please note that the lab course BSC 306 and this course are mutually supporting. Make initial programs as simple as possible as in case of a list with couple of nodes added explicitly as follows:
#include
#include
void main()
{
struct node
{
int data;
struct node *next;
};
struct node *head;
head=(struct node *)malloc(sizeof(struct node));
head->data=55;
head->next=(struct node *)malloc (sizeof(struct node));
head->next->>data=66;
head->next->next=NULL;
}
Class exercises should involve questions like the following which will familiarize the student with the thinking process required for developing a recursive algorithm. Question: For the following pictorial representation of a list, the head pointer is the address of the node shown in gray. Give the value of each of the expression specified.
char data;
head->data=........
head->next=..........
head->next->data=.........
head->next->next=............
head->data->>next=.............(valid?)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
A 9 A 15 L 7 A NULL L 3 M 1 I 7
Stack and Queue should be implemented using arrays in a straightforward manner before attempting pointers.
#include
struct stack {
int data[100];
int top;
};
void push(struct stack *s, int x)
{ s->data[++s->top]=x; } //Increment top and set data[top]=x
int pop(struct stack *s)
{return (s->data[s->top--]);} //Return data[top] and then decrement top
void main( )
{
struct stack s1;
int x;
s1.top=-1;
do{ scanf("%d", &x); // Push until x==0 or stack is full
push(&s1, x);
}while(x!=0 && s1.top <99);
while(s1.top!=-1) //Pop and print until stack empty
{
x=pop(&s1);
printf("data = %d\n", x);
};
}
Some teaching material on the above lines is available in the board of studies web site for free use by teachers and students. For no modules, student seminars should be assigned.
6. NOTE ON ASSESSMENT:
In-sem: BSC 301 should be assessed through 1 assignment, 2-3 quizzes and 1 test paper. Model question paper is given for each below:
6.1 Quiz. Quizzes should not focus on programming syntax, but on concepts and should encourage students to demonstrate their mastery of concepts. Example questions are:
1. For the linked list shown below:
(i) list the data stored
(ii) insert the data indicated
(iii) redraw the linked list
(iv) list the data stored after the insertion
The starting node is shown in gray. The last item in the node is the address of the next node. The address of locations are shown in italics on the top.
Data to be inserted: 44 before node with data 55
1 2 3 4 5 6 7 8 9 10 11 12 13 14
99 NULL 55 13 66 15
2. For each of the following cases, draw the binary search tree. Take special care to observe the process so that it is easy to understand the corresponding program.
(a) 100,5,107,7,6
(b) 100,200,300,400,105,205,55,50
(c) 100,50,25,30,35,40
(d) 50, 75, 25, 60, 85, 15, 30, 12, 18, 28, 32, 82, 87, 58, 63
3. For each of the following hash function and data set, specify (i) the number buckets and (ii) the data in each bucket
(a) Hashing function= Data%4, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44
(b) Hashing function= Data%2, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44
(c) Hashing function= (Sum of Digits of Data) %3, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44
(d) Hashing function= (First Digit+Last Digit of Data)%4, Data=34, 54, 12, 78, 90, 125, 46, 79, 678, 32, 77, 67, 89, 4, 44
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours with section C avoided.
6.3 End-sem Assessment
The model questions below only indicate the type of questions and do not cover all topics.
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
A1.
(a) One of the examples of non-user defined data types is arrays. Give another 2 examples of non-user defined data types.
(b) Consider the following declaration of a C program: -
int x;
int *p;
x=100; // the address where the value of x stores is 332211
p=&x;
What is the output of each printf statement below: -
(i) printf ("x = %d\n",x);
(ii) printf ("*p=%d\n",*p);
(iii) printf ("&x=%d\n",&x);
A2.
Write a program to read in 10 integer values and display the total number of odd integers for these 10 numbers.
A3.
List 3 differences between arrays and linked lists.
A4.
(a) For a linked list, write the structure declaration for its node containing only one integer data.
(b) Write the part of a program to print out the sum of all data in the nodes of a linked list. Assume nodes of type created in (a).
A5.
Consider the following tree (diagram to be given): -
(a) List the child nodes of node with data 30
(b) List the parent node of node with data 43
(c) List the root node of the tree
(d) List any two leaf nodes
(e) Is the above tree a binary search tree?
A6.
State whether the following are true or false: -
(a) A stack is a sequence of items, which can be added and removed from both ends
(b) Queue is known as a FIFO (first in- first out) data structure
(c) Given an array of integers of size 1000, performing linear search for this array must always begin with the first item of the array.
(d) A tree can contain 2 root nodes
(e) The child node of a tree can have two parent nodes
A7.
(a) Consider the following definition of a stack: -
struct stack {
int item[50];
int top;
};
struct stack S1;
After the following operations, what will be the value of top ?
S1.top=-1;
Push(&S1, 100);
Push(&S1, 200);
Push(&S1, 300);
Pop(&S1);
Push(&S1, 100);
Push(&S1, 200);
Pop(&S1);
(b) Consider the following definition of a queue: -
struct queue {
int item[50];
int front, rear;
};
struct queue Q1;
After the following operations, what will be the value of front and rear ?
Q1.front= -1;
Q1.rear= -1;
Add(&Q1, 100);
Add(&Q1, 200);
Add(&Q1, 300);
Delete(&Q1);
Add(&Q1, 100);
Add(&Q1, 200);
Delete(&Q1);
A8.
(a) The number of comparison required for a searching a particular set of data is 64 using linear search and 6 using binary search. If the number of data is doubled, what will be the number of comparisons requiref in case of (i) linear seach and (ii) binary search
(b) How are searching, sorting of data related ? Further, how are both of them related to the data structure used to store data ?
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
B1. Consider the following linked list that stores product code and quality grade in each node, starting with location 7 (For example, the first node stores information about product with code 9 and quality grade A):-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
8 B 10 4 A 16 9 A 1 7 C 13 6 D 21 3 A NULL 9 C 5
E 4 F
(a) List the data stored in the linked list
(b) Provide a suitable structure declaration for its node.
(c) Write the part of a program to list all product information about ‘A’ quality products.
(d) Write the part of a program to print out the count of nodes of the linked list.
B2.(a) Draw the binary search tree that will be constructed if a sequence of numbers are inserted into an initially empty binary search tree in the following order: -
19 34 56 12 55 33 11 14
(b) Write out the order in which the nodes of the following binary tree will be visited under: -
(i) preorder traversal
(ii) inorder traversal
(iii) postorder traversal
(c) Write a program to construct a binary search tree containing the marks of 20 students (the data item of one node is the marks for one student). From the tree that you have constructed, traverse the tree to produce the following output: -
Number of students :
Highest Mark :
Lowest Mark :
Average Mark :
Total Mark :
Number of passes (>= 40 marks) :
Number of failures (< 40 marks) :
B3.
(a) Give one advantage of the binary search over the linear search.
(b) Give one advantage of the linear search over the binary search.
(c) Write a program to read a string and check if it is a palindrome
(a) Write a function to count the number of nodes of a binary tree
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
C1. The Metro Parking Garage contains a single lane that holds up to six cars. There is only a single entrance/exit to the garage at one end of the lane. If a customer arrives to pick up a car that is not nearest to the exit, all cars blocking its path are moved out, the customer's car is driven out, and the other cars are restored in the same order that they were originally parked.
Write a program that processes a group of input lines. Each input line contains an 'A' for arrival or a 'D' for departure, and a license plate number. Cars are assumed to arrive and depart in the order specified by the input. The program should print a message whenever a car arrives or departs. When a car arrives, the message should specify whether or not there is room for the car in the garage. If there is no room, the car leaves without entering the garage. When a car departs, the message should include the number of times that the car was moved out of the garage to allow other cars to depart.
BSC 302 Object Oriented Programming
1. AIMS:
• To introduce the student to the basic concepts of object orientation and impart skills in an industry standard object oriented language
2. OBJECTIVES:
On the completion of this course, the student will be able to
• Understand the concepts of classes and object
• Define classes for a given situation and instantiate objects for specific problem solving
• Reuse available classes after modifications if possible
• Possess skill in object oriented thought process
3. SYLLABUS
Module–I: Concept of Object orientation – why related data and methods should be kept as a single unit – comparison with procedural and structured programming – Classes and objects – data abstraction, encapsulation, inheritance, polymorphism, dynamic binding, message passing. Advantages of object orientation – reusability, maintenance, security, comfort in programming. Evolution of OOP – history of C and C++. Review of features of C++ common with C and also minor variations; Input and output streams in C++; Basic data types and declarations.
Module–II: Classes and objects in C++, access modifiers, static members, friend functions, Constructors and Destructors, anonymous objects
Module-III: Operator Overloading and type conversion, Inheritance- parent and child classes, private, public and protected inheritance, Multiple inheritance and multi-level inheritance, Virtual base classes. C++ and memory models – new and delete operators, Heap, dynamic objects.
Module–IV: Binding & Polymorphism: Early binding, Late Binding, Pointers to derived class objects, virtual functions, Pure virtual functions, abstract classes, object slicing, Exception handling in C++: try, throw and catch.
Module–V: File stream classes in C++. Templates – class and function templates, Templates versus macros, String objects in C++, Standard Template Library in C++ - containers, associative containers Name spaces.
4. REFERENCES
4.1 Core References
• Ashok N. Kamthane, Object oriented Programming with ANSI & Turbo C++, Pearson Education, ISBN 81-7808-722-3, Rs 225/-
4.2 Additional References
• H M Deitel and P J Deitel, C++: how to program, Pearson Education, ISBN 81-297-0276-2, Rs450/-
• Bruce Eckel, Thinking in C++, 2/e, Vol. 1, Pearson Education, ISBN 8-178-08297-7, Rs 495/-
• Robert Lafore, Object Oriented Programming in Turbo C++, Galgotia Publications Pvt Ltd, Rs 279/-
• Yaswant Kanetkar , Let Us C++,BPB Publications
• Bjarne Stroustrup, The C++ Programming Language, Addison Wesley Publishin Company, New York,1994
• Herbert Schildt , Teach Yours self C++, Osborne, 1994
• Patrick H Winston, On to C++, Pearson Education, ISBN 981-235-922-2, Rs 195/-
4.3 Internet resources:
www.deitel.com, www.prenhall.com/deitel, www.InfromIT.com/deitel, www.cplusplus.com, www.zib.de/Visual/people/mueller/ Course/Tutorial/tutorial.html, www.linuxgazette.com/ issue55/williams.html, http://www.clark.net/pub/howie/OO/oo-home.html
5. NOTE ON CURRICULAR TRANSACTIONS:
Teachers should take special care in introducing the concept of object orientation with clarity. The nature of modern software development in which a generic programmers and a client programmers (the later reusing and modifying the components developed by the former) should be introduced first – only then encapsulation, access modifiers etc become relevant. The concept of classes could be developed from structures in C (though puritans have criticized this) and should be introduced as a way or keeping related data and methods together for convenience. Classes and objects should also be contrasted with data types and variables. Bruce Eckel’s Thinking in C++ contains an introduction to OO on the above lines. It is advisable that handouts are used in the lecture classes to cover large number of examples in a short time (example given in BSC201). Student seminars should not be used for transacting curriculum. Tutorials should be used to solve unstructured problems.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 20% weightage
• 1 test paper- 30% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Questions given along each chapter in Core Reference may be taken as model.
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours with section C avoided.
6.4 End-sem Assessment
The model questions below only indicate the type of questions and do not cover all topics.
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
A1. State whether the following are true or false: -
(a) Three key features of an object-oriented language are encapsulation, inheritance and polymorphism.
(b) Information hiding in a context of a class means that private data members are hidden outside the class.
(c) The non-user defined data type, Union, causes all the data contained within the union to be stored in same physical memory locations.
(d) One of the advantages of object-oriented programming is ability to reduce the maintenance cost for software development.
(e) A class may contain more than one constructor
A2.
(a) What is the role of constructor in a class definition?
(b) How do you differentiate between a constructor and a member function of a class
A3. Suppose your program contains the following class definition (along with definitions of the member functions): -
Class BSc2005Admission
{
public:
BSc2005Admission (int new_info, char more_new_info);
BSc2005Admission ();
void do_stuff();
private:
int information;
char more_information;
};
State whether the following are valid or invalid, assuming prerequisites
(i) BSc2005Admission x(42,'A');
(ii) BSc2005Admission y;
(iii) BSc2005Admission z();
(iv) a1 = BSc2005Admission (99,'B');
(v) a2= BSc2005Admission ( );
A4.
(a) Give 2 advantages of using member initializers.
(b) Given the following definition of a class: -
class Olympic
{
private:
int total_audience, total performers;
float ticket price;
public:
Olympic(void);
}
Write the function definition, how the member data, total_audience, total_performers and ticket_price, of class Olympic, are initialized to 100000, 10000 and 100 respectively, using member initializers.[3 marks]
A5. State whether the following are true or false: -
(i) If class A is a friend of class B, it follows that class B is a friend of class A.
(ii) Given a class, A, friend function is a non-member function of class A, which is allowed to access the protected data of class A.
(iii) If function func1 is a friend of class B, and class B is derived from class A, func1 also has access to the data ,members of class A.
(iv) If Class A is a friend of class B and class C is derived from class A, it follows that class C is a friend of class B.
(v) If class A is a friend of class B and class B is a friend of class C, class A is not a friend of C.
A6.
(a) What is static data member of a class?
(b) The following program keeps track of the total number of units of house built and destroyed in a housing area. Predict the output of the program: -
#include
class House {
static int units;
public:
void built(int u) {units=units+u;}
void destroyed (int u){units=units-u;}
void display(void){cout << "The total number of remaining units is " << units << endl;}
};
int House::units=0;
main()
{
House H1, H2;
H1.built(20);
H2.destroyed(5);
H1.built(10);
H2.destroyed(6);
H1.display();
return 0;
}
A8.
(a) Define polymorphism in the context of object-oriented technology.
(b) Predict the output of the following program: -
#include
class Animals {
public:
virtual void action(void){cout << "Crying" << endl;}
};
class Monkey:public Animals {
public:
void action(void){cout << "Smiling" << endl;}
};
int main()
{
Animals *a1;
a1=new Animals;
a1->action();
delete a1;
a1=new Monkey;
a1->action();
delete a1;
return 0;
}
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
B1.(a) Write three class definitions in C++ and demonstrate the following through those definitions.
(i) Inheritance
(ii) multiple inheritance
(iii) base class
(iv) derived class
(b) Some programmers prefer not to use protected access since it breaks the encapsulation of the base class. What are relative merits of using protected access vs. insisting on using private access in base classes.
B2.
(a)Consider the Time class definition that includes both of the following constructors: -
Time (int h = 0, int m = 0 , int s = 0 );
Time ( );
Both the constructors are not allowed in the Time class defintion. Why?
(b)Create a Date class with the following capabilities: -
• Output the date in multiple formats such as
- DDD YYYY
- MM/DD/YY
- June 14, 1992
• Use overloaded constructors to create Date object initialized with dates of the formats above.
• Create a Date constructor that reads the system date using the standard library functions of the time.h header and sets the Date members.
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
BSC 303 Humanities II
1. AIMS:
• To create an interdisciplinary perspective
• To create general awareness about humanities
• To impart necessary basic knowledge for futuristic IT technologies and applications which hinge on humanities.
2. OBJECTIVES:
To introduce students to basic concepts, scope, nature and methods of Philosophy, Education, Media Studies, Psychology and Logic.
3. SYLLABUS
• Module–I: Introduction to Philosophy: Definition, scope and nature of philosophy; Metaphysics; Epistemology; Ethics; Religion, Science & Philosophy.
• Module–II: Introduction to Education: Learning; Behaviourist Theories; Gestalt Theory, Field Theory, and Cognitive theories: Bruner, Piaget; Personality: Measurement of Personality.
• Module–III : Introduction to Media Studies: Role and impact of media, radio, press, television films and the internet, Media convergence.
• Module–IV: Introduction to Psychology: Definition and Nature of Psychology;
• Module–V: Introduction to Logic: Basic Logical concepts, Analysing arguments, solving problems using logic, logic in everyday life.
4. REFERENCES
The following are suggested as readings, however any introductory book or electronic source which gives a inspiring introduction to the respective topics may be adopted by faculty.
• Dev Raj Bali, Introduction to Philosophy, Sterling Publishers, New Delhi, ISBN 81 207 09195 [Rs 50]
• Jean Folkerts, Stephen Lacy, The Media in Your Life, Pearson, ISBN 81-297-0770-5, Rs
• Vanitha Kohli, The Indian media business, Response Books, ISBN 0-7619-9649-4 [Rs 280]
• K Sivarajan, Psychology of Learning and Instruction, Calicut University Central Cooperative Stores, Rs 80
• Irving M Copi & Carl Cohen, Introduction to Logic (Ch. 1-4 only), Pearson Education, ISBN 81-7808-486-4,
5. NOTE ON CURRICULAR TRANSACTIONS:
It is not intended that a comprehensive or deep coverage of any of the above subjects are covered. A series of about 5 fascinating lectures which create an interest in the topic and motivate students to read and think further will be sufficient. Students should be encouraged to read informal and imaginative material from other sources. The module on Logic should be taught in such a way that students will become sensitive to logical validity of everyday arguments. Student seminars may be used to transact curriculam.
6. NOTE ON ASSESSMENT:
Humanities –II will be evaluated completely internally. (Special Note: Even in case of group of institutions under same management/administration practicing centralized question setting, each college/institute should have independent question paper setting for this course). Each module will have one quiz, 1 assignment and there shall be a test paper covering all the modules. The quiz will be to test familiarity with very basic terminology and concepts. Test paper will be of maximum 2 hours duration and will be based on generic questions and model questions should be issued by concerned lecturers. Both tests and quizzes should have 50% choice of questions.
6.1 Model Questions for Quiz: [10-20 questions for each module, conducted at the end of the lectures related to the module]
1. The study relating to the nature of ultimate reality is
A. Epistemology B. Metaphysics C. Ethics
2. That mind and its ideas constitute reality is the thesis of:
A. Materialism B. Idealism C. Pragmatism
3. If it is accepted that “If it rains, the roads will be wet” and it is known that “the roads are wet”, which of the following can be logically concluded:
A. It has rained B. It has not
6.2 Sample Assignments: All assignments should be preceded by assessment guidelines and submission policy given on page. All assignments should be done in groups of 3 or 4 students chosen at random (by taking lots) and one evaluation component could be a 10 minute presentation where each student of the group takes part. Sample tasks are suggested below:
(a) Listen to a representative sample of programmes from the radio and a selected television channel and prepare a report contrasting the two in terms of value of the programme to various categories of people, cultural elements, commercialization, educational aspect, interaction etc. Make your judgement about the valu of both media.
(b) News papers influence the society in a variety of ways. Conduct a study of various aspects of two selected news papers in terms of language, reporting of developmental activities, crime, advertising policy etc.
(c) Interview half a dozen people (from family, among students, friends etc) and ask them questions like: Does god exist ? Is astrology a science ? Do you believe in rebirth? Which political party is the best? Which profession Is the best? Ask them to present their arguments. Record them and transcribe them and analyse their logical validity without making any value judgement from your side.
(d) Meet a psychologist and find out psychometric tests are administered and report on them. Administer a test with the help of the psychologist for your class.
6.3 Test Paper [5-10 objective type questions for each module, conducted at the end of the lectures related to the module. It is advised that each lecturer provides a model question paper]
6.4 Exam: The question paper model of this course shall not be similar to the style followed for other papers and shall be primarily involving essaying. 10 questions of the type given below with 50% choice
1. Explain any one theory of education
2. Discuss basic ideas of ethics
3. What is the nature of influence of the electronic media on society
4. Give 4 different types of logical fallacies and explain why they are so.
BSC 304 Software Engineering
1. AIM:
To enable the students to have a thorough understanding of the activities in development projects using (a) Structured Analysis and Design and (b) Object Oriented Analysis and Design
2. OBJECTIVES:
At the end of the course, the students should be able to :
• Appreciate the importance of having a process for software development.
• Understand the various activities undertaken for a software development project following the SSAD & OOAD
• Use the SSAD and OOAD methodologies for software development
• Test software developed using SSAD and OOAD methodologies.
• Have in depth knowledge about the different OOAD Themes and compare them with SSAD
3. SYLLABUS:
Module 1:
Characteristics of Software, Product and Process, Need for Software Process, Characteristics of a Software Process, Software Development Process, Software Development Life Cycle Model: Classical Waterfall Model, Iterative Waterfall Model, Prototyping, Evolutionary Model, Spiral Model; Comparison of different Life Cycle Models, Software Project Management, Project Estimation Techniques, Software Configuration Management. Software Requirements Analysis and Definition: Software Requirements, Overview of SA/SD Methodology, Structured Analysis, Data Flow Diagrams, Symbols used for constructing DFDs, Concepts associated with designing DFDs, Developing the DFD Model of a system, Shortcomings of the DFD model, Extending DFD Technique to real time systems, Entity Relationship Diagram, Developing ERD of a system, Decision Trees, Decision Tables, Structured English, Throw away and Evolutionary Prototypes. Requirements Specification: Need for SRS, Characteristics of an SRS, Components of an SRS, Specification Languages, Structure of a Requirements document.
Module 2:
Structured Design: Design Principles, Problem Partitioning and Hierarchy, Abstraction, Modularity, Top-down and Bottom-up Strategies, Transformation of a DFD to a Structure Chart, Transform Analysis, Transaction Analysis, Coupling: Normal Coupling (Data, Stamp and Control Coupling), Common Coupling, and Content Coupling; Multiple types of Coupling between two modules, Cohesion: Functional, Sequential, Communicational, Procedural, Temporal, Logical, and Coincidental Cohesion; Multiple types of Cohesion in a module, Data Design, Normalization: First Normal Form, Second Normal Form, Third Normal Form, BCNF, Fourth Normal Form, Fifth Normal Form; Denormalization, Procedural Design.
Module 3:
Static Testing: Review, Walkthrough and Inspection, Comparison of Review, Walkthrough and Inspection. Dynamic Testing: Testing Fundamentals, Error, Fault and Failure, Test Oracles, Top-down and Bottom-up Approaches, Test Cases and Test Criteria, Black Box Testing, Equivalence Class Partitioning, Boundary Value Analysis, Cause Effect Graphing, White Box Testing, Basis Path Testing, McCabe’s Number, Comparison of Different Techniques, Unit Testing, Integration Testing, System Testing, Regression Testing and Acceptance Testing, Test Plan, Test Case Specifications, Test Case Execution and Analysis; Software Maintenance, Types of Software Maintenance.
Module 4:
Object Oriented Concepts, Comparison between Algorithmic Decomposition and Object Oriented Decomposition, Object Oriented Themes: Abstraction, Encapsulation, Hierarchy, Modularity, Typing, Concurrency, Persistence; Unified Process, Object Oriented Analysis and Design using UML, UML Diagrams: Use Case Diagram, Class Diagram, Sequence Diagram, Collaboration Diagram, Activity Diagram, State Chart Diagram, Component Diagram, Deployment Diagram; Developing UML Diagrams of a System, Testing Object Oriented Systems.
Module 5: (Flexi Module)
Agile Programming Methodologies, Extreme Programming, Formal Methods, CASE Tools.
4. REFERENCES:
4.1 Core Reference
Rajib Mall, Fundamentals of Software Engineering, Second Edition, Prentice Hall of India, ISBN 81-203-2445-5, Rs. 195/-
Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa Publishing House, ISBN 81-7319-271-5, Rs. 95/- ( This book covers almost every topic in the syllabus in a concise manner.)
4.2 Additional References:
Roger S. Pressman, Software Engineering – A Practitioner’s Approach, Fourth Edition, McGraw Hill Companies, Inc., ISBN: 0-07-052182-4, Rs. 415/- (Covers almost every topic in the syllabus comprehensively)
Meilir Page Jones, The Practical Guide to Structured Systems Design, Second Edition
Prentice Hall of India,ISBN: 81-203-1482-4, Rs. 195/- (This book covers Architectural Design in detail. Separate chapters on Coupling, Cohesion and Structure Chart. )
Martin Fowler, UML Distilled, Third Edition, Addison-Wesley, ISBN: 0-321-19368-7, ($34.99) - covers UML 2.0
Jeffrey A. Hoffer, Joey F. George, Joseph S. Valacich, Modern Systems Analysis and Design, Pearson Education Inc., ISBN: 81-7808-781-2, Rs. 350/- This book has large number of examples, exercises and case studies.
Grady Booch, Object Oriented Analysis and Design with Applications, Addison-Wesley
ISBN: 981-235-981-8, Rs. 447/- The Chapter “Object Model” discusses all the OO Themes in detail
Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison-Wesley , ISBN: 981-4053-31-7, Rs.402/- ( Comprehensive book on UML)
Frederick P. Brooks, Jr., The Mythical Man Month, Addison-Wesley, ISBN: 0-201-83595-9 Rs.535/- This book deals with Project Management.
Kent Beck, Extreme Programming Explained, Pearson Education Inc.,ISBN: 81-7808-667-0, Rs. 195/-
Journals and Magazines: (i) Software Development, CMP Media. (ii) Software Quality Professional, ASQ.
4. Web Resources:
• http://courses.cs.vt.edu/csonline/SE/Lessons/ Intro and a comparison of the procedural and OO
• http://www.omg.org/gettingstarted/what_is_uml.htm This article gives an introduction to UML
• http://www-106.ibm.com/developerworks/java/library/co-design5.html tutorial introduction to Use Cases.
• http://www-106.ibm.com/developerworks/java/library/j-jmod0508/ introduction to Sequence Diagrams.
• www.rspa.com Over 1000 Software Engineering Resources on a variety of Software Engineering Topics.
• http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/ A complete example OO Analysis, Design and Programming applied to a moderate size problem: simulation of an Automated Teller Machine.
5. CURRICULAR TRANSACTION:
A case study of moderate complexity should be solved in class, so that the students will get a clear idea of SSAD and OOAD methodologies. The difference in both these approaches should be clearly brought out during the lecture. The students should do at least one exercise on each of the following: Context Diagram, Level-1 Data Flow Diagram, Entity Relationship Diagram, Decision Tree, State Chart Diagram, Structure Chart, Coupling, Cohesion, Normalization, Use Case Diagram, Class Diagram, and Sequence Diagram. The faculty can select the exercise from any of the textbooks mentioned in the Reference.
8. ASSESSMENT:
The In-sem assessment will be carried out using Assignment (2 Nos, 30% weightage each), Test (40%)
8.1 Assignment
Assignment 1:
A Case Study of moderate complexity (similar to the one given in Web Resources, Reference 6) should be given to the students. They should be able to design using the Structured Analysis and Design Methodology. They should be able to write a complete SRS for the case study according to the IEEE Guidelines, which is given in http://users.snip.net/~gbooker/INFO627/IEEE-830-1998.pdf
The SRS should contain:
1. Data Flow Diagram (DFD)
2. Entity Relationship Diagram (ERD)
3. Data Dictionary
4. Mini Specifications
Assignment 2:
The students should be able to design using Object Oriented Analysis and Design for the same case study. They should have the following UML Diagrams, as part of their OOAD Documentation.
1. Use Case Diagram
2. Class Diagram
3. Sequence Diagram
They can also develop the pseudo code for the system to be developed. They should be asked to comment on the comparison between the two methods
8.2 Test
Test should be conducted consisting of questions of the type given in section A and/or B in model question paper below.
8.3 End-sem Assessment
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
1. Write pseudo code segments (or code segments in C) which have the following types of coupling: (a) Control Coupling (b) Common Coupling
2. Write pseudo code segments (or code segments in C) which have the following types of cohesion: (a) Sequential Cohesion (b) Logical Cohesion
3. Write a pseudo code of a function, which takes an integer array as input and sorts it in the ascending order. Determine the cyclomatic complexity of the sort function
4. A music shop provides customers with a wide variety of musical CDs.
Customers can place orders for CDs online. They also have the provision to enter the feedback about the CDs they have purchased by giving a customer rating for each CD. The music shop needs to maintain the following details:
CD Id, CD Title, Song Id, Song Name, Song Length, Artist Id, Artist Name, Customer Id, Customer Name, Customer Address, Customer Telephone, Customer rating.
The following assumptions are made: (1) The same song may be present in multiple CDs, but each song has a unique id. (2) Each song is composed by only one artist. (3) Each customer has got only one telephone number. What are the 3NF relations for the above data? (5 Marks)
5. What does “balancing a DFD” mean? Illustrate with a suitable example. (5 marks).
6. Distinguish between compile time and runtime polymorphism with a suitable example. (5 marks)
7. What are the different types of relationships between use cases? Explain each one of them with a suitable example. (5 marks)
8. With a suitable example, distinguish between aggregation and composition. (5 marks)
9. Compare Sequence and Collaboration diagram. In which context is each of the diagrams used? (5 marks)
10. Which life cycle model would be appropriate for each of the following applications? Mention the reasons why the particular model was chosen. (5 marks)
(a) A well understood data processing application
(b) An object oriented software development effort
(c) The graphical user interface part of a large software product
Section B Answer the following questions based on the case study given below:
(5 out of 8 questions. 5 x 6 = 30.This section should be designed to test the application skill of the student in a standard situation )
• National Library is planning to automate all their activities pertaining to the issue and return of books by the members of the library and the various queries regarding books.
• The library has three categories of members: Librarian, Faculty and Student.
• Each library member is assigned a unique membership number.
• Each book in the library is assigned a unique identification number. The librarian should be able to enter the details of the books into the library software through a suitable interface.
• The librarian should be able to add new members to the library. He should also be able to add new books to the library, as recommended by the faculty.
• The faculty should be able to borrow 10 books for a period of six months.
• The student should be able to borrow 5 books for a period of one month.
• There is a restriction that faculty and students should not borrow more than one copy of any book.
• If the faculty or student is not returning the book within the specified period, the system should send a reminder asking him / her to return the book.
• When a library member returns a book, the software should print a bill for the penalty charge for the overdue book. The software should calculate the penalty by multiplying the number of days the book was overdue by the penalty rate.
• There should be a query facility in which the faculty or student can verify whether any book is available.
• The requested book will be issued to the faculty or student, if a copy of the book is available. Otherwise, they can reserve a copy of the book, which will be issued, once the copy of the book is available.
• The faculty can recommend new books to the library. The students cannot directly recommend books to the library, but can suggest any useful books to the concerned faculty, who in turn can recommend the book(s) to the library.
1. Draw the Context Diagram and Level –1 Data Flow Diagram for the above problem.
2. Draw the Entity Relationship Diagram, after identifying the major entities
3. Draw the Structure chart, for the above problem, using transaction and transform analysis.
4. Design the black box test cases for the library software
5. Draw the Use Case Diagram for the above problem. Identify all the scenarios.
6. Draw the Class Diagram for the above problem. Identify the attributes and methods for each class.
Section C The questions in this section are based on the Case Study given below.
An auto rental company wants to develop an automated system that would handle car reservations, customer billing and car auctions. Usually a customer reserves a car, picks it up and then returns it after a fixed period of time. At the time of pickup, the customer has the option of buy or waive collision insurance on the car. When the car is returned, the customer receives a bill and pays the specified amount. In addition to renting out cars, every six months or so, the auto rental company auctions the cars that have accumulated over 20000 miles.
C1 Object Oriented Analysis and Design
(a) Draw a use case diagram for capturing the requirements of the system to be developed. Include an abstract use case for capturing the common behaviour for capturing the common behaviour among any two use cases. Extend the diagram to capture corporate billing, where corporate customers are not billed directly; rather the corporations they work for are billed and payments are made some time later.
(b) Draw a class diagram for the system to be developed for the company. The diagram should identify all the relevant classes from the problem domain, and show their attributes and operations, as well as the relationships among classes. In drawing the diagram, you can make any assumptions, as long as they are realistic.
(c) Draw sequence diagrams for all the scenarios.
(d) Draw state chart diagram(s) for all the objects with dynamic behaviour.
(e) Develop the pseudo code of the system to be developed.
C2. Perform Structured Analysis and Design for the Case Study given above. The analysis and Design should include:
(f) Data Flow Diagrams
(g) Entity Relationship Diagram
(h) Data Dictionary
(i) Structure Chart
(j) Normalized Tables (till 3NF) and
(k) Pseudocode of the system to be developed
BSC 305 Microprocessors & A/L Programming
1. AIMS: To introduce 80x86 assembly language and thereby familiarize the student with architecture of microprocessors
2. OBJECTIVES:
By the end of the course, students should be able :
• Appreciate architectural features of of x86 family of processors
• Read and write moderately complex assembly programs for 8086 processor
• Use the tools debug, TASM/MASM, Unix/Linux Codeview
• Use assembly routines in C/C++
3. SYLLABUS
Module–I: Introduction 8086 Architecture: IBM PC Hardware Architecture; 8086 Regsiters, Bus, RAM organization, VRAM, Segment-Offset addressing, Fetch Decode Execute Cycle, 80x86 features, Real and Protected Modes, Hexadecimal Number system, Study using Debug/codeview
Module–II: 8086 Instruction Set: Addressing Modes; Arithmetic Instructions; Data Movement Instructions; Control Instructions, Input-Output Instructions, String Instructions, Logical Instructions; Simple examples of the above initially using DOS Debug or Unix/Linux Code View and then on TASM/MASM or similar assemblers, Linking and relocation, Stacks, Procedures, Assembler directives.:
Module–III : Interrupts: BIOS and DOS interrupts, Interrupt Vector Tables, COM and EXE files, Memory organization (conventional, upper, extended and expanded), Direct Memory access, Including assembly code in C programs, Writing TSRs in A/L and/or C language, introduction to computer viruses.
Module–IV: 8086-based system design: Pins, signals and bus cycle, basic system components, interfacing memory, interfacing i/o devices, interfacing data converters, Programmable timers and event counters, Keyboard/Display Controllers, DMA controllers
Module–V (Flexi): Miscallaneous Topics:. Features of Pentium, Pentium MMX, Itanium Processors, RISC, CISC, Motherboard of IBM PC, Drives, Peripherals, I/O buses, Parallel, Serial and USB ports.
4. REFERENCES
4.1 Core References
N. Mathivanan, Microprocessors, PC Hardware & Interfacing, Prentice Hall (India), ISBN 81-203-2317-3, Rs 295/-
4.2 Additional References
V Rajaraman & T Radhakrishnan, Essential assembly Language Programming for the IBM PC, PHI, ISBN 81-203-1425-5, [Rs 125]
William B Jones, Assembly Language Programming for the IBM PC Family (w/CD), Dreamtech Press, ISBN 81-7722-197-3, [Rs 399]
Peter Abel, IBM PC Assemble language Programming, 5/e, Pearson Education, ISBN 81-7808-502-X, Rs 195/-
Steven Holzner, C With assembly language, ISBN 81-7029-122-4, BPB publications,
Walter A. Triebel, The 8088 and 8086 Microiprocessors, 4/e, Pearson Education, ISBN 81-297-0298-3, Rs 350/-
Douglas V Hall, Microprocessors: Interfacing, Programming and Hardware, Tata McGrawHill, Rs 275/-
Kenneth J Ayala, The 8086 microprocessor:Programming & Interfacing the PC, Penram International(India),Rs 285
4.3 Internet resources:
www.semizone.com, www3.itu.edu/~annebery/mini.html, www.play-hookey.com/digital, www.wisd.net/ industrialtechnology/ELECTRONICLINKS.IITM
5. NOTE ON CURRICULAR TRANSACTIONS:
It is suggested that instruction set is introduced by demonstrating small programs involving use of the instructions in DEBUG or simulation programs. The labwork of BSC 306 should be tightly connected with this course. Students should first be familiarized with hexadecimal number system through a variety of tools suggested in BSC 306. Student seminars should not be used for transacting curriculam.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 20% weightage
• 1 test paper- 30% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type only and should contain both analysis and synthesis opportunities. Questions given along each chapter in Core Reference may be taken as model, in addition to the following:
1. The physical address represented by segment offset pair F001:007A is __________
2. The address length of 8086 is _______ bits and each memory location can hold ____bits
3. The contents of AX will be _________ and BX will be _______ after executing the following assembly instructions: mov ax,05; mov bx,06; add ax,bx; hlt
4. A certain region of the memory contains the following:
Address 0acf 0ad0 0ad1 0ad2 0ad3 0ad4 0ad5 0ad6 0ad7 …
Content ab bc cd de f0 f1 f2 f3 f4 …
The byte at 0acf=___________ and the word at 0ad0=______________, the double word at 0ad0=______________, the byte at 0ad0=______________, the quadword at 0ad3=______________
6.2 Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Following are some sample questions, by no means comprehensive.
1. Prepare a table comparing features of various microprocessors
2. Write a C program which will accept a segment and offset address from the screen and display the contents of the memory starting from that location in the same format as Debug. You will have to find out the format string used in C for printing out segment offset adress in the form segement:offset.
3. Write a screen capture program in C which will capture and store the current (text mode only) screen display as a text file which can be printed out or edited as required.
4. Every disk, floppy or hard, has the boot record (512 bytes), File Allocation Table (FAT), Root Directory & Files and other Directories stored in that order from Track 0, sector 0. Debug has a Load command 'L' by which sector of the disk can be loaded into the RAM. Do this and dump the contents and interpret it. See p. 254 of Barry Brey or any other reference for detail on Disk Organisation.
5. Prepare a chart of interrupts which you think are very useful. (Follow the format in Brey. p. 716 onwards)
6. Think of TSR which will be of some use and implement it in C/assembly
*7. Implement an LED based time indicator which is interfaced to a PC.
6.7 Test and End-sem exam. Test paper may follow the model of the exam, but avoiding section C. Sample question is given below (incomplete):
Section A (Answer 8 out of 10, each carries 5 marks
A1. Predict the contents of the registers specified, after execution of each of the five given segments of assembly code:
(i) mov ax,05;
mov bx,06;
add ax,bx;
hlt Register AX=_________
A2. Give the length in bits of the following 8086 registers: AX, AH, PC, Flag, BP
A3. (a) Give two comparisons between COM and EXE files
(b) Give 3 comparisons between real and protected mode
A4. List any five addressing modes in 8086
A5. Give an example each to demonstrate use of (i) STD and (ii) SHL instructions
A6. (a) What is General Protection Fault?
(b) What is the physical address corresponding to 00a0:0ff6 ?
Section B. (Answer any 4 out of 5, each carries 10 marks)
B1. (a) Compare memory mapped I/O and direct I/O (b) What are synchronous and asynchronous interrupts ?
B2 (a) Write a program to add two row byte-vectors of length 9 stored in the memory from locations 0a00 and 0b00 and store the resulting word in location 0c00. (b) Explain a TSR with a simple example
B3. (a) Give an example of string copying in a/l (b) Write a program to swap the contents of two byte-arrays stored in the memory, make suitable assumptions and state them. What changes are required if the array is a word array.
Section C: Question carries 20 marks
C1 It is required to connect electronic equipments to 6 doors in a house which will produce a 1 output if the doors are open and 0 otherwise. For the security of the house, door 1 and 6 must always be locked. In addition, if door 4 is open then 5 must also be locked. Give the details of interfacing the door status indicators to a PC, making suitable assumptions and justifying them. Write an assembly code which will display a message in case security is compromised.
BSC 306. Programming Lab – II
1. AIMS:
To provide an opportunity for hands-on practice of object oriented programming and problem solving in a industry-standard programming language and also hands-on practice in various user-defined static and dynamic data structures.
2. OBJECTIVES:
This course will provide hands-on practice in a the following topics, under a variety of programming situations with a focus on writing, debugging and analyzing object oriented programs:
• basic data types and control structures in C++.
• managing classes and objects in a variety of situations
• solving moderately complex problems involving the above and requiring selection of appropriate structures and algorithms
3. SYLLABUS
The laboratory work will consist of 15-20 experiments
1. Testing out and interpreting a variety of simple programs to demonstrate the syntax and use of the following features of the language: basic data types, operators and control structures.
2. Solving a problem using (i) structures and (ii) classes and comparison between the two (the problem logic and details should be kept minimal and simple to enable focus on the contrast between the two methods, for example declaring result of a set of students defining the name and total marks in the program itself).
3. Class definitions and usage involving variety of constructors and destructors
4. Programs involving various kinds of inheritances,
5. Programs involving operator overloading and type conversions
6. Programs involving virtual base classes, friend functions
7. Program to demonstrate early and late binding
8. Program to allocate memory dynamically
9. Program involving class and function templates
10. Programs to demonstrate(i) string processing (ii) file streams (iii) a variety of selected library functions
11. Exception handling
12.Handling of 2-D arrays using pointers
13. Implementation of stack using arrays
14. Implementation of queues using arrays
15. Implementation of singly linked lists
16. Implementation of doubly linked lists
17. Creating and processing binary search tree
18. Searching using hash tables
19. Implementation of two selected sorting methods
20. Debugging programs involving syntactic and/or logical errors
4. REFERENCES
Deitel N M, C++: How to Program, Lab Manual, ISBN 0-131-4099-9
Deitel & Deital, C++: How to Program, Pearson Education, ISBN 81-297-0276-2
4.3 Internet resources:
www.cplusplus.com
5. NOTE ON CURRICULAR TRANSACTIONS:
Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to introduction to classes is given below (the language is Java-like): Consider the following class declaration and program. Implement the methods f1, f2 … using dummy print statements and then predict which are the legal and illegal references to data and methods, and test out by compiling the program
class Vehicle{
private int x;
protected int y;
public int z;
int w;
private void f1( ) {…}
public void f2( ) { …; f1( ), ….;}
protected void f3( ) {….; f1( ); ….; f2( );…;}
void f4( ) {….}
}
class Car extends Vehicle{
private int p;
protected int q;
public int r;
int s;
private void f5( ) {…}
public void f6( ) { …; f1( ), f5( );}
protected void f7( ) {….; f2( ); ….; f3( ); f4( );…;}
void f8( ) {f6( ); f7( ); ….}
}
class c1 {
public static void main( )
{
Vehicle v(5,6,7,8);
Car c(9,8,7,6);
print(v.x+”,”+v.y+”,”+v.z+”,”+v.w);
print(c.p+”,”+c.q+”,”+c.r+”,”+c.s);
v.f1( );
v.f2( );
v.f3( );
v.f4( );
v.f5( );
c.f1( );
c.f2( );
c.f3( );
c.f4( );
c.f5( );
c.f6( );
c.f7( );
c.f8( );
}
}
6. NOTE ON ASSESSMENT:
The In-semester laboratory assessment will be based on the following components:
2.5% for satisfactory conduct of each experiment (maximum 25%)
25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).
25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.
25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions
The End-semester assessment shall be based on the following:
25% for a common Quiz conducted on all the experiments with 10-20 questions
75% for successful conduct of assigned tasks as follows:
25% for 2 minor programs to demonstrate basic programming ability (such as declaring a simple class and instantiating an object, with stress on syntax and minor logic involved).
25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: classes, inheritance, function overloading, operator overloading, exception handling, virtual base classes, templates.
10% for successfully debugging a given program
15% for a viva-voce
Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.
BSC 307. Microprocessors Lab
1. AIMS: To give hands-on exposure to 80x86 assembly language
2. OBJECTIVES:
In this course, students shall:
• Practice to use assembly language development tools like debug, TASM/MASM, Unix/Linux Codeview
• Practice majority of 8086 instruction set through simple examples
• Develop moderately complex assembly programs for 8086 processor
• Develop assembly routines in C/C++
3. SYLLABUS
The laboratory work will consist of 15-20 experiments
1. (a) Use the r command in Debug to display the values of the registers and then draw a diagram of the CPU showing the contents of all internal registers in (a) hex and (b) binary
(b) Use the e command in Debug to enter your name and address starting from offset 00ffh in segment 0565. Draw a diagram of the memory with contents based on the dump (d) command.
(c) Create a small text file using the DOS editor edit (for example, a letter). Check the size using DOS dir command. Then give the file name along with Debug command and check the contents of the file and verify the length.
(d) Using debug command ‘d’, dump a 256-byte memory location and interpret the structure of the output
(e) Enter the following data in memory locations specified and diagrammatically show the contents of the memory in hex:
Data Type Location
'A' ASCII 0500:100
A Bh byte 0500:101
0A7Ch Word 0500:102
ABBAFACEh Double Word 0500:104
"INDIA" ASCII String 0500:110
(f) B800:0000 is a special memory location. Enter any ASCII codes here, each one followed by the byte ffh, you will see something interesting happening in the left hand top corner of your screen. Note it down and try to explain it. Also repeat it with ffh replaced by 07, and 77.
2 (a) A sequence of word pairs are stored in location 0000:0000. The first word in the pair is an offset address and the second word is a segment address. Use dump and note down the first 5 such pairs
(b) The word stored in location 0040:0013 specifies the amount of usable memory in a PC. Dump this using the d command and convert it to decimal.
(c) Repeat (b) using a C program. To peep into a memory location using C, you must declare a far char pointer and then use the MK_FP function in C. Suppose p is such a pointer, then p=MK_FP(0X0040, 0X0013);
(d) The port address of the CRT Controller Chip is stored as a byte in locatiuon 0040:0063. Find this using Debug.
(e) ROM BIOS specifies character attributes as a byte in the following way (you have already had an occassion to learn this in Pract. I)
B R G B I R G B
----- -----
(1) (2) (3) (4)
(1) The bit B=0 for Nominal and =1 for Blinking (2) The next RGB represents Background colour
(3) The bit I=0 is for normal intensity and I=I is for bright display (4) The last RGB is for foreground (text) colour. RGB represents colurs as Black, Blue, Green, Cyan, Red, Violet, Brown and White corresponding to the valves 0 to 7. Display your name or any other word(s) of your choice with the following specifications, using debug:
First character Normal
Second Reverse
Third Blinking
Fourth Blinking White in Red background
Fifth Bright Blue in Blue backlground
Rest Upto our choice.
3-10. For each 8086 instruction, write simple examples covering different possible cases and use T option in Debug to trace the steps. Based on a register dump before and after execution of instructions, explain the instructions.
11. (a) Two arrays of bytes each of length 10th are stored in the memory from location 0a00 and 0b00 re spectively. Add the corresponding elements of the array and store the result starting from 0c00.
(b) Repeat (a), if the array is made up of words instead of bytes
(c) Modify (a) for swapping the contents of the arrays instead of adding. Also, repeat for the case of word array.
12. (a) Repeat (4) for multiplication instead of addition. Also repeat for word array instead of byte array.
(b) Write programs to achieve the following calculations and interpret the results. All numbers are given in base 10: (A) 56*63 (b) -56*63 (c) +275*-228 (d) 100/10 (f) -98/105
13(a) What is the forward reference problem in assemblers? How do you tackle it while using Debug? Explain with an example from Debug.
(b) Dumping the IVT, locate the address of the ISR for hardware interrupt on and unassemble it.
(c) Enter the ascci codes corresponding to your name in memory locations starting from 0200. Invoke interrupt 21H, service AH=9 to display the string on the screen.
(d) 8. In debug, without using '9' for quit, use int 21h. ah=4c to come out to DOS.
14. Under INT 10h, there are services available for setting video mode, setting cursor size, setting cursor position, reading cursor position, reading character attribute, write pixel, read pixel and get current video mode. Experiment each of these and report.15. Using interrupt 1AH, service 04h, read the real-time clock of the computer. Use this assembly segment in C program to generate a report of the program run time using a function called setclock( ) which returns the current time as an integer. By setting the clock at two points in a program, it should be possible to calculate the time difference.
16. (a) Using interrupt 19H. reboot the computer (b) Write an assembly program to test the printer by printing all alphabets and numerals using INT 21H, service 5H.(c) Using Int 11h, write a program to find out the number of floppy drives in the system and display the same, blinking, at the centre of the screen.
17 -20: Assembly programs which involve non-trivial logic (Program to implement modulo-n-counter for given delay, hexadecimal up-down counter, find sum of n natural numbers, find largest/smallest of n given numbers etc).
Optional: Interfacing experiments (generating sine and square waves and interfacing a cro to view them, interfacting a seven segment display etc).
4. REFERENCES
Same as for COS 305
5. NOTE ON CURRICULAR TRANSACTIONS:
For familiarizing with hexadecimal number system, a large number of tools are available: (i) AXE v2.1 is a free advanced Hex Editor (ii) Hex Workshop v3.11, is a set of hexadecimal development tools for Windows 9x, NT, and 2000 combining advanced binary editing with the ease and flexibility of a word processor. With Hex Workshop you can edit, insert, delete, cut, copy, and paste hex, print high quality customizable hex dumps, and export to RTF or HTML for publishing. For assembly programming itself, optional tool is ASMEdit 1.2 - A compiler for assembly programs that lets you write assembly programs in Windows. ASMEdit has a one-button Compile/Run function, that is, you can compile COM, EXE and other files at the press of a button. You can specify project comments and other details in one window, and also get instant compile/link details.
6. NOTE ON ASSESSMENT:
The In-semester laboratory assessment will be based on the following components:
2.5% for satisfactory conduct of each experiment (maximum 25%)
25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).
25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.
25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions
The End-semester assessment shall be based on the following:
25% for a common Quiz conducted on all the experiments with 10-20 questions
75% for successful conduct of assigned tasks as follows:
25% for 2 minor programs to demonstrate basic programming ability (simple use of assembly instructions for addition, movement of data etc).
25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of the following features: different addressing modes, interrupts, subroutines).
15% for a viva-voce
Note:
1. Students shall not be required to memorise the exact syntax of instruction sets for any form of assessment. For both in-semester and end-semester assessment, students shall be supplied with 8086 instruction set reference prepared by the faculty.
2. Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.
semester 4
BSC 401 Computer Networks
1. AIM:
To introduce computer networks and through knowledge of data communication networks, their structures, techniques as well as some common standards.
2. OBJECTIVES:
On completion of this course student shall:
• Be aware of evolution of development of networks
• understand the basic transmission technologies and characteristics
• understand the use of layer architecture for networking systems
• understand the main link access protocols used in local networks and their performance characteristics
• understand the main design issues of transport protocols and the mechanism to control traffic flow and congestion.
3. SYLLABUS
Module–I: Introduction to Networking, Growth of Computer Networking, Transmission media- copper wires, glass fibres, radio, satellites, microwave, Local asynchronous communication, RS 232, baud rate, framing and errors, carriers modulation and modems.
Module-II: Packet transmission, packets, frames and error detection, point to point communication, LAN Topologies, Hardware addressing and frame type identification, LAN Wiring, physical topology and interface hardware.
Module-III: Protocols and layering, ISO 7-layer model, IP Addressing, scheme and hierarchy, IP Datagrams and datagram forwarding, IP encapsulation, fragmentation and reassembly, IPv6, UDP, TCP
Module-IV: Client-server interaction, Network management: SNMP, Network security, DNS,
Module-V: Practical networking, networking in Linux, Peer-to-peer networking, Measurement and packet analysis, blue tooth, emerging topics.
4. REFERENCES
4.1 Core References
Douglas E Comer, Computer Networks and Internets, 4/e, Pearson Education, ISBN 81-297-0330-0, Rs 325/-
4.2 Additional References
Douglas E Comer, Hands-on Networking with Internet Technologies: A Lab Manual, Pearson Education, ISBN 81-7808-786-3, Rs 150/-
Andrew S. Tanenbaum, Computer Networks, 4/e, Pearson Education, ISBN 81-7808-785-5, Rs 250/-
4.3 Internet resources:
www.netbook.cs.purdue.edu, www.labbook.cs.purdue.edu, www.edugrid.ac.in/webfolder/courses/cn/cn_index.htm
5. NOTE ON CURRICULAR TRANSACTIONS:
The networks used in the college/institute should be used as an object of study in this course. Student seminars may be assigned in modules I and V only.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 20% weightage
• 1 test paper- 30% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. A sample quiz is given below:
1. What topology provides each device with a point-to-point connection to every other device in the network ? Star, Bus, Mesh, Hierarchical
2. Ethernet is also known as ? 802.3, 802.11b, 803.2, 802.5
3. Computers on a bus only listen for data being sent they do not move data from one computer to the next, this is called ? dynamic topology/static topology/ passive topology/ active topology
4. Token Ring standards define services for the OSI, MAC sublayer of the data link layer, and what other layer ? Network/ Physical/ Session/ Application
5. Ring topology is a __ ? dynamic topology/ passive topology/static topology/ active topology
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without section C.
6.3 End-sem Assessment: Sample question (incomplete)
Section A: 10 out of 13 questions (at least two questions from each module), 10 x 3 = 30 This section should give an opportunity for the student to demonstrate his/her knowledge
A1. Internet address 193.130.10.4 is a member of which class? Why?
A2. Suppose 1000 7-bit characters are sent across an RS 232 connection that operated at 9600 baud, how long would the transmission require ?
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation
B1. A cable TV station transmits 100 channels to its customers. Each channel alternates between programs and advertisements (10 minutes of programs and then 5 minutes of advertisements.) Is this more like TDM or FDM? Justify your answer.
B2 Give an example of a network in which damage to a single packet can cause a congestion.
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module) 1 x 15 = 15. This section should present a challenge, an unstructured, non-standard problem
Eg. Design a sliding window protocol that allows transmission upto eight packets before an acknowledgement arrives. If a counter is to be added to signal packets that arrive out of order, what counter size is required. Why ?
BSC402.Data Bases
1. AIMS:
To introduce basic concepts of data bases, and related techniques and tools
2. OBJECTIVES:
• Be aware of basic concepts of data bases and data base management systems
• Be aware of concepts of relational data bases.
• Know to normalize relational data bases
• Skilled in using relational algebra and relational calculus
• Develop skills to write database queries
3. SYLLABUS
Module–I: Introduction: evolution of data base systems, overview of database management systems, Relational data model, mathematical definition, candidate, primary and foreign keys, set operations on relations, insertion, deletion and update operations, attribute domains.
Module-II: Relational algebra and relational calculus, Introduction to SQL, Table creation, selection, projection and join using SQL
Module-III: Functional Dependencies – Inference axioms, normalization, 1NF, 2NF, 3NF and Boyce-Codd Normal forms, Lossless and lossy decompositions.
Module-IV: The E-R Model, Entities and attributes, 1-1 and many-1, many-many relationships. Security – Physical and Logical, Design and maintenance issues, integrity.
Module-V: Study of features of MS Access, Open Office Base, Oracle, mySQL, emerging areas.
4. REFERENCES
4.1 Core References
Ramon A. Mata-toledo and Pauline K. Cushman, Fundamentals of Relational Data Bases, Schaum Outlines, Tata McGraw Hill, ISBN 0-07-047374-9, Rs 175/-
4.2 Additional References
Hector Garcia-Molina, J D Ullman, & Jennifer Widom, Database Systems: The Complete Book, Pearson Education, ISBN 81-297-0378-5, Rs 495/-
Atul Kahate, Introduction to Data Base Management Systems, Pearson Education, ISBN 81-297-0513-3, Rs 250/-
4.3 Internet resources:
www.pearson.co.in/AtulKahate, www.edugrid.ac.in/webfolder/courses/dbms/dbms_index.htm
5. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 20% weightage
• 1 test paper- 30% weightage
5.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Sample question types:
1. What is the cardinality and degree of the relation given below ?
2. Given below are a collection of relations. For each of the SQL query, find the result.
3. Is the following relation in (a) 1NF, (b) 2NF (c) 3NF ? [Y/N for each]
5.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
5.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without section C.
5.4 End-sem Assessment
Section A: 10 out of 13 questions (at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
A1. Consider the following class definition, create an entity diagram for the class.
A2. What will be result of each of the 5 SQL queries, when applied on the relation given along ?
A3. Give the result of join operation for the following relations
A4. What is the difference between data security and integrity ?
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation
B1 Consider the following relation:
A B C TUPLE#
10 b1 c1 #1
10 b2 c2 #2
11 b4 c1 #3
12 b3 c4 #4
13 b1 c1 #5
14 b3 c4 #6
Given the above extension (state) , which of the following dependencies may hold in the above relation? If the dependency cannot hold, explain why by specifying the tuples that cause the violation. i. A -> B, ii. B->C, iii. C->B, iv. B->A, v. C->A
Does the above relation have a potential candidate key? If it does, what is it? If it does not, why not?
B2.. Consider the universal relation R = {A, B, C, D, E, F, G, H, I, J} and the set of functional dependencies F = {{A,B} -> {C}, {A} -> {D, E}, {B} -> {F}, {F} -> {G, H}, {D} -> {I, J}}. What is the key of R? Decompose R into 2NF and then in 3NF relations.
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module) 1 x 15 = 15. This section should present a challenge, an unstructured, non-standard problem
C1. You will be working with the following schema:
1. Employee(SSN#, name, salary, DNo)
2. Department(Dno#, DeptName, MgrSSN)
3. Project(Pno#, location, ProjName)
4. HourLog(SSN, PNo, hours)
a) Find the name and the SSN of everyone who works more than 100 hours on one particular project.
b) Find the name and SSN of everyone who works for department number 1 and also work on project number 2.
c) Find the name and the SSN of everyone who works on at least two projects.
d) Find the SSN of everyone who is not working on any project.
e) Find the name and the SSN of everyone who works on every project.
BSC403.Programming in Java
1. AIMS:
To introduce students to basic features of Java language and selected APIs
2. OBJECTIVES:
• Let students install and work with JDK, also make them aware the use of java doc.
• Practice basic data types, operators and control structures in Java
• Practice basic handling of classes and objects in Java
• Introduce the following selected APIs: I/O, Strings, Threads, AWT, Applet, Networking
• Idea to approach and use a new package
3. SYLLABUS
Module–I: A simple Java Application, a simple Java Applet , Brief History of Java, Special Features of Java, Data Type & Operators in Java, Arrays, Objects, the Assignment Statement, Arithmetic Operators, Relational and Logical Operators in Java, control Structures, The Java Class, Constructor, Finalizers, Classes inside classes : composition
Module-II: Inheritance & Interface, Deriving Classes, Method Over-riding, Method Over-loading, Access Modifiers, Abstract Class and Method, Interfaces, Packages, Imports and Class Path.
Module-III: Exception Handling, The Try-Catch Statement, Catching more than one Exception, The Finally Clause, Generating Exceptions, Threads: Introduction, Creating Threads in Applications, Method in Thread Class, Threads in Applets.
Module-IV: Java APIs – overview of APIs, IO Packages, Java Input Stream Classes, Java Output Stream Classes, File Class, Graphic & Sound: AWT and Swing, Graphic methods, Fonts, Loading and Viewing Images, Loading and Playing Sound, AWT & Event Handling, Layouts
Module V: Network Programming, IP Address & Port Numbers, URLs, Client & Server Concept, Port & Socket, Server Socket, Simple Server And Client program, miscallaneous Topics: Parameters in Applets, JavaBeans, JDBC, RMI
4. REFERENCES
4.1 Core References
NIIT, Java: Foundations of Programming, PHI, Rs 195/-.
Java Programming, Schaum Outline Series
4.2 Additional References
Deitel, Java: How To Program, Pearson Education, ISBN 81-2970-488-9, Rs 495/-
Bruce Eckel, Thinking in Java, Education, ISBN 81-2970-524-9, Rs 550/- (Also freely downloadable)
Jerry R Jackson & Alan L McClellan , Java By Example, Sunsoft (Prentice Hall)
4.3 Internet resources:
www.edugrid.ac.in/webfolder/courses/java/java_index.htm
http://javaboutique.internet.com/articles/ITJqanda/
http://java.sun.com/
http://sunsite.unc.edu/ javafaq/javatutorial.html
http://freewarejava.com/
http://WebDevelopersJournal.com/hubs/javahub.html
www.javalobby.org
www.javacoffeebreak.com/tutorials/swing/index.html
http://java.sun.com/docs/books/tutorial/getStarted/index.html
www.javacoffeebreak.com/tutorials/gettingstarted/index.html
http://java.sun.com/developer/onlineTraining/
http://scv.bu.edu/Tutorials/WWWProg/Java/
www.tutorialized.com/tutorials/Java/General-Java/1
http://mindview.net/Books/TIJ/DownloadSites
http://www.freewarejava.com/
http://www.gcek.net/ref/books/zip/
http://oopweb.com/Java/Documents/IntroToProgrammingUsingJava/VolumeFrames.html
http://oopweb.com/Java/Documents/ConcProgJava/VolumeFrames.html
http://notes.corewebprogramming.com/
5. NOTE ON CURRICULAR TRANSACTIONS:
Though Java Gurus may differ, it is recommended that Java is introduced by contrasting it with C++. In the introductory stage, do not write main( ) inside the class definition itself, eventhough java permits it. The following style is recommended.
class Num1 {
int x;
Num1(int a)
{
x = a;
}
void showValue( )
{
S.o.p(x);
}
}
import java.io.*;
public class c1 {
public static void main (String args[ ])
{
}
}
Even though in industry, variables are named by descriptive identifiers, for academics, it may not be appropriate, Plain old x, y, z would do to begin with, for objects. It is advisable that handouts are used in the lecture classes to cover large number of examples in a short time (example given in BSC201). Students should not be made to memorise any APIs. Student seminars may be given in Module V only.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 20% weightage
• 1 test paper- 30% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. A sample quiz is given below:
Each question carries 10 marks.
1. Consider the following program:
import myLibrary.*;
public class ShowSomeClass
{
// code for the class...
}
What is the name of the java file containing this program?
A. myLibrary.java B. ShowSomeClass.java
C. ShowSomeClass D. ShowSomeClass.class
E. Any file name with the java suffix will do
2. Which of the following is TRUE?
A. In java, an instance field declared public generates a compilation error.
B. int is the name of a class available in the package java.lang
C. Instance variable names may only contain letters and digits.
D. A class has always a constructor (possibly automatically supplied by the java compiler).
E. The more comments in a program, the faster the program runs.
3. Consider the following code snippet
String river = new String(“Columbia”);
System.out.println(river.length());
What is printed?
A. 6 B. 7 C. 8 D. Columbia E. river
4. A constructor
A. must have the same name as the class it is declared within.
B. is used to create objects.
C. may be declared private
D. A and B
E. A, B and C
5. Which of the following may be part of a class definition?
A. instance variables B. instance methods
C. constructors D. all of the above
E. none of the above
6. What is different between a Java applet and a Java application?
A. An application can in general be trusted whereas an applet can't.
B. An applet must be executed in a browser environment.
C. An applet is not able to access the files of the computer it runs on
D. (A), (B) and (C).
E. None of the above
7. Consider
public class MyClass{
public MyClass(){/*code*/}
// more code...
}
To instantiate MyClass, you would write?
A. MyClass mc = new MyClass(); B. MyClass mc = MyClass();
C. MyClass mc = MyClass; D. MyClass mc = new MyClass;
E. It can't be done.
8. The constructor of MyClass should be defined as
public void MyClass(){/*code*/}
What is byte code in the context of Java?
A. The type of code generated by a Java compiler
B. The type of code generated by a Java Virtual Machine
C. It is another name for a Java source file
D. It is the code written within the instance methods of a class.
E. It is another name for comments written within a program.
9. What is garbage collection in the context of Java?
A. The operating system periodically deletes all of the java files available on the system.
B. Any package imported in a program and not used is automatically deleted.
C. When all references to an object are gone, the memory used by the object is automatically reclaimed.
D. The JVM checks the output of any Java program and deletes anything that doesn't make sense.
E. Janitors working for Sun MicroSystems are required to throw away any Microsoft documentation found in the employees' offices.
10. Consider the following statement in a Java program that compiles and executes: submarine.dive(depth);
What can you say for sure?
A. depth must be an int B. dive must be a method.
C. dive must be the name of an instance field.
D. submarine must be the name of a class
E. submarine must be a method.
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Example tasks are:
Q1. Write a Java applet to draw the Olympics Rings, where the color of the rings will change in continues time interval and the coloring effect will be stopped on mouse over.
Q2. Write a Java applet with functionalities similar to the calculator in PCs
Q4. Create a data base of student data (id, name, age, mark) using MS Access. Write a Java applet which will enable the users to query the database and display the results. The applet can display textfields for id/name and for any value typed in, the program should connect to the database and execute the query and display the corresponding student record, if found. For age and marks, it should also be possible to specify a condition (say age>20 or mark between 50 and 80 etc).
Q5. Study the following Java APIs and develop simple examples to demonstrate the API classes. The examples need not be exhaustive.
java.net, java.commerce,
Q6. Find the source code for Vector in the Java source code library that comes with all Java distributions. Copy this code and make a special version called intVector that holds only ints. Consider what it would take to make a special version of Vector for all the primitive types. Now consider what happens if you want to make a linked list class that works with all the primitive types. If parameterized types are ever implemented in Java, they will provide a way to do this work for you automatically (as well as many other benefits).
6.3 Test Paper
This could be modeled after the question paper for Final assessment, but of maximum 2 hours, without section C
6.3 End-sem Assessment
Section A: 10 out of 12 questions (at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
A1. (a) Give any two differences between Java applications and applets. (b) A Java program is available in the file c1.java. how will you compile it ? What output file created and what does it contain ?
A2. (a) Give any two differences between byte and char data type in Java. (b) In the following code, which are ( i ) member data, ( ii ) member methods and ( iii ) constructor
class num1 {
int x;
int y;
num1(int a, int b) {x = a; y = b; }
public static void showValue( )
{ System.out.println(x+ “ , ”+y); }
}
A3. (a) ( i ) Is it possible for a child class to have two parent classes ? ( ii ) Is it possible for a parent class to have two child classes ? (b) What is the difference between method over-ridding and method over-loading ?
A4. (a) What will be the output of the following program ?
import java.io.*;
public class c2 {
public static void main(String argv[ ])
{
int i, j, k;
i=1; j=0;
try { k=i/j;
}catch (ArithmeticException e) {System.out.println(“Division be zero”); }
}
}
(a) For an int array a[ ] with 5 elements, ( i ) Which method can be used to know the number of elements in the array ? ( ii ) What will happen if a reference to a[ i ] is made with i = 20 ?
A5. (a) Give the Java statement to create server socket. (b) Write in one sentence, the function of each of the following Thread methods: Thread.sleep( ); Thread.setPriority( ); Thread.start( );
A6. (a) Which Listeners are used for each of the following GUI components? Button, Choice, (b) In the MouseListener used to handle mouse events, name any three methods(with arguments)
A7. (a) Which file formats are permitted by Java for Image files & Sound files , (b) Name any 3 Java APIs along with their use. (in one sentence each)
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30. This section should be designed to test the application skill of the student in a standard situation
B1. (a) Write a Java class num1 with the following member data and methods:
Member data :
Two integers
Member methods:
Constructor
void showSum( ) – used to print out the sum of member data.
Also write a Java application to demonstrate the use of an object of type num1.
(b) Write a Java class num2 which is a child class of num1. Include two additional methods as follows:
void showDifference( );
void showTimes( );
Also write a Java application to demonstrate the use of an object of type num2.
B2. Write an interactive Java Applet which permits the user to enter two numbers in two text fields and then permits the user to click on the “Add” or “Subtract” buttons to produce the result in the third text field.
B3. Write a Java applet which will display an image “tower.gif” (available in the current directory) in a zooming manner (from size of 10 by 10 to 200 by 200) along with a background music played from the file “janagana.au”.
Section C: 1 or 2 questions (Could be from any specific module/ covering more than one module) 1 x 15 = 15. This section should present a challenge, an unstructured, non-standard problem)
C1. Write a Java applet with functionalities similar to that of the calculator in PC operating systems.
C2. Write a pair of client server applets which will enable a text message to be transmitted from the client to the server.
BSC 404 Mathematics II
1. AIMS:
• To introduce mathematical concepts and techniques that have applications in computer science field
2. OBJECTIVES:
• To introduce advanced differential calculus
• To introduce solutions of differential equations
• To introduce Number theory
• To introduce Complex Number Theory.
3. SYLLABUS
• Module–I: Review of basic differentiation, Differentiation of hyperbolic functions, derivatives of hyperbolic functions, inverse hyperbolic functionsm logarithmic differentiation, implicit differentiation, Lebnitz’s theorem, Mean value theorem, Rolle’s theorem, Lagrange’s mean-value theorem, Maxima and minima.
Module–II: Differential equations, General Concepts, Formulation and solution of differential equations, solution of higher order linear DEs. partial Des, Laplace and Inverse Laplace transforms
Module–III: Theory of Numbers, prime numbers, Unique factorization theorem, Euclidean algorithm, congruences, Fermat’s theorem, Wilson’s theorem
Module–IV: Complex Numbers, Seperation into real and imaginary parts, Complex mapping
Module V: Miscallaneous Topics: Markov processes. Harmonic analysis and Fourier series, Linear Programming
4. REFERENCES
Erwin Kreyzig, Advanced Engineering Mathematics, New Age International Pvt Ltd.
Shanthi Narayan, Differential Calculus, S Chand & Company
Zafar Ahsan, Differential Equations and their applications.
Rudra Pratap, Getting Started with MATLAB, Oxford University Press, ISBN 0-19-515014-7, Rs 275
4.3 Internet resources:
www.ams.org/mathweb
www.falstad.com/mathphysics.html
//cs.jsu.edu/mcis/faculty/leathrum/Mathlets
//archives.math.utk.edu/visual.calculus/
5. NOTE ON CURRICULAR TRANSACTIONS:
Mathematics is traditionally taught in an abstract way, without relating it to day-to-day life and applications in the field of concern, viz, computer science. While proofs are unavoidable at least in class, they should by no means become the main stay of learning and should not become part of assessment. An insight into mathematical principles which enable learners to relate it to physical world is to be attempted. The applets and simulations suggested in the internet resources are an excellent beginning for this transformation in approach. It is also recommended that, demonstration on softwares like MATLAB are made a part of lecturing.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type.
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See first semester syllabus for examples.
6.3 Test Paper
This could be modeled after the question paper for Final assessment, but of maximum 2 hours without section C
6.3 Final Assessment
Section A: 10 out of 13 questions(at least 2 questions from each module); 10*3=30 marks
This section should give an opportunity for the student to demonstrate his/her knowledge
Section B: 5 out of 8 questions (two question from each module); 5*6=30 marks
This section should be designed to test the application skill of the student in a standard situation
Section C; 1 out of 2 questions (could be from any module/cover more than one module) 1*15=15
This section should present a challenge, an unstructured, non-standard problem
BSC 405 Minor Projects & Seminar
1. AIMS:
Minor project will give an opportunity for students to prepare for the major project and also contribute to achieving some of the objectives of the major project. Minor projects shall also serve as an opportunity for producing and distributing socially useful softwares. Seminars will give an opportunity for the students familiarize literature search, and to practice assimilating knowledge from published literature on current and emerging topics and communicate the same in their own words through a technical presentation.
3. GUIDELINES FOR MINOR PROJECT
Generally, guide lines for Major projects are applicable to Minor project also. However, in view of the time allotment, the following specific guidelines are applicable:
1. Individual projects are to be permitted, if desired by any student
2. Full-time attachment to any external organization is not mandatory, mostly minor projects can be done in the college itself.
3. The type and scope of the project is completely flexible, the only constraint being that considerable effort should be involved and technical work should not be completely absent.
4. Specifically, web site development, game development, utility software development, educational software development, Malayalam computing, mobile computing etc are to be encouraged.
5. No restrictions shall be placed on the students in the choice of platforms/tools/languages to be utilized for their project work, though open source is strongly recommended, wherever possible. No value shall be placed on the use of tools in the evaluation of the project.
6. It should be possible for students to develop softwares that cater to the needs of the general public. Students are encouraged to develop software products or software components which should be distributed free through the university website. E-learning is a vast area suitable for very effective distribution of such software for very simple reason that there is scope for a large number of such programs and most often they do not need maintenance or updation. They are to be deployed with source code under General Public License (GPL) so as to make it possible for others to make further improvements.
7. There shall be an internal supervisor for the minor project. While an external supervisor is also permitted in cases where the students opt attachment to external organizations, they shall not be assessing the work.
5. NOTE ON ASSESSMENT OF MINOR PROJECTS:
There shall be 4 components that will be considered in assessing a minor project work, with weightage as indicated below. The first two components will be considered as in-sem assessment and the rest as end-sem assessment:
• Quantum of technical and creative work: 40%
• Quality of Project Documentation (precision, stylistics etc) 10 %
• Effective Technical Presentation (relevant guidelines of seminar applicable here too) of Project work 25 %
• Viva (approximately half the questions shall enable students to express what they did, and the rest can be challenging their knowledge in the area of work) 25%
6. GUIDELINES FOR SEMINARS
Seminars are opportunities for self study of a selected topic and a formal presentation of the same. Skills acquired in BSC102 course should be utilized here in addition to practicing serious focused reading and assimilation of science and technology literature. Students may be given a list of suggested topics during the first week of the semester itself, with freedom to choose other topics if they wish so. Seminars shall have a supervisor assigned from within the institute/college. There shall not be any restriction on more than one student choosing the same topic in the same semester (or in previous years). This possibility should be reduced by fresh suggestions each year. In case of more than one student choosing the same topic, they should be alerted that plagiarism will be closely scrutinized. In addition to List of magazines and Journals Recommended in Appendix-I, faculty should suggest other periodicals and students may also search the internet.
Presentations shall be made using Powerpoint/Presenter slide show (in case of non-availability of projectors, the presentation slides should be photocopied onto transparencies and used with OHP. Students should be encouraged make extempore presentations without memorizing (they should be advised to practice the presentation at home and record their speech and repeatedly listen to the playback). Every student shall distribute a one-page abstract of his/her seminar to all participants.
Before the last week of the semester, the student shall also submit a report of not less than 10 pages. Even though seminar report need not have any original content, students are to ensure that the report is in their own words and any verbatim inclusion of material is properly cited. The seminar reports should be preferably made in LaTeX and follow IEEE style (see www.ieee.org).
Students may be encouraged to take part in inter-collegiate student seminars organized by various colleges, and those who present papers in such seminars on any topic, shall be given bonus marks as follows on production of certificates (subject to the condition that the total marks do not exceed the max. marks): participation 5%, winning prizes: 10%. Any question of non-admissability of such certificates shall be decided by a 2-member committee of faculty members nominated by the Head/Principal of the institution.
7. NOTE ON ASSESSMENT OF SEMINARS:
Seminars shall be assessed based on the following 5 components, the first 3 being considered as in-sem assessment and the rest as end-sem assessment:
Richness of references cited: 20%
Seminar report (content, style, own language): 20%
Participation in Seminars (based on attendance & number of questions raised): 10%
Seminar presentation (Style, time management, presentation material, knowledge): 25%
Defending questions from participants and faculty: 25%
BSC 406. Programming Lab – III
1. AIMS:
To provide an opportunity for hands-on practice in Java.
2. OBJECTIVES:
This course will provide hands-on practice in a the following topics, under a variety of programming situations with a focus on writing, debugging and analyzing object oriented programs:
• basic data types and control structures in Java
• installing and using JDK
• writing applications and applets
• managing classes and objects in a variety of situations
• using i/o, string, threads and net APIs
• solving moderately complex problems involving the above.
3. SYLLABUS
The laboratory work will consist of 15-20 experiments
1. Testing out and interpreting a variety of simple programs to demonstrate the syntax and use of the following features of the language: basic data types, operators and control structures.
2. Class definitions and usage involving variety of constructors and finalizers
3. Programs involving various kinds of inheritances,
4. Program involving Method Over-riding, Method Over-loading
5. Program involving Abstract Class and Methods
6. Program involving Interface,
7. Program to demonstrate creation and handling of packages, their imports and Class Path.
8. Programs involving a variety of Exception Handling situations
9. Program to define a class that generates exceptions and using objects of the class.
10. Program involving creating and handling threads in applications and applets.
11-12: Programs to demonstrate methods of various i/o classes
13. Programs to demonstrate methods of string class
14. Program to demonstrate AWT/Swing graphic methods
15. Program for Loading and Viewing Images, Loading and Playing Sound
16. Programs to demonstrate various Layouts
17-18 Programs to demonstrate event handling
19. Program to demonstrate simple server-client (using a single m/c both as client and server)
20. Debugging programs involving syntactic and/or logical errors
5. INTERNET RESOURCES
http://java.about.com/od/idesandeditors/
http://www.programmingtutorials.com/java.aspx
http://java.sun.com/docs/books/tutorial/
http://www.cs.chalmers.se/~woj/java/tutorial/getStarted/index.html
http://www.cs.chalmers.se/~woj/java/tutorial/applet/index.html
http://learning.unl.ac.uk/java1/
http://www.thefreecountry.com/programming/javaide.shtml
http://java.about.com/cs/javaquickstart/tp/begineditors.htm
www.programmersheaven.com
5. NOTE ON CURRICULAR TRANSACTIONS:
After developing a few programs in JDK, any free downloadable IDE may be used. Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A sample related to introduction to classes is given below: Consider the following class declaration and program. Implement the methods f1, f2 … using dummy print statements and then predict which are the legal and illegal references to data and methods, and test out by compiling the program
class Vehicle{
private int x;
protected int y;
public int z;
int w;
private void f1( ) {…}
public void f2( ) { …; f1( ), ….;}
protected void f3( ) {….; f1( ); ….; f2( );…;}
void f4( ) {….}
}
class Car extends Vehicle{
private int p;
protected int q;
public int r;
int s;
private void f5( ) {…}
public void f6( ) { …; f1( ), f5( );}
protected void f7( ) {….; f2( ); ….; f3( ); f4( );…;}
void f8( ) {f6( ); f7( ); ….}
}
class c1 {
public static void main( )
{
Vehicle v(5,6,7,8);
Car c(9,8,7,6);
print(v.x+”,”+v.y+”,”+v.z+”,”+v.w);
print(c.p+”,”+c.q+”,”+c.r+”,”+c.s);
v.f1( ); v.f2( ); v.f3( ); v.f4( ); v.f5( );
c.f1( ); c.f2( ); c.f3( ); c.f4( ); c.f5( ); c.f6( ); c.f7( ); c.f8( );
}
}
6. NOTE ON ASSESSMENT:
The In-semester laboratory assessment will be based on the following components:
2.5% for satisfactory conduct of each experiment (maximum 25%)
25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).
25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.
25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions
The End-semester assessment shall be based on the following:
25% for a common Quiz conducted on all the experiments with 10-20 questions
75% for successful conduct of assigned tasks as follows:
25% for 2 minor programs to demonstrate basic programming ability (such as declaring a simple class and instantiating an object, with stress on syntax and minor logic involved).
25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: classes, inheritance, function overloading, operator overloading, exception handling, virtual base classes, templates.
10% for successfully debugging a given program
15% for a viva-voce
Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.
BSC 407. Databases Lab
AIMS:
This course will provide hands-on practice in a the following topics, under a variety of computing situations with a focus on writing and analysing SQL statements:
• Installing and configuring a proper SQL tool
• Database design and implementation
• Writing and analysing SQL statements
• Create user interface (using java AWT) and study the working of a data base in a front end application
2. SYLLABUS
The laboratory work will consist of 15-20 experiments. Tools to be used include: Personal Oracle 8/ MS Access/OpenOffice Base/Java. Experiments will cover creating tables including defining relations between them, practicing SQL, experiments designed around a case study, miscellaneous topics including security, connecting databases to front-end applications. Some sample topics are given below:
1. SQL statement for creating, listing, dropping, checking, updating tables
2. Record manipulation using-insert, delete, update
3. Experiments that clarify the importance of keys (except foreign key)
4. Queries with an expression and a column alias
5. A simple query that aggregates (groups) over a whole table
6. A query with a literal string in the SELECT list
7. Queries with sub string comparison and ordering
8. Query using the "IS NULL" syntax to list (compare ‘=NULL’ instead of IS NULL”)
9. Finding values within a certain range
10. Using the --"BETWEEN" keyword
11. A Join between two tables (foreign key)
12. Nested queries
13. The EXISTS and UNIQUE function in SQL
14. Renaming attributes and joined tables
15. Statements related with VIEWs
16. Creating an application program that uses database as backend
6. NOTE ON ASSESSMENT:
The In-semester laboratory assessment will be based on the following components:
2.5% for satisfactory conduct of each experiment (maximum 25%)
25% for an announced assessment of a selected experiment with weightage for successful conduct (10%), involvement (5%), experimentation (10%).
25% for laboratory record, with emphasis on recording of experimentations and justifications of the same.
25% for a common Quiz conducted on a set of at least 4 experiments with 10-20 questions
The End-semester assessment shall be based on the following:
25% for a common Quiz conducted on all the experiments with 10-20 questions
75% for successful conduct of assigned tasks as follows:
25% for 2 minor programs to demonstrate basic programming ability (such as declaring a simple class and instantiating an object, with stress on syntax and minor logic involved).
25% for developing and writing a program based on a problem statement involving non-trivial logic and requiring the use of one or more of the following features: classes, inheritance, function overloading, operator overloading, exception handling, virtual base classes, templates.
10% for successfully debugging a given program
15% for a viva-voce
Note: Students should be provided with a set of 3 questions to choose from at random. If they want to change the question, they can do so with a 10% penalty in total marks in each case. Students should be asked to develop algorithm and write a pseudo code on paper before they implement the programs on a computer. If the examiner is convinced that the student does not have knowledge to implement the solution, they may be given required assistance with a with a 5-10% penalty in total marks on a case by case basis. Program output will not be the sole criteria for assessment. Viva and debugging opportunity will be extended to students even if they do not complete programming tasks successfully. In short, every opportunity must be given to the student to express his/her knowledge and skills.
semester 5
BSC 501 Science & Technology Communication
1. AIMS:
To expose students to specimens of science communication and technology documentation and to impart basic skills in technical documentation
2. OBJECTIVES:
On completion of this course, students should:
• Have exposure to current science writings
• Be aware of features of efficient science communication
• Be skilled in making presentations
• Be skilled in technical documentation
• Be skilled in software documentation
3. SYLLABUS
Module-I: Science Communication: Reading and critical analysis of current science writing.
Module-II: Technical Communication: Overview of verbal communications, Technical Presentations: Open Office Presenter/Microsoft Office Power Point, Preparation of Presentation materials, Effective use of color, images, sound, video-clips, animations and special effects.
Module-III: Science & Technology Writing: Overview of written communication Skills, types of written communication for computer professionals, guidelines for written communication, writing requests for proposals, business plans, product development support documents, writing effective business letters, publishing in Magazines, technical papers, publishing books
Module-IV: Software documentation, Functions and main goals of user documentations, usability of documents, structured approach to developing documents, analysis, design, development, assembly, editing, testing and maintenance of documentation, Case studies of documenting popular software/Microprocessor instruction sets/programming or scripting languages
Module-V(Flexi): Introduction to LaTeX – Preparing documents involving text, tables, enumerations, pictures, multiple columns, math and special symbols, matrices and equation arrays, references and indexes.
4. REFERENCES
4.1 Readings
• Thomas Joseph (Ed), New Trends, Mahatma Gandhi University & DC Books, ISBN 81-7130-962-3, Rs 25/- (Writings of Amartya Sen, Arundhati Roy, Larry Kom, Vandana Shiva, Aravind Gupta, Fritjof Capra, S. Kappen)
• IT Trends column by Anand Parthasarathy, The Hindu, Thursdays
• Speaking of Science column by D Balasubramanyam, The Hindu, Thursdays
• Sukanya Datta, Operation Gene, CSIR, New Delhi ISBN 81-7236-087-8, Rs 20/-
• Robert M Hazen & James Trefil, Science Matters, Universities Press, Rs 135/-
• Richard P Feynman, Surely You are joking Mr Feynman, Bantam
• Eric S Grace, Biotechnology Unzipped, Universities Press, ISBN 81-7371-144-5, Rs 225/-
• A P J Abdul Kalam, India 2020 : A vision for the new Millenium, Penguin, ISBN 01-40-278338
• Farr A D, science writing for beginners, Blackwell, ISBN 0-632-01362-1
4.2 References
• Alan R Simpson and Jordan Simon, The Computer Professionals Guide to Effective Communication
• Edmond H Weiss, How to write usable user documentation, 2/e
• Vikas Gupta, Linux & Open Office Course Kit, Dreamtech, ISBN 81-7722-493-X, Rs 299/-
• Ramesh Bangia, Learning Power Point, Khanna Book Publishing Co, ISBN 81-87522-63-1, Rs 50/-
• Leslie Lamport, Latex:A Document Preparation System, Pearson Education, ISBN 81-7808-575-5, Rs 275/-
4.3 Internet resources:
http://www.egroups.com/list/tw-in - Technical writing in india
5. NOTE ON CURRICULAR TRANSACTIONS:
This is a non-conventional course and should be mostly activity oriented. For module –I, group of students (6 students chosen by drawing lots) should be asked to read the articles from New Trends and discuss it among themselves and make a presentation in the class, each one covering one aspect (style, organization, vocabulary, inspiration etc) of the writing, one of them summarizing the content. Each student should select one (or part of) the remaining readings and make a similar written report. For module-II, couple of lectures may de given. Then each student should be asked to make a Presenter/Powerpoint presentation designed incorporating the design principles learned, on the same topic on which they submit individual reports in Module-I.
In module-III, group of students (6 students chosen by drawing lots) should be asked to prepare at least two among the following: requests for proposals, business plans, product development support documents, business letters, Magazines article. In Module-IV, students should be asked to select a simple software (for example, freeware utilities) and prepare a user documentation for the same. In module-V, a brief overview of LaTeX may be given through lectures/demo and then a moderately complex technical paper involving mathematical typesetting should be given and students asked to typeset them in LaTeX.
6. NOTE ON ASSESSMENT:
There shall be no traditional written exam for this course. A set of 4 different activities (as indicated in curricular transactions) should be chosen as in-sem assessment components, with 25% weightage each. For end-semester assessment the following activities may be given, with equal weightage: (i) Letter writing, (ii) summarising a science writing (iii) soryboarding a presenter/power point presentation based on the previous writing and (iv) preparing a documentation for a software based on 3-4 screen shots provided.
BSC 502 Web Programming
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1. AIMS:
• To expose students to technology of web sites and to introduce various tools and languages required for technical and creative design of state-of-the-art web sites
2. OBJECTIVES:
• To impart basic skills in moderately complex use of the following tools/scripts/languages: HTML, DHTML, CGI Script, Perl, CSS, Javascript, ASP and JSP.
• To impart necessary ability to choose the appropriate web tools/languages for creating state-of-the art web sites
• To expose students to current trends and styles in web design and applications
3. SYLLABUS
Module–I: HTML: General Introduction to Internet and WWW; Text tags; Graphics, Video and Sound Tags; Link and Anchor Tags; Table Tags; Frame Tags; Miscellaneous tags (layers, image maps etc); CSS; DHTML; example Applications; simple introduction to XML and VRML
Module–II: CGI Programming: HTML Forms and Fields; Perl: Basic control structures, data types and basic features; CGI Programs: GET & POST methods, simple applications; Cookies; Server Side Includes; example Applications;
Module–III : Javascript: Basic data types; control structures; standard functions; arrays and objects, event driven programming in Javascript; example Applications;
Module–IV: JSP: Architecture of java Servelets; Servelet Structure; Servelet Life Cycle; Request and Response Objects; Sessions; Invoking servelets; example Applications;
Module–V (Flexi): Miscallaneous: JDBC; PHP; .NET Technology; C#; Creative Design of Web sites; Macromedia flash, Web Servers, Web databases, Web Administration and Maintenance.
4. REFERENCES
4.1 Core References
• V.K. Jain, Advanced Programming in Web Design, Cyber Tech Publications, ISBN 81-7884-019-VII, Rs 360/-
4.2 Additional References
• Joel Sklar, Priciples of Web Design, Vikas, Rs 225
• H M Deitel, P J Deitel & A B Goldberg, Internet and Worldwide web programming: How to Program, 3/e, Pearson Education, ISBN 81-297-0408-0, Rs 495/-
4.3 Internet resources:
www.deitel.com, www.prenhall.com/deitel,
www.asptutorial.info/ Active Server Pages tutorial for beginners
www.learnasp.com/learnasp/ Free lessons, download programs, tutorials, training kit on ASP.
http://notes.corewebprogramming.com/student/XML.pdf Presentation on XML, with examples
http://notes.corewebprogramming.com/ study materials on HTML, Java, Javaservelets, Javascript
www.rh.edu/~heidic/webtech/notes/ CGI, JSP, JDBC, javaBeans, JavaScript, XML, servelets.
www.redbrick.dcu.ie/help/slides/week7_perl/perl.ppt .
www.cs.drexel.edu/~jjohnson/2004-05/winter/cs265/lectures/perl.ppt
www.redbrick.dcu.ie/help/slides/week6_php/php.ppt
www.nada.kth.se/kurser/kth/2D2052/ingint04/PHP.pdf
5. NOTE ON CURRICULAR TRANSACTIONS:
Students should be asked to visit model web sites and review the same in terms of technology, design, utility and aesthetic appeal. (www.kerala.gov.in, www.swathithirunal.org, www.google.com, www.samachar.com )
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities. Some sample questions are given below:
6.1 Model Questions for Quiz: [10-20 questions for each module, conducted at the end of the lectures related to the module should be of the type given at the end of chapters in additional reference 2 (Deitel). ]
6.2 Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. A sample assignment is given below:
DESIGN OF PERSONAL WEB-SITE:
You are required to design a personal web site (of either yourself or of an important personality of your choice) to demonstrate the understanding of the tools covered in the course. The following are the aspects which needs to be addressed:
1. Variety of HTML tags used: frames, forms, tables, *image maps, anchors - both within and outside the pages.
2. Use of a common Style Sheet on all pages
3. Use of Java Script, including event handling, *cookies, *browser detection and *validation of form data
4. Use of Dynamic HTML
5. Use of Server-side scripting as well CGI scripting (using both GET and *POST methods).
6. Inclusion of *registration, *guest books, *chat facility etc
7. Provision of *site search facility
8. Inclusion of banner advertisements, preferably on a barter basis.
9. Uploading of the site in any free web-hosting server (geocities, tripod, xoom..)
10. * Listing of the site in any one search engine under relevant keywords
6.3 Test Paper
This could be modeled after the question paper for the End-sem assessment, but of maximum 2 hours with section C avoided.
6.4 End-sem Assessment
The model questions below is incomplete and only indicate the type of questions and do not cover all topics.
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30. This section should give an opportunity for the student to demonstrate his/her knowledge
A1 (a) Give the HTML code for the following browser display (b) Give two comparisons between jpg and gif image file formats.
A2 (a) Give the HTML code for the following table. The picture shown in top left cell is “sing.gif” and the bottom right cell is “viet.gif”. (b) Even when an image is used with its actual size in an HTML file, it is preferable to have HEIGHT and WIDTH specified in IMG tag. Why ?
A3 (a) Give the HTML code for the following form (b) In example (a), if the name is entered as Lisa and password as 2536A, what will be the QUERY_STRING available to the CGI program which uses the data from the form?
A5 (a) Redefine the
tag to 25 points, italics and Arial font, using cascading style sheets. (b) Give the Java Script code for displaying the string “Kerala” in 5 different sizes.
A6 (a) What is the difference between SSI and CGI? What do you mean by document parsing of shtml files ? (b) Write an XML style sheet to define a new tag which should display text in Garamond, 24 point, italics in gray color.
A7 (a) Give the VRML code to display a green, 3D, sphere image in a VRML enabled browser. (b) Give the HTML code for embedding an applet flash.class which needs the value of parameter flashtext to be specified (use the word “Welcome” as the value).
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
B1 (a) Write a Java Script program accept the value of a and b then display a table of conversion from Celsius to Fahrenheit. The value of Celsius from range a to b will be show in the table. (b) Explain how a form is processed by a CGI program, with an example
B2 (a) Explain briefly the Document Object Model. (b) Discuss and compare Static, Dynamic and Active web documents.
B3. (a) What are the core elements of DHTML ? List three typical special effects possible with DHTML, with an example for any one. (b) Explain the Java servelet life cycle with an example.
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
C1. (a) Assume that a CGI program stores a file with name and passwords of registered users of a web site. When a user visits a web site, the Login page is displayed (with user id and password field and submit button). When the user logs in, if the user name and password are correct then a welcome page is shown. If the user id is known but the password is wrong then a page will be shown prompting the user to re-enter password. If both user id and password are wrong, a page will be shown with message “Access Denied”. Give the CGI program and also the HTML code for login.html, p2.html and p3.html. The login html page should also show the time in the server system clock. Your page should also initially detect the client browser and alert the user if browser is Microsoft Internet Explorer. (b) Justify why you used post/get method in the above example.
BSC 503 Computer Graphics
1. AIMS:
To introduce basic theoretical underpinnings and concepts behind computer graphics and expose student to algorithms, tools and techniques for implementing the same.
2. OBJECTIVES:
On completion of this course, students should be able to:
• handle basic graphic primitives in C/C++ for developing 2D and 3D graphics
• program basic scan-conversion algorithms
• apply various transformations to 2D and 3D graphic objects
• derive various projections of 3D objects
• give realistic rendering to 3D wireframe objects
• be familiar with current trends in computer graphics
3. SYLLABUS
Module –I: Display technologies – CRTs, Color Monitors, Flat panel displays, VRAM, VGA/SVGA resolutions, Hard copy devices, Input Devices: Digitising tablets, Mouse, data glove, light pen, Touch panels, Image scanners. Review of mathematics for computer graphics: co-ordinate geometry, equations, of line, circle and their parametric forms, intersections, matrices: multiplication, transpose and inverse.
Module-II: Drawing algorithms: Line: DDA and Bresenham algorithms, Circle: Bresenham algorithm, Ellipse, Curvedrawing: parametric representation, Bezier and B-splines, 2D transformations: translation, scaling, rotation, shearing, reflection, composite transformation, inverse transformations. Zooming and panning, rubber band lines and dragging, Clipping: Window & Viewport, Sutherland line clipping algorithm. Filling algorithms
Module –III: 3D Graphics: Creating 3D effect on 2D screens, Wireframe models – representation using vertex and edge lists, projections: Orthographic and perspective, 3D Transformations: translation, scaling, rotation, shearing, reflection, composite transformation, inverse transformations. Hidden surface removal: image space and object space categorization, computing surface normals, Back face removal method, Z-buffer method,
Module IV: Illumination and Shading: Principles of illumination, Shading: Lambert’s method, Gourad and Phong shading, Tweening, Morphing, Warping
Module –V (Flexi): Graphics in Linux, Font geometry: representation of fonts, bitmapped and vector. Introduction to Graphic Standards, Open GL and GKS, Virtual Reality Mark-up Language.
4. REFERENCES
4.1 Core References
D P Mukherjee, Fundamentals of Computer Graphics and Multimedia, PHI, ISBN 81-203-1446-8, Rs 125/-
Peter Cooley, The Essence of Computer Graphics, Pearson Education, ISBN 81-297-0681-4, Rs 125/-
4.2 Additional References:
Donald Hearn, M. Pauline Baker, Computer Graphics (C Version) 2/e, Pearson, ISBN 81-7808-794-4, Rs 425/-
James Foley, Andries van Dam, Steven Feiner and John Hughes, Computer Graphics Principles and Practice, 2/e Pearson Education, ISBN 81-7808-038-9, Rs 450/-
Mark Giambruno, 3D Graphics and Animation, 2/e, Pearson Education, ISBN 8-1780—8860-6, Rs 395/-
4.3 Internet resources:
www.prenhall.com/hearn
www.prenhall.com/bookbind/pubbooks/hill4
www.povray.org ray tracing and 3D morphing
www.cs.unc.edu/~pxpl/home.html
www.cs.utexas.edu/users/naylor/courses/Graphics.ppt
www.cs.brown.edu/courses/cs123/lectures.shtml : A collection of presentations on all topics
http://visservices.npaci.edu/courses/maya/History-of-graphics.ppt : history of computer graphics
www.thefreesite.com/Free_Software/Graphics_freeware/: free graphics software.
5. NOTE ON CURRICULAR TRANSACTIONS:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions (10-20) should be of objective type and should contain both analysis and synthesis opportunities. Some sample questions are given below:
Model Questions for Quiz:
1. The surface normal of a face at vertex (0,0) is computed as 0i+0j+100k. If this surface is viewed from point (0,0,-100), will it be visible ?
2. If the point (20,20,20) is rotated wrt point (0,0) by 45 degrees, the coordinates will be _________
3. A line has end points (10,15,30) and (20,30,60). The orthographic projection on the YZ plane will have end points (__,____) and (___,___)).
4. Which of the following projections have greatest realism? (a) orthographic (b) perspective (c) both
6.2 Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some suggested tasks are as follows:
1. Visit a Computer Graphics firm and make a note of various computers and peripheral Hardwares used by them (specs and special features).
2. *Enclosed is a list of all Borland C++ Graphic Library Functions. Study them through small C++ programs which demonstrate their usage and document these.
3. Implement the Bresenham algorithm for line and circles.
4. Develop an object oriented interactive program which permits to user to define a polygon figure interactively and then permits the user to specify a sequence of transformations, one by one, displaying the resulting figure each time.
5. Develop an object oriented program which will read from a specified text file the list of vertices and edges of a three dimensional object (in a format to be decided by you), them permits the user to specify (i) a projection system and (ii) a sequence of transformations, one by one, displaying the resulting figure each time.
6. Write a program to display a wireframe model of a cuble and then remove the hidden surface and display the model, from a view point is specified by the user.
7. Modify the above program to implement a selected shading method.
8. Download VRML plugin for your browser and also download a vrml file and view it in the browser and report your experience.
9. * Find out how a new font is created and report your experimentation and findings.
6.3 Test Paper
This could be modeled after the question paper for the End-sem assessment, but of maximum 2 hours with section C avoided.
6.3 End-sem Assessment
The model questions below is incomplete and only indicate the type of questions and do not cover all topics.
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledgeA1. What is the difference between contrast and brightness ?
A2. Derive 2-D Transformation Matrix for rotation wrt orgin
A3. What is meant by vertex normal in Gouraud Shading algorithm ? Does it have any physical significance ?
A4. Consider a point P(10,10). What are the coordinates of the point if it is rotated wrt (5,5) and then scaled in the X-axis direction by a factor of 2
A5. In a 3-D wire-frame model, given a view point, explain how the visibility of a surface is computed.
A6. Differentiate between ambient reflection, diffuse reflection and specular refelection. Which is usually the least prominent ?
A7. What are the difference between image space and object space methods for hiiden surface removal ?
A8. A 3D- wire frame model can be produced by rotating a 2-D polygon. What are the limitations of this method ?
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
B1(a) Explain an algorithm for plotting a circle with centre (a,b) and radius R. Comment on the computational efficiency of the algorithm and suggest methods of improvement.
(b) A cube is positioned in the positive quadrant of the X-Y-Z space, with one of its vertices at the origin and the faces which meet at the origin positioned in the XY, YZ and XY planes. Its edges are of length 20 units. Calculate the brightness of any visible face by both Gourad and Phong shading and comment on the comparison.
B2 (a) For the cube of problem B1(b), plot the orthographic projection of the cube on the Z-Y plane after rotating it by 30˚wrt X-axis and removing the hidden faces when viewed from (50,50,50).
(b) What are b-splines ?
B3 (a) Derive the perspective projection transformation matrix with view point on the –Z axis.
(b) A line A(9,9)-B(15,15) is to be morphed into a rectangle with vertices (10,0), (16,0) (10,3), (16,3). Propose a method for this and apply the method to produce two tween images.
B4. (a) Discuss the organization of VRAM in 8086 processors and as to how it can be directly manipulated.
(b) Explain the computational advantage of Bresenham algorithm over DDA for line drawing
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
C1 (a) Given aside is a plan view of a regular tetrahedron of edge length 10 units. Its base is in the xz-plane and the top points to the y-axis. Sketch the object as it will appear after the vertices are transformed by the transformation matrix [T ]= [ 1 0 0 0; 0 0 1 1; 0 -1 0 0; 0 0 0 1] rows separated by ‘;’ . Propose a shear matrix which would reposition the top vertex by some amount, but leave the base unchanged
BSC 504A Artificial Intelligence (Elective)
1. AIMS:
To expose students to basic concepts and tools of Artificial Intelligence and create awareness about its applications, both current and futuristic
2. OBJECTIVES:
• To introduce the notion of machine intelligence
• To introduce the symbolic processing paradigm of AI and algorithms for state space search
• To introduce the knowledge representation formalism
• To introduce basics concepts and challenges of Robotics
• To introduce basics concepts and challenges of Speech and Language Processing
• To introduce basics concepts and challenges of expert systems
• To give basic introduction to some of the tools/languages used in AI field
3. SYLLABUS
Module–I: Introduction to AI: Intelligence & AI: Turings Test, branches of AI, AI and search process: Combinatorial explosion, branching factor, forward and backward reasoning, need for heuristics, search methods: Random, Depth-first, Breadth-first, Best First, Hill-climbing, A* and AO* algorithms – demonstration on 8-tile puzzle/cannibals on the boat problem; Game Playing: Min-Max and modified Min-Max, alpha-beta pruning.
Module–II: Knowledge Representation & Reasoning: Logic: Propositional Logic, Synatx & Sematics, Normal forms in prepositional logic; Predicate Logic: Normal forms in predicate logic; Resolution: Herbrand’s Theorm, Resolution in predicate calculus, Theorem Proving; Knowledge Representation Techniques: Procedural vs Declarative Representation; Semantic Nets, Frames, Scripts, Conceptual Dependency. Reasoning: Non-monotonic, Probablistic, Certainity and Fuzzy based reasoning Systems.
Module–III : Speech, language and vision Processing: Human Speech: basic mechanism, phones, phone classification; Speech Processing: spectrum and spectrograms, speech coding, speech recognition, speech synthesis; applications; Natural Language Processing: Lexical, Syntactic, Semantic, Pragmatic and Discourse processing; ambiguity in natural languages, General introduction to parsing techniques; Features of Standard Tools; Applications. Computer Vision: Image acquisition, processing, analysis, understanding; Applications
Module–IV: Expert Systems: Architectures; Knowledge Bases and Inference Engines; Case stdy of MYCIN and DENDRAL; Applications; Robots, software agents.
Module–V: Miscallaneous Topics: Generic Introduction to LISP and Prolog; Critic of Artificial Intelligence; Neural Network Models; Genetic Algorithms; Molecular Computers; Future of AI.
4. REFERENCES
4.1 Core References
Ben Coppin, Artificial Intelligence Illuminated, Narosa, ISBN 81-7319-671-0, Rs 295/-
V S Janakiraman, K Sarukesi, P Gopalakrishnan, Foundations of Artificial Intelligence, Macmillan, India, ISBN 033392 625 0 [Rs 157]
4.2 Additional References
Alison Cawsey, Essence of Artificial Intelligence, Prentice Hall, ISBN: 01-3571-7795, Price: 12.95 UKP.
Dan W. Patterson, Introduction to Artificial Intelligence and Expert Systems, Prentice Hall of India ISBN 81-203-0777-1; [Rs 150]
Ben Gold, Nelson Morgan, Speech and Audio Signal Processing, John Wiley & Sons, ISBN 9-814-12655-1; $7.50
Roger Penrose, The Emperor’s New Mind.
4.3 Internet resources:
www.aaai.org : American Association of Artificial Intelligence, //ai-depot.com: tutorials, demonstrations, www.aist.go.jp/NIBH/~b0616/Lab/links, neuron.eng.wayne.edu/software.html, www.fuzzy.logic.com, www.austinlinks. com/ Fuzzy, http://www.franz.com/: Lisp programs, A site for AI only, looks informative with tutorials & demonstrations.
5. NOTE ON CURRICULAR TRANSACTIONS:
Internet contains a large repository of programs on AI which should be downloaded and demonstrated to the students. These include speech recognition and synthesis programs, character recognition programs, expert systems, language processing programs etc. Student seminars may be assigned, but only after the lecturer covers the basic topics.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions (10-20) should be of objective type and should contain both analysis and synthesis opportunities. 6.2
Sample Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Some suggested tasks are as follows (does not cover all topics, only indicate type of questions):
1. Either from the Internet/from local organizations (eg C-DAC), study speech processing and language processing softwares and expert systems and prepare a report on their features.
2. Create a search tree for the 8 tile-puzzle for 5 levels and then demonstrate the application of various search algorithms on them. For heuristic search, define a heuristic and justify the same. Finally make a comparison of all methods based on your experiments
3. In any programming language (preferably LISP), develop a program that will accept English text and type out an appropriate response in english, based on a key-word scanning. Standard reponse data base should be created and used ones removed as dialogue progresses. In case of no keywords in input sentence, appropriate general response (like go on, make yourself more clear etc) should be used. Build in a facility to save all dialogue sessions. Continuously improve the data base. Comment on crativity and versatility of natural language based on your experiments.
4. For a problem like automobile fault detection, generate IF then rules which can be used by an expert System.
5. * Simulation programs on fuzzy systems are available at the following sites. Visit these sites and select at least 2 simulations for each category, experiment with them and document their use completely. Also report what you learned from the experimentations:
a. www.answermath.com/fuzzy-laboratory.htm
b. www.aist.go.jp/NIBH/~b0616/Lab/links
c. www.fuzzy.logic.com
6. Compile a table of comparison of the human brain and the central processing unit of the computer. Include as many parameters of comparison as you can, giving brief notes on each.
7. * Download FUDGE (Fuzzy Logic Development & Generation Environment from SanDiego Super Computer Site, study and its use and document your experimentations
8. Design a decision making problem on your own, define fuzzy inputs and fuzzy rules for the decision making. For a variety of cases demonstrate decision making through defuzzification and contrast with corresponding crisp reasoning
6.3 Test Paper
This could be modeled after the question paper for the End-sem assessment, but of maximum 2 hours with section C avoided.
6.3 End-sem Assessment
The model questions below is incomplete and only indicate the type of questions and do not cover all topics.
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
A1. For the following tree (nodes marked A, B, C …) list the order in which the nodes will be visited for (a) breadth-first search and (ii) depth-first search
A2. Compare forward and backward reasoning
A3. For the 8-tile puzzle, define a heuristic function and justify how it could cut down search time.
A4. How can alpha-beta pruning improve search in game trees
A5. Write the following in predicate calculus notation: (i) all men are mortal, (ii) For every man, there is some woman who is love with him.
A6. Write examples of English sentances which are (i)syntactically incorrect (ii) semantically ambiguous (iii) pragmatically ambiguous (iv)unresolved in a discourse
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
B1 (a) For the 8-tile puzzle, for the following start and end positions, draw the state tree for 3 levels and discuss the application of breadth first and depth first searches:
Start: 2-3-4 End 1-2-3
8-7-9 4-5-6
5-6 7-8
(b) How are games different from traditional search problems ?
B2(a) When is backward chaining preferred over forward chaining ?
B2(b) List the distinguishing characteristsics of problems in AI. Explain any one of them
B2(c) Put the following axiom in clause form
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
C1. It is required to develop an expert system to assist customers in buying a PC. It will utilize the customer requirements and budgetary limits to make suggessions to the customer. You may make necessary assumptions about domain knowledge. List a sample set of 6 rules and discuss the process of drawing out production rules, how they will be used in inference and how the system can be improved.
NOTE: At least two electives shall be offered every year and students shall have full freedom in selecting their elective. However, if the number of students opting for an elective is less than 5, the faculty may decide to not run the course and transfer students to the other elective (or electives of their choice).
…
BSC 504B Mobile Technologies (Elective)
1. AIMS:
• To introduce wireless application protocol technology and applications
2. OBJECTIVES:
• To introduce WAP
• To introduce technology of mobile phones and pocket computers
• To introduce applications of WAP
• To impart skills in WML and SDK
3. SYLLABUS
Module-I: Basic concepts of WAP, WAP Client, WAP browser, working of WAP application, basic advantages, various applications, WAP Project elements
Module-II: The WML language - character set, variable types, cards elements, attributes, entities, WML variables and contexts, tasks and events, WML user interaction, WML timers, Decks, templates, cards, Text and image formatting. handling audio.
Module-III: WML Script Language: Character set, data types, identifiers, functions and events, operators, expressions, program control, standard libraries, browser library
Module –IV: WAP application development with WML and WMLScript, a calculator and a game development. SDK for WAP development.
Module-V: Emerging topics in mobile communications – technology convergence in mobile phones- GSM standard telephones, WAP Gateway
4. REFERENCES
4.1 Core References
Martin Frost, Learning WML and WMLScript, O’Reilly, ISBN-81-7366-317-3, Rs 125
4.2 Additional References
S. Ruseyev, WAP Technology and Applications, Eswar Press, ISBN 81-7874-005-2, Rs 295
4.3 Internet resources:
www.bitpipe.com Free White Papers and Reports on Wireless & Mobile Computing.
http://www.managingchange.com/mediums/mobile/overview.htm
www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/vk5/report.html: Mobile computing
www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/vk5/article1.html
www.cs.berkeley.edu/~randy/Courses/CS294.S96/MobiComp.pdf
http://net.pku.edu.cn/mobile/L1-introuction.ppt
www.phone.com for downloading SDK
www.nokia.com
5. NOTE ON CURRICULAR TRANSACTIONS:
Free Simulators are available for experimenting WML and WML Script programs. Student seminars may be given for module 5.
6. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions (10-20) should be of objective type and should contain both analysis and synthesis opportunities.
6.2 Assignments: Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses. Tasks like simple English dictionary through mobile phone, fashing a mobile image gallery etc may be included in the tasks.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without Section C
6.4 End-semester assessment
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
NOTE: At least two electives shall be offered every year and students shall have full freedom in selecting their elective. However, if the number of students opting for an elective is less than 5, the faculty may decide to not run the course and transfer students to the other elective (or electives of their choice).
BSC 504C Embedded Systems (Elective)
1. AIMS:
• To expose students to basic concepts of embedded systems along with its hardware and software underpinnings.
2. OBJECTIVES:
• To introduce embedded systems architecture
• To introduce embedded operating systems
• To introduce embedded system software development using C
• To introduce various applications of embedded systems
3. SYLLABUS
Module –I: Introduction to Embedded Systems, Stand-alone and real-time embedded systems, network appliances and mobile devices, Requirements of embedded systems, Embedded processors, memory, OS, programming languages and tools
Module-II: Hardware Architecture for embedded systems: Processors, micro-controller, microprocessor, DSP processor, memory, ADC and DAC, Display units and keypads, communication interfaces
Module III: Embedded systems development: EPROM programmer and eraser, Embedded system development process, software development environments.
Module-IV: Embedded OS: Windows XP and open source OSs, Real-time OSs: RTLInux and eCOS, Mobile OSs, Programming in C and assembly for embedded systems. Emulators
Module V: Applications of embedded systems: hand-held devices, consumer electronics, control systems, biomedical systems, data communication. Recent developments, System on a chip, Smart cards.
4. REFERENCES
4.1 Core References
Dreamtech Software Team, Programming for embedded systems, Wiley Dreamtech India, ISBN 81-265-0296-7, Rs 399/-
4.2 Additional References
Daniel W Lewis, Fundamentals of embedded software, Pearson Education, ISBN 81-7808-604-2, Rs 150/-
4.3 Internet resources:
www.vissim.com simulation and embedded system design software (free)
5. NOTE ON ASSESSMENT:
The continuous assessment for this course will be based on the following components:
• 3 quizzes (best of 5 will be chosen) – with 10% weightage each
• 1 assignment – with 30% weightage
• 1 test paper- 40% weightage
6.1 Quiz
Quiz will be based on each module and will ideally be conducted at the end of the concerned module. The questions should be of objective type and should contain both analysis and synthesis opportunities.
6.2 Assignment
Assignment should consist of carefully chosen activities where students not only solve problems but also are required to critically analyse their results. For some tasks, extra research should be applicable. Assignment should contain sufficient guidelines on the effort expected from the students. See examples of First Semester courses.
6.3 Test Paper
This could be modeled after the question paper for the Final assessment, but of maximum 2 hours and without section C.
6.4 End-semester assessment
Section A: 10 out of 13 questions(at least two questions from each module), 10 x 3 = 30
This section should give an opportunity for the student to demonstrate his/her knowledge
Section B: 5 out of 8 questions. (two questions from each module) 5 x 6 = 30.
This section should be designed to test the application skill of the student in a standard situation
Section C: 1 out of 2 questions. (Could be from any specific module/ covering more than one module)1 x 15 = 15 This section should present a challenge, an unstructured, non-standard problem.
NOTE: At least two electives shall be offered every year and students shall have full freedom in selecting their elective. However, if the number of students opting for an elective is less than 5, the faculty may decide to not run the course and transfer students to the other elective (or electives of their choice)
BSC 505 Social & Environmental Awareness
1. AIMS:
To create better social and environmental awareness among students
2. OBJECTIVES:
On completion this course, student should:
• Have better awareness and concern about current social issues
• Develop a healthy respect and sensitivity to environment
• Develop pride in social and environmental activism.
3. SYLLABUS
This course addresses the concern that students who learn hi-tech subject like Computer Science move away from the ground realties of the society and from issues of common concern to the society. The activities under this course need not necessarily be related to Information Technology but it can also be designed in such a way as to be related to IT. The course will involve activities which will go towards achievement of objectives of the course. The following are the suggested topics and activities which are only indicative of the possibilities:
Topics:
Poverty Eradication
Gender Discrimination
Caste Discrimination
Corruption
Female foeticide
Violence and sex on media
Digital divide
Plastic wastes
Noise pollution
Drug abuse
Alchoholism
Communalism
Pesticides
Water conservation
Cultural Neutralisation
Child workers
Mediocrity
Problems of the aged
Militant trade unionism
School dropouts
AIDS
Life style diseases
Unemployment
Internet addiction
Activities:
(a) Group work:
• Organising class seminars in which students make presentations on social and environmental issues
• Organising institutional level seminars inviting external experts
• Organising poster campaigns on selected issues
• Organising exhibitions on selected issues
• Organising mass petitions
• Planting trees
• Ensuring that the campus is plastic-free/drug free
(b) Individual activity
• Interviewing experts/concerned and documenting the same
• Writing articles in news papers/magazines on selected issues
• Visiting sites to report on problems/solutions
• Preparing and distributing leaflets, emailing thought provoking animations
4. Readings
Lester R Brown, Plan B: rescuing a Planet under stress and a civilization in trouble, Orient Longman, ISBN 81-250-2691-6, Rs 330/-
Kurien Joseph & R Nagendran, Essentials of Environmental Studies, Pearson ISBN 81-297-0489-6, Rs 225/-
5. Internet Resources
http://www.cseindia.org - Environment
http://www.panda.org - Wildlife Conservation Site
http://www.downtoearth.org/
http://www.earth-policy.org/
http://www.earthsummitwatch.org/
http://www.foodfirst.org/
http://ecosys.drdr.virginia.edu/ - WWW Virtual Library: Environment
http://www.digitaldivide.org/ - DigitalDivide
http://www.cpsr.org/home - CPSR: Computer Professionals for Social Responsibility
http://www.awc-hq.org/ - The Association for Women in Computing
6. NOTE ON CURRICULAR TRANSACTIONS:
This course should be run with the same gravity as the technical ones. The pride and prestige in students will emerge only when the teachers project this course with the seriousness it deserves. Teachers should not assume that they are knowledgeable in all the above topics. It is suggested that they join the students as a team in the above activities. For group work, students should not be handpicked by teachers, but always should be selected by drawing lots. It may also be noted that inclusion of some of the above topics comply with instructions of the Hon. Courts of India and also incorporate suggessions of Ministry of Health and Family Welfare, Govt. of India
7. NOTE ON ASSESSMENT:
The assessment for this course will be completely internal. There shall be three assessment components. A set of at least 2 different activities shall be chosen as two assessment components, of which one should be an individual activity. For group activities, there shall be equal weightage for enthusiastic involvement and performance. As the third assessment component, each student shall submit a report (not less than 10 pages) in which they will document in their own words reflections about at least 3 issues other than the ones they took up.
BSC 506. Web Technology Lab
1. AIMS:
• To give hands-on exposure to various tools and languages required for technical and creative design of web sites
2. OBJECTIVES:
To practice moderately complex use of the following scripts/languages/technologies:
• HTML, DHTML, CSS,
• Javascript,
• CGI Script, Perl,
• ASP and JSP.
3. SYLLABUS
The laboratory work will consist of 15-20 experiments
1. Practicing basic HTML tags, text tags test syles, paragraph styles, headings, lists
2. Tables in HTML, Frames in HTML, nested frames, Link and Anchor Tags
3. Including graphics, video and sound in web pages, including Java applets
4. Layers & Image Maps
5. Creating animated Gifs, simple flash animations
6. Cascading Style sheets
7. DHTML
8. Creating and browsing XML database
9. Installing VRML plugins and viewing VRML source files
10. HTML forms and Fields
11. Exercises covering basic introduction to perl
12. Installing web server, setting CGI, connecting HTML forms to Perl Scripts (CGI programming)
13. Exercises covering basic introduction to Javascript
14. Exercises covering basic introduction to Java Servelets
15. Exercise involving JDBC
16-20: Development of a web site involving a variety of tools practiced above
4. REFERENCES
4.1 Core References
• V.K. Jain, Advanced Programming in Web Design, Cyber Tech Publications, ISBN 81-7884-019-VII [Rs 360/-]
4.2 Additional References
• H M Deitel, P J Deitel & A B Goldberg, Internet and Worldwide web programming: How to Program, 3/e, Pearson Education, ISBN 81-297-0408-0, Rs 495/-
5. NOTES ON CURRICULAR TRANSACTIONS:
Students should be presented with 5-10 questions for each experiment where they should guess the outcome of a syntactic/semantic modification in the program and then test it out and discuss the result. Students shall be supplied with handouts for each experiment specifying the aims and objectives of the experiment, specific tasks to be done, and questions to be answered. A few samples are given below:
1. HTML Sample
Country | Capital |
Iran | Tehran |
China | Beijing |
Note:
i. replace
America | Washington |
capital | <><><><><><><><><><><><><> Comments:……………………………………………………………………………………. 2. Javascript sample
Name Age Observations:……………………………………………………………………………. Note: Replace with Observations:……………………………………………………………………………. Note: Replace onMouseOver with onSelect and try selecting text inside the field Observations:……………………………………………………………………………. Note: Replace on onSelect with onFocus and try clicking inside the fields, one by one Observations:……………………………………………………………………………. Note: Replace on onFocus with onBlur and try clicking inside the fields, one by one Observations:……………………………………………………………………………. Note: Replace on onBlur with onChange and try typing inside the field Observations:……………………………………………………………………………. Note: Replace f1() with window.close( ) Observations:……………………………………………………………………………. 3. CSS Type the following program and try the suggested changes to study FONT/TEXT definitions.