You are on page 1of 32


(Computer Science)
This is an integrated course of 3 yrs. duration. After completion of course a candidate can enroll for a Post Graduate Degree Course of 2 yrs. duration leading to a Master of Science in Computer Science (M.Sc. Computer Science Degree). Eligibility 10+2 Science Candidates with 50% marks (at one & the same sitting) Mathematics at 12th level. Admission Criteria HSC Marks + College Entrance Test (CET) + Personal Interviews. Duration The course shall be a full time course. The duration of course shall be spread over 3 yrs. The course shall consist of 20 papers. Each paper will be of 100 marks Theory and 50 marks Practicals / Tutorials. Project will be evaluated for a total of 20 marks. Total theory Max marks / Passing Total practical / tutorial Max Marks / Passing *** 150 (each paper of 25) (Practical 25 /10) 150 (each paper of 25) (Practical 25 /10) 300 (Practical 50 /20)

B.Sc. Computer Science - Year I


SUBJECT : Computer Organization Introduction to microprocessors and Computer Architecture Periods per week 1 Period is 50 minutes Lecture TW/Tutorial/Practical

Paper I - Section I Paper I - Section II 3 3 Hours Marks 50 40

& with

Evaluation System

Theory Examination TW/Tutorial/Practical

SECTION I INTRODUCTION: Computers: History of Computers and their classification Basics of modern-day computer system: View of a computer as an integrated system, VonNeumann machine, block diagram of a computer system. Components of modern-day computer: - CPU, Memory, Input/output devices. Units of measuring memory. Working of a computer. Hardware and Software related to computer. 1. Information - Definition, Characteristics & Interpretation, Data & its logical & physical concepts, program and instruction: - binary instructions, minimum set of instructions. Number Systems:- Binary, Decimal , Octal, Hexadecimal and their interconversions, Computer Arithmetic:- Binary addition and subtraction using signedMagnitude, 1s complement and 2s complement. Binary multiplication and division. Flotation point representation and arithmetic, arithmetic through stacks. Codes for character representation: - BCD, Excess-3, Gray code. Computer Operation:- Instruction Cycle, Program flow of control with and without interrupts. 2. Digital logic circuits: Booleah algetfra: Basic Identities of Boolean Algebra, Boolean function Logic Gates: - AND, OR, NOT, NOR, NAND, EX-OR, EX-NOR operations and their truth table. Minimization of gates by K-rnaps. Quine - McClusky maps. Multiplexers (MUX):-Working of MUX, Implementation of expression using MUX. Demultiplexers (DEMUX):- Implementation of expression using DEMUX, Decoder. Circuits: - Half- Adder, Full Adder, Half Subtracter, Full Subtracter, 2-bit by 2-bit Multiplier, Various Code converters.

First Year (Seven Subjects) Second Year (Seven Subjects) Third Year (Four Subjects)

550 (each paper of 100) (Theory 75 / 30) 550 (each paper of 100) (Theory 75 / 30) 400 (Theory 100 / 40)

FLIP FLOPs: - Concept of Sequential circuit, S-R, J-K , Preset & Clear, Master Slave J-K, D , T Flip Flops, their truth tables and excitation tables., Conversion from one type to another type of Flip Flop. Registers. Interconnection structure between CPU, memory and input/output devices. 3. Basic Organisations: Memory organisation: Primary memory: - RAM, ROM, EPROM, Secondary memory: Magnetic-Floppy and Hard disks. Optical memory: - CDROM, WORM, Concept of Virtual Memory and Cache Memory and why are they needed.


1. 2. In order to take the practical a lab session similar to the given practical can be taken to initiate the thinking required for the practical. At least fourteen practicals (seven from each section) should be completed in a year. The practicals TAKEN should be recorded in a journal maintained for the purpose. The concerned teacher and the head of the department should certify the said journal. List of Practicals for paper I - section I 1) 2) 3) 4) 5) 6) 7) 8) 9) Demo practicals on various internal and external parts of computer and their interconnection/working. Demo/hands on practical on assembling the PC. Study of Multiplexer Study of Decoder/DMUX Study off flip-flopps Study of Counters Study of Universal shift registers. Study of Universal logic circuit using MUX Study of 4 bit full adder.

Input/output organization: Input/output devices. Input/output interface, asynchronous data transfer, modes of data transfer, Direct memory access, I/O modules. CPU organization: Functions of CPU, General register organization, Instruction sets, and examples of instruction set, addressing schemes, Instruction formats. SECTION II 4. Introductiun to 8085 microprocessor: - Organization of Microprocessor based system, 8085 up Architecture, Concept of Address line and Memory interfacing, Address Decoding and Memory Interfacing, 8085 Programming Model, Instruction Classification, Instruction Format, Stack and Subroutines, Developing Basic 8085 programs. Organization & Architecture, Structure & function of a computer system. System Buses: - Computer Components, Computer function, PCI: - Features of PCI bus, Why PCI bus is needed? Concept of PCI Arbitration. InternajJyiemory: - Concept of Cache Memory, Methods of Cache Mapping, Concept and need for Cache coherency. External Memory: - RAID. Input / Output - I/O Modules (What are I/O modules? Why do we require them? Etc.), Concept of Programmed I/O, Concept of Interrupt Driver I/O, DMA. Operating System Support: - Basic Concepts, Batch, Multiprogramming and TimeSharing, scheduling, Scheduling, Memory Management. CPU Organization - Register Organization (Classification of registers), Instruction Cycle, Instruction Pipelining. 8. 9. Concept of Parallel processing: - Multiprocessing: - Organization, Time-Shared Bus, Multiport memory, Central Control unit, Multi processors. Architecture and organization of 8086, functional block diagram of Intel 8086, Bus Interface unit, Execution unit, general registers, segment registers, pointers and Index registers.



10) Implementation of Boolean equation, using AND, OR, NOT, NOR. NAND, EX- OR, EX-NOR. Verification K map methods for minimizations using AND, OR, NOT, NOR, NAND, EX-OR, EX-NOR List of Practicals for paper I - section II 1) 2) 3) 4) 5) 6) Demo practical on working of 8085. Basic programs of 8085. Study of system buses. Study of Internal memory, I/O modules, operating system support. Concept of parallel processing. Demo practical on working of 8086.


10. Introduction to assembly language, Assembly language Program development tools, sample Programs such as corn, exe.

7) Basic programs of 8086. 8) Writing simple assembly language programs.

SUBJECT : Programming in C Advanced C and C++ Periods per week 1 Period Lecture is 50 minutes TW/Tutorial/Practical

Paper II - Section I Paper II - Section II 3 3 Hours Marks 50

3. Functions:Library functions, Function prototypes, user defined functions, passing arguments to a function by value, recursive functions Storage Classes: - automatic. External, static, register variables in single file environment. 4. Arrays: Defining, initializing and processing an array, passing arrays to functions. Introduction to multidimensional arrays, arrays and strings. Strings handling functions in C. Section II Advanced C and C++ 6. Pointers in :Declarations, Referencing and de-referencing, passing pointers (passing value by reference) to functions, pointer to array. Use of command line arguments in C. Structures and Unions: Defininig and processing c structure, pointers and structures, passing structures through a function. Unions, examples to stress the use of unions instead of structures. Concept of Dynamic Allocation of Memory and functions such as malloc (), calloc (), realloc (), sizeof(), operator, free (), Linked List Bitwise operators and bit fields. Use of macros in C Handling files in C: -fopen(), fclose(), fgetc(), fputc(), fgets(), fputs(), fscanf(), fprintf(), putw(), use or structures, command line arguments in files. Comparison between C and C++ :Moving programs from C to C++, comments in C++, working with C++ compiler. C++ Fundamentals: new key words for C+ -, constants and variables. Data types, preprocessor directives, declaration in C++. Header files required in C++, use of cin and cout, >> and << operators, : : operator, ->*, . *, delete, new, endl, setw operators. Object oriented profiramminq using C++: . Characteristics of object oriented programming, function prototypes in C++, function overloading, operator overloading. Inline functions, static, virtual and friend function. Classes and Objects: Structures and Classes, Unions and Classes, Data hiding and encapsulation, Private and public members. Member functions, Accessing class members, Objects as function parameters. Static data and member functions, friend functions and friend classes. Constructors, Parameterized constructors. Destructor, Constructor overloading, Constructors with default arguments. Constructors with dynamic operations. Concept of inheritance and examples.

Evaluation System

Theory Examination TW/Tutorial/Practical Section I

5. 40

INTRODUCTION: Introduction to Software, overview of problem-solving theory and the areas where problem solving is appropriate, recognition of problems suitable for getting solution by computer, techniques of problem-solving. Concept of programming: Programming methodology: -data storage using variables, variables and constants, control structures, programming language syntax: -facilities and rules, program design: algorithmic development of a solution to a problem, producing test data. programming standards and practice: -using comments, consistent indentation and descriptive identifiers. Computer languages: - categories of programming languages. Different styles of programming: structured, event driven, object oriented. Programming in C 1. C fundamentals:.


8. 9.

Character set, Keywords and ldentifiers, constants and variables, rules for naming variables. Data Types, Declaration of variables according lo their data type such as int. float, double, char and string variables. Assigning values to variables. Preprocessor directives, Header files. Library functions. Symbolic Constants, Statements in C, basic structure of a C-program. 2. Data Input and Output functions: getchar(), getch(), getche(), putchar(), scanf(). printf(), gets(), puts(). : Operators in C: - mathematical, incremental / decremental, relational, logical, Conditional or ternary operators. Types of statements in C:Conditional statements: - if, if-else, nested if and if - else, switch, ..default statement, goto, break, continue statements. Looping statements: - while, do-while, for statements.

GENERAL INSTRUCTIONS FOR CONDUCT OF REGULAR PRACTICAL 1. 2. 3. 4. In order to take the practical a lab session similar to the given practical can be taken to initiate the thinking required for the practical. Some of the practicals can be given as assignment to the students. A student must prepare an exhaustive test data wherever required to check the program for its correctness. At least fourteen practicals (seven from each section) should be completed in a year. The practicals given below should be recorded in a journal maintained for the purpose. The concerned teacher and the head of the department should certify the said journal.

FOUNDATION COURSE Paper - I Section I Social awarness and Personality Development (for Arts, Science and Commerce students) -70 marks Section II - (A) Current Affairs (on Specified areas and period) (for Arts, and Commerce Students only) - 30 marks. (B) Communication skills including mass media in any of the following languages viz. English, Marathi, Gujarati and Hindi (for Science students only) - 30 marks. Total periods 2 for section I and 1 for Section II. Course Content : Part I : Society / Humanity / National / World Level. a) Awareness about the immediate and distant Socio-economic environment - Land and People-Confluence of cultures-Urban-rural society - Socialisation - Status of Women and related problems - Conservation of Resources - The Economic sense - Contemporary Social Reform Movements - Health and Social Welfare - Social Tensions; Communalism - New International Economic order and International peace.

Introductory session on: Getting used to C/ C++ compiler and its working. Various types of errors occurring at the time of compilation, making exe and linking...etc. Debugging techniques. Procedure followed for taking printouts of the program and output.

List of Practicals for paper II - section I and II 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Practical C fundamentals, input output functions. Practical using different statements in C. Practical Practical Practical Practical Practical Practical on use of library as well as user defined functions - part on recursive functions. using arrays. on use of arrays and functions. on strings and string handling functions. on concept of pointers.

