b.sc. computer science 2004-2005
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