University of Mumbai B.Sc. (Computer Science) : Syllabus

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

University of Mumbai

B.Sc. (Computer Science)

Syllabus

S.Y.BSc. (W.E.F. 2004-05)


B.SC. COMPUTER SCIENCE

Year II

Discrete Mathematics Paper I – Section I

Computer Graphics-I Paper I – Section II

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 II = 40

Examination Pattern for II nd Year of B Sc Computer Science

Marks of Theory paper per Term = 50 converted to 30


Marks of Practical per paper per Year = 40 converted to 40
Total marks per paper per year will be 30 + 30 + 40 = 100
B Sc. Computer Science: YEAR II

Paper I

CLASS: B. Sc (Computer Science) Year II


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, Transitive closure
and Warshalls algorithm.
5. Functions – Functions for computer science, permutation functions, growth of functions
6. Semi groups and groups – Binary operations, semi groups, products and quotients of
semi groups, groups, Products and quotients of groups.
7. Languages and finite state machines – Languages, representation of special languages
and grammars, Finite state machines, Semi groups , machines and languages, machines
and regular languages.
8. Groups and coding – Coding of binary information and error detection
Decoding and error correction.

Reference :

Discrete structures by B Kolman RC Busby, S Ross PHI Pvt. Ltd.


Discrete structures by Liu
Digital Logic John M Yarbrough Brooks/cole, Thompson Learning
Discrete Mathematics and its Applications Kenneth H. Rosen TMG
Discrete Mathematics for computer scientists and Mathematicians, Joe L.Mott, Abraham
Kandel Theodore P. Baker, Prentice-Hall of India pvt ltd
Discrete Mathematics With Applications, Susanna S. Epp, Books/Cole Publishing Company
Discrete Mathematilcs, Schaum’s Outlines Series, Seymour Lipschutz, Marc Lipson, TMG
SECTION II
Computer Graphics - I

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, Bresenham's 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(Schaum’s Outline Series), Roy A. Plastock, Tata McGraw-Hill
Principles of Interactive Computer Graphics, Willaim 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

******************* END OF PAPER I ********************


CLASS: B. Sc (Computer Science) Year II
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

Reference:

Object Oriented programmimg 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(India)
Practical C++ Programing O’Reilly
Beginning C++, Ivor Horton
A first book of C++, Gary Bronson
Practical C++ programming, Steve Oualline Shroff Publishers
Teach Yourself C++ Herbert Schildt, TMG
Object Oriented design in c++ using STL, Nicholas J De Lillo, Brooks/Cole, Thompson
Learning
Object oriented Programming in C++, Nabajyoti Barkakati, Prentice-Hall of India pvt ltd
Object Oriented Programming Using C++, Joyce Farrell, Course Technology
Thompson Learning
Patric Naughton, JAVA handbook, TMH, (Ch. 2-6,7,9,10,13,15)
Object oriented Programming with C++ and JAVA, D.Samantha, Prentice-Hall of India pvt
ltd

SECTION II

Data Structures using C / C++:


1. Definition of Data Structure, Data structure and analysis of Algorithms
Classification of Data Structures
Storage Structures: Sequential and Linked
2. Linear Data Structures:
Arrays and their memory representations
Queues, Circular Queue, Deque, Priority Queue
Stacks and their representation, application to recursion.
Linked Lists and their representation: singly, doubly, circular. Operations and
applications: Implementation, Insertion, Deletion, and Concatenation, merging
and reversing.
Sparse matrix and its representation & implementation.
3. Trees and their representations, binary trees and their operations such as
traversal, threading.
4. Graphs: Definition and terminology, sorting and searching techniques.
5. Hashing: Hash table, hashing function.

References:
Kruse,Leung,Tondo, “Data structures and Program Design in C”, Prentice Hall
Aho,Hopcroft, Ullman, “Data Structures and Algorithms”, Addison-Wesley.
Knuth ‘Fundamentals of Algorithms’ (Narosa Publication)
Horowitz, Sahni, “Fundamentals of Data Structures, Computer Science Press.

***************** END OF PAPER II *****************


CLASS: B. Sc (Computer Science) Year II
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 per 3 50
Term per Section
Practical per year -- 40

SECTION I