(b) Basic human Values - Truth, Right conduct, Peace, Cooperation, equality, Justice, Patriotism, Excellence, - Emphasis on the choice to be made by and individual Self integration. (c) Current Social problems - some background, causes symptoms and remedial measures (preventive and curative). (1) Population, Poverty, Illiteracy, Unemployment. (2) Pollution (Ecological, Social, Political) (3) Intergroup conflicts (4) Corruption & Exploitation (5) Handicapped - Physical and Social (6) Addiction and abuse (smoking, drinking, drugs) - (20 periods) - 25 marks. Part II : Students immediate group environment : Educational Institution, family & peer group - personality develop through co-curricular Co-and extracurricular activity. Information and salient features of the activities like N.S.S., A.E.P., M.P.F.L., Cultural activities (Publicspeaking, Theatre, Music, Dance, Fine

Practical using structures. Practical on bitwise operators. Practical using macros Practical on file handling in C. Practical on simple C++ programs. Practicals based on concept of object oriented programming: function overloading, operator overloading, use of friend function. 15. Practical on use of classes, objects in C++. 16. Practical based on the concept of inheritance.

Arts) Sports, (individual and teem games) film appreciation group discussion, Essay, Creative writing, organising a society or club, poster competition, exhibition etc. Making the student aware of the personal qualities, activities. Viz. Self confidence, team spirit, moral effective communication, leadership, Clarity in this and self expression, Analytical ability, Critical evaluation, understanding and Comparing many sides of an issue, decision making, planning time management, understanding self in relation to others. Aesthetic pleasure through creative activities like arts performing arts. (The student shall participate in at least one the several activities listed above or any other programme or activity of social utility. The college must provide for at least five of the activities. Grades be assigned to the student according to his level of participation as A, B, C, D) and a college level Certificate be given mentioning the grade) (12 periods) Part III : Individual level 1) Criterion of maturity. Role of heredity and employment in personality development. Meaning of healthy personality. 2) 3) 4) 5) Understanding onself-real and ideal, self image Self actualisation. Realistic goal setting, planning - education, life, decision making, time management. Conflict management and stress - (coping with self development approach to stress) Commitment to self-subordinate - work - Consumer organisation Nation .. (20 periods) Teching : It is expected that in the teaching process and techniques like group discussion, brain storming session, seminars will be used for the purpose of mass participation and exchange of ideas in the class room. Arranging poster competitions exhibition conducting surveys projects etc. also expected. Section II (B) Communication Skills (For Science students) (1 period per week - 30 marks) (Total Quantum - 25 periods) Course Content : To release the objectives of the course - emphasis needs to be placed on the

acquisition and development of communications skills such as reading, writing, listening and speaking, with particular emphasis on scientific material. Reading : (i) Efficient processing of connected written discourse.

(ii) Adjusting speed and strategy to the reading material to the purpose of reading. Writing Production of coherent written discourse of various kinds (e.g. expository writing. summary writing, analytical writing, report writing, formal and semi-formal letters, telegrams, advertisement etc.) with attention to the appropriate strategies and convey of writing. 3. Speaking and Lestening : (i) Production and processing of language useful for academic professional and social life. This would imply engaging activities such as (a) listening to classroom lectures, radio and TV programming and recordings; participating in discussions, debate seminars and interviews with ease and fluency. (b) observance of appropriate conventions of speech social situations (e.g. in greetings, and in show courtesy and politeness in conversation). (ii) Acquisition of the essential elements of pronunciation including word accentuation and intonation, in order promote effective oral communication. (iii) Acquisition of vocabulary including certain sets of specialised vocabulary. Implementation : In order to focus on the development of communication skills linguistic competence it is imperative that there be no prescribed text-book for this course. Otherwise, the course will degener into a content-based course, rather than a language-based one. Teaching material would need to be carefully prepared and self keeping in view the needs of the Science students. Teaching of such skills-oriented coucses is less effectively through the lecture method. Therefore, class-room teaching must be supplemented through a rang of co-curricular activity like public speaking, reading competition, debates etc. Methodology : (a) The class-room situation is expected to be an activity - dominated one where the teacher must promote different interactions to ensure that real communication takes place in the classroom. Pair-work and group-work could used promote teacher - student/teacher-class and student-student interation. (b) Teaching aids and the teachers own resourcefulness may have to be heavily relied upon to facilitate and promote creation of contexts for communication

in the class-room. Teacher-training : The teaching of a language-based course presupposes some specialised training in language teaching. This involves awareness and understanding of reformed syllabi, methods, materials and examinations. It would, therefore, be necessary to specify that this course be taught by teachers who have undergone an orientation course in communication skills. Testing Methodology/Examination : Language tests should emphasise the actual language skills aimed at, rather than the content of the readers/texts or materials used for teaching. Language can best be tested in functional contexts and not through the analysis and paraphrase of literary texts or through the direct testing of grammar. Unseen passages must be for testing comprehension and schematic summarisation. The writing skill can be tested by providing a purpose for the task and a situation within which the student can operate. Suggested examination format : 30 marks. (a) Reading Comprehension : 10 marks Passages : to be chosen from various types of writing; factual, informative (this includes tables and rules), discursive, lescriptive, evaluative. Comprehension questions to be whether the student can understand main meaning (i.e. the meaning that rests on a proper inters pretation of vocabulary items and complex sentence structure), Interpret rules and tables, perceive the logic of presentation, judge the tone and attitude of the writer, graps suggested of implied meaning, evaluate form and detail, and make a predication used on the content. (b) Schematic Summarisation : 10 marks Suitable prose passage with a reasonably well-defined pattern of organisation to be given and the students asked to make note. An incomplete outline suggesting the general form of the notes may also be provided to assist the student. The object : to test the students ability to perceive the organisation and scope of a prose passage, assess the relative importance of particular points, and make a schematic summary of the whole. (c) Writing : 10 marks Level : The task may entail descriptive, narrative, factual, argumentative or imaginative writing. The form may be a letter (semi official, official), an eassay, a dialouge, a report, a speech, a diary, notice and the like.


SUBJECT : Discrete Mathematics Paper I : Section I Computer Graphics - I Paper I : Section II Periods per week (1 Period = 50 minutes) Lecture Practical Hours Evaluation System Theory Examination per Term per Section Practical per year SECTION - I 3 3 3 Marks 50 40

Discrete Mathematics Computer Graphics-I C++ and JAVA Data Structures GUI and Visual Basic Data Base Management

Paper - I - Section I Paper - I - Section I Paper - II - Section I Paper - II - Section II Paper - III - Section I Paper - III - Section II

Total Lectures / Subject = 80 / Year, TERM I = 40, TERM = 40 Examination Pattern for I, II, Year of B.Sc. Computer Science Marks of Theory / Paper / Term = 50 converted to 30 Marks of Practical / Paper / Year = 40 converted to 40 Total Marks will be 30 + 30 + 40 = 100 Examination Pattern for III Year of B.Sc. Computer Science University Pattern

1. Fundamentals - Sets and subsets, Operations on sets, Sequences, Division in the integers, Mathematical structures. 2. Logic - Propositions and Logical operations, Conditional Statements, Methods, of proof, mathematical induction. 3. Counting - Permutations, Combinations, The pigeonhole principle, elements of probability, recurrence relations. 4. Relations and Digraphs-Product sets and partitions, relations and digraphs, paths in relations and digraphs, properties of relations, equivalence relations, computer representation of relations and digraphs, manipulation of relations, Transitive closure and Warshalls algorithm. 5. Functions - Functions for computer science, permutation functions, growth of functions 6. Semi groups and groups - Binary operations, semigroups, products and quotients of semi groups, groups, Products and quotients of groups. 7. Languages and finite state machines - Languages, representation of special languages and grammars, Finite state machines, Semi groups , machines and languages, machines and regular languages. 8. Groups and coding - Coding of binary information and error detection Decoding and error correction. Reference: Discrete structures by B Kolman RC Busby, S Ross PHI Pvt. Ltd. Discrete structures by Liu Digital Logic John M Yarbrough Brooks/cole. Thompson Learning Discrete Mathematics and its Applications Kenneth H. Rosen TMG Discrete Mathematics for computer scientists and Mathematicians, Joe L. Mott, Abraham Kandel Theodore P. Baker, Prentice-Hall of India pvt ltd Discrete Mathematics With Applications, Susanna S. Epp, Books/Cole Publishing Company Discrete Mathematics, Schaums Outlines Series, Seymour Lipschutz, Marc Lipson, TMG

SECTION II Computer Graphics1. Introduction, What is computer graphics? Elements of graphics workstation, Video Display Devices- Raster Scan Systems, Random Scan Systems, Input Devices, Graphics Software Coordinate Representations, Fundamental problems in Geometry. 2. Algorithms: Line drawing algorithms- DDA Algorithm, Bresenhams Line Algorithm, Frame Buffers, Circle and ellipse generating algorithms-Midpoint Circle Algorithm, Midpoint Ellipse Algorithm, Polynomials and spline curves, Filling- Filled Area Primitives, Scan-Line Polygon Fill Algorithm, Inside-Outside Tests, Scan-Line Fill of Curved Boundary Areas, Boundary-Fill Algorithm, Flood-Fill Algorithm, Character Generation, Attributes of lines, curves, filling, characters etc. 3. Graphics Primitives, Primitive Operations, The Display-File Interpreter- Normalized Device Coordinates, Display-File Structure, Display-File Algorithms, Display Control, Polygons- Polygon Representation. 4. Attributes of Output Primitives, Line Attributes- Line Type, Line Width, Pen and Brush Options, Line Color, Color and Grayscale levels- Color Tables, Grayscale, Area-Fill Attributes - Fill Styles, Pattern Fill, Soft Fill, Character Attributes, Text Attributes. 5. Geometric Transformations: Matrices, Scaling Transformations- Sin and Cos Rotation, Homogeneous Coordinates and Translation, Coordinate Translations, Rotation about an arbitrary point, Inverse Transformations, Transformation Routines. 6. 2 D Viewing, The viewing pipeline, Viewing Coordinate Reference Frame, Windowto- viewport Coordinate Transformation, Two-Dimensional Viewing Functions, Clipping Operations- Point Clipping, Line Clipping, Cohen-Sutherland Line Clipping, Polygon Clipping, Sutherland-Hodgeman Polygon Clipping. 7. 3 D Concepts: Three-Dimensional Display Methods-Parallel Projection, Perspective Projection, Visible Line and surface Identification, Surface Rendering, Three-Dimensional Object Representations- Bezier Curves and surfaces, B-Spline Curves and surfaces Reference: Computer Graphics, Donald Hearn & M. Pauline Baker, Prientice Hall of India Computer Graphics, Steven Harrington, McGraw-Hill Computer Graphics (Schaums Outline Series), Roy A. Plastock, Tata McGraw-Hill Principles of Interactive Computer Graphics, William M. Newman, Robert F. Sproull, McGraw- Hill. Introduction to Computer Graphics, J.D. Foley, A. Van Dam, S.K. Feiner, J.F. Hughes & R.L. Phillips, Addision Wesley Computer Graphics by Rogers

SUBJECT : C++ and JAVA - Paper II : Section I Data Structures using C / C++ - Paper II : Section II Periods per week (1 Period = 50 minutes) Lecture Practical Hours Evaluation System Theory Examination per Term per Section Practical per year SECTION I C++ 1. Revision of C++ fundamentals: Object oriented programming using C++, Classes and Objects: 2. Object Initialization and Cleanup: Constructors, Parameterized constructors. Destructor, Constructor overloading. Constructors with default arguments. Constructors with dynamic operations Function and Operator Overloading: Function overloading, functions with default arguments, Inline functions, Unary operator overloading, Operator returning value, Binary operator overloading, Overloading arithmetic, relational and assignment operators. 3. Inheritance: Derived and base class, protected members, Overriding functions, Private, protected and public inheritance, Derived class constructors, Levels of inheritance and multiple inheritance 4. Virtual Functions and Polymorphism: Virtual Functions, Pure Virtual Functions, Abstract Classes, Using Virtual Functions, Early verses Late binding 5 Arrays. Pointers and References: Array of Objects, Initialized and Uninitialized Arrays/Pointer to Object, this pointer, Pointer to derived types, Pointer to Class Member, Reference Parameters, Passing Reference to Objects, Returning References, Independent References, Dynamic Allocation Operators, Allocating Objects 6. Introduction to JAVA: Java - Data Types, variables, Arrays, Operators. Control Statements, Introducing Classes, Inheritance, Packages and Interfaces, Exception Handling, Multithreaded Programming, I/O Applets, String Handling, Exploring java. lang, Java. util, Java. I/O, Networking, Introduction to HTML Applets, Event Handling 3 3 3 Marks 50 40

Reference: Object Oriented programming using C++, E. Balaguruswamy, TMH Complete reference to C++ by Herbert shield TMH Let us C++ by Yaswant Kanetkar BPB Starting out with C++ by Tony Gaddis PENRAM International Publishing (lndia) Practical C++ Programing OReilly Beginning C++, Ivor Horton A first book of C++, Gary Bronson Practical C++ programming, Steve Oualline Shroff Publishers Teach Yourself C++ Herbert Schildt, TMG Object Oriented design in C++ using STL, Nicholas J De Lillo, Brooks/Cole, Thompson Learning Object oriented Programming in C++, Nabajyoti Barkakati, Prentice-Hall of India pvt ltd Object Oriented Programming Using C++, Joyce Farrell, Course Technology Thompson Learning Patric Naughton, JAVA handbook, TMH, (Ch. 2-6,7,9,10,13,15) Object oriented Programming with C++ and JAVA, D. Samantha, Prentice-Hall of India pvt ltd SECTION II Data Structures using C / C++: 1. Definition of Data Structure, Data structure and analysis of Algorithms Classification of Data Structures Storage Structures: Sequential and Linked 2. Linear Data Structures: Arrays and their memory representations Queues, Circular Queue, Deque, Priority Queue Stacks and their representation, application to recursion. Linked Lists and their representation: singly, doubly, circular. Operations and applications: Implementation, Insertion, Deletion, and Concatenation, merging and reversing. Sparse matrix and its representation & implementation. 3. Trees and their representations, binary trees and their operations such as traversal, threading. 4. Graphs: Definition and terminology, sorting and searching techniques. 5. Hashing: Hash table, hashing function. References: Kruse, Leung, Tondo, Data structures and Program Design in C, Prentice Hall Aho, Hopcroft, Ullman, Data Structures and Algorithms, Addison-Wesley. Knuth Fundamentals of Algorithms (Narosa Publication) Horowitz, Sahni, Fundamentals of Data Structures, Computer Science Press.

SUBJECT : GUI and Visual Basic - Paper III : Section I Data Base Management - Paper III : Section II Periods per week (1 Period = 50 minutes) Lecture Practical Hours Evaluation System Theory Examination per Term per Section Practical per year SECTION - I 1. GUI Murphys law of G U I Design, Features of G U I, Icons and graphics. Identifying visual cues, clear communication, color selection, GUI standard, planning GUI Design Work. Visual programming Software Component Mindset-role of programming code 2. Introduction to Visual Basic Introduction Graphical User Interface (GUI), Programming Language (Procedural, Object Oriented, Event Driven), The Visual Basic Environment, How to use VB compiler to compile / debug and run the programs. VB Controls Textboxes, command buttons, Frames, Check Boxes , Option Buttons, .Images, Setting a Border & Styles, The Shape Control, The line Control, Working with multiple controls and their properties, Designing the User Interface, Keyboard access, tab controls, Default & Cancel property, Coding for controls. 3. Variables, Constants, and Calculations Variables, Variables Public, Private, Static, Constants, Data Types, Naming rules/ conventions, Constants, Named & intrinsic, Declaring variables, Scope of variables, Val Function, Arithmetic Operations, Formatting Data. 4. Decision & Conditions If Statement, If -then-else Statement, Comparing Strings, Compound Conditions (And, Or, Not), Nested If Statements, Case Structure .Using If statements with Option Buttons & Check Boxes, Displaying Message in Message Box, Testing whether input is valid or not. Using Call Statement to call a procedure. 3 3 3 Marks 50 40

5. Menus, Sub-Procedures and Sub-functions Defining / Creating and Modifying a Menu, Using common dialog box, Creating a new sub-procedure, Passing Variables to Procedures, Passing Argument By Val or By Ref, Writing a Function Procedure, 6. Multiple Forms Creating, adding, removing Forms in project, Hide, Show Method, Load, Unload Statement, Me Keyword, Referring to Objects on a Different Forms, 7. List, Loops and Printing List Boxes & Combo Boxes, Filling the List using Property window / Add Item Method, Clear Method, List box Properties, Removing an item from a list, List Box/ Combo Box, Do/Loops, For/Next Loops, Using Msg Box Function, Using String Function, Printing to printer using Print Method, 8. Arrays Single-Dimension Arrays, Initializing an Array using for Each, User-Defined Data Types, Accessing Information with User-Defined Data Types, Using List Boxes with Array, Two dimensional arrays. 9. Data Files Opening and Closing Data Files, The Free File Function, Viewing the data in a file. Sequential File Organization (Writing Data to a sequential Disk File, Creating a sequential data file, Reading the Data in a sequential File, Finding the end of a Data file. Locating a file). Trapping Program Errors, The Err Object, Random Data File Opening a random file, Reading and writing a random file (Get, Put, LOF, Seek). 10. Accessing Database File Creating the database .files for use by Visual Basic (Using MS-Access), Using the Data Control, setting its property. Using Data Control with forms, navigating the database in code (the recordset object using the movenext, movepreviouse, movefirst & movelast methods, checking for BOF & EOF, using listboxes & comboboxes as data bound controls, updating a database file (adding, deleting records) 11. Advanced data handling Displaying data in grids ( grid control, properties of grid ) , displaying the record no & record count, opening the database, validation & error trappings (locking text boxes, trap errors with On Error, file open errors ), Recordset, searching for a specific record ( findfirst, findnext, findlast, findprevious,), seek method, working with database fields, creating a new dynaset. Books: i) Programming in VB 6 by Julia case Bradley, Anita C. Millspaugh, TMH ii) Visual Basic 6.0 Programming by Content Development Group, TMH iii) The Complete Reference Visual Basic 6 by Noel Jerke , TMH

SECTION II Data base concepts and Systems 1. Introduction- Purpose of Database Systems, Views of data, Data Models, Database language, Transaction Management, Storage Management, Database Administrator, Database Users, Overall System Structure, Different types of Database Systems 2. E-R Model: Basic Concepts, Design Issues, Mapping Constraints, Keys, E-R Diagram, Weak Entity set, Extended E-R features, Design Of an E-R Database Schema, Reduction of an E-R schema to Tables 3. Relational Model: Structure of Relational Database, The Relational Algebra, The tuple relational calculus, The Domain Relational Calculus, Views 4. SQL- Background, Basic Structure, SET operations, Aggregate functions, Null Values, Nested Sub queries, Derived Relations, Views, Modification of Database, Joined Relations, DDL, Other SQL features 5. Transaction-Transaction Concepts, State, Implementations of Atomicity and durability, Concurrent Executions, Serializability, Recoverability, Transaction Definition in SQL. Concurrency Control- Lock based protocol, Timestamp based protocol, Validation based protocol, Multiple Granularity, Multi version Schemes, Deadlock Handing, Insert and Delete operations, Concurrency in index structure. Query Optimization 6. R e l a t i o n a l D a t a b a s e D e s i g n - P i t f a l l s i n R e l a t i o n a l - D a t a b a s e D e s i g n , Decomposition, Normalization Using Functional Dependencies, and Normalization Using Multi valued Dependencies, Normalization Using Join Dependencies, Domain-Key Normal Form and. Alternative Approaches to Database Design 7. Introduction to SQL: The SQL language, role of SQL, SQL features & benefits, SQL Standards ( ANSI / ISO Standards, other SQL standards, ODBC & the SQL access group) SQL & networking ( centralized architecture, file server architecture, client/server architecture, multi-tier architecture) RDBMS: Data models (File management systems, hierarchical databases, network databases), relational data model ( Keys, tables, relationships), Codds 12 rules SQL Basics: statements, names ( table & column names), data types , constants (numeric, string, date & time, symbolic constants), expressions , built-in functions, missing data (NULL values)

Simple queries: The SELECT statement , query results, simple queries, duplicate rows, row selection, search conditions, sorting query results, rules for single table query processing Multi-table queries : Simple joins , Non equi-joins, SQL considerations for multi table queries (table aliases, qualified column names, all column selections, self joins), multi table query performance , the structure of the join ( table multiplication, rules for multi-table query processing), outer joins Summary Queries : column functions, grouped queries, group search conditions Sub queries & query expressions : using sub queries, sub query search conditions, sub queries & joins, nested sub queries , correlated sub queries, sub queries in the HAVING clause. Books: 1. Database Systems and Concepts, Henry F. Korth, Sliberschatz, Sudarshan, McGraw Hill. 2. DBMS by Date 3. Visual Basic 6 programing Bible, Eric Smith, IDG Books India Pvt. Ltd. 4. Visual basic 6 Programing Black Book, Steven Holzner, IDG Books India Pvt. Ltd. 5. GUI Design for dummies, IDG books. 6. SQL Server 2000 Black Book, Patrick Dalton, IDG Books India Pvt. Ltd. . 7. Visual Basic 6 Programming Blue Book by Peter G. Aitken - Technology Press 8. The complete reference SQL by James R. Groff & Paul N. Weinberg TMG 9. SQL a complete reference by Alexis Leon & Mathews Leon TMG 10. Microsoft SQL Server 7.0 Bjeletich, S.: Mable. G. Techmedia References: Using visual basic 6 / Reselman, Rob .Peasley, R.: Pruchniak Prentice Hall India pvt. ltd Visual Basic 6: In Record Time/ Brown, S. BPB Publication Beginning S Q L Server 2000 for Visual Basic Developers Willis thearon Shroff publishers & distributors Fundamentals of Database Systems, Elmasri and Navathe An Introduction to Database System, C.J. Date Principles of Database System, Ullman, Galgotia Publications Oracle Client Server Computing, BPB Publications Database Management Systems Majumdar/ A K Bhattacharyya, Tata Me Graw Hill Object Oriented Database Management, Kemper and Moerkotte, Prientice Hall New Jersy Object Oriented Multi Database System, Omran A. Bukhares & A.K Elmagarmid, Prentice Hall Inc. 1996

GENERAL INSTRUCTIONS FOR CONDUCT OF REGULAR PRACTICAL 1. In order to take the practical a lab session similar to the given practical can be taken to initiate the thinking required for the practical. 2. At least fourteen practicals (seven from each section) should be completed in a year. The practicals TAKEN should be recorded in a journal maintained for the purpose. The concerned teacher and the head of the department should certify the said journal. List of practicals/ tutorials/term work for Paper I Paper I : Section I Practical Practical Practical Practical Practical Practical Practical Practical 1: 2: 3: 4: 5: 6: 7: 8: Problem Problem Problem Problem Problem Problem Problem Problem solving solving solving solving solving solving solving solving session session session session session session session session on on on on on on on on topic topic topic topic topic topic topic topic 1 2 3 4 5 6 7 8

Paper I : Section II Practical 9: Working in C Graphics. Functions/Methods used in C Graphics Practical 10: DDA Line drawing algorithm Practical 11: Bresenhams line drawing algorithm Practical 12: Midpoint circle algorithm Practical 13: Midpoint-ellipse algorithm Practical 14: Polygon generation Practical 15: Polygon filling Practical 16: Animation using different line and pixel methods Practical 17: Clipping algorithms Practical 18: Creation of bezier/B-splines. List of practicals/tutorials/term work for Paper II Paper II : Section I C++ Practical 1: Simple programs to revise C++ fundamentals Practical 2: Constructor and constructor overloading, function overloading Practical 3: Operators and operator overloading Practical 4: Inheritance, multiple inheritances Practical 5: Virtual Functions and Polymorphism: Practical 6: Arrays, Pointers and References:


JAVA Practical 7: Introductory concepts and working on JAVA Practical 8: Concept of a Java class, which includes encapsulation, inheritance, polymorphism etc. Practical 9: Demonstration of the concept of a Java package and its interfaces. Practical 10: Java string handling, string sorting, concatenation, subtraction an comparison. Paper II : Section II JAVA Practical 11: Java error conditions using exception handling. Practical 12: Use of Java input / output as a set of stream classes. Practical 13 : Java Applet on the Internet / lntranet. Linear Data Structures Practical 14: Practical 15: Practical 16: Practical 17: Practical 18: Practical 19: Arrays an their memory representation

List of practicals/tutorials/term Work for Paper III Paper III - Section I Practical 1: Practical 2: Practical 3:

Use of different controls used in VB.

Practical 4: Use of different message boxes and statements used in VB Practical 5: Menus, Sub-Procedures and Sub-functions Practical 6: Multiple Forms Practical 7: Use of List Boxes & Combo Boxes, Filling the List using Property window/ Add Item Method, Clear Method, List box Properties, Removing an item from a list, List Box/ Combo Box, Using String Function, Printing to printer using Print Method, Practical 8: Use and working of Data Files Practical 9: Accessing Database File Practical 10: Advanced data handling Paper III - Section II

} }

Queues, Circular Queue, Deque, Priority Queue Stacks and their representation, application to recursion. Linked Lists Operations and applications: Implementation, Insertion, Deletion, and Concatenation, merging and reversing.

Practical 20: Sparse matrix and its representations implementation. Practical 21: Tree traversal Practical 22: Graphing algorithms

Practical 11: Write simple single table SQL queries using operators with select columns and restricting rows of output. More complex single table queries. Ordering queries and using sub-queries. Multitable queries using the join operators. Equi-joins and outer joins. Non-Equi- joins with inequalities in the join condition. Practical 12: Queries using single row numeric, character, data formatting and other complex formatting. Practical 13: Queries with aggregate functions, subtotals and selection on subtotal rows. Generate a correlated subquery. Practical 14: Create views and update them. Practical 15: Creating tables with defaults, integrity constraints, referential integrity constraints and check constraints both at the column level and table level. Inserting data in table structures and deleting tables. Practical 16: Updating tables, altering table structures and deleting tables. Practical 17: Simple reporting by formatting column headers and columns of output. Using top titles and bottom titles. Printing the report. Practical 18: Storing SQL and formatting statements in command files. Executing command files and printing the reports.



(Paper II) Foundation Course Paper II Elements of Social and Economic Life in India (for Science students only) (3 periods per week - 100 marks) (Total quantum - 75 periods) Course Content : 1. The Indian Environment : an over-view : India in Asia as a subcontinent - the land frontiers and neighbours - Window to the Indian as a tropical monsoonal country; Floods, droughts and cyclones as hazards - The variety and diversity of Resource Base. (7 periods) 2. Emergence and Making of Modern India : Historical and cultural heritage : a broad perspective - India as a land of varied cultures, linguistic and religious groups; integration as a Nation of different strata of society with particular reference to the assimilation of the underpriviledged in the National stream. (10 periods) 3. India Prior to Independence : (i) Social organisation of Rural India - the role of castes and joint family system and the weakening of these systems. 6. 5.

(a) Growth in Agricultural and Irrigation sectors; (b) Development in Energy, Power and Industry; (c) Man-power development and Welfare Measures; (d) Development in Communication; (e) Growth in G.N.P. (f) Sectorial, Social and Area Imbalances and Shortcomings. (4 + 10 = 20 Periods). India As a Secular Socialistic - Democratic State : Socio - political experiements for a new order of Indian Society - Democratic Institutions at grass root levels-Welfare State-Rural Reconstruction and Rehabilitation of hill, tribal and backward communities - Role of Free Press. (10 periods) India in the 21st Century : (i) Building a New Socio-political order - A more prosperous Rural India in an integrated national urban system.

(ii) Tasks of Education, especially Science education in National Development and Reconstruction. (iii) Applications and Commitment of Science and Technology for a brighter future : Prospects for new energy sources and inputs of development. (iv) Ecological implications, environment management and restoration of degraded areas : imperatives of a Science Policy. (4 + 4 + 4 + 4 = 16 periods) Examination Format : A combination of Essay, Short answer and objective questions.

(ii) Impacts of the British colonial rule (a) Unification of the country, through English education, institutions of civil service and judiciary, communication and rail network. (b) Commercialisation of Indian Agriculture. (c) Decling of Indian handicrafts and cottage industries, and beginning of factory industry. (d) Resource exploitation and colonial motives. (iii) Rise of National Freedom Movement - Social Thinkers and Architects of Modern India. (4 + 4 + 4 = 12 periods) 4. Contemporary India : (i) Administrative Reorganisation of States.

(ii) Four decades of Planning : Achievements and shortfalls.

The committee held several meetings to frame the syllabus of B.Sc. (Computer Science) at T.Y.B.Sc. level. After extensive discussions, the committee arrived at following conclusions: 1. The ordinances and regulations regarding: a) The standards of passing at T.Y.B.Sc. exam b) The scheme of examination c) The number of papers, practicals and marks allotted to them d) The number of lectures per paper, number of periods per paper per week, number of periods of practicals etc. Pertaining to T.Y.B.Sc. (Computer Science) will be identical to the ordinances and regulations existing and notified from time to time, which are applicable to other subjects such as Physics, Chemistry at T.Y.B.Sc. level. Hence, no separate draft of ordinances and regulations is given. 2. The committee, after deliberations decided that the titles, of the papers of T.Y.B.Sc. (Computer Science) are to be changed as given in Annexure I. The Course structure and other details are also given in Annexure I. 3. The detailed syllabus for T.Y.B.Sc: (Computer Science) is given in Annexure II. There are Six Units in each paper. If there are two sections, each section of the paper is divided in 3 Units. The detailed references are mentioned at the end of each section instead of merely giving a list of reference book at the end of the paper. It is expected that the question paper will have twelve questions, two in each unit, with internal option. The student will be required to attempt six questions, one in each unit. Thus the study of any unit in the paper may not be left as an option. 4. Annexure II also gives a list of practicals, with minimum number of practicals to be performed. 5. For the purpose of examination, the breakup of total marks for practicals (200 for Group I to IV and 80 for Applied Component) will be as follows: A) Main subject Practical Examination: Experiment I (Group I Practical) : Experiment II :(Group II Practical) : Experiment III (Group III Practical) : Experiment IV (Group IV Practical) : - PROJECT) : Journal (Group I to III) & Viva-voce on Journal 45 Marks 45 Marks 45 Marks 50 Marks :15 Marks.

B) Applied Component Practical Examination: Experiment I : 35 Marks. Experiment II: 35* Marks. Journal & Viva-voce on Journal : 10 Marks. Total 8O Marks.

*Note: 1. Expt. II examination will be in the form of demonstration and Viva-voce on project, as mentioned in the syllabus. 2. Each student must maintain a record of the experiments & projects performed, as per the syllabus and must bring the certified journals and project-reports, duly signed by the teacher concerned and the Head of the Dept. at the time of final examination. 6. Requirement of the batch size, number of students per computer in a batch and the network configuration and other details are same as mentioned in Annexure III (pages 21,22) of the earlier report of the committee. 7. As regards the lab requirement (Hardware & Software), space and time table requirements are satisfied; the colleges may have multiple batches at T.Y.B.Sc. (Computer Science) Class. 8. As already mentioned in earlier report (para 2, page 1), The Bachelor of Science (B.Sc.) with Computer Science course will have the status, as one of the subject at the B.Sc. Course. It is further clarified that adequate laboratory staff (viz. Lab. Assistant and Lab attendant) are required for conduct of B.Sc. Computer Science Practicals, on the same pattern as with the other science subjects such as Physics, Chemistry etc. For smooth conduct of practicals at F.Y., S.Y. & T.Y.B.Sc. (Computer Science), a minimum of 1 Lab. Asst. and a minimum of 1 Lab. Attendant be provided for each lab, each session, during entire period of laboratory practical session. 9. As the field of Computer Science is advancing at a rapid rate, the committee strongly recommends that a provision be made for an automatic review of Computer Science syllabus more frequently i.e. every two years. 10. In view of fast changing nature of the subjects in Computer Science Course and certainty of non-availability of in-house faculty to teach them (Which is a global and industry-wide phenomenon); it is strongly recommended that the Orientation Courses be conducted in the summer vacation before the new T.Y.B.Sc. Course syllabus is introduced and also after review/revision of the syllabi in the subject of Computer Science at F.Y., S.Y. & T.Y. B.Sc. levels.

Total 200 Marks.



11. The committee strongly recommends that workshops be held periodically to discuss: (a) New/Current topics in the syllabus and changes required in the syllabus. (b) Uniformity in teaching and implementation of the syllabus, Difficulties encountered in teaching and implementation of the syllabi. (c) Methods to be adopted for assessment and the examination etc. 12. The Committee strongly feels that without active support, including the financial support for holding these Orientation Courses & Workshops; the implementation of the syllabus will be jeopardized. This observation stems from the facts that i) The Computer Science is a new and recently introduced subject at B.Sc. level, unlike well entrenched subjects like Chemistry, Zoology etc. and ii) Special nature of the subject needs preferential treatment and nurturing. 13. The Committe wishes to thank numerous faculty members, of different colleges, for their interest, discussion and valuable suggestions. 14. The Committee puts on record the valuable help rendered by A.A. section of the University and all the facilities extended. I, as a convener, thank all the members of the Syllabus Committee for their active Co-operation, without which the task would not have been completed.






NOTE : For students offering 3 units of computer science at T.Y.B.Sc., following will be the course structure. Paper I & Paper II (of six units) and Group l, Group II practicals (of six unit course) will form the course contents.




UNIT - I: 1.1 L a n g u a g e P r o c e s s o r s : I n t r o d u c t i o n , L a n g u a g e P r o c e s s i n g A c t i v i t i e s , Fundamentals of Language Processing & Language Specification, Language Processor Development Tools. 1.2 Data Structures for Language Processing: Search Data structures. Allocation Data Structures. 1.3 Scanning & Parsing. (Total 14 Lectures) Ref: DMD: Chapter 1, 2 & 3. UNIT - II: 2.1 Assemblers: Elements of Assembly Language Programming, A Simple Assembly Scheme, Pass Structure of Assemblers, Design of a Two Pass Assembler, A single pass Assembler for IBM PC. 2.2 Macros and Macro Processors: Macro Definition and Call, Macro Expansion, Nested Macro Calls, Advanced Macro Facilities, Design of a Macro Preprocessor. 2.3 Linkers: Relocation and Linking Concepts, Design of a Linker, Self-Relocating Programs, A Linker for MS-DOS, Linking for Overlays, Loaders. 2.4 Software Tools: Software Tools for Program Development, Editors, Debug Monitors, Programming Environments, User Interfaces. (Total 16 Lectures) Ref: DMD: Chapters 4, 5, 7 & 8. :

UNIT - III: Compilers: 3.1 Statement of Problem: Recognizing Basic Elements, Recognizing Syntactic Units and Interpreting Meaning, Intermediate form. Arithmetic statements, NonArithmetic statements. Non-executable statements. Storage Allocation, Code Generation, Optimization (Machine-independent), Optimization (Machine Dependent), Assembly Phase, General Model of the Compiler. 3.2 Phases of the Compiler: Lexical Phase, Syntax Phase, Interpretation Phase, Optimization, Storage Assignment, Code Generation, Assembly Phase, Passes of the Compiler. 3.3 Data structures: Introduction. Implementation, Recursion, Call & Return Statements, Storage Classes, Static, Automatic, External Control & Based Storage. Implementation, Block structure. Non-local Go Tos, Interrupts, Pointers. 3.4 Interpreters: Use & Overview, Pure & Impure Interpreters (Total 18 Lectures) Ref: For Compilers: JD: Chapter 8. Additional Ref: DMD: Chapter 6. Ref: for Interpreters: DMD: Chapter 6. Main References: 1. DMD: Systems Programming & OS by D. M. DHAMDHERE (2 nd Revised Edition) TMH. 2. JD: Systems Programming by John Donovan TMH.




PAPER-I SECTION-II Data Communication and Networking Unit IV: Introduction to Data Communication (18) 4.1 Data communication model, data communication networking, protocols and protocols architecture WS-1.1 to 1.4 4.2 Data transmission: concepts and terminology, analog and digital data transmission, Transmission impairments-attenuation, distortion, noise, channel capacity. WS 2.1 to 2.3 4.3 Transmission media: guided transmission media, wireless transmission WS 3.1 and 3.2, FB-7.1 to 7.3 4.4 Signals: Analog, digital signals FB: 4.1 to 4.5 4.5 Data communication interface: asynchronous and synchronous transmission, line configurations, interfacing WS 5.1 to 5.3 FB-6.1 to 6.4 4.6 Data link control: flow control, error detection, error control, HDLC, other data link control protocols. WS 6.1 to 6.5 FB 9.1 and 9.3, 10.1 to 10.3,11.1, 11.4 4.7 Multiplexing: FDM, Sync TDM. Statistical TDM WS- 7.1 to 7.3, FB 8.1 to 8.2 UNIT V Network: 5.1 LAN architecture. Bus /Tree LANs, Ring LANs, STAR LANs, WS 12.1 to 12.4, FB 2.1 to 2.5 5.2 LAN systems: Ethernet and fast Ethernet (CSMA/CD), Token ring WS 13.1 and 13.2, FB 12.1 to 12.4 5.3 Bridges: bridge operation, routing with bridges WS 14.1 and 14.2 FB 20.1 to 20.3 5.4 Switching: Circuit switching, packet switching, FB 14.1 and 14.2 UNIT VI. Communication architecture and protocols: (16) 6.1 Protocols and architecture: Protocols, OSI, TCP/IP, TCP/IP protocol suite WS 15.1 to 15.3 FB 3.1 and 3.2 6.2 Principles of internet working, CLNP, the Internet protocol WS 16.1 to 16.4 FB 23.1 and 23.2 6.3 Security-requirements and attacks, DES. WS 18.1 and 18.2 (16)

6.4 Electronic mail: SMTP and MIME, URL, URI, HTTP WS 19.3 to 19.4 FB 23.4 and 23.5 6.5 ISDN: an overview, ISDN channels. User access. Broadband ISDN WS A-1 to A-3 FBI 5.1 to 15.5 6.6 WAP: Wireless Application Protocol-Introduction. Main ref: i) Data and computer communication by Willam Stallings PHI (5 th ed) ii) Data communication and networking by Behrouz Forouzan (TMH 1999) Additional References : i) Computer networks by Andrew S Tanenbaum (PHI) ii) Local area Networks by Keiser G E (TMH)


Paper II Section I Advanced Java -I Unit I Explanation of the statement: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable, high performance, multithreaded dynamic language. Explanation (at the overview level) of the following terms: Plug-ins, Java APIs, jdk, J2SE, J2EE, J2ME, JVM, Java Hotspot, JRE, HotJava, JAR, AWT, Swing, Applets, Servlets, JSP, Lava Beans, EJB, RMI, JDBC, JMI, Java 2D, Java 3D, DND, Java IDL, Java Collections, RSA Signatures, X. 509 Certificates, JPDA. Differentiate between jdk 1.0, jdk 1.1, jdk 1.2, J2SE, J2EE, J2ME and J2SE v 1.3. Overview of main improvements and additions in each version. Information about deprecated classes and methods till the Java 2 platform. Support or refute the statement: Since jdk 1.1, there have not been many enhancements in the Java language specification, but there improvements have taken place in the Java APIs. Differences between: (i) Java and C, (ii) Java and C++, (iii) Java Language and Java Platform. Review of the Java language. Java keywords and identifier naming conventions. Java primitive types. Their constants, variables, final variables, operators, expressions, assignments, statements and blocks. Type conversions and promotion rules between primitive types. The Java reference types. Strings, arrays and classes. Differences in creating, copying and comparing primitive types and reference types.



Java classes and objects. Difference between the two. Variable default values. Method signature. Class methods and variables, instance methods and variables. Object constructor methods. Method and constructor overloading. The this keyword. The finalize() method. Using objects as parameters. Methods returning an object type. Access control. Public, private and protected instance variables. Public, private, protected, static, abstract, final, native and synchronized methods. Nested and inner classes. Subclasses and inheritance. Subclass constructors, default constructor and constructor chaining. Superclass variable referencing a subclass object. Using superclass members. Overriding superclass methods. Preventing method overriding and class inheritance. Abstract classes. Java Garbage collection. Java packages. Defining a package and giving it a unique name. Access control and protection in packages. Importing packages in programs. Java interfaces. Defining, implementing, accessing, applying and accessing interfaces. Java strings. String handling - methods in String class. Java one and multi-dimensional arrays. Object literal syntax for creating strings and arrays. Exception handling in Java. Java input/output. Unit References: 1. 2. 3. 4. S.Y.B.Sc. Java Syllabus Text Books Code : J2CR (Ch. 1-13) Code PWJ: (Appendix A, B, C, D, G) The Java Platform - A White Paper, Douglas Cramer, Website, JavaSoft. The Java Language Environment - A White Paper, James Gosling and Henry McGilton, Website, JavaSoft. 5. Details of Java2 jdk vl .3 from the Website. 6. Code : J2CR (Ch. 6-10).

Unit III GUI, Windows and Events. Technology of a GUI, AWT & Swing APIs. Programming with the JFC, Swing API components, J Component class, Windows dialogs and panels, Layout managers (Border, flow, grid, grid-bag, card and box layouts. Tabbed panes, split panes, positioning the components), labels, buttons, and check boxes. Event listeners and adapters. Menus, tolbars and actions. Sliders, progress bars and scroll bars. Lists and combo boxes. Text entry components. Choosers. Tables and Trees. Painting 2D graphics. References 1. Code: JPAT. (Ch. 12,13). 2. Code: LJ. (Ch. 13-18) ****************** Paper II Section II Advanced Java - II Unit IV Java Beans. Java Beans component model. Bean development environments. Using the Sun Bean Box. Creating a Java Bean class. Exploring indexed, bound and constrained properties. Adding custom event types. Creating Java Bean class with events. Supplying additional Java Bean information. Providing a custom property editor. Creating a Java Bean class with BeanInfo class. Creating a Java Bean class that uses the Bean Context API. EJB overview. References 1. Code: JPAT. (Ch. 15). 2. Code: J2CR. (Ch. 25). 3. Code: LJ. (Ch. 19). Unit V Network Programming. Working with URLs. Working with TCP/I and. Datagram sockets. Developing a remote class of objects, developing RMI client and server classes. JNDI, Java IDL and CORBA. Java Client side programming. Applets. Using the java.applet package. Extending the Applet class. Ticker message applet. Adding sound and images to applets. Understanding applet security issues. Signed applets. Permissions and policy files. Packaging applets in jar files.

Unit II Java. lang package. Simple type wrappers. Number, double, float, byte, short, int, long character, boolean, process and void. The Math class. Java Utility and Collection Clauses. Java.util package. The collections framework (Interfaces in the collections framework, traversing collections with iterators, general purpose implementations, arrays as collections, algorithms, wrappers as implementations, extending the abstract implementations, legacy collections framework classes, traversing collections with enumerations). References 1. Code: JPAT. (Ch. 10). 3. Code: LJ. (Ch. 9). 2. Code: J2CR. (Ch. 14, 15).



References 1. Code: JPAT. (Ch. 16,14). 2. Code: J2CR. (Ch. 18). 3. Code: LJ. (Ch. 11,20). Unit VI Java Server side programming. Serviets. Building a dynamic Web site. Understanding the http protocol. Writing serviets. Servlet API. Writing serviets to receive requests and send responses. Guidelines for server driven Web sites. JSP Server processing of JSPs. Java programs in JSPs. Applying MVC principles using JSPs and JavaBeans. JDBC API Loading database drivers. Establishing a database connection. Issuing dynamic SQL statements. Processing a Result Set. References 1. Code: US. (Ch.3-5). 2. Code: J2CR. (Ch. 27). 3. Code: JPAT. (Ch. 17). Main References 1. Code: JPAT. Java Programming Advanced Topics, Joe Wigglesworth and Paula Lumby, Course Technology (Thomson Learning), (2000). 2. Code: J2CR. Java 2 - The Complete Reference 3/e, Patrick Naughton and Herbert Schildt, TMH, (1999). Additional References 1. Code: LJ. Learning Java, Patrick Neimeyer & Jonathan Knudsen, SPD OReilly, (2000). 2. Code: PWJ. Programming with Java - A Primer, E Balagurusamy, TMH, (1998). 3. Code: IJS. Instant Java Serviets, Phil Hanna, TMH, (1999).

1.2 Process Description & Control Process states. Process Description, Process Control, Processes & Threads, Examples of Process Description & Control. WS: Chap. 3.1 to 3.6 1.3 Concurrency: Mutual Exclusion & Synchronization Principles of Concurrency, Mutual Exclusion-Software Approaches, Mutual Exclusion-Hardware approaches. Semaphores, Monitors, Message Passing, Readers/Writers problem. (Total: 15 Lectures) WS: Chap. 4.1 to 4.8 Unit-II 2.1 Concurrency: Deadlock & Starvation Principles of Deadlock, Deadlock prevention. Deadlock Detection, Deadlock Avoidance, Dining Philosophers Problem, Example Systems. WS: Chap 5.1 to 5.7 2.2. Memory Management &-Virtual Memory Memory Management Requirements, Loading programs into memory. Virtual Memory: Hardware & Control Structures, Operating System Software, Examples of Memory Management. WS: Chap 6.1 to 6.3 & 7.1 to 7.4 2.3 Processor Scheduling Types of Scheduling, Scheduling Algorithms. Multi processor Scheduling, Realtime Scheduling, Example Systems. WS: Chap. 8.1, 8.2 & Chap 9.1 to 9.3 (Total 18 Lectures) Unit-III: ****************** Paper-III Section-I Operating Systems 3.1 I/O Management & Disk Scheduling I/O Devices, Organization of the I/O Function, OS Design Issues, I/O Buffering, Disk I/O, Examples. WS: Chap. 10.1 to 10.7 3.2 File Management Overview, File Organization & Access, File Directories, File Sharing, Record Breaking, Secondary Storage Management. Example-UNIX System-V. (4 Lectures) WS: Chap. 11.1 to 11.8

Unit - I 1.1 Operating System Overview Operating Systems objectives & functions. The evolution of operating Systems, Major Achievements, Examples of Operating systems.. WS: Chap- 2.1 to 2.5



3.3 Client Server Computing WS: Chap. 12.3 3.4 Graphical User Interface & OS Introduction, Windowing Technology, GUI, Relationship between the OS & Windows, Components of GUI, Requirement of a Windows based GUI, MSWINDOWS & NT. (4 Lectures) AG: Chap. 12.1 to 12.7 WINDOWS-2000 & Windows Millennium Edition. Introduction & New Features, Migrating to Windows 2000 Introduction & New Features of Windows Millennium Edition. (Total: 21 lectures) MM: Chap. 1 & 2. ME: Chap. 1 & 2. ******************

4.5. Shell Operations: The Command Line, Standard I/O & Redirection, Pipes, Shell Variables, Shell Scripts, User defined Commands, Jobs: Background, Kill & Interruptions. Delayed Execution. RP: Chap. 5 (Total Lectures: 16) Unit V 5.1 Linux File Structure: Linux Files, File Types, File Classifications: the file & od commands. The File Structure, Home Directories, Path Names, System Directories. Listing, Displaying & Printing Files. Ls, cat, more & lpr commands. Managing directories: mkdir, rmdir, 1s, cd & pwd. Nested directories. File And Directory Operations: find, cp, mv, rm, & In. RP: Chap. 6 5.2 File Management Operations: Displaying File Information: Is -1, File & Directory permissions: chmod. Setting Permissions: Permission Symbols, chown & chgrp. Mounting & Formatting Floppy Disks, Mounting CD-ROMs, Mounting Hard Drive Partitions: Linux & MS-DOS. The fstab file. Lisa and fstool, NFS and /etc/exports, NIS, Archive Files and Devices:tar, Xtar. File Compression: gzip. Installing Software from Compressed Archives: .tar.gz. Downloading Compressed Archives, Compiling Software, The mtools Utilities: msdos, DOS & Windows Emulators: DOSemu, Wine & Willow. RP: Chap. 7 5.3 Internet Servers: Starting Servers, Server init Scripts, inetd Server Management, FTP Server, The Apache Web Server. RP: Chap. 12 (pages 451 to 477). 5.4 Remote Access: TCP/IP Remote Access Operations: rwho, rlogin. rcp, and rsh, TCP/IP Network System Information: rwho, ruptime, and ping. Remote Access Permision: rhosts. Remote Login: riogin. Remote Filecopy : rep. Remote Execution: rsh. Unix to Unix CoPy: uucp and related commands. RP: Chap. 13 5.5 Compilers & Libraries: gee, g++ & gdp. RP: Chap 23 Total (Lectures: 18)


Unit - IV : 4.1. Operating Systems & Linux, History of Linux & Unix, Linux Overview, Shell: Bourne, Korn & C-shell, File structure: Directories & files, Utilities: Editors, Filters & Communications. RP: Chap. 1 Pages: 3 to 11. 4.2 Installing Linux: Hardware & Software Requirements, Creating Linux partition, Creating Install Disks, Installing Open Linux System, Network Configuration, Final Configuration, Installing LILO. Installing & Configuring X-Windows. RP: Chap. 2 Pages 21 to 52 4.3 Linux Startup & Setup: User Accounts, Accessing Your Linux System Starting & Shutting Down, Login/Logout, Linux Commands, Installing Software Packages, Remote communications, Modem Setup, Internet Connections with Modems: pppd & ezppp, XFMail, X-Windows & network Configuration. RP: Chap. 3 Pages: 57 to 100. 4.4 Windows Managers & Desktops: X-Windows: Windows, File & Program Managers, Starting & Exiting Window Managers & File Desktops, System Configuration Tools, Windows & Icons, Xterm, X-Windows Multitasking RP: Chap. 4 Pages 107 to 116.



UNIT-VI 6.1 Shell Programming. The Bourne Again Shell. The Vi editor. (The vi editor Commands to be covered in practicals) RP: Chap 15 & Chap 17 6.2 System Administration RP: Chap 19 6.3 Network Administration. RP: Chap. 20 6.4 Configuring the X-Windows System. RP: Chap 21. (Total 16 Lectures) Main References: 1. WS: Operating Systems (Second Edition) by William Stallings. (PHI). 2. AG: Operating Systems by Achyut Godbole (TMH) 3. RP: Linux The Complete Reference (Second Edition) by Richard Petersen (TMH) 4. MM: WINDOWS 2000 -A Beginners Guide by Martin Mathews (TMH) 5. ME: WINDOWS MILLENNIUM EDITION-A Beginners Guide (TMH) Additional References: 1. Modern Operating Systems by Tanembaum (PHI) 2. Red Hat Linux: The Complete Reference by Peterson (TMH) 3. Systems Programming & Operating Systems (Second Edition) by Dhamdhere (TMH) 4. Using Linux by Bill Ball (for practicals) (Que-PHI)

Fact finding techniques. Sampling documents, forms and files. Site visits. Observation of Work environment. Questionnaire formulation. Interviewing techniques. Project Feasibility Study. Operational, technical, economic, organisational and cultural feasibility. Defining project costs and project benefits. Cost/Benefit Analysis for a project - Net present value, payback period and return on investment computations. Unit References: 1. Code: SADCW. (Ch. 2,3). 2. Code: SEPA. (Ch. 2,11). 3. Code: SADM. (Ch. 2,4, Module B). Unit II Investigating System Requirements. Functional and Technical Requirements, The sources of system requirements, identifying system requirements, structured walkthroughs. Modeling System Requirements. The purpose, type and overview of models. Modeling system requirements for events. Modeling system requirement for objects, roles, devices, organisational units, and locations. Data Modeling. Data entities attributes and relationships. The Entity-Relationship diagram. Process Modeling. Developing Data Flow Diagrams. Level of abstraction. Context diagram. Top level DFD. DFD fragments. The event-partitioned system model. Decomposing processes. Physical and Logical DFD. Evaluating DFD quality. Documenting DFD components. The concept of data dictionary. Process, data flow, data store, data elements descriptions. Representing Process Logic. Building decision tables, decision trees, structured English, tight English and pseudocode. Their usage and differences. Unit References: 1. Code: SADCW. (Ch. 4,5,6). 2. Code: SEPA. (Ch. 12). 3. Code: SSAIT. (Ch. 5). Unit III The process of moving from analysis to design. Application Architecture Design. Determining the automation system boundary. Software Design. Designing the system flowchart and the system level structure chart. Transaction analysis and transform analysis.


Paper IV Section I Structured Systems Analysis & Design

Unit I What is a System? The general systems approach to problem solving. The three approaches to software systems development - The Structured approach, the Object Oriented Approach and the Information Engineering Approach. Software Development Life Cycle Models. Waterfall Model, Prototyping Model, RAD Model, Incremental Model, Spiral Model, Concurrent Development Model, Component Based Model, Formal Methods Model and Fourth Generation Techniques. - Their features, strengths, weaknesses and differences between them.



Designing Databases. Databases and DBMS. Designing Relational DBMSs. Normal forms upto 3 rd normal form. Understanding of 4 th and 5 th normal forms. Representing entities, relationships, enforcing integrity constraints and business rules. Designing system inputs outputs and controls. Designing the user interface. Interface design guidelines. Dialog design. Designing Windows forms. Unit References: 1. Code: SADCW. (Ch. 9,10,11,12). 2. Code: SEPA. (Ch. 13,15). (Note: For References Please see the list at the end of Paper IV Section II; Object Oriented Systems Analysis Design & Software Engineering Concepts.)

Unit References: 1. Code: SADCW. (Ch. 10). 2. Code: SEPA. (Ch. 28). Unit VI Component Based Software Engineering. Engineering of component based systems. The CBSE process. Domain engineering. The component based development. Classifying and retrieving components. Economics of CBSE. Unit Reference: 1. Code; SEPA. (Ch. 27). Main References: 1. Code: SADCW. 2. Code: SEPA. Systems Analysis and Design in a Changing World, Satzinger, Jackson and Burd - Thomson Learning/Course Technology, (2000). Software Engineering - A Practitioners Approach 5/e, Roger S. Pressman - McGraw-Hill International Edition (2001). Systems Analysis and Design Methods, Whitten and Bentley Tata McGraw Hill (1998). Instant UML, Pierre-Alain Muller - Wrox/SPD (1997).

Paper IV Section II Object Oriented Systems Analysis Design & Software Engineering Concepts 3. Code: SADM. 4. Code: IUML. Unit IV Object Oriented Requirements Specifications and Analysis. The Unified Modeling Language. The Case diagrams, class diagrams, object diagrams. The system activities. Collaboration and sequence diagrams. States, state transitions and statechart diagrams. Activity diagrams, component diagrams and deployment diagrams. Unit References: 1. Code: SADCW.( Ch. 7,9). 2. Code: IUML. (Ch. 3). Unit V Object Oriented Databases. Designing object databases, representing classes and relationships. Hybrid Object-Relational Databases. Classes and attributes. Relationships. Relational DBMS and object DBMS data types. Distributed databases and distributed systems. Client/Server Software Engineering. The structure of Client/Server systems. Software Engineering for Client/Server systems. Analysis, Design and Testing of Client/Server systems.

Additional References: 1. Code: SSATT. Structured Systems Analysis: Tools and Techniques, Gane and Sarson - Prentiss Hall (1979). 2. Code: UMLN. UML in a Nutshell, Sinan Si Alhir - Wrox/SPD (1998).



Group I Advanced Java - I Practicals

