BSC Computer Science Syl Lab Us 2012
BSC Computer Science Syl Lab Us 2012
BSC Computer Science Syl Lab Us 2012
Thenhipalam, Calicut University P.O. KERALA, 673 635 INDIA. JUNE 2012
c Copyright by University of Calicut, 2012.
B.Sc. Computer Science Programme Structure (2012 - Admission Onwards) Total Number of Courses: 40 Total Credits : 120
Semester I
Course No. 01 02 03 04 05 06 07 Course Code A01 A02 A07 BCS1B01 BCS1B02 MM1C01 -C01 Title Communication Skills in English Critical Reasoning, Writing and Presentation Communication Skill in Languages other than English Problem Solving using C. Lab-I - Programming Language C Complementary-I Mathematics Optional Complementary-I Total Credit 3 3 4 2 1 4 3 20
Semester II
Course No. 08 09 10 11 12 13 14 Course Code A03 A04 A09 BCS2B03 BCS2B04 MM2C02 -C02 Title Reading Literature in English Reading on Indian Constitution Secularism and Sustainable Environment Literature in Languages other than English Fundamentals of Data structures Lab-II - Data structures using C Complementary-II Mathematics Optional Complementary - II Total Credit 4 4 4 3 1 3 3 20
Semester III
Course No. 15 16 17 18 19 20 Course Code BCS3B05 BCS3B06 BCS3B07 BCS3B08 MM3C03 -C03 Title Digital Fundamentals, Webpage Designing Fundamentals of Operating Systems. Lab-III - Windows, Linux & Shell Programming and Webpage Designing Complementary - III Mathematics Optional Complementary III Total Credit 4 4 4 1 3 3 20
Semester IV
Course No. 21 22 23 24 25 26 Course Code BCS4B09 BCS4B10 BCS4B11 BCS4B12 MM4C04 -C04 Title Object Oriented Programming Concepts & C++, Computer Organization & Architecture Fundamentals of Database Management System. Lab-IV - PostgreSQL & C++ Programming. Complementary-IV Mathematics Optional Complementary-IV Total Credit 4 4 4 1 3 3 20
Semester V
Course No. 27 28 29 30 31 32 33 Course Code BCS5B13 BCS5B14 BCS5B15 BCS5B16 BCS5B17 BCS5D01 BCS5B18 Title Java Programming. Web Programming using PHP Principles Software Engineering Lab - V - Programming in Java Lab - VI - Web Programming PHP Open Course-I Project Work Total Credit 4 4 4 1 1 4 20
Semester VI
Course No. 34 35 36 37 38 39 40 Course Code BCS6B19 BCS6B20 BCS6B21 BCS6B22 BCS6B23 BCS6E01 BCS6B24 Title Discrete Structures. Microprocessor and Applications 8086. Computer Networks Lab-VII Microprocessor Programming using TASM/ MASM/ NASM Lab-VIII Network Programming Lab Elective Course Project Work Total Credit 4 4 4 1 1 4 4 20
First Semester
BCS1B01: Problem Solving and C Programming
Course Number: 4 Contact Hours per Week: 1 Theory Number of Credits: 3 Number of Contact Hours: 15 Hrs. Aim of the Course: To equip the students with fundamental principles of Problem Solving aspects. To learn the concept of programming To study C language To equip the students to write programs for solving simple computing problems Prerequisites: Background of the basic science at +2 level. Course Outline: Module 1 - [3 Hours]: Introduction : The problem solving aspect, Top-down design, Implementation of algorithms, Program verication, eciency of algorithms. Introduction to C Programming, overview and importance of C, C Program Structure and Simple programs, Creation and Compilation of C Programs under Linux and Windows Platforms. 5
Module 2 - [3 Hours]: Elements of C Language and Program constructs. Character Set,C Tokens, Keywords and Identier, Constants, Variables, Data types, Variable declaration and assignment of values, Symbolic constant denition. C-Operators, Arithmetic operators, relational operators, and logical operators, assignment operators, increment and decrement operators, conditional operators, special operators, arithmetic expressions, evaluation of expressions, precedence of arithmetic operators, Type conversion in expressions, operator precedence and associativity, Mathematical Functions, I/O operations. Module 3 - [3 Hours]: Decision making, Branching and Looping. Decision making with IF statement, Simple IF statement, If. . .else statement, Nesting of If. . .else and else. . .if Ladder, Switch statement, Conditional operator, Go-to statement. Looping: While loop, Do-While, and For Loops, Nesting of loops, jumps in loop, skipping of loops. Module 4 - [3 Hours]: Array & Strings - One dimensional array, two dimensional array and multi-dimensional array, strings and string manipulation functions. The Concept of modularization and User dened functions-Multi-function Program, calling functions, various categories of functions, Nesting of functions and recursion, functions and arrays, scope and life-time of variables in functions, multi-le programs. Structures & Union structure denition , giving values to members, structure initialization, comparison of structure variables, arrays of structures, arrays within structures, structures within arrays, structures and functions, Unions, bit-elds. Module 5 - [3 Hours]: Pointers and Files: Understanding pointers, accessing the address of a variable, declaring and initializing pointers, accessing a variable through its pointer, pointer expressions, pointer and arrays, pointer and character string, pointers and functions, pointers and structures, pointer to pointer - dynamic memory allocation. Files : Dening, Opening and closing les - i/o operations on les - error handling on lesrandom access of lescommand line operations. Preprocessor directives: Macro substitution directives - simple macros - macros with arguments - nesting of macros, Compiler control directives.
Text Books: 1. Programming in ANSI C by E. Balaguruswami. References: 1. The C Programming Language by Brian W. Kernighan & Dennis M. Ritchie. 2. Let us C by Yashavant P. Kenetkar. 3. Byran Gotfried, Schaums Outline series- Programming with C.
Lab 3 : Programs involving Arrays (Searching, sorting and vector operations etc.) Lab 4 : Two dimensional arrays ( like Matrix operations) Lab 5 : String Manipulations Lab 6 : Programs involving Structures (like addition of Two Complex numbers, student record creation and manipulation etc.) Lab 7 : Programs involving Union Lab 8 : Programs involving functions Lab 9 : Recursion ( recursive function to compute a factorial, reverse string etc) Lab 10 : Pointers - simple programs to learn concept of pointers, array operation using pointers etc. Lab 11 : File operations Lab 12 : Command line arguments copy a le, delete a le etc.
Projects:
1. Design a Scientic Calculator and include as many functions as possible 2. Prepare rank list for nding the topper in the considering the grade obtained in various subjects. 3. Develop a telephone directory. 4. Write a program for sorting a list of input elements. User should be able to give an option for ascending order or descending order. Use command line arguments. Note: All lab works should be neatly recorded in a Laboratory Record Book in written form. However Program results can be pasted in the left hand side of the fare record. All students should have a rough record (observation note book ) too, in which they write all the works to be carried out in the lab prior to his/her entering the lab. He/She may also note down the i/p and o/p that he gives for program verication in the observation note book(rough record).
Second Semester
BCS2B03: Data and File Structures
Course Number: 10 Contact Hours per Week: 1 Theory Number of Credits: 3 Number of Contact Hours: 15 Hrs. Aim of the Course: To introduce the concept of datastructures. To make the students aware of various datastructures. To equip the students implementing fundamental datastructures. Prerequisites: Knowledge in C Programming Language. Course Outline: Module 1 - [3 Hours]: Introduction to data structures - need for data structures, denition, categories of data structures; Arraysstorage representation of 1D, 2D and Multi-dimensional arrays, Sparse matrix Representation. Lists: Static and Dynamic Lists, Linked Lists, creation, operations on linked lists. Module 2 - [3 Hours]: Stacks & Queues Stack - Denition, Operation on stack, Implementation using arrays and linked lists, Applications of Stacks, Function Calling, 9
Recursiondirect & indirect recursion, Evaluation of arithmetic Expressions, Conversion of Expressions - Prex, Inx and Postx expressions. Queues: Denition, Implementations using arrays and linked lists, Circular queue, Dequeue, Priority queues, Applications of queues. Module 3 - [3 Hours]: Trees - Denition, Basic terminology, Binary trees, Representation of binary trees, Sequential representation of binary trees, Linked representation of binary trees, Traversals, Threaded binary tree. Binary Search Trees: Denition, Insertion, Deletion, Traversal and Searching BST, AVL Trees, B-Tree and B+ Tree, Heap tree: Insertion and deletion. Module 4 - [3 Hours]: Graphs: Graphs: Representation of graphs, Adjacency Matrix, Adjacency List, Adjacency Multi-list, Graph search methods (BFS and DFS), Minimal Spanning Tree, Prims Algorithm and Kruskals Algorithms, Shortest path problem, Dijkstras Algorithm. Module 5 - [3 Hours]: Searching and Sorting: Searching: Linear search, Binary search, Comparison of dierent methods, Hashing: Dierent hashing functions, Methods for collision handling. Sorting: Insertion sort, Bubble sort, Selection sort, Quick sort, Heap sort and Merge sort methods, Comparisons and Implementation. Text Books: 1. Fundamentals of datastructures By E. Horowitz & S. Sahni. References: 1. Data Structure Using C and C++ By Aron M Tenenbaum.
10
Aim of the Course: To learn how to implement various data structures. To provide opportunity to students to use data structures to solve real life problems. Prerequisites: Theoretical knowledge in Datastructures. Knowledge in C Programming. Course Outline: Experiments should include but not limited to : Lab 1: Implementation of array operations: Lab 2: Implementation Sparse Matrices using linked lists: Multiplication, addition. Lab 3: Stacks and Queues : adding, deleting elements Lab 4: Circular Queue : Adding & deleting Lab 5: Implementation of linked lists: inserting, deleting, inverting a linked list. Lab 6: Implementation of stacks & queues using linked lists Lab 7: Implementation Polynomial addition, Polynomial multiplication using linked lists. Lab 8: Implementation of trees and graphs. Lab 9: Recursive and Non-recursive traversal of Trees. Lab 10: Implementation of searching TechniquesLinear and Binary search. Lab 11: Sorting techniquesBubble Sort, Insertion Sort, Quick Sort, Heap Sort and Merge Sort. 11
Lab 12: Simple Hashing Functions. Note: All lab works should be neatly recorded in a Laboratory Record Book in written form. However Program results can be pasted in the left hand side of the fare record. All students should have a rough record (observation note book ) too, in which they write all the works to be carried out in the lab prior to his/her entering the lab. He/She may also note down the i/p and o/p that he gives for program verication in the observation note book (rough record).
12
Third Semester
BCSB05: Digital Fundamentals
Course Number: 15 Contact Hours per Week: 4 Number of Credits: 4 Number of Contact Hours: 52 Hours. Aim of the Course: To learn the basic methods for the design of digital circuits. To provide the fundamental concepts used in the design of digital systems. Prerequisites: Basic knowledge in Mathematics. Course Outline: Module 1 - [8 Hours]: Number Systems - Binary, Octal, Decimal, Hexadecimal-Number base conversions complements signed Binary numbers. Binary ArithmeticBinary codes: Weighted BCD-2421-Gray code-Excess 3 code-ASCII Error detecting code conversion from one code to another-Boolean postulates and laws De-Morgans Theorem- Principle of Duality- Boolean expression Boolean function- Minimization of Boolean expressions Sum of Products (SOP) Product of Sums (POS)-Minterm- Maxterm- Canonical forms Conversion between canonical forms Karnaugh map Minimization Dont care conditions. 13
Module 2 - [12 Hours]: Logic Gates - AND, OR, NOT, NAND, NOR, Exclusive OR and Exclusive NOR- Implementations of Logic Functions using gates, NAND NOR implementations Multi level gate implementations- Multi output gate implementations. TTL and CMOS Logic and their characteristics Tristate gates. Combinational Circuits: Design procedure Adders-Subtractors Serial adder/ Subtractor - Parallel adder/ Subtractor- Carry look ahead adderBCD adder- Magnitude Comparator- Multiplexer/ Demultiplexer- encoder / decoder parity checker code converters. Implementation of combinational logic using MUX, ROM, PAL and PLA. Module 3 - [12 Hours]: Sequential Circuits - Flip ops SR, JK, T, D and Master slave Characteristic table and equation - Application table Edge triggering - Level Triggering Realization of one ip op using other ip ops Asynchronous / Ripple counters Synchronous counters Modulo n counter - Classication of sequential circuits Moore and Mealy -Design of Synchronous counters: state diagram - State table - State minimization - State assignment - ASM-Excitation table and maps - Circuit implementation Register shift registers- Universal shift register Shift counters Ring counters. Module 4 - [10 Hours]: Asynchronous Sequential Circuits:Design of fundamental mode and pulse mode circuits primitive state / ow table Minimization of primitive state table state assignment Excitation table Excitation map- cycles Races Hazards: Static Dynamic Essential Hazards elimination. Module 5 - [10 Hours]: Memory Devices - Classication of memories-RAM organization - Write operation-Read operation - Memory cycle - Timing wave forms - Memory decoding - memory expansion - Static RAM Cell-Bipolar RAM cell MOSFET RAM cell - Dynamic RAM cell - ROM organization - PROM EPROM EEPROM EAPROM - Programmable Logic Devices - Programmable Logic Array (PLA)- Programmable Array Logic (PAL)-Field Programmable Gate Arrays (FPGA). Text Books:
14
1. Thomas L. Floyd, Digital Fundamentals, Pearson Education, Inc, New Delhi, 2003 References: 1. Donald P.Leach and Albert Paul Malvino, Digital Principles and Applications, 5 ed., Tata McGraw Hill Publishing Company Limited, New Delhi, 2003. 2. M. Morris Mano, Digital Design, 3.ed.,Prentice Hall of India Pvt. Ltd., New Delhi, 2003/Pearson Education (Singapore) Pvt. Ltd., New Delhi, 2003. 3. Donald D.Givone, Digital Principles and Design, Tata Mc-GrawHill Publishing company limited, New Delhi, 2003. 4. John .M Yarbrough, Digital Logic Applications and Design, ThomsonVikas publishing house, New Delhi, 2002.
HTML: Introduction to HTML, Basic formatting tags: heading, paragraph, underline break, bold, italic, underline, superscript, subscript, font and image. Dierent attributes like align, color, bgcolor, font face, border, size. Module 2 - [10 Hours]: Navigation Links using anchor tag: internal, external, mail and image links. Lists: ordered, unordered and denition, Table tag, HTML Form controls: form, text, password, textarea, button, checkbox, radio button, select box, hidden controls, Frameset and frames. Module 3 - [12 Hours]: CSS: Introduction to Cascading Style Sheet (CSS), CSS Syntax, Comments, Id and Class, Background - Background Color, Background Image - Text - Text Color, Text Alignment, Text Decoration, Text Transformation, Text Indentation - CSS Font - Font Families, Font Style, Font Size - Setting Text Size - Using Pixels and Em - CSS Lists - Dierent List Item Markers, Unordered List, Ordered List, An Image as The List Item Marker - CSS Tables - Table Borders, Collapse Borders, Table Width and Height, Table Text Alignment, Table Padding, Table Color CSS Positioning - Static Positioning, Fixed Positioning, Relative Positioning, Absolute Positioning, Overlapping Elements - Float - Horizontal Align Image Gallery - Image Opacity/Transparency - Image Sprites. Module 4 - [10 Hours]: VBScript: Introduction & Basics, Incorporating VBScript into HTML Page, comments, variables, Document Methods: write and writeln methods, alert, MessageBox, Conditional statements - If-Then-Else statement, Select Case, Loops - for-next, Do-while, Operators, VBScript Functions- Date/Time functions, Conversion functions, Format functions, Math functions, Array functions, String functions, Other functions, Events Familiarization: onLoad, onClick, onBlur, onSubmit, onChange, Module 5 - [10 Hours]: Javascript: Introduction, Client side programming, script tag, comments, variables, Document Methods: write and writeln methods, alert, Operators: Arithmetic, Assignment, Relational, Logical, Javascript Functions, Conditional Statements, Loops, break and continue. Events Familiarization: onLoad, onClick, onBlur, onSubmit, onChange. 16
Text Books: 1. Jon Duckett, Web Programming with HTML,XHTML, CSS, Wrox Beginning. References: 1. HTML 4.0 IN SIMPLE STEPS, Author:Kogent Solutions Publishers : Wiley 2. HTML 4 FOR DUMMIES, Author:ED TITTEL & MARY BURMEISTER Publishers: Wiley
Module 2 - [9 Hours]: Denition of Process, Process States, Process Control Block, Operations on Process, Process Communication, Communication in Client server System, Basic concepts of threads, Concurrency, Principles of Concurrency, Mutual exclusion, Semaphores, Messages, Dead lock, Dead lock Prevention, Dead lock detection, dead lock avoidance. Module 3 - [8 Hours]: CPU Scheduling: Scheduling Criteria, Scheduling algorithms - FCFS, SJF, Priority, RR, Multilevel, Feedback Queue, Process synchronization, The Critical Section Problem, Synchronization Hardware, Classical Problems of synchronization, File and Database System, File System, Functions of organization, Allocation and Free space management. Module 4 - [8 Hours]: Memory Management, Address binding, Logical Vs Physical address space, Dynamic Loading, Dynamic Linking and Shared Libraries, Overlays, Swapping, Contiguous Memory allocation, Paging, Segmentation, Virtual memory, Demand paging, Page replacement, Thrashing. Module 5 - [8 Hours]: Protection and security: policy and mechanism , authentication, authorization, Mobile OS: Concepts, history, features, architecture, future scope; Case studies : Android, UNIX kernel and Microsoft windows NT(concept). Text Books: 1. Operating System Concepts- Silberschatz, Galvin, Gagne, Sixth edition, John Willey & Sons INC. References: 1. Operating Systems A Modern Perspective, Nutt G.J, Addison Wesley. 2. Operating Systems, Internals and Design Principles-William StallingsFifth Edition-PHI Publications New Delhi.
18
BCS3B08:Lab - III - Windows, Linux & Shell Programming and Webpage Designing
Course Number: 18 Practical Hours per Week:4 Number of Credits:1 Number of Contact Hours: 52 Hours. Aim of the Course: To have practice in Windows OS. To have practice in Linux OS and Shell. To practice various OS Commands. To learn shell programming under Linux/Unix. Prerequisites: Theoretical knowledge in Operating System. Course Outline: Windows Exploring dierent controls on Desktop Explore dierent menus / submenus on Start Button Changing the size of various windows Installing various software (Learn the procedure for any software) Removing Software Creating Shortcuts Adding Printers Running MS DOS applications Managing Files and Folders Using various programs such as Word pad, Note pad, Calendar etc. Linux & Shell Programming: 19
Familiarisation of Shells in Linux Use of Vi editor Familiarisation of File and directory commands like pwd, mkdir, ls, chmod, mv, cp, rm, ln, nd, cat, pr, sort, cmp, cut & paste etc. Familiarisation of Filters and Pipes: Grep, pg, wc, tr, pipe( | ), redirection etc. Familiarisation of Other Commands: uname, logname, id, pid, who, tty, echo, ps, date, passwd, clear, cal, banner, man etc. Shell variables, operators and expressions, control & loop statements Simple shell programs like, multiplication table, nd a particular user logged in, sort list of users, create and set pass word for n number of users at a time etc. HTML & Java Script: Write HTML code to develop a Web page having the background in red and title My First Page in any other colour. Create an HTML document giving details of your name, age, telephone number, address, TLC code & enrolment number aligned in proper order. Write an HTML code to design a page containing text, in form of paragraphs giving suitable heading style. Create a page to show dierent attributes of Font tag. Create a page to show dierent attributes: italics, bold, underline. Design a page having background colour yellow, giving text colour red and using all the attributes of font tab. Write an HTML code to create a Web page of blue color and display links in red colour. Write an HTML code to create a Web page that contains an image at its center. Create a Web page with appropriate content and insert an image towards the left hand side of the page. When user clicks on the image, it should open another Web page. Create a Web page using href attribute of anchor tag & the attribute: alink, vlink etc. Create a Web page, wherein when the user clicks on the link it should go to the bottom of the page. 20
Write HTML code to create a Web page of pink colour and display a moving message in red colour. Create a Web page, which should contain a table having two rows and two columns. Fill in some dummy data in the table created by you in question 1 of this session. Create the following table in HTML with Dummy Data Write an HTML code to develop a Web page having two frames that divide the Web page into two equal rows. Write an HTML code to develop a Web page having two frames that divide the Web page into two equal rows and then divide the second row into two equal columns. Write an HTML code to develop a Web page having frames as described in the above question and then ll each frame with a dierent background colour. Design a page with a text box called name and a button with label Enter. When you click on the button another page should open, with the message Welcome < name >, where name should be equal to the name entered in the rst page. Design a Web Page, which is like compose page of e-mail 1. Design a Web Page, which is like compose page of e-mail How would you write any statement using only one write() or writeln() command? Embed JavaScript in HTML document asking users name and then printing Hello < U ser N ame > Create a dialogue box with Welcome to my Website message. Write a program to display a multiplication table. Write a code to create a scrolling text in a text box. Write a JavaScript code to create a pull down menu box. Write a program to move a text with mouse pointer. Write a program to change colour of text randomly. Create a Web page using two image les, which switch b/w one another as the mouse pointer moves over the image. Use the On Mouse over and On Mouse out event handler
21
Create an HTML form that has a number of text boxes. The user lls the textboxes with data. Write a script that veries that all textboxes have been lled. If a text box has been left empty pop up an alert message indicating the box that has been left empty. When OK button is clicked, set focus to that specic textbox. If all the textboxes are lled, display thank you. Create a program to generate a hit counter. Create a program to verify whether email address provided by the user is valid or invalid.
22
Fourth Semester
BCSB09: Object Oriented Programming Concepts & C++
Course Number: 21 Contact Hours per Week: 4 Number of Credits: 4 Number of Contact Hours: 52 Hours. Aim of the Course: To learn basic concepts of OOPS. To learn Object Oriented Programming. To learn C++. Prerequisites: Basic knowledge in Computer. Course Outline: Module 1 - [10 Hours]: OOP Concepts - Characteristics of OOPS - Object oriented languages. C++ Fundamentals: C++ data types, operators, expressions. Control structures: Branching and looping statements-break and continue statements. User dened functions - Inline functions.
23
Module 2 - [12 Hours]: Classes and objects: Dening classes, dening member functions, creating objects. Passing and returning objects to and from functions- Friend functions- Constructors: default constructors, parameterized constructors, constructors with default arguments, copy constructors- destructors. Module 3 - [10 Hours]: Overloading and polymorphism: Operator overloading, function overloading, constructor overloading. Inheritance: Single, multiple, multilevel, hierarchical and hybrid inheritance. Module 4 - [10 Hours]: Pointers - Dynamic memory management- new and delete operatorsPointers to functions -Pointers to objects-Accessing members- this pointer - Pointers to derived objects - Virtual functions - Virtual base classes. Templates: class templates, function templates. Module 5 - [10 Hours]: File processing - File pointers, opening and closing les. File stream functions - Sequential I/O operations for text and binary les.
References: 1. Object oriented programming with C++ - Robert C Lafore 2. Bjarne Stroustrup, The C++ Programming Language, Addison Wesley, 1999.
Aim of the Course: To learn basic Architecture of a Computer. To learn basic Computer Organization. Prerequisites: Basic knowledge of Computer. Course Outline: Module 1 - [10 Hours]: Basic Computer Organization and Design: Instruction Codes , Computer Registers, Computer Instructions, Timing and Control, Instruction Cycle, Memory reference Instructions, Input, Output and Interrupt Design of Basic Computer, Design of Accumulator logic. Module 2 - [14 Hours]: Micro programmed Control: Control Memory, Address sequencing, Micro program Example, Design of control unit. Processor Organization: general register organization, stack organization, instruction formats, addressing modes, data transfer and manipulation, program control. Computer Arithmetic: Addition, Subtraction, Multiplication, Division algorithms - Floating point arithmetic operations, Decimal arithmetic operations. Module 3 - [8 Hours]: Memory Organization: Memory Hierarchy, Main memory (RAM/ROM chips), Auxiliary memory, Associative memory, Cache memory, Virtual Memory, Memory Management Hardware, hit/miss ratio, magnetic and optical storage devices Module 4 - [8 Hours]: Input-Output Organization: Peripheral devices, I/O interface, Modes of Transfer, Priority Interrupt, Direct Memory Access, Input-Output Processor, and Serial Communication. I/O Controllers, Asynchronous data transfer, Strobe Control, Handshaking. 25
Module 5 - [12 Hours]: Parallel Processing: Basic Parallel Processing Architecture - Taxonomy- SISD. MISD, SIMD, MIMD structures - CISC Vs RISC - Symmetric Multi processors - Cache coherence and MESI protocol - Clusters - Non Uniform Memory Access. Pipelining: Basic Concepts of pipelining, Instruction Pipelining. Hazards, Reservation Tables, Collision, Latency, Dynamic pipeline, Vector processing & Vector processors Text Books: 1. M. Morris Mano, Computer System Architecture, Prentice-Hall of India, Pvt. Ltd., Third edition, 2007 References: 1. William Stallings Computer Organization and Architecture, PrenticeHall of India, Pvt. Ltd., Seventh edition, 2005.
26
Course Outline: Module 1 - [7 Hours]: Database System concepts and applications: Introduction to data bases, File Systems Versus a DBMS, Advantages and Disadvantages of using DBMS Approach, Database administrators and users. Data Models, Schemas, and Instances, Types of Data Models, Three Schema Architecture and Data Independence, Database Languages and Interfaces. Conceptual Data Models for Database Design: Entity Relationship ModelsConcept of Entity, Entity Sets, Relationship Sets, Attributes, Domains, Constraints, Keys, Strong and Weak Entities. Concepts of EER. Module 2 - [9 Hours]: Relational Data Model: Relations, Domains and Attributes, Tuples, Keys. Integrity Rules, Relational Algebra and Operations , Relational Calculus and Domain Calculus. Relational Database Design using ER to Relational Mapping. SQL- Data Denition in SQL: creation, updation , deletion of tables, modifying the structure of tables, renaming, dropping of tables. Constraints. Database Manipulation in SQL: Select command, Logical operators, Range searching, Pattern matching, Grouping data from tables in SQL, GROUP BY, HAVING clauses, Joins - Joining Multiple Tables, Joining a Table to itself. Views - Creation, Renaming the column of a view, destroys view. Module 3: - [8 Hours]: Relational database design: - Anomalies in a Database, Normalization Theory, Functional Dependencies. First, Second and Third Normal Forms, Relations with more than one Candidate Key, Good and Bad Decompositions, Boyce Codd Normal Form, Multivalued Dependencies and Fourth Normal Form, Join Dependencies and Fifth Normal Form. Module 4 - [7 Hours]: Transaction Management and Concurrency Control - Transaction: Properties (ACID), states, Commit, Rollback; Concurrency Control-Lost update problems, Locks, two phase locking. Module 5 - [7 Hours]: Introduction to OODBMS - Object Identity, Object Structure, Encapsulation of Operations, Methods, and Persistence, Object Query Language. Introduction to Multimedia database. 27
Text Books: 1. Fundamentals of Database Systems, Elmasri & Navathe, Pearson Education. References: 1. Database System Concepts Abraham Silberschatz, Henry F Korth, S. Sudarshan, 5th Ed. 2. Introduction to Database Systems, CJ Date, Addison Wesley. 3. Database Management Systems Ramkrishnan McGraw Hill.
tables using PostgreSQL/ MySQL. Create the following tables with the specied constraints: Department: Department name - Not NULL unique Department number - Primary Key ManagerId - Refers to employee-id of employee table. Manager date of joining - Not NULL. Employee: First name Middle initials Last name Employee id Date of Birth Address Gender Salary Date of Joining Department number Refers to Department Number of Department table. Department location: Department number - Refers to Department number of department table. Department location - Not NULL. Department number & Department location are combined Primary Key Project: Project name-Not NULL. Project number-Primary Key. Project location-Not NULL. Department number-Refers to department number of Department table. M or F Range of 5000 to 25000 Not NULL Primary Key Not NULL
29
Works-on: Employee-id - Not NULL refers to employee-id of employee table. Project number- Not NULL refers to Project number of Project table. Hours - Not NULL. Employee-id & Project number are combined primary key. Dependent: Employee-id - Refer to employee table employee id eld Dependent name Gender - M or F Date of Birth - Not NULL Relationship - Not NULL Now enter a few sets of meaningful data and answer the following queries. 1. List the department wise details of all the employees. 2. Find out all those departments that are located in more than one location. 3. Find the list of projects. 4. Find out the list of employees working on a project. 5. List the dependents of the employee whose employee id is 001 Lab 2: These sessions is similar to the previous one, but in this session, assume that you are developing a prototype database of the College library management system, for that you need to create the following tables: Book Records Book details Member details and Book issue details Book Records: Accession Number ISBN Number
30
Books : ISBN Number Author Publisher Price Members: Member Id Member Name Maximum Number of books that can be issue Maximum Number of days for which book can be issued Book Issue: Member Id Accession Number Issue Date Return Date You must create constraints, including referential integrity constraints, as appropriate. Please note accession number is unique for each book. A book, which has no return date, can be considered as issued book. Enter suitable data into the tables. Now answer the following: 1. Insert data in all the three tables (use insert). 2. Insert appropriate description associated with each table and the column (use comment). 3. Display the structure of the tables. 4. Display the comments that you have inserted. 5. Using SELECT statement, write the queries for performing the following function: (a) Get the list of all books (No need to nd number of copies). (b) Get the list of all members. (c) Get the Accession number of the books which are available in the library. (d) On return of a book by a member calculate the ne on that book. (e) List of books issued on 01-Jan-2005. (f)Get the list of all books having price greater than Rs. 500/31
(g) Get the list of members who did not have any book issued at any time. (h) Get the list of members who have not returned the book. (i) Display member ID and the list of books that have been issued to him/her from time to time. (j) Find the number of copies of each book (A book accession number would be dierent but ISBN number would be the same). (k) Find the number of copies available of a book of given ISBN number. (l) Get the member ID and name of the members to whom no more books can be issued, because they have already got as many books issued as the number for which they are entitled. Lab 3: This session is based on Lab 2 where you have created a library management system. In this session you have dierent query specication. You must create appropriate forms, reports, graphs, views and data ltering, use of multilevel report, etc. to answer these queries. 1. Get the list of ISBN-Number, Book name, available copies of the books of which available copies are greater than zero. 2. Get the list of ISBN-Number, Book name, Total copies, available copies of the book of which available copies are greater than zero. List should be displayed in alphabetical order of book name. 3. Get the list of ISBN number, Book name, Author, total copies, cost (cost is price total copies). List should be displayed in descending order of cost. 4. Get the list of books issued to each member. 5. Write query to know the maximum and average price of the books. 6. Get the list of all existing members and the number of days for which a member is allowed to keep the book. Also nd out the members who have got the maximum number of books issued. 7. Get the list of member codes of those members who have more than two books issued. 8. Find the details of the books presently issued to a member. 9. Create the history of issue of a book having a typical accession number. 10. To set the width of the book name as 35. Lab 4: Create the following table and perform the necessary tasks dened below one by one. You must use the query tools/ SQL/ Reports/ Forms/ Graphs/Views/ using client/server wherever needed. 32
1. Create the following table named customer Column name Customer id Name Area Phone type Character Character Character Numeric size 10 25 3 7
Insert the appropriate data into table and do the following. Update Phone numbers of all customers to have a prex as your city STD Code Print the entire customer table List the names of those customers who have e as second letter in their names. Find out the Customer belonging to area abc Delete record where area is NULL. Display all records in increasing order of name. Create a table temp from customer having customer-id, name, and area elds only Display area and number of records within each area (use GROUP by clause) Display all those records from customer table where name starts with a or area is abc. Display all records of those where name starts with a and phone exchange is 55. Lab 5: Answer the following queries using Library system as created earlier. You must create a view to know member name and name of the book issued to them, use any inbuilt function and operators like IN, ANY, ALL, EXISTS. a. List the records of members who have not been issued any book using EXISTS operator. b. List the members who have got issued at least one book (use IN / ANY operator). c. List the books which have maximum Price using ALL operator. d. Display Book Name, Member Name, Issue date of Book. Create a view of this query of the currently issued books. 33
Lab 6: Create a table of Employee (emp-number, name, dept, salary) and Department (dept number, dept name). Insert some records in the tables through appropriate forms having integrity checks. Add some records in employee table where department value is not present in department table. Now answer the following query: a. Display all records from employee table where department is not found in department table. b. Display records from employee table in a report format with proper headings. This report must also contain those records where department number does not match with any value of department table. c. Display those employee records who have salary less than the salary of person whose empcode= A100. d. Create another table: SalesData (RegionCode, City, SalespersonCode, SalesQty). e. Display records where salesperson has achieved sales more than average sales of all sales persons of all the regions. Lab 7: Create the following tables: Order party: (Order number, Order date, customer code) Order: Order number, Item code, Quantity The key to the second table is order-number + item-code Create a form for data entry to both the tables. Lab 8: Create a form for storing Bio-data of students. Create the supporting tables to store the data. Lab 9: Design a suitable form for storing basic information and salary details of employees of an organisation. Design and implement the necessary tables. Lab 10: 1. Write a procedure/trigger on department code so such that the validity of the code is checked and the name of department is automatically displayed on selection of department code. Assume, design and create the necessary tables and constraints. 2. Write a procedure/trigger to generate Order Number automatically in any of the order tables created in Lab 7. C++ LAB 34
Programs covering Basics of C++, Control Structures etc., Programs to demonstrate Class and Objects,function calling, Programs to demonstrate Constructor and Destructor, Programs to demonstrate Inheritance, Programs to demonstrate Operator Overloading, Programs to demonstrate Polymorphism, Programs to demonstrate I/O and streaming, Programs to demonstrate Exception Handling,
35
Fifth Semester
BCS5B13: Java Programming.
Course Number: 27 Contact Hours per Week: 1 Number of Credits: 4 Number of Contact Hours: 52 Hours. Aim of the Course: To have a review on concept of OOP. To learn Java Programming Environments. To practice programming in Java. To learn GUI Application development in JAVA. Prerequisites: Knowledge in OOP & Programming. Course Outline: Module 1 - [8 Hours]: Principles & Concepts of Object Orientation - Basic Principles of Object Orientation ( Abstraction, Encapsulation, Modularity,Hierarchy, Typing, Concurrency, Persistence). Basic Concepts of Object Orientation( Object, Class, Attribute, Operation, State, Behaviour, Identity, Relationships/Association, Polymorphism, Message Passing). Introduction to Java : History, Versioning, The Java Virtual Machine , 36
Writing a Java Program, Packages, Simple Java Programs. Language Components : Primitive Data Types, Comments, The for Statement, The if Statement, The while and do while Statements, The switch Statement, The break Statement, The continue Statement, Operators - Casts and Conversions, Keywords. Module 2 - [10 Hours]: Object-Oriented Programming: Dening New Data Types, Constructors, The String Class, String Literals, Documentation, Packages, The StringBuer Class, Naming Conventions, The Date Class, The import Statement, Deprecation,The StringTokenizer Class. Methods : Introduction - Method Signatures, Arguments and Parameters, Passing Objects to Methods, Method Overloading, Static Methods, The Math Class, The System Class, Wrapper Classes Arrays: Processing Arrays, Copying Arrays, Passing Arrays to Methods, Arrays of Objects, The Arrays Class, Command Line Arguments, Multidimensional Arrays. Encapsulation: Constructors, The this Reference, Data Hiding, public and private Members, Access Levels, Static Data Members Inheritance & Polymorphism: Inheritance, extends keyword, Polymorphism, The Object Class, Method Overloading & Overriding. Abstract Classes and Interfaces: Abstract Classes, Abstract Class Example, Extending an Abstract Class, Interfaces. Module 3 - [12 Hours]: Exceptions, I/O and Threads Input and Output in Java: The File Class, Standard Streams, Keyboard Input, File I/O Using Byte Streams, Character Streams, File I/O Using Character Streams - Buered Streams, File I/O Using a Buered Stream, Keyboard Input Using a Buered Stream, Writing Text Files. Threads : Threads vs. Processes, Creating Threads by Extending Thread, Creating Threads by Implementing Runnable, Advantages of Using Threads, Daemon Threads, Thread States, Thread Problems, Synchronization. Exceptions: Exception Handling, The Exception Hierarchy, Triggering Exceptions with throws, Suppressing Exceptions with throw, Developing user dened Exception Classes-The nally Block. Module 4 - [10 Hours]: Collections & Database Connectivity Collections: Vectors, Hashtables, Enumerations, Properties, Collection, Framework Hierarchy, Lists, Sets, Maps, The Collections Class. 37
Networking: Networking Fundamentals, The Client/Server Model , InetAddress, URLs, Sockets, Writing Servers, Client/Server Example. Introduction to JDBC : The JDBC Connectivity Model, Database Programming, Connecting to the Database, Creating a SQL Query, Executing SQL Queries, Getting the Results, Updating Database Data, Executing SQL Update/Delete, Error Checking and the SQLException Class, The Statement Interface, The ResultSet Interface , ResultSetMetaData, Transaction Management. Module 5: - [12 Hours]: GUI Applications & Swing Introduction to GUI Applications : Java Desktop Applications, Java Applets, Introduction to the AWT, Overview of the AWT, Structure of the AWT, The AWT hierarchy, Working with:Color, Button, Canvas, Checkbox, Choice, Frame, Label, List, Scrollbar, TextArea, TextField, Font, FontMetrics, Graphics, Image, MenuComponent, MenuBar, MenuItem , Checkbox MenuItem , Menu , Point, Polygon, Rectangle, LayoutManager, Menu Component, Containers, Components, Event handling, Simple Graphics Drawing Lines, Rectangles, etc. Introduction to Swing Features of the Swing Components, JButton, JLabel, JTextField, JPasswordField, JTextArea, Keyboard Input, Dialogs, Adding Components to a Dialog, Swing Menus, Toolbars, Layout Managers, FlowLayout, GridLayout, BorderLayout, CardLayout, GridBag Layout, GridBag Constraints, BoxLayout, Overlay Layout, Swing Events. Text Books: 1. Java Complete Reference, Herbert Schildt, Tata McGraw hill edition. References: 1. J2EE Complete Reference, Jim Keogh, Tata McGraw hill edition. 2. Java Enterprise in a nutshell, David Flanagan,Jim Farley, William Crawford & Kris Mangnusson,OReill. 3. Patrick N & Schildt H, Java 2 The Complete Reference, Tata McGraw Hill,
38
Item Markers, Unordered List, Ordered List, An Image as The List Item Marker - CSS Tables - Table Borders, Collapse Borders, Table Width and Height, Table Text Alignment, Table Padding, Table Color CSS Positioning - Static Positioning, Fixed Positioning, Relative Positioning, Absolute Positioning, Overlapping Elements - Float - Horizontal Align Image Gallery - Image Opacity/Transparency - Image Sprites Module 2 - [7 Hours]: Javascript: Introduction, Client side programming, script tag, comments, variables, Document Methods: write and writeln methods, alert, Operators: Arithmetic, Assignment, Relational, Logical, Javascript Functions, Conditional Statements, Loops, break and continue. Events Familiarization: onLoad, onClick, onBlur, onSubmit, onChange Module 3 - [14 Hours]: PHP: Introduction to PHP, Server side scripting, Role of Web Server software, including les, comments, variables and scope, echo and print, Operators: Logical, Comparison and Conditional operators, Branching statements, Loops, break and continue, PHP functions. Module 4 - [10 Hours]: Working with PHP: Passing information between pages, HTTP GET and POST method, String functions: strlen, strops, strstr, strcmp, substr, str replace, string case, Array constructs: array(),list() and foreach(), PHP advanced functions: Header , Session, Cookie, Object-Oriented Programming using PHP: class, object, constructor, destructor and inheritance. Module 5 - [14 Hours]: PHP & MySQL: Features of MySQL, data types, Introduction to SQL commands - SELECT, DELETE, UPDATE, INSERT, PHP functions for MySQL operations: mysql connect, mysql select db, mysql query, mysql fetch row, mysql fetch array, mysql fetch object, mysql result, Insertion and Deletion of data using PHP, Displaying data from MYSQL in webpage. Introduction to AJAX, Implementation of AJAX in PHP, Simple examples like partial page update, Concept of master page, applying templates.
Text Books: 40
1. Jon Duckett, Web Programming with HTML,XHTML, CSS, Wrox Beginning. 2. Jim Converse & Joyce Park, PHP & MySQL Bible, Wiley. References: 1. Deitel, Harvey M. and Paul J., INTERNET & WORLD WIDE WEB HOW TO PROGRAM, 3/E, 2004 2. HTML 4.0 IN SIMPLE STEPS, Author:Kogent Solutions Publishers : Wiley 3. HTML 4 FOR DUMMIES, Author:ED TITTEL & MARY BURMEISTER Publishers: Wiley 4. Beginning PHP , D W Mercer,A Kent,S D Nowicki Publisher: Wrox. 5. PHP & MYSQL FOR DUMMIES, 3RD ED, Author:JANET VALADE Publishers: Wiley
Module 1 - [9 Hours]: Introduction to Software Engineering, Software Engineering Approach, Software Process, Characteristics of a Software Process, Software Development Process Models, Process Management Process. Module 2 - [8 Hours]: Software Requirements, Problem analysis, Requirements Specication, Functional specication with use case, Validation. Module 3: - [15 Hours]: Function oriented Design Principles, Module Level Concepts, Structured Design Methodology, Verication, Object oriented analysis and design, Object Oriented Concepts, Design Principles, Unied Modeling Language, Design Methodology for Object oriented design. VericationDesign walkthrough, Critical Design Review, Consistency checks. Module 4: - [10 Hours]: Coding - Programming Principles and Guidelines, Coding Process, Verication Code Inspection, Unit Testing. Module 5: - [10 Hours]: Testing - Testing Fundamentals, Black Box Testing, White Box Testing, Testing Process. Text Books: 1. An Integrated Approach to Software Engineering By Pankaj Jalote, 2nd Edition, Narosa Pub. References: 1. Software Engineering - A Practical Approach By Roger S. Pressman McGraw Hill - International Ed. 2. Software Engineering By Ivan Somervelli.
Aim of the Course: To practice Java programming. Prerequisites: Theoretical knowledge in Java programming. Course Outline: Lab 1: Data types, variables and operators Exercise 1: Write a program in Java to implement the formula (Area = Height Width) to nd the area of a rectangle. Where Height and Width are the rectangles height and width. Exercise 2: Write a program in Java to nd the result of following expression(Assume a = 10, b = 5) i) (a << 2) + (b >> 2) ii) (a)||(b > 0) iii)(a + b 100)/10 iv) a&b Exercise 3: Write a program in Java to explain the use of break and continue statements. Exercise 4: Write a program in Java to nd the average of marks you obtained in your 10+2 class. Lab 2: Statements and array Exercise1: Write a program in Java to nd AB where A is a matrix of 33 and B is a matrix of 34. Take the values in matrixes A and B from the user. Exercise 2: Write a program in Java to compute the sum of the digits of a given integer. Remember, your integer should not be less than the ve digits. (e.g., if input is 23451 then sum of the digits of 23451will be 15) Lab 3: Class and Objects Exercise 1: Write a program in Java with class Rectangle with the data elds width, length, area and colour. The length, width and area are of double type and colour isstring type .The methods are set length 43
() , set width (), set colour(), and nd area (). Create two object of Rectangle and compare their area and colour. If area and color both are the same for the objects then display Matching Rectangles, otherwise display Non matching Rectangle. Exercise 2: Create a class Account with two overloaded constructors. The rst constructor is used for initializing, the name of account holder, the account number and the initial amount in the account. The second constructor is used for initializing the name of the account holder, the account number, the addresses, the type of account and the current balance. The Account class is having methods Deposit (), Withdraw (), and Get Balance(). Make the necessary assumption for data members and return types of the methods. Create objects of Account class and use them. Exercise 3: Write a program in Java to create a stack class of variable size with push() and pop () methods. Create two objects of stack with 10 data items in both. Compare the top elements of both stack and print the comparison result. Lab 4: Inheritance and polymorphism Exercise 1: Write a Java program to show that private member of a super class cannot be accessed from derived classes. Exercise 2: Write a program in Java to create a Player class. Inherit the classes Cricket Player, Football Player and Hockey Player from Player class. Exercise 3: Write a class Worker and derive classes DailyWorker and SalariedWorker from it. Every worker has a name and a salary rate. Write method ComPay (int hours) to compute the week pay of every worker. A Daily Worker is paid on the basis of the number of days s/he works. The Salaried Worker gets paid the wage for 40 hours a week no matter what the actual hours are. Test this program Exercise 4: Consider the trunk calls of a telephone exchange. A trunk call can be ordinary, urgent or lightning. The charges depend on the duration and the type of the call. Writ a program using the concept of polymorphism in Java to calculate the charges. Lab 5: Package and Interface Exercise 1: Write a program to make a package Balance in which has Account class with Display Balance method in it. Import Balance package in another program to access Display Balance method of Account class. Exercise 2: Write a program in Java to show the usefulness of Interfaces 44
as a place to keep constant value of the program. Exercise 3: Create an Interface having two methods division and modules. Create a class, which overrides these methods. Exercise 4: Write a program in Java which implements interface Student which has two methods Display Grade and Attendance for PG Students and UG Students (PG Students and UG Students are two dierent classes for Post Graduate and Under Graduate students respectively). Lab 6: Exception Handling Exercise 1: Write a program in Java to display the names and roll numbers of students. Initialize respective array variables for 10 students. Handle ArrayIndexOutOfBoundsExeption, so that any such problem doesnt cause illegal termination of program. Exercise 2: Write a Java program to enable the user to handle any chance of divide by zero exception. Exercise 3: Create an exception class, which throws an exception if operand is nonnumeric in calculating modules. (Use command line arguments). Exercise 4: On a single track two vehicles are running. As vehicles are going in same direction there is no problem. If the vehicles are running in dierent direction there is a chance of collision. To avoid collisions write a Java program using exception handling. You are free to make necessary assumptions. Lab 7: Multithreading. Exercise 1: Write a Java program to create ve threads with dierent priorities. Send two threads of the highest priority to sleep state. Check the aliveness of the threads and mark which thread is long lasting. Exercise 2: Write a program to launch 10 threads. Each thread increments a counter variable. Run the program with synchronization. Exercise 3: Write a program for generating 2 threads, one for printing even numbers and the other for printing odd numbers. Exercise 4: Write a Java program using thread synchronization in multithreading (You can take some objects visible on screen for real time eect). Lab 8: Reading, Writing and String handling in Java Exercise 1: Writ a program in Java to create a String object. Initialize this object with your name. Find the length of your name using the appropriate String method. Find whether the character a is in your name or not; if yes nd the number of times a appears in your name. 45
Print locations of occurrences of a .Try the same for dierent String objects. Exercise 2: Write a program in Java for String handling which performs the following: i) Checks the capacity of StringBuer objects. ii) Reverses the contents of a string given on console and converts the resultant string in upper case. iii) Reads a string from console and appends it to the resultant string of ii. Exercise 3: Write a program for searching strings for the rst occurrence of a character or substring and for the last occurrence of a character or substring. Exercise 4: Write a program in Java to read a statement from console, convert it into upper case and again print on console. Exercise 5: Write a program in Java, which takes the name of a le from user, read the contents of the le and display it on the console. Exercise 6: Write a Java program to copy a le into another le. Lab 9: Applets and its applications Exercise 1: Write a Java Applet program which reads your name and address in dierent text elds and when a button named nd is pressed the sum of the length of characters in name and address is displayed in another text eld. Use appropriate colors, layout to make your applet look good. Exercise 2: Create an applet which displays a rectangle/string with specied colour & coordinate passed as parameter from the HTML le. Exercise 3: Create an applet which will display the calendar of a given date. Exercise 4: Write a program to store students detail using Card Layout. Exercise 5: Write a Java Applet program, which provides a text area with horizontal and vertical scrollbars. Type some lines of text in the text area and use scrollbars for movements in the text area. Read a word in a text eld and nd whether the word is in the content of the text area or not. Lab 10: Networking and other advanced feature and JAVA Exercise 1: Write a Java program to nd the numeric address of the following websites www.indiatimes.com www.redi.com 46
www.apple.com In addition to this, nd the Internet Address of your local host. Exercise 2: Create an applet which takes name and age as parameters and display the message <name> is <age> year old. Print the URL of the class le. Exercise 3: Write a program to test Socket functionality for appropriate hostname and port number. Exercise 4: Write a Java program to connect to a database created in MySQL/PostgreSQL/MS ACCESS using JDBC concept. Perform basic operations of Selection, Insertion and Deletion on the database.
Simple PHP program that displays a welcome message. Write a php program to generate a random number between 1 and 100. Modify above program to accept range of the random number from HTML interface. Lab 2: Programs involving various control structures like: if, else, elseif/else if Alternative Syntax for if, else, elseif/else if Lab 3: Programs involving various control structures like: while, do-while, for, foreach, switch, break, continue. Try alternative syntax for while, do-while, for, foreach, switch. Lab 4: Programs involving the following. declare, return. require, include, require once, include once and goto. Lab 4: Programs to demonstrate PHP Array functions. PHP Array Sorting, PHP Key Sorting, PHP Value Sorting, PHP MultiArray Sorting, PHP Array Random Sorting, Lab 5: Programs to demonstrate PHP Array functions. PHP Array Reverse Sorting, Array to String Conversion, Implode() function, String to Array, Array Count, Remove Duplicate Values Lab 6: Programs to demonstrate PHP Array functions. Array Search, Array Replace, 48
Array Replace Recursive, Array Sub String Search Lab 7: Demonstrate the following. Use of regular expression to compare two strings. Extract Domain name from URL. Find the number of rows from a mysql database for your query. Lab 8: Generate a Guestbook which will allow your website visitor to enter some simple data about your website. Lab 9: Develop a PHP program for Email Registration. Lab 10: Develop a project for making Application form and performing Degree Admission On-line.
49
Sixth Semester
BCSA19: Discrete Structures
Course Number: 34 Contact Hours per Week: 4 Theory Number of Credits: 3 Number of Contact Hours: 52 Hours. Aim of the Course: To learn Discrete Structures & Applications. Prerequisites: Basic knowledge in Mathematics. Course Outline: Module 1 - [12 Hours]: Prepositional Calculus - Propositions, Logical Connectives, Disjunction, Conjunction, Negation, Conditional Connectives, Precedence Rule, Logical Equivalence, Logical Quantiers. Methods of Proof - What is a Proof? Dierent Methods of Proof, Direct Proof, Indirect Proofs, Counter Examples, Principle of Induction. Boolean Algebra and Circuits - Boolean Algebras, Logic Circuits, Boolean Functions. Module 2 - [10 Hours]: Sets, Relations and Functions: Introducing Sets, Operations on Sets, Basic Operations, Properties Common to Logic and Sets Relations, Cartesian Product, Relations and their types, Properties of Relations, Functions, Functions, Operations on Functions. 50
Module 3 - [10 Hours]: Combinatorics - An Introduction, Multiplication and Addition Principles, Permutations, Permutations of Objects not Necessarily Distinct, Circular Permutations, Combinations, Binomial Coecients, Combinatorial Probability. Module 4 - [10 Hours]: Some More Counting Principles - Pigeonhole Principle, Inclusion-Exclusion Principle, Applications of Inclusion - Exclusion, Application to Surjective Functions, Application to Probability, Application to Derangements. Module 5 - [10 Hours]: Partitions and Distributions Integer Partitions, Distributions, Distinguishable Objects into Distinguishable Containers, Distinguishable Objects into Indistinguishable Containers, Indistinguishable Objects into Distinguishable Containers, Indistinguishable Objects into Indistinguishable Containers. Text Books: 1. Elements of Discrete Mathematics By C.L.Liu - Mograw-Hills. References: 1. Applied Discrete Structure for Computer Science By Alan Doerr And Kenneth Levassur-Galgotia Publication. 2. Discrete Mathematics by J.K. Sharma, Macmillan India Ltd.
To learn instruction set of 8086 P To learn how to program a P Prerequisites: Basic knowledge of Computer. Course Outline: Module 1 - [12 Hours]: 16-Bit Microprocessor: 8086 Architecture, Pin Conguration, 8086 Minimum and Maximum mode congurations, Module 2 - [10 Hours]: Addressing modes, 8086 Instruction set (Data transfer, Arithmetic, Branch, Processor control & String instruction), 8086 interrupts. Module 3 - [10 Hours]: Assembler Directives: Data Denition And Storage Allocation, Program Organization, Alignment, Program End value, Returning Attribute, Procedure Denition, Macro Denition, Data Control, Branch Displacement, Header File Inclusion-Target Machine Code Generation Control Directives. Module 4 - [10 Hours]: Peripherals and Interfacing: Interfacing output displays (8212), interfacing input keyboards, key Debounce, Programmable communication interface (8251A), programmable peripheral interface (8255), Programmable DMA Controller (8257), Programmable interrupt controller (8259), Programmable interval timer (8253). Module 5 - [10 Hours]: Advanced Microprocessors: Introduction to 80186, 80286, 80386, 80486 and Pentium processors, General introduction to BIOS and DOS interrupts. Text Books: 52
1. Barry.B.Brey. The Intel Microprocessor 8086/8088. 80186, 80286, 80386 and 80486 Architecture Programming and Interfacing, Prentice Hall of India Pvt.Ltd.1995. References: 1. K.R. Venugopal, Raj Kumar,Microprocessor X86 programming, Bpb publications New Delhi 2. Abel P,IBM PC Assembly Language & Programming 5th Edition Parson Education Asia 2001 3. B Ram, Fundamentals of Microprocessors and Microcomputers Dhanpat Rai Publications Pvt. Ltd., New Delhi 4. Mohamad Raquzzaman, Microprocessors and Microcomputer Based System Designing. Universal Bookstall, New Delhi 5. Yu. Cheng Liu, Glenn A Gibson, Microcomputer Systems: The 8086/8088 Family. Architecture, Programming & Designing Prentice Hall of India Pvt. Ltd., New Delhi 6. Ray A.K.Bhurchandi.K.M, Advanced Microprocessor and Peripherals, Tata McGraw-Hill, 2002.
Knowledge in Operating System. Course Outline: Module 1 - [12 Hours]: Introduction to Computer networks, Topology, categories of networks, Internetwork, Internet, Network Models, Layered model, OSI and TCP/IP models, Transmission media, Wired and unwired media. Physical layer, Analog and Digital data, Periodic and Aperiodic signals, Composite signals, Digital data transmission, Transmission Modes - Analog Transmission, Multiplexing, Frequency division multiplexing, Time Division Multiplexing and Wave Division Multiplexing, Switching - Circuit switching, Packet Switching and Message Switching, DTE - DCE Interface, EIA 232 interface, X.21 modems. Module 2 - [12 Hours]: Data link layer, Error detection and correction, Types of errors, Single bit error and Burst error,Vertical redundancy check(VRC), longitudinal redundancy Check(LRC), Cyclic Redundancy Check(CRC), Error correction - Single bit error correction, Hamming code Data compression - Human code, data link control, Line discipline,Flow control,Error control, Multiple Access, Random Access, ALOHA, pure ALOHA and slotted ALOHA, CSMA/CD and SCMA/CA, Polling, Wired LANs, Ethernet - IEEE standards, Wireless LANs - IEEE - 802.11, Bluetooth Module 3 - [10 Hours]: Network layer, Networking and Internetworking devices - Repeaters, Bridges, Routers, Gateways, Logical addressing - IPv4 & IPv6 addresses, Network Address Translation(NAT), Internet protocols, internetworking, Datagram,Transition from IPv4 to IPv6, Address Mapping-Error reporting and multicasting - Delivery, Forwarding and Routing algorithms, Distance Vector Routing, Link State Routing, Multicast routing protocols, The Dijkstra Algorithm. Module 4 - [10 Hours]: Transport layer, Process-to-process Delivery:UDP, TCP and SCTP, Congestion control and Quality of Service,Application Layer, Domain Name Systems-Remote Login-Email-FTP,WWW,HTTP; Network management :SNMP, Network security, Cryptography. 54
Module 5 - [8 Hours]: Network Administration, IP address - Conguring network host - setting hostname - assigning IP address, conguring the Network Interface card, Setup a LAN with more than two systems, Setting up Internet services File Transfer Protocol(FTP), Trivial File Transfer Protocol(TFTP),Simple Mail Transfer Protocol(SMTP) and Post Oce Protocol(POP), Setting up Intranet Services, Network File System(NFS), Network Information Service(NIS) and Dynamic Host Conguration Protocol(DHCP), Samba printing and Web server. Text Books : 1. Data Communications and Networking, Fourth Edition by Behrou A Forouzan, McGraw-Hill reprint, 2011. References: 1. Linux Administration - A Beginners Guide, Third Edition, Steven Graham and Steve Shah, Dreamtech, 2003.
55
Course Outline: Lab 1: Setup TASM/MASM/NASM for Assembly Language Programming. Add two numbers in two consecutive memory locations & store the result in next memory location. Lab 2: Develop a program to read a character from console and echo it. Develop a program to read 10 characters from console. Lab 3: Use MOV and XCHG instruction to exchange values in two memory locations. Find sum of two BCD numbers stored in memory. Lab 4: Read two decimal numbers then add & display the result. Read two decimal numbers and print smaller. Lab 5: Read two decimal numbers then multiply & display the result. Convert ASCII Code to its BCD equivalent. Lab 6: Calculate average of 3 numbers stored in memory. Evaluate an expression x= a * b + c/d. Lab 7: Reverse a given string. Lab 8: Write a program to validate a password. Lab 9: Sort a list of numbers. Lab 10: Locate a number present in array. Lab 11: Display the current system time using DOS int21h. Lab 12: Convert an ASCII number into equivalent Binary using assembly code. Call this program in C and display the result. 56
57
Open Courses
BCS5D01A: Introduction to Computers & Ofce Automation
Course Number: 32 Contact Hours per Week: 3 Number of Credits: 4 Number of Contact Hours: 39 Hours. Aim of the Course: To learn Oce Automation. Prerequisites: Basic knowledge in Computer & Internet. Course Outline: Module 1 - [10 Hours]: Introduction to Computers: Types of Computers - DeskTop, Laptop, Notebook and Netbook Hardware: CPU, Input / Output Devices, Storage Devices - System - Software - Operating Systems, Programming Languages, Application Software - Networks - LAN, WAN - Client - Server. Module 2 - [13 Hours]: Documentation Using a Word Processor (OpenOce Writer / M.S. Word)Introduction to Oce Automation, Creating & Editing Document, Formatting Document, Auto-text, Autocorrect, Spelling and Grammar Tool, 58
Document Dictionary, Page Formatting, Bookmark, Advance Features Mail Merge, Macros, Tables, File Management, Printing, Styles, linking and embedding object, Template. Module 3 - [10 Hours]: Electronic Spread Sheet(OpenOce Calc/MS-Excel) - Introduction to Spread Sheet, Creating & Editing Worksheet, Formatting and Essential Operations, Formulas and Functions, Charts, Advanced features - Pivot table & Pivot Chart, Linking and Consolidation. Module 4 - [10 Hours]: Presentation using (OpenOce Impress/MS-Power Point): Presentations, Creating, Manipulating & Enhancing Slides, Organizational Charts, Charts, Word Art, Layering art Objects, Animations and Sounds, Inserting Animated Pictures or Accessing through Object, Inserting Recorded Sound Eect or In-Built Sound Eect. Module 5 - [13 Hours]: Internet - History of Internet - Intranet and Extranet - DNS - Connections - Dial-up, ISDN, DSL, T1, T3, WiFi, Wireless, and Satellite Communications - E-mail, Chat, Forum, Blog, and Newsgroups - Browsers - Search Engines. References: 1. Absolute Beginners Guide to Computer Basics, Michael Miller, Prentice Hall. 2. Learn Microsoft Oce - Russell A.Stultz - BPB Publication. 3. Internet & World Wide Web - How to program, H.M.Deitel, P.J.Deitel, et al., Prentice Hall.
59
Prerequisites: Basic knowledge in Computer & Internet. Course Outline: Module 1 - [8 Hours]: HTML: Introduction - history of html, sgml - structure of html document, web page layout, html tags and types - font type, paragraph formatting, meta data, blockquote, hyperlinks, linking, comments, white space, horizontal ruler, images, ordered and unordered lists, frames, tables, forms Module 2 - [8 Hours]: DHTML: Introduction, DHTML technologies, elements of DHTML, document object model, events - window events, form events, keyboard events, mouse events, style sheets, properties used in style sheets - background properties, positioning properties. Module 3 - [8 Hours]: Javascript: Introduction and advantages of javascript, java script syntax, writing javascript in html, javascript operators, arrays and expressions, programming contructs - for .. in loop, while loop - dialog boxes and prompts - alert, prompt, conrm methods - functions - built-in functions and userdened functions, scope of variables, handling events, using event handlers and event methods, form object, properties, methods, form elements properties and methods. Module 4 - [8 Hours]: HTML Editor(Frontpage/Bluesh): Introduction, advantages, creating, opening, saving a web page, building forms, formatting and aligning text and paragraph, adding lists, styles and themes, linking pages, working with images, frames Module 5 - [7 Hours]: Web fundamentals: History of internet, basic services, search engines, e - mail, WWW, web browsers, web servers - IIS, apache - protocols HTTP, FTP, telnet - uses of internet. 60
C-Operators, Arithmetic operators, relational operators, and logical operators, assignment operators, increment and decrement operators, conditional operators, special operators, arithmetic expressions, evaluation of expressions, precedence of arithmetic operators, Type conversion in expressions, operator precedence and associativity, Mathematical Functions, I/O operations. Module 3 - [9 Hours]: Decision making, Branching and Looping. Decision making with IF statement, Simple IF statement, If. . .else statement, Nesting of If. . .else and else. . .if Ladder, Switch statement, Conditional operator, Go-to statement. Looping: While loop, Do-While, and For Loops, Nesting of loops, jumps in loop, skipping of loops. Module 4 - [8 Hours]: Array & Strings - One dimensional array, two dimensional array and multi-dimensional array, strings and string manipulation functions. Structures & Union structure denition , giving values to members, structure initialization, comparison of structure variables, arrays of structures, arrays within structures, structures within arrays, structures and functions, Unions, bit-elds. Module 5 - [7 Hours]: The Concept of modularization and User dened functions-Multi-function Program, calling functions, various categories of functions, Nesting of functions and recursion, functions and arrays, scope and life-time of variables in functions, multi-le programs. Text Books: 1. Programming in ANSI C by E. Balaguruswami. References: 1. The C Programming Language by Brian W. Kernighan & Dennis M. Ritchie. 2. Let us C by Yashvant P. Kanetkar. 3. Byran Gotfried, Schaums Outline series- Programming with C.
62
Electives
BCS6E01A: Hardware Assembly and Troubleshooting
Course Number: 39 Contact Hours per Week: 4 Number of Credits: 4 Number of Contact Hours: 52 Hours. Aim of the Course: To learn basics of a computer system. To learn various components inside a computer system. To learn trouble shooting of computer system. Prerequisites: Knowledge in operating a computer system. Course Outline: Module 1 - [8 Hours]: Fundamental Of Computer: Block diagram and brief introduction of each block- Types of computers, generation of computers. Module 2 - [10 Hours]: Personal/ Micro Computers: Main Parts : CPU Box, Monitor, & Peripherals [Keyboard, Mouse, Speaker] (A Brief introduction).Inside CPU Box: Motherboard, I/O Cards, Cables, Floppy Drivers, HDD, CD-Drive, SMPS (Brief introduction of each, with their function). 63
Module 3 - [12 Hours]: Memory: Basic Concept, Binary Cell, Semiconductor memory. Types of Memory - RAM and ROM in detail - Memory Chips: RAM and ROM EPROM etc. Memory Modules and packaging - Logical and Physical organization of memory in computer. Cache Memory - LX and LZ, EDO - Various terms used in computer memory. Module 4 - [12 Hours]: PC-Assembly and CMOS Setup and Troubleshooting: Observation of all parts of Floppy drives, HDD, CD, and SMPS. Identication of cables and computers, Mounting Motherboard in cabinet Installation of cards, devices and then connecting cables - Fitting of cabinet. CMOS - Setup Troubleshooting.BIOS. Module 5 - [10 Hours]: I/O systems:Basic of Printers: Types of printers and printing mechanism, How printer works - Inject printer, working of laser printer, Fonts/Type faces - Troubleshooting. Ports:serial, parallel, USB, PS2, Audio port, Ethernet. Text Books: 1. Hardware bible By : Winn L Rosch, Techmedia publications. References: 1. Trouble shooting, maintaining and repairing PCs By Stephon J Bigelow Tata McGraw Hill Publication. 2. Computer Fundamentals By B.Ram
To learn functions of various system softwares. To learn specically learn compilation process of a program. Prerequisites: Basic knowledge in Programming. Course Outline: Module 1 - [10 Hours]: System software - General concept - Assemblers, loaders, linkers, macros, compilers, interpreters, operating system. Design of assemblers. Module 2 - [10 Hours]: Macros and macro processors - Macro denitions and instructions. Macro calls. Module 3 - [12 Hours]: Loading , linking and relocating Loader schemes- Binders, linking loaders, overlays, dynamic binders-Dynamic loading and dynamic linking Relocatability of programs. Module 4 - [14 Hours]: Compilers - Phases of a compiler - Lexical, syntax, intermediate code generation, optimization, code generation, symbol table and error correcting routines - Passes of a compiler. Module 5 - [6 Hours]: Case studies of lexical and syntax analyzers: LEX and YAAC. Text Books: 1. Systems programming and operating systems, D.M.Dhamdhere. References: 1. Systems programming, John J Donovan.
65
the Startup Form, SDI & MDI Forms, Handling Mouse & Keyboard Events, Common controls (Text Boxes, Rich Text Boxes, Labels, Buttons, Checkboxes, Radio Buttons, Group Boxes, List Boxes, Checked List Boxes, Combo Boxes, Picture Boxes, Scroll Bars, Tool Tips, Timers) - properties - methods Module 5 - [10 Hours]: Object-Oriented Programming - Creating and using Classes & objects Handling Exceptions - On Error GoTo - Raising an Exception - Throwing an Exception - Using Structured Exception Handling - Debugging and tracing. Module 5 - [10 Hours]: Data Access with ADO.NET - Accessing Data with the Server Explorer - Accessing Data with Data Adaptors and Datasets - Creating a New Data Connection - Creating and populating Dataset - Displaying Data in a Data Grid - Selecting a Data Provider - Data Access Using Data Adapter Controls - Binding Data to Controls - Handling Databases in Code - Binding to XML data. Text Books: 1. Visual Basic .NET Black Book, by Steven Holzner References: 1. VB.NET for developers, By Keith Franklin, Rebecca Riordan, SAMS. 2. Sams Teach Yourself Visual Studio .NET 2005 in 21 Days, By Jason Beres. 3. Learning Visual Basic .NET by Jesse Liberty. 4. Visual Basic .Net programming in easy steps BY TIM ANDERSON, DreamTech Press.
67