b.sc. computer science 2004-2005

Upload: vimalnandi

Post on 07-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    1/32

    BACHELOR OF SCIENCE IN COMPUTER SCIENCE -B.Sc. (Computer Science)

    This is an integrated course of 3 yrs. duration. After completion of course a candidatecan enroll for a Post Graduate Degree Course of 2 yrs. duration leading to a Master ofScience in Computer Science (M.Sc. Computer Science Degree).

    Eligibility10+2 Science Candidates with 50% marks (at one & the same sitting) & withMathematics at 12th level.

    Admission CriteriaHSC Marks + College Entrance Test (CET) + Personal Interviews.

    DurationThe course shall be a full time course. The duration of course shall be spread over3 yrs. The course shall consist of 20 papers. Each paper will be of 100 marks Theoryand 50 marks Practicals / Tutorials. Project will be evaluated for a total of 20 marks.

    Total theory TotalMax ma rk s / Pa ss in g p ra ct ic al / tu to ri al

    Max Marks / Passing***

    First Year 550 (each paper of 100) 150 (each paper of 25)(Seven Subjects) (Theory 75 / 30) (Practical 25 /10)

    Second Year 550 (each paper of 100) 150 (each paper of 25)(Seven Subjects) (Theory 75 / 30) (Practical 25 /10)

    Third Year 400 300(Four Subjects) (Theory 100 / 40) (Practical 50 /20)

    B.Sc. Computer Science - Year I

    PAPER - I

    SUBJECT : Computer Organization Paper I - Section I

    Introduction to microprocessors and Paper I - Section I I

    Computer Architecture

    Periods per week 1 Period Lecture 3is 50 minutes

    TW/Tutorial/Practical 3

    Hours Marks

    Evaluation System Theory Examination 3 50

    TW/Tutorial/Practical 40

    SECTION I

    INTRODUCTION: Computers: History of Computers and their classification Basics ofmodern-day computer system: View of a computer as an integrated system, Von-Neumann machine, block diagram of a computer system. Components of modern-day

    computer: - CPU, Memory, Input/output devices. Units of measuri ng memory. Workingof 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 ofinstructions.

    Number Systems:- Binary, Decimal , Octal, Hexadecimal and their inter-conversions, Computer Arithmetic:- Binary addition and subtraction using signed-Magnitude, 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 withoutinterrupts.

    2. Digital logic circuits:

    Booleah algetfra: Basic Identities of Boolean Algebra, Boolean functionLogic Gates: - AND, OR, NOT, NOR, NAND, EX-OR, EX-NOR operations and thei rtruth 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-bitMultiplier, Various Code converters.

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    2/32

    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., Conversionfrom one type to another type of Flip Flop. Registers.Interconnection structure between CPU, memory and input/output devices.

    3. Basic Organisat ions:Memory organisation: -Primary memory: - RAM, ROM, EPROM, Secondary memory: -

    Magnetic-Floppy and Hard disks. Optical memory: - CDROM, WORM, Concept ofVirtual Memory and Cache Memory and why are they needed.

    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 ofinstruction set, addressing schemes, Instruction formats.

    SECTION II

    4. Introductiun to 8085 microprocessor: - Organization of Microprocessor basedsystem, 8085 up Architecture, Concept of Address line and Memory interfacing,Address Decoding and Memory Interfacing, 8085 Programming Model, Instructi onClassification, Instruction Format, Stack and Subroutines, Developing Basic 8085programs.

    5. Organization & Architecture, Structure & function of a computer system.System Buses: - Computer Components, Computer function, PCI: - Features ofPCI bus, Why PCI bus is needed? Concept of PCI Arbitration.

    6. 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.

    7. Operating System Support: - Basic Concepts, Batch, Multiprogramming and Time-Sharing, scheduling, Scheduling, Memory Management.

    CPU Organization - Register Organization (Classification of registers), InstructionCycle, Instruction Pipelining.

    8. Concept of Parallel processing: - Multiprocessing: - Organization, Time-SharedBus, Multiport memory, Central Control unit, Multi processors.

    9. Architecture and organization of 8086, functional block diagram of Intel 8086,Bus Interface unit, Execution unit, general registers, segment registers, pointersand Index registers.

    10. Introduction to assembly language, Assembly language Program developmenttools, samplePrograms such as corn, exe.

    GENERAL INSTRUCTIONS FOR CONDUCT OF REGULAR PRACTICAL

    FOR

    PAPER I-SECTION I

    1. In order to take the practical a lab session similar to the given practical can betaken to initiate the thinking required for the practical.

    2. At least fourteen practicals (seven from each section) should be completed in ayear. The practicals TAKEN should be recorded in a journal maintained for thepurpose. The concerned teacher and the head of the department should certifythe said journal.

    List of Practicals for paper I - section I

    1) Demo practicals on various internal and external parts of computer and theirinterconnection/working.

    2) Demo/hands on practical on assembling the PC.

    3) Study of Multip lexer

    4) Study of Decoder/DMUX

    5) Study off f l ip-f lopps

    6) Study of Counters

    7) Study of Universal shift registers.

    8) Study of Universal logic circuit using MUX

    9) Study of 4 bit full adder.

    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) Demo practical on working of 8085.

    2) Basic programs of 8085.

    3) Study of system buses.

    4) Study of Internal memory, I/O modules, operating system support.

    5) Concept of parallel processing.

    6) Demo practical on working of 8086.

    7) Basic programs of 8086.

    8) Writing simple assembly language programs.

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    3/32

    SUBJECT : Programming in C Paper II - Section I

    Advanced C and C++ Paper II - Section II

    Periods per week 1 Period Lecture 3is 50 minutes

    TW/Tutorial/Practical 3

    Hours Marks

    Evaluation System Theory Examination 3 50

    TW/Tutorial/Practical 40

    Section I

    INTRODUCTION: Introduction to Software, overview of problem-solving theory andthe areas where problem solving is appropriate, recognition of problems suitable forgetting 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, programdesign: -algorithmic development of a solution to a problem, producing test data.programming standards and practice: -using comments, consistent indentationand descriptive identifiers.

    Computer languages: - categories of programming languages.Different styles of programming: structured, event driven, object oriented.

    Programming in C

    1. C fundamentals:- .

    Character set, Keywords and ldentifiers, constants and variables, rul es for namingvariables.

    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, ...case. ..defaultstatement, goto, break, continue statements.Looping statements: - while, do-while, for statements.

    3. Functions:-Library functions, Function prototypes, user defined functions, passing argumentsto a function by value, recursive functionsStorage Classes: - automatic. External, static, register variables in single fileenvironment.

    4 . A rrays: -Defining, initializing and processing an array, passing arrays to functions.

    Introduction to multidimensional arrays, arrays and strings.5. Strings handling functions in C.

    Section II

    Advanced C and C++

    6 . Pointers in : -Declarations, Referencing and de-referencing, passing pointers (passing value byreference) to functions, pointer to array.Use of command line arguments in C.Structures and Unions: -Defininig and processing c structure, pointers and structures, passing structuresthrough a function. Unions, examples to stress the use of unions instead ofstructures.

    7. 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

    8. Handling files in C: -fopen(), fclose(), fgetc(), fputc(), fgets(), fputs(), fscanf(),fprintf(), putw(), use or structures, command line arguments in files.

    9. 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, preprocessordirectives, declaration in C++. Header files required in C++, use of cin and cout,>> and *, . *, 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 andfriend 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 functionsand friend classes.Constructors, Parameterized constructors. Destructor, Constructor overloading,Constructors with default arguments. Constructors with dynamic operations.Concept of inheritance and examples.

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    4/32

    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, andCommerce Students only) - 30 marks.

    (B) Communication skills including mass media in any of the followinglanguages viz. English, Marathi, Gujarati and Hindi (for Science studentsonly) - 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 - Landand People-Confluence of cultures-Urban-rural society - Socialisation - Status ofWomen and related problems - Conservation of Resources - The Economic sense- Contemporary Social Reform Movements - Health and Social Welfare - SocialTensions; Communalism - New International Economic order and Internationalpeace.

    (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 remedialmeasures (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 extra-curricular 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

    GENERAL INSTRUCTIONS FOR CONDUCT OF REGULAR PRACTICAL

    1. In order to take the practical a lab session similar to the given practical can betaken to initiate the thinking required for the practical.

    2. Some of the practicals can be given as assignment to the students.

    3. A student must prepare an exhaustive test data wherever required to check theprogram for its correctness.

    4. At least fourteen practicals (seven from each section) should be completed ina year. The practicals given below should be recorded in a journal maintained forthe purpose. The concerned teacher and the head of the department should certifythe said journal.

    Introductory session on:

    Getting used to C/ C++ compiler and its working.

    Various types of errors occurring at the time of compilation, making exe andlinking...etc.

    Debugging techniques.

    Procedure followed for taking printouts of the program and output.

    List of Practicals for paper II - section I and II

    1. Practical C fundamentals, input output functions.

    2. Practical using different statements in C.

    3. Practical on use of library as well as user defined functions - part

    4. Practical on recursive functions.

    5. Pract ical using arrays.

    6. Practical on use of arrays and functions.

    7. Practical on strings and string handling functions.

    8. Practical on concept of pointers.

    9. Pract ical using structures.

    10. Practical on bitwise operators.

    11. Practical using macros

    12. Practical on file handling in C.

    13. Practical on simple C++ programs.14. 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.

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    5/32

    Arts) Sports, (individual and teem games) film appreciation groupdiscussion, Essay, Creative writing, organising a society or cl ub, postercompetition, exhibition etc. Making the student aware of the personalqualities, activities. Viz. Self confidence, team spirit, moral effectivecommunication, leadership, Clarity in this and self expression, Analyticalability, Critical evaluation, understanding and Comparing many sides ofan issue, decision making, planning time management, understanding selfin relation to others.

    Aesthetic pleasure through creative activities like arts performing arts.

    (The student shall participate in at l east one the several activities listedabove or any other programme or activity of social utility. The collegemust provide for at least five of the activities. Grades be assigned to thestudent according to his level of participation as A, B, C, D) and a collegelevel Certificate be given mentioning the grade)

    (12 periods)

    Par t I II : Ind iv idual level

    1) Criterion of maturity. Role of heredity and employment in personalitydevelopment.

    Meaning of healthy personality.

    2) Understanding onself-real and ideal, self image Self actualisation.

    3) Realistic goal setting, planning - education, life, decision making, timemanagement.

    4) Conflict management and stress - (coping with self developmentapproach to stress)

    5) Commitment to self-subordinate - work - Consumer organisation -Nation

    .. (20 periods)

    Teching : It is expected that in the teaching process and techniques like groupdiscussion, brain storming session, seminars will be used for the purpose of massparticipation and exchange of ideas in the class room. Arranging poster competitionsexhibition 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 conveyof writing.

    3. Speaking and Lestening :

    (i) Production and processing of language useful for academic professional andsocial 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 easeand 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 itis imperative that there be no prescribed text-book for this course. Otherwise, thecourse 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 theneeds of the Science students.

    Teaching of such skills-ori ented coucses is less effectively through the lecture method.Therefore, class-room teaching must be supplemented through a rang of co-curricularactivity like public speaking, reading competition, debates etc.

    Methodology :

    (a) The class-room situation is expected to be an activity - dominated one wherethe teacher must promote dif ferent interact ions to ensure that realcommunication takes place in the classroom. Pair-work and group-work couldused promote teacher - student/teacher-class and student-student interation.

    (b) Teaching aids and the teachers own resourcefulness may have to be heavilyrelied upon to facilitate and promote creation of contexts for communication

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    6/32

    in the class-room.

    Teacher-training :

    The teaching of a language-based course presupposes some specialised training inlanguage 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 teacherswho have undergone an orientation course in communication skills.

    Testing Methodology/Examination :

    Language tests should emphasise the actual language skills aimed at, rather than thecontent of the readers/texts or materials used for teaching.

    Language can best be tested in functional contexts and not through the analysis andparaphrase of literary texts or through the direct testing of grammar. Unseen passagesmust be for testing comprehension and schematic summarisation. The writing skillcan be tested by providing a purpose for the task and a situation within which thestudent can operate.

    Suggested examination format : 30 marks.

    (a) Reading Comprehension : 10 marks

    Passages : to be chosen from various types of writing; factual, informative (thisincludes 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 complexsentence structure), Interpret rules and tables, perceive the logic of presentation,

    judge the tone and attitude of the writer, graps suggested of impli ed meaning, evaluateform 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 begiven and the students asked to make note. An incomplete outline suggesting thegeneral 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 aprose passage, assess the relative importance of particular points, and make aschematic 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, aspeech, a diary, notice and the like.

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    7/32

    SUBJECT : Discrete Mathematics Paper I : Section I

    Computer Graphics - I Paper I : Section II

    Periods per week Lecture 3

    (1 Period = 50 minutes) Practical 3

    Hours Marks

    Evaluation System Theory Examination 3 50

    per Term per Section

    Practical per year 40

    SECTION - I

    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, Transitiveclosure 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 LearningDiscrete 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

    B.Sc. COMPUTER SCIENCE

    Year II

    Discrete Mathematics Paper - I - Section I

    Computer Graphics-I Paper - I - Section I

    C++ and JAVA Paper - II - Section I

    Data Structures Paper - II - Section II

    GUI and Visual Basic Paper - III - Section I

    Data Base Management 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 2

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    8/32

    SECTION II

    Computer Graphics-

    1. 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, Window-

    to- 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-HillPrinciples of Interactive Computer Graphics, Will iam 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 Lecture 3

    (1 Period = 50 minutes) Practical 3

    Hours Marks

    Evaluation System Theory Examination 3 50

    per Term per Section

    Practical per year 40

    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 4

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    9/32

    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 AlgorithmsClassification 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 Lecture 3

    (1 Period = 50 minutes) Practical 3

    Hours Marks

    Evaluation System Theory Examination 3 50

    per Term per Section

    Practical per year 40

    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 v ariables,

    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 withOption Buttons & Check Boxes, Displaying Message in Message Box, Testing

    whether input is valid or not.

    Using Call Statement to call a procedure.

    5 6

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    10/32

    5. Menus, Sub-Procedures and Sub-functions

    Defining / Creating and Modifying a Menu, Using common dialog box, Creating a

    new sub-procedure, Passing Vari ables to Procedures, Passing Argument By Val or

    By Ref, Writing a Function Procedure,

    6. Mult ip le 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 . A rrays

    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 Fi les

    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 DataFile 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 basedprotocol, Validation based protocol, Multiple Granularity, Multi version Schemes,

    Deadlock Handing, Insert and Delete operations, Concurrency in index structure.

    Query Optimization

    6 . Re la t ional Da tabase Design- Pi t fal ls in Re la t iona l -Da tabase Design ,

    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 architec ture,

    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)

    7 8

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    11/32

    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 structur e of the join ( table multiplic ation,

    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 condi tions,

    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 Press8. 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 HillObject 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 1: Problem solving session on topic 1

    Practical 2: Problem solving session on topic 2

    Practical 3: Problem solving session on topic 3

    Practical 4: Problem solving session on topic 4

    Practical 5: Problem solving session on topic 5

    Practical 6: Problem solving session on topic 6

    Practical 7: Problem solving session on topic 7

    Practical 8: Problem solving session on topic 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++ fundamentalsPractical 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:

    9 10

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    12/32

    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

    Pract ical 14: Arrays an their memory representation

    Practical 15:

    Practical 16:Queues, Circular Queue, Deque, Priority Queue

    Practical 17: Stacks and their representation, application to recursion.

    Practical 18:

    Practical 19: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

    }

    }

    12 13

    List of practicals/tutorials/term Work for Paper III

    Paper III - Section I

    Practical 1:

    Practical 2: Use of different controls used in VB.

    Practical 3:

    Practical 4: Use of different message boxes and statements used in VBPractical 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

    Practic al 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 j oin 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. Executingcommand files and printing the reports.

    }

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    13/32

    FOUNDATION COURSE

    (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 fronti ers 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.

    (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.

    (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).

    5. 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)

    6. 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.

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    14/32

    REPORT OF THE SYLLABUS COMMITTEE APPOINTED BY THE FACULTY

    OF SCIENCE FOR B.Sc. COMPUTER SCIENCE COURSE

    (T.Y.B.Sc. COMPUTER SCIENCE SYLLABUS)

    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. examb) 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, Chemistr y 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) : 45 Marks

    Experi ment II :(Group II Practi cal) : 45 Marks

    Experiment III (Group III Practical ) : 45 MarksExperiment IV (Group IV Practical) :

    - PROJECT) : 50 Marks

    Journal (Group I to III) & Viva-voce on Journal :15 Marks.

    Total 200 Marks.

    B) Applied Component Practical Examination:

    Exper iment 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 onproject, as mentioned in the syll abus.

    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 prac ticals 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.

    13 14

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    15/32

    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 financialsupport 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.

    (Dr. S. R. KAULGUD)

    CONVENOR

    ANNEXURE - I

    COURSE STRUCTURE

    T.Y.B.Sc. (COMPUTER SC.)

    TITLE APPROX. THEORY PRAC. TOTAL

    NO. OF MARKS MARKS MARKS

    LECT.

    PAPER-I 100 48 Group I 50 150

    SECTION-I SYSTEM SOFTWARE 48

    SECTION-II DATA 52

    COMMUNICATIONS &

    NETWORKING

    PAPER-II 100 100 Group II 150

    SECTION-I ADVANCED JAVA-1 52 5 0

    SECTION-II ADVANCED JAVA-2 48

    PAPER-III 100 100 Group III 150

    SECTION-I OPERATING SYSTEMS 52 5 0

    SECTION-II THE LINUX OS 48

    PAPER-IV 100 100 Group IV 150SECTION-I STRUCTURED SYSTEM 52 5 0

    ANALYSIS AND DESIGN

    SECTION-II OBJECTED ORIENTED 48

    ANALYSIS & DESIGN

    AND SOFTWARE ENGG.

    CONCEPTS

    APPLIED WEB DESIGN &

    COMPONENT APPLICATIONS

    Group I

    PAPER-I PRINCIPLES OF 50 60 (A.C) 100

    WEB DESIGN 4 0

    Group II

    PAPER-II WEB TECHNOLOGIES 50 60 (A.C) 100

    4 0

    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.

    15 16

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    16/32

    ANNEXURE-II

    T.Y.B.Sc. COMPUTER SCIENCE SYLLABUS

    PAPER-I SECTION-ISYSTEMS SOFTWARE

    UNIT - I:

    1 .1 Language Processors: In t roduct ion , Language Process ing Act iv i t ies ,

    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, Asingle 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, Non-

    Arithmetic 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: Introduct ion. Implementat ion, 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.

    *********

    17 18

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    17/32

    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: (16)

    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

    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 (5th 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.

    19 20

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    18/32

    Java classes and objects. Di fference 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. Usingsuperclass 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 cl ass. Java one and multi-dimensional

    arrays. Object literal syntax for creating strings and arrays. Exception handling in

    Java. Java input/output.

    Unit References:

    1. S.Y.B.Sc. Java Syllabus Text Books Code : J2CR (Ch. 1-13)

    2. Code PWJ: (Appendix A, B, C, D, G)

    3. The Java Platform - A White Paper, Douglas Cramer, java.sun.com Website, JavaSoft.

    4. The Java Language Environment - A White Paper, James Gosling and Henry

    McGilton, java.sun.com Website, JavaSoft.

    5. Details of Java2 jdk vl .3 from the java.sun.com Website.

    6. Code : J2CR (Ch. 6-10).

    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 implementat ions, arrays as collect ions, a lgorithms, wrappers as

    implementations, extending the abstract implementations, legacy coll ections framework

    classes, traversing collections with enumerations).

    References

    1. Code: JPAT. (Ch. 10). 2. Code: J2CR. (Ch. 14, 15).

    3. Code: LJ. (Ch. 9).

    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 cli ent and server classes. JNDI,

    Java IDL and CORBA.

    Java Client side programming. Applets. Using the java.applet package. Extending theApplet 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.

    21 22

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    19/32

    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 requestsand 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).

    ******************

    Paper-III Section-I

    Operating Systems

    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

    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, Real-

    time Scheduling, Example Systems.

    WS: Chap. 8.1, 8.2 & Chap 9.1 to 9.3

    (Total 18 Lectures)

    Unit-III:

    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

    23 24

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    20/32

    3.3 Client Server Computing

    WS: Chap. 12.3

    3.4 Graphical User Interface & OS

    Introduct ion, Windowi ng Technology, GUI, Relationship be tween the OS &

    Windows, Components of GUI, Requirement of a Windows based GUI, MS-

    WINDOWS & 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.

    ******************

    PAPER - III SECTION - II

    THE LINUX OPERATING SYSTEM

    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 & Fil e Desktops, System Configuration Tools,

    Windows & Icons, Xterm, X-Windows Multitasking

    RP: Chap. 4 Pages 107 to 116.

    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 & odcommands. 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 A rchives: .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 23Total (Lectures: 18)

    25 26

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    21/32

    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)

    ******************

    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, Concurr ent Development Model, Component

    Based Model, Formal Methods Model and Fourth Generation Techniques. - Their

    features, strengths, weaknesses and differences between them.

    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 lev el DFD. DFD fragments. The event -partiti oned 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.

    27 28

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    22/32

    Designing Databases. Databases and DBMS. Designing Relational DBMSs. Normal

    forms upto 3 rd normal form. Understanding of 4 th and 5th 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.)

    Paper IV Section II

    Object Oriented Systems Analysis Design &

    Software Engineering Concepts

    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.

    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. Systems Analysis and Design in a Changing World, Satzinger,

    Jackson and Burd - Thomson Learning/Course Technology, (2000).

    2. Code: SEPA. Software Engineering - A Practitioners Approach 5/e, Roger S.

    Pressman - McGraw-Hill International Edition (2001).

    3. Code: SADM. Systems Analysis and Design Methods, Whitten and Bentley -

    Tata McGraw Hill (1998).

    4. Code: IUML. Instant UML, Pierre-Alain Muller - Wrox/SPD (1997).

    Additional References:

    1. Code: SSATT. Structured Systems Analysis: Tools and Techniques, Gane andSarson - Prentiss Hall (1979).

    2. Code: UMLN. UML in a Nutshell, Sinan Si Alhir - Wrox/SPD (1998).

    29 30

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    23/32

    PRACTICALS

    Group I

    Advanced Java - I Practicals

    Notes :

    The following instructions about Java practicals should be carried out in the interestof 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 java.sun.com 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 thereis 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 notdirectly accessible from outside of classes.

    9. Polymorphism and inheritance should be implemented wherever necessary.

    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 i ts 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 cl ass.

    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 productof two complex numbers.

    Define a test class that checks the methods defined above.

    31 32

  • 8/6/2019 B.Sc. Computer Science 2004-2005

    24/32

    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 cl ass. 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 linearguments 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 i mplement event

    listeners. The drawing shoul d 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