Lab Programs Perform at least Four practicals from programs 1-8 and at least FOUR from practicals from programs 9-13. 1. Compute the factorial of an integer larger than 20, using the BigInteger (or similar) class. The main() method should accept none, one or more integers from the keyboard, validate that the input is non-negative and call a method that returns the factorial value. The result should be output in main(). 2. Create a class that represents a rectangle. The rectangle object could be created by specifying either the (x,y) co-ordinates of its two diagonally opposite corners, or by specifying its length and height and the (x,y) co-ordinates of its left and corner. The rectangle should be a square if only one of the length or breadth are provided. By default, if no co-ordinates are provided, the rectangle should be a square of unit length with two edges along positive x and y-axes. Define methods for-the following: (i) That moves the rectangle to another position. (ii) That changes either the length or breadth of the rectangle, or both. (iii) That determines whether a point (x,y) lies within the rectangle. (iv) That returns the largest rectangle that includes the defined rectangle and another. (v) That returns the overlap between the defined rectangle and another. Define another class that tests the above class. 3. Include sub-classes in the above rectangle class which do the following: (i) Draws the rectangle on screen. (ii) Draws the border of one colour and fills the rectangle with the same or another colour. Define another class that tests the rectangle class and its subclasses. 4. Define a class that holds a complex number x+iy. Define no parameter, one parameter and two parameter constructors for the class. Code methods for the following. That returns the real part of the number. That returns the imaginary part of the number. That returns the modulus of the number. Returns the sum of two complex numbers. Returns the difference between two complex numbers. Returns the product of two complex numbers. Define a test class that checks the methods defined above.

Notes : The following instructions about Java practicals should be carried out in the interest of uniformity in their conduct across all the constituent colleges of University of Mumbai. 1. The practicals should be performed on the J2SE jdk 1.3 platform. The J2SE jdk 1.3 is downloadable from the website. 2. The compilation and execution should be from the bare command prompt available on the Windows 9.x or compatible system. Other IDEs should not be used for program entry, editing, debugging, compilation or testing. 3. Methods available in jdk 1.0, 1.1 and 1.2, which are deprecated by jdk 1.1, 1.2 or 1.3 should not be used in programs. 4. The practical problems must be solved using the best possible methods available on the jdk 1.3, irrespective of whether those methods form a part of the T.Y.B.Sc. (Theory) Advanced Java-I and/or Advanced Java-II syllabus or not. Though there is a substantial correlation between the T.Y.B.Sc. Java theory and practicals, the practicals are not to be treated as a subset of the theory. 5. In each program, the input data (where it exists), should be output along with the results. The numeric values output should be preceded by explanatory text. 6. Exceptions should be generated and exception handling code should be written wherever necessary. 7. Some of the programs could become too long to complete in one lab session. The instructor may, in that case supply a part of the program and ask the student to complete it. The partly complete program could also contain deliberate errors, so that the student debugs the program after completing its coding. The errors could be syntactic as well as logical. 8. Classes should be properly encapsulated, so that the data structures are not directly accessible from outside of classes. 9. Polymorphism and inheritance should be implemented wherever necessary.



5. Define a subclass that extends the Filter Reader class. The sub-class removes all the Tags from an HTML file to present plaintext output.. Define a test class for the above class. An exception should be thrown and handled if the source file could not be found. 6. Define a subclass which extends the Buffered Reader class. The sub-class filters out and displays only those lines from a text file that contain a given character string. An exception should be thrown and handled if number of command line arguments are not proper and if the source file could not be found. 7. Define a class that copies a file to another, destination file with the following provisions: If the destination is a directory, source file name should be used. If the destination file exists, first ensure that it could be overwritten and then overwrite it only after operator permission is received. If the destination file does not exist, ensure that the directory does and a file could be written to it before copying. Define a class to test out the program completely. 8. Define a class to read a file,, compress it and output the compressed file as another file on disk. The program should either compress a single file, or if the file parameter is a directory, compress all files in the directory. Define a test class to demonstrate the program. 9. Define a class that enables the drawing of freehand lines on a screen through mouse clicking and dragging. Use anonymous inner classes to implement event listeners. The drawing should be cleared when a key is pressed and the line colour should be selectable. Define a test class to demonstrate the program. 10. Define a class that produces an applet, which performs a simple animation of moving a coloured object (like a circle), on the screen. Demonstrate the screen animation. 11. Define a class that transforms a simple shape like a rectangle by translating, scaling, rotating and shearing it. Demonstrate the class by a screen drawing. 12. Define a class that fills one shape by gradient fill, fills another with a tiling effect and still another by a shadow effect. Demonstrate the class by a screen drawing. 13. Define a class that demonstrates anti-aliasing at the boundary between two colours. Demonstrate the class by a screen drawing. Reference: Java Examples in a Nutshell - David Flannagan, SPD-OReilley (2000). *********

VISUAL BASIC, LINUX & SHELL PROGRAMMING PRACTICALS VISUAL BASIC 6: 1. Multiple Forms: a) Creating and handling multiple forms. b) Referring to Objects on a Different Form. c) A Multiple form project. 2. Accessing Database files: a) Data bases supported by VB 6. b) Creating database files for Use by VB c) Using the Data Control. d) Viewing the database file. 3. Navigating the Database: a) Using List Boxes and Combo boxes as Data-Bound Controls. b) Adding a Look up table and Navigation. c) Updating a Database File, Preventing Errors. 4. Advanced data handling-Grids, Validation, Selection and SQL: a) Displaying Data in Grids. b) Validation and error trapping c) Validation Techniques. d) Recordsets, Searching. e) Reordering a Table Recordset f) Creating a New Dynaset Using SQL. g) Tracking database Errors. 5. Drag-and Drop: a) Create the User Interface. b) Set the properties. c) Add Command Buttons. d) Dragging and dropping Multiple Objects. e) The Toybox Program. 6. Dynamic Link Libraries: a) The Declare Statement. b) Passing Arguments ByVal and ByRef. c) Calling a DLL Procedure d) Finding the Reference Information for DLLs. e) Accessing System Information with a DLL. f) Placing Tabs for Columns in a List Bok.



7. Object Linking and Embedding: a) Object Linking b) Object Embedding c) Creating OLE Objects at Run Time. 8. Visual Basic for Applications: a) Recording an Excel Macro b) A Sample Excel VB Application. 9. Multiple Document Interface (MDI): a) Creating on MDI Project b) Adding Menus to an MDI project. c) Creating a Window Menu d) Defining Shortcut Menus e) The Report Designer. f) Printing the Report. 10. Graphics: Study of Graphics commands & its applications. NOTE: 1. Some of the experiments listed above may require more than one turn. The teacher should decide and allot the time required for each title listed above 2. Minimum number of experiments required is six from above. 3. Reference for above practicals: Programming in VB 6.0 by Julia Bradly & Anita Millspaugh (TMH)

3. Basic LINUX commands III: Simple Filters: pr, head, tail, cut, paste, sort, uniq, nl & kill commands. Line editing with ex command Logging out. 4. To study vi editor: Create a file. Enter the text. Edit Text, Moving around. Save the file. customizing ex/vi, .exrc file & Exinit, options to vi, splitting a file using split command. (Study all important commands & key combinations) 5. Advanced Filters: Single Quotes & Double Quotes, the grep command. Extending grep - the egrep command. Multiple string searching: the fgrep. Stream editing with sed command Translating characters-the tr command. Relational join: The join command 6. Shell Programming (6 Simple programs to be entered compiled & executed.) Shell Programming Sample Programs: 1) Write a shell script which will use case structure to output the following 1. List of files. 2. Processes of user. 3. Todays date. 4. Users of the system. 5. Quit to Unix 2) Write a shell script which will compile a C program and hence execute it. 7. Advanced Shell Programming


1. Creating a Linux Partition (Using either MS-DOS FDISK Command or LINUX fips Command), Creating boot disks for LINUX & Installing LINUX. Login & logout, shutting down the server. (This may be a demonstration experiment, the demo to be given by the teacher.) 2. Basic LINUX commands I: Logging on to LINUX, Creating a user account. File system: ls command with flags, pwd, cd, ls, cat, mkdir, rmdir, chmod, cp, rm, mv 3. Basic LINUX commands II: General purpose Utilities: more, file, we, od, cmp, comm, diff, lp, banner, cal, date, who, tty, sty

8. Advanced File System 9. System Administration Minimum six practicals from above should be completed. References 1. UNIX Systems V.4 Concepts & Applications By Sumitabha Das (TMH) 2. Using Linux by Bill Ball (Que-PHI) *********



Group III
Advanced Java -II Practicals Notes Please see the instructions in the Notes section of Group I, Advanced Java I Practicals, as they are also applicable for the conduct Group III, Advanced Java - II practicals. Lab Programs 1. Perform any NINE practicals with at least TWO practicals from each unit. 2. The practical should be conducted on a network using TCP/IP protocol and some of the programs will require the IP addresses of the server and/or a few other nodes. 3. The student should write additional classes where required to test and/or display the results of the classes defined below. Unit 1 1. Develop a Java bean that is a 2D shape filled with colour, which could take on different shapes. The colour changes randomly each time the mouse is clicked on the bean. 2. Create a Java bean that displays multiple lines of text with margins and alignment. 3. Create a Java bean that accepts numeric data as text, validates it as a number and then makes the numeric value available for further processing. 4. Create an invisible Java bean that multiplies the values of two of its properties and places the product in a third as a read only property. Unit 2 5. Define a class to download a file from the Internet and either copy it as a file on the local machine, or output it to the screen. 6. Define a class that displays information about a file URL like its type, encoding, length, dates of creation, last modification and expiry. Additionally the class should display the request method, response message and the response code for a Web URL. 7. Build a class that implements a minimal http daemon that listens to a specified port and services simple get file requests. 8. Build an applet that sends a datagram to a server each time that it is started or stopped. Further build a server application that receives the sent datagram and prints it out.

Unit 3 9. Write a servlet that accepts text and numbers sent from an HTML document and displays them on screen. 10. Write a servlet that accepts single-valued as well as multi-valued parameters like check boxes and multiple selection list boxes from an HTML document and outputs them to the screen. 11. Write a servlet that reads the name of the servlet class and its initialisation parameters from a server file and then displays these parameters on the screen. 12. Write a servlet that redirects the user to a different Web page when an out of sequence Web page is requested by him/her. References: 1. Java Examples in a Nutshell - David Flannagan, SPD-OReilley (2000). 2. Java 2 - The Complete Reference 3/e, Patrick Naughton and Herbert Schildt, TMH, (1999). 3. Learning Java, Patrick Neimeyer & Jonathan Knudsen, SPD - OReilly, (2000). 4. Instant Java Serviets, Phil Hanna, TMH, (1999).




Group IV
SSAD and OOAD Project

when its documentation is submitted and approved. The signed sheet should appear in the project report after the Gantt cart. Changes in the submitted documents are possible, as project development is essentially an evolutionary process. The project guide must ensure that changes are necessary due to the knowledge gained in succeeding phases of the project. The date of completion of a phase should be brought forward if the changes made are deemed to be errors and not due to additional knowledge gained from a succeeding phase. The completed project must be reviewed in the in the month of February (or earlier) by the project guide to ensure that it is correctly working. The project guide should affix his signature on the certificate after the final review is conducted. The certificate should minimally contain the following information.