1. G U I
Murphy’s 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 complier to
compile / debug and run the programs.
VB Controls
Textboxes, command buttons, Frames, Check Boxes , Option Buttons, Images, Setting a
Border & Styles, The Shape Control, The line Control, Working with multiple controls and
their properties, Designing the User Interface, Keyboard access, tab controls, Default &
Cancel property, Coding for controls.
3. Variables, Constants, and Calculations
Variables, Variables Public, Private, Static, Constants, Data Types, Naming
rules/conventions, Constants, Named & intrinsic, Declaring variables, Scope of variables,
Val Function, Arithmetic Operations, Formatting Data.
4. Decision & Conditions
If Statement, If –then-else Statement, Comparing Strings, Compound Conditions(And, Or,
Not), Nested If Statements, Case Structure ,Using If statements with Option Buttons &
Check Boxes, Displaying Message in Message Box, Testing whether Input is valid or not.
Using Call Statement to call a procedure.
5. Menus, Sub-Procedures and Sub-functions
Defining / Creating and Modifying a Menu, Using common dialog box, Creating a new sub-
procedure, Passing Variables to Procedures, Passing Argument ByVal or ByRef, Writing a
Function Procedure,
6. Multiple Forms
Creating, adding, removing Forms in project, Hide, Show Method, Load, Unload
Statement, Me Keyword, Referring to Objects on a Different Forms,
7. List, Loops and Printing
List Boxes & Combo Boxes, Filling the List using Property window / AddItem Method,
Clear Method, List box Properties, Removing an item from a list, List Box/ Combo Box,
Do/Loops, For/Next Loops, Using MsgBox Function, Using String Function, Printing to
printer using Print Method,
8. Arrays
Single-Dimension Arrays, Initializing an Array using for Each, User-Defined Data Types,
Accessing Information with User-Defined Data Types, Using List Boxes with Array, Two
dimensional arrays.
9. Data Files
Opening and Closing Data Files, The Free File Function, Viewing the data in a file,
Sequential File Organization (Writing Data to a sequential Disk File, Creating a sequential
data file, Reading the Data in a sequential file, Finding the end of a Data file, Locating a
file). Trapping Program Errors, The Err Object, Random Data File Opening a random file,
Reading and writing a random file(Get, Put, LOF, Seek).
10. Accessing Database File
Creating the database files for use by Visual Basic(Using MS-Access), Using the Data
Control ,setting its property, Using Data Control with forms, navigating the database in
code ( the recordset object using the movenext, movepreviouse, movefirst & movelast
methods , checking for BOF & EOF, using listboxes & comboboxes as data bound controls,
updating a database file ( adding, deleting records ) .
11. Advanced data handling
Displaying data in grids ( grid control, properties of grid ) , displaying the record no &
record count, opening the database, validation & error trappings ( locking text boxes, trap
errors with On Error, file open errors ) , Recordset , searching for a specific record (
findfirst, findnext, findlast, findprevious,) , seek method, working with database fields,
creating a new dynaset.

Books:
i) Programming in VB 6 by Julia case Bradley , Anita C. Millspaugh, TMH
ii) Visual Basic 6.0 Programming by Content Development Group, TMH
iii) The Complete Reference Visual Basic 6 by Noel Jerke , TMH

SECTION II

Data base concepts and Systems

1. Introduction- Purpose of Database Systems, Views of data, Data Models, Database


language, Transaction Management, Storage Management, Database Administrator,
Database Users, Overall System Structure, Different types of Database Systems

2. E-R Model: Basic Concepts, Design Issues, Mapping Constraints, Keys, E-R Diagram,
Weak Entity set, Extended E-R features, Design Of an E-R Database Schema, Reduction of
an E-R schema to Tables

3. Relational Model: Structure of Relational Database, The Relational Algebra, The tuple
relational calculus, The Domain Relational Calculus, Views

4. SQL- Background, Basic Structure, SET operations, Aggregate functions, Null Values,
Nested Sub queries, Derived Relations, Views, Modification of Database, Joined Relations,
DDL, Other SQL features

5. Transaction- Transaction Concepts, State, Implementations of Atomicity and durability,