General guidelines for project performance evaluation: The student is required to analyse design, code and implement an actual system. The system could be implemented either as a traditional system, an event driven system, object oriented system or as a databased system. The coding and implementation should be in one of the languages/packages that are defined in the Computer Science syllabus of either F.Y.B.Sc., S.Y.B.Sc. or T.Y.B.Sc. The project shall be done individually by each student, though a project with the same title could be given to more than one student. A project guide should be assigned to students, who will generate a schedule for the completion of each of the phases of the project and hand it over to the students under his care before the 15 th of July in the third year of the Computer Science course. It is highly recommended that the colleges try and obtain the services for external project guides who have working experience of managing projects. The guides should oversee the project progress on a weekly or fortnightly basis. The student will produce and maintain a Gantt chart from the given schedule. The actual completion of each phase should also be noted on the chart. The chart shall be placed in the project documentation immediately after the Certificate and separate marks are assigned for completing each phase on time, as indicated by the Gantt chart during project evaluation. The minimal phases for the project are: Project search, finalisation and allocation. Investigation system requirements. Data and Process Modeling. System Design. Program design. Program coding and unit testing. System integration. System implementation and acceptance testing. The phases could be suitably modified if the waterfall paradigm is not used for project development or if the project uses Object Oriented techniques. The project guide should control iterations if any non-linear technique for project development, like prototyping, is used. The design phase must finish in the first term so that coding and unit testing could commence during the Diwali vacation. The project must be completed latest by 31 st January of the academic year. The project must be periodically reviewed by the project guide, who should certify the completion of each phase by affixing his signature on a table maintained for the purpose. The date of the signature assumes importance in view of the marks assigned in evaluation for completing each phase on time. A phase is deemed completed only

The fact that the student has successfully completed the project as per the syllabus, and that it forms a part of the requirements for completing the B.Sc. degree in Computer Science of University of Mumbai. The names of the student and the project guide. The academic year in which the project is done. Date of submission and final review of the project. Signature of the project guide and the head of department with date along with the department stamp. Space for the signature of the University examiner and date on which the project is evaluated.

l l l l

The project report should contain the following system documentation (one copy for the project).
l l l l l l l l l

Organisational Overview Description of the present system. Limitations of the present system. The Proposed system - Its advantages and features. Context diagram of the proposed system. Top level DFD of the proposed system with at least one additional level of expansion. Structure Chart of the System. System flowchart. Menu Tree



l l

Program List. Files or Tables (for DBMS projects) list. Class names to be entered for each file in OO systems. List of fields or attributes (for DBMS projects) in each file or table. Program - File Table that shows the files / tables used by each program and the files are read, written to, updated, queried or reports were produced from them. Reports List with column headings and summary information for each report. System Coding and variable / file / table naming conventions. System controls and standards. Screen layouts for each data entry screen. Report formats for each report.

50 marks are allotted to the project, which shall be divided as under. Project documentation Adherence to project schedule Project quality Demonstration of working project Project presentation 10 10 10 10 10 Marks. Marks. Marks. Marks. Marks.

l l

l l l l l

The examiner may deduct 2 marks, up to a maximum of 10, from the Adherence to project schedule head for each schedule milestone that is missed by the student. The examiner may deduct 5 marks from the Project quality* head if the test data and results are not sufficiently exhaustive. *******

The project report should contain the following program documentation (one copy for each program).
l l l l l l

Program id. Program level run chart. Program function explanation. Data entry screen (reproduced from system documentation). Report layout (reproduced from system documentation). Program level pseudocode or flowchart. Add decision tables, decision trees, tight English explanation where necessary. Program listing. Test data. Test results.

l l l

The project shall be evaluated by the University examiner at the time of University practical examinations. The system code should be available on a disk for evaluation along with the project report. The examiner should critically evaluate whether the project has been sufficiently tested by going through the test data and test results. The student is expected to present and demonstrate the project to the University examiner.




Unit-I : Important Note: The Web development is as much about creativity as about technology. While teaching (as well as while evaluating the student performance) proper emphasis should be given to each of the two aspects. The content creation is as much important as the technical know-how. All the time, case studies based on good sites should be given as illustrative examples while teaching this subject. Topics that need to be covered in two papers: 1. Web design and implementation process. 2. Keep the user in mind. 3. Objectives of a specific site. 4. Design philosophy, 5. Consistency throughout the site. 6. Compatibility with different browsers. 7. Selecting proper server and Uploading the site. 8. Creating User Interface, Gathering information. 9. Providing data-base connectivity. 10. Site maintenance and updates. Technologies Involved: 1. HTML & its extensions such as DHTML, XML etc. 2. Embedding Graphics, pictures, animation etc. 3. Embedding Java Applets. 4. Frames, Cascading Style-sheets. 5. Providing interactivity: Java Script, VB Script, Active Server Pages. 6. Audio & Video contents. 7. PERL CGI Script 8. FTP, TELNET etc. (TOTAL NUMBER OF LECTURES FOR EACH PAPER (APPROX): 50. Unit-II:


1.1 What is web-design? Web Design Pyramid, Building Web-sites, User perspective. Content focus, Evaluation of a web-site. TP: Chap. 1 1.2 The Web Design Process: Basic Web Process Model, Goals & Problems, Audience and User Profiling, The site plan. Design, implementation & Testing, Release & beyond. TP: Chap. 2 1.3 Designing For Users: Usability, Knowing the users. User characteristics, Response & Reaction time, GUI conventions, Web conventions. Accessibility, Usability. TP: Chap. 3 (Total 8 Lectures)

2.1 Site Types and Architectures: General Web site types. Interactive vs. static sites, Dynamic sites. Site Structure, Organization Models, Hierarchy, Deep vs. Shallow Sites, Site types: Commercial sites, Informational, Entertainment, Navigational, Community, Artistic, Personal sites. (3 Lectures) TP: Chap 4 2.2 Navigation, Where am I? Precise location on the web: URLs, Page & site labels, Page & Site style and Location, History, Placing Navigation Top, Bottom, Left, Right etc., Using Frames & sub-windows, Book-marking. TP: Chap. 5 2.3 Linking: Text, Buttons, Icons and graphics. Search and Design, How search engines work. Optimizing for search engines. Site Maps, Indexes & other navigational & user aids. TP: Chap. 6, 7 & 8. (Total 10 Lectures)



Unit - III 3.1 Elements of Page Design: Page Types & Layouts, Page Sizes, Page Margins, Page Types, Entrance Pages, Exit Pages, Text Design Metaphor & Thematic Design. GUI- Oriented Design., Layout Examples. TP: Chap. 9 3.2 Text & Color: Text Using Graphics, Setting Fonts, Using Downloadable fonts (say Devnagari fonts), Dynamic Fonts, Netscape vs. IE Browsers. Text Layout, Formatting Tables, Writing For the web. TP: Chap 10. 3.3 Colors, Images and Backgrounds. TP: Chap. 11. 3.4 Building Interactivity Using GUI Features. TP: Chap. 12 Total 10 Lectures.

UNIT-V: 5.1 Case Study of E-Commerce in Passenger Air Transport. 5.2 Electronic Markets. 5.3 Electronic Data Interchange (EDI). DW: Chapters 5, 6, 7, 8 & 9. Total 8 Lectures.

UNIT-VI: 6.1 Elements of E-Commerce 6.2 Purchasing On-line & After Sales On-line. 6.3 Introduction to E-Business. 6.4 Technology Adoption & other Issues. DW: Chapters 11, 15, 16 & 17. .

UNIT-TV: E-COMMERCE: 4.1 Introduction, The Scope of E-Commerce Definition, E-Commerce & Trade Cycle, Electronic Markets, Electronic Data Interchange (EDI), E-Commerce in Perspective. 4.2 The Value Chain, Supply Chains, Organizational Value chains. Porters Value Chain Model, Inter

Total 8 Lectures

References: 1. TP: Web Design The Complete Reference by Thomas Powell (TMH) 2. DW: e-Commerce Strategy, Technologies & Applications by David Whitley (McGraw Hill International Edition) ******* PAPER-II Web Technologies UNIT-I 1.1 HTML & Graphics: HTML 4.0 Tag Reference, Global Attributes, Event Handlers, Document Structure Tags, Formatting Tags, List Tags, Hyperlinks, Image & Image map, Table Tags, Form Tags, Frame Tags, Executable Content Tags. 1.2 Image Maps, Advanced Graphics, Tables, Frames, forms & Style Sheets. ELJO: Chapter 2. Total Lectures 8.

4.3 Competitive Advantage, Competitive Strategy, Porters Model, First Mover Advantage, Sustainable Competitive Advantage, Competitive Advantage using E-Commerce, Strategic Implications of IT. DW: Chapters 1, 2, 3 & 4. Total 8 Lectures.



UNIT-II XML: Introduction to XML, Problems with HTML & SGML. Types of XML Markup. Document Type Definitions, Linking, Using Style Sheets with XML, XML Summary. ELJO. Chapter 3 Total Lectures 8.

UNIT-V Using Java Tools:

l Input & Interactivity with Java l Graphics & Animation l Network Programming & Security.

UNIT-III 3.1 Introduction to Java Scripting, Web Browser Object Model, Manipulating Windows & Frames with Java Script. Using Java Script to create smart forms. 3.2 Cookies and State Maintenance: Maintaining State, Introduction to Cookies, Advantages and limitations of Cookies, Disadvantages of Cookies, How to Use Cookies, which Servers and Browsers support Cookies. 3.3 Introduction to DHTML. Advanced Netscape DHTML, Advanced Microsoft DHTML & Cross browser DHTML. ELJO. Chapter 4,5 Total 10 Lectures.

(Thorough familiarity & Knowledge of Java Programming is assumed, only webapplications to be emphasized) ELJO: Chap 7 Total 8 Lectures.

UNIT-VI Apache Web Server, Server Side programming. Security Issues. Ref: Web Design the Complete Reference by Thomas Powell. Total 8 Lectures. References: 1. ELJO: Using HTML 4, XML & JAVA by Eric Ladd & Jim ODonell. (Platinum Edition) (PHI) 2. PERL & CGI by Elizabeth Castro (Pearson Education Asia) ***********

UNIT-IV 4.1 CGI & Server side scripting, CGI & the WWW, Beyond HTML with CGI, How CGI works? CGI Server requirements for WINDOWS-NT & UNIX, CGI script structure, Standard CGI Environment Variables, CGI Libraries, Java Serviets, Server-Side Java Script. 4.2 Web Database Tools, ORACLE & MS-ACCESS, Database tools, PHP, Server Side includes. Visual Basic, Scripting Edition & Active Server Pages. ELJO: Chap. 6. Total 10 Lectures.




1. Basic HTML Tags 2. Advanced HTML Tags 3. Cross Browser DHTML: Browser Detection, Dynamic Fonts, Style-sheets etc. 4. XML 5. Forms 1: Using Java script. 6. Forms 2: Netscape Script. 7. Forms 3: Using CGI Script. 8. Forms 4: ASP 9. Accepting Information from the site visitor. 10. Providing Database connectivity & interactivity. 11. Creating VB Front-end. 12. FTP Uploading of the web-site with or without an FTP client. 13. Server Side Programming. 14. Using HTML editor (any one). 15. Using Cold Fusion or equivalent tool. 16. Develop an application for Secured Transaction Site using any suitable tools. 17. Comparative Study of different Web browsers, including their latest version. 18. To develop Web based e-mailing system Minimum twelve practicals from above should be performed.

Case Study: To Conceive, design & implement a complete and integrated Web-site of one existing or hypothetical organization. (Upload this web-site on a server) Prepare a project Report & Discuss the designing and issues related to the development of This web-site. Note: 1. The teacher should encourage the students to get a live project for this purpose for as many students as possible. 2. There should be external evaluation (Viva) of this project. The project (Web-Site) should be uploaded on local & remote serves & be shown on-line to the examiner for evaluation as far as possible. (On-line evaluation is advisable to check the cross platform compatibility and other aspects of the project). References: 1. The Web Programming Desktop Reference (6 in 1) (Que-PHI) 2. HTML by Xavier (TMH) 3. Online documentation from Microsoft, Sun Microsystems, Netscape etc.