Concurrent Executions, Serializability, Recoverability, Transaction Definition in SQL.
Concurrency Control- Lock based protocol, Timestamp based protocol, Validation based
protocol, Multiple Granularity, Multi version Schemes, Deadlock Handing, Insert and
Delete operations, Concurrency in index structure.
Query Optimization
6. Relational Database Design- Pitfalls in Relational-Database 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 architecture , client/server
architecture, multi-tier architecture)
RDBMS: Data models (File management systems, hierarchical databases, network
databases), relational data model ( Keys, tables, relationships), Codd's 12 rules
SQL Basics: statements, names ( table & column names), data types , constants
(numeric, string, date & time, symbolic constants), expressions , built-in functions, missing
data (NULL values)
Simple queries: The SELECT statement , query results, simple queries, duplicate rows,
row selection, search conditions, sorting query results, rules for single table query
processing
Multi-table queries : Simple joins , Non equi-joins, SQL considerations for multi table
queries ( table aliases, qualified column names, all column selections , self joins) , multi table
query performance , the structure of the join ( table multiplication, rules for multi-table
query processing ) , outer joins
Summary Queries : column functions, grouped queries, group search conditions
Sub queries & query expressions : using sub queries, sub query search conditions, sub
queries & joins, nested sub queries , correlated sub queries, sub queries in the HAVING
clause.

Books:
1. Database Systems and Concepts, Henry F. Korth, Sliberschatz, Sudarshan,
McGraw Hill
2. DBMS by Date
3. Visual Basic 6 programing Bible, Eric Smith, IDG Books India Pvt. Ltd.
4. Visual basic 6 Programing Black Book, Steven Holzner, IDG Books India Pvt. Ltd.
5. GUI Design for dummies, IDG books.
6. SQL Server 2000 Black Book, Patrick Dalton, IDG Books India Pvt. Ltd.
7. Visual Basic6 Programming Blue Book by Peter G. Aitken—Technology Press
8. The complete reference SQL by James R. Groff & Paul N. Weinberg TMG
9. SQL a complete reference by Alexis Leon & Mathews Leon TMG
10. Microsoft SQL Server 7.0 Bjeletich,S.: Mable. G. Techmedia

References:

Using visual basic 6 / Reselman, Rob: Peasley, R.: Pruchniak Prentice Hall India pvt.ltd
Visual Basic 6 : In Record Time/ Brown, S. B P B Publication
Beginning S Q L Server 2000 for Visual Basic Developers Willis thearon Shroff publishers
& distributers
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 Mc Graw Hill
Object Oriented Database Management, Kemper and Moerkotte, Prientice Hall New Jersy
Object Oriented MultiDatabase System, Omran A. Bukhares & A.K Elmagarmid, Prentice
Hall Inc.1996

**************** END OF PAPER III ******************


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: Bresenham’s line drawing algorithm
Practical 12: Midpoint circle algorithm
Practical 13: Midpoint-ellipse algorithm
Practical 14: Polygon generation
Practical 15: Polygon filling
Practical 16: Animation using different line and pixel methods
Practical 17: Clipping algorithms
Practical 18: Creation of bezier / B-splines.

List of practicals/ tutorials/term work for Paper II

Paper II: Section I


C++
Practical 1: Simple programs to revise C++ fundamentals
Practical 2: Constructor and constructor overloading, function overloading
Practical 3: Operators and operator overloading
Practical 4: Inheritance, multiple inheritances
Practical 5: Virtual Functions and Polymorphism:
Practical 6: Arrays, Pointers and References:

JAVA
Practical 7: Introductory concepts and working on JAVA
Practical 8: Concept of a Java class, which includes encapsulation, inheritance,
polymorphism etc.
Practical 9: Demonstration of the concept of a Java package and its interfaces.
Practical 10: Java string handling, string sorting, concatenation, subtraction and
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/ Intranet.

Linear Data Structures


Practical 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 representation & implementation.
Practical 21: Tree traversal
Practical 22: Graphing algorithms

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 VB


Practical 5: Menus, Sub-Procedures and Sub-functions
Practical 6: Multiple Forms
Practical 7: Use of List Boxes & Combo Boxes, Filling the List using Property window /
AddItem 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
Prcatical 10: Advanced data handling

Paper III – Section II


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

You might also like