Madhya Pradesh Bhoj (Open) University Syllabus for Session 2004-05 Post Graduate Diploma in Computer Application (PGDCA) CS-01: Computer Organisation and System Software Unit - I Number System Introduction, Binary Number System, Digital Signals and Logic Gates Analog Signal, Binary Representation, Boolean Algebra, Postulates of Boolean Algebra, Boolean Function Simplification. Logic Circuit Designing, Combinational Logic Circuit Designing, Design, Procedure of a Combinational Circuit, Arithmetic Circuits, Digital Circuit Design, Bi-directional Shift Register, Unit - II Digital Devices, Integrated Circuits, Digital Multiplexer, Demultiplexers, Decoder, Encoders, Decoder Expansion, Computer Organization, Program, Registers, Instruction Sets, Instruction Execution and Microoperation, 8086 Microprocessor, Interrupts, Directives, Computer Arithmetic, Floating Point Numbers, Arithmetic Operation on Floating Point Numbers, Division Algorithm, Multiplication, Unit - III Memory Organization, Memory Unit, Other Types of Memory, Associative Memory (Content Addressible Memory), Hardware Organization of Associative Memory, Building Large Memories Using Chips, Cache Memory, Virtual Memory, Input/Output Organization, Introduction, Accessing I/O Devices, I/O Module, I/O Techniques, Processor Bus, Subroutines, Program Interrupts, Control Organization, Control Organization, Hardwired Control, Microprogrammed Control, Microprogrammed Control Unit, Controller Function, Microinstructions, Microinstruction Format, Sequencing and Execution, Micro operations Unit - IV Parallel Processing, Concept of Parallel Processing, Methods of Parallel Processing, Techniques for Overcoming Pipelining Conflicts, Flynn's Classification, Vector Processing, Memory Interleaving, Array Processors, Introduction To System Software, System Software, Language Translators, Batch Monitors, Introduction to Software Processors, Elements of Assembly Language Programming, Assembly Language Statements, Overview of Assembly Process, Design of Assembler, Data Structure, Pass Structure of Assemblers, Modularity Unit - V Loaders, Loader, Linking and Loading Schemes, Subroutine Linkages, Program Relocatability, Linking for Program Overlays, What is a Compiler?, Approaches to Compiler Development, Structure of a Compiler, Passes, Macros, Macro, Macro Definition and Usage, Conditional Assembly, Expansion Time Variables, Nested Macro Calls, Schematics for Macro Expansion, Design of a Macro Preprocessor, Introduction to Operating Systems, What is an Operating System?, Evolution of Operating System, Kernel of an Operating System, Real Time Operating Systems, Time Sharing Systems, Services Offered by OS, Accounting. CS-02: Programming in C Unit - I OVERVIEW OF PROGRAMMING Introduction to Computer Based Problem Solving :Problem Definition, Problem Solving, Goals and Objectives, Problem Identification and Definition, Program Design & Implementation Issues :Programming Algorithm, System Design Techniques, Programming Techniques, Basic Constructs of Structured Programming, Modular, Design of Programs, Communication between Modules, Module Design Requirements Programming Environment Computer Programming Languages, Types of Programming Languages, Generations of Programming Languages, Machine Level Language (1940-1950), Assembly Language (1950-1958), Assembler, High Level Languages (1958 Onwards), Compiler, Interpreter, Popular High Level Programming Languages, Fourth Generation Programming Languages, (4GLs): (1985 Onwards), Application Program Generators (APGs), Unit - II FUNDAMENTALS OF C PROGRAMMING Overview of C Language :History of C Language, Features of C Language, Why is C Language Popular?, Using Borland C on DOS Platform, Using Borland C on UNIX Platform, Components of C Language, Structure of a C Program, A Sample C Language Program, Data Types, Variables and Constants : Data Types, Variables, Constants Operators, Type Modifiers and Expressions: Operators, Type Modifiers, Expressions, Type Definitions Using typedef Basic Input/Output Introduction to Input/Output, Console I/O Functions, Unformatted Console I/O Functions Unit - III ADVANCED PROGRAMMING TECHNIQUES Control Constructs :Control Statements, Conditional Statements, Loops in C, The break Statement, The Continue Statement, The exit( ) Function, The goto Statement, Arrays Introduction to Arrays, One Dimensional Array, Strings, Two Dimensional Array, Multidimensional Array, Functions: Introduction to Functions, Function Declaration and Prototypes, Function Definition, Storage Classes, Scope and Lifetime of Declaration, Passing Parameters to Functions, Command Line Arguments, Recursion in Function Unit - IV DYNAMIC DATA STRUCTURES Pointers : Introduction to Pointers, Pointer Notation, Pointer Declaration and Initialization, Accessing Variable through Pointer, Pointer Expressions, Pointers and One Dimensional Arrays, Malloc Library Function, Calloc Library Function, Pointers and Multi-dimensional Arrays, Arrays of Pointers, Pointer to Pointers, Pointers and Functions, Functions with a Variable Number of Arguments, Structures: Structure Definition, Giving Values to Members, Structure Initialization, Comparison of Structure Variables, Arrays of Structures, Arrays within Structures, Structures within Structures, Passing Structures to Functions, Structure Pointers , Unions: Union–Definition and Declaration, Accessing a Union Member, Union of Structures, Initialization of a Union Variable, Uses of Union, Use of User Defined Type Declarations Linked list : Dynamic Memory Allocation, Linked List, Basic List Operations Unit - V MISCELLANEOUS FEATURES File Handling in C : What is a File?, Defining and Opening a File, Closing a File, Input/Output Operations on Files, Functions for Random Access to Files, Example Programs, C Preprocessor: Introduction to Preprocessors, Macro Substitution (#define), Undefining a Macro (#undef), File Inclusion, Conditional Compilation Directives (#if, #else, #elif, #endif, #ifdef, #ifndef) CS-03: Data Structures and Algorithms Unit - I Preliminaries: Introduction, Algorithms and Data Structures Abstract Data Types Implementations of Data Structures A Pseudo-code for the Algorithms Analysis of Algorithms. Arrays, Searching, Sorting, Records and Strings Introduction, The Array Data Structure and its Memory Representation, Application of Arrays, Sorting and Searching, Records, Strings. Unit - II Linked Lists Introduction, Simple Linked List and its Application Special Linked Lists. Stacks and Queues Introduction, The ADT Stack The ADT Queue. Unit - III Trees Introduction, Basic Definitions, Binary Tree and its Representation Binary Tree Traversal, Binary Search Tree. Unit - IV Graphs Introduction, Basic Definitions and Representation Traversal, Connected Components, Spanning Trees, Directed Acyclic Graph and Topological Sort Unit - V Files Introduction, Secondary Storage Devices Access Methods, External Sorting and Searching. Designing Applications in C Introduction, Applications Using Arrays, Applications Using Arrays and Structures Applications Using Linked List Applications Using Binary Trees CS-04: OPERATING SYSTEM Unit - I Introduction to Operating Systems: What is an Operating System? Evolution of Operating Systems, Operating System Structure, Different Views of the Operating System, Design and Implementation of Operating Systems, The Operating System Zoo, The Concept of Process : Process, Implicit and Explicit Tasking, Process Relationship, Process State, Process. Control Block, Process Scheduling, Context Switch, Operations on Process, Operating-System Services for Process Management, Threads, Interprocess Communication. Unit - II CPU Scheduling : Basic Concepts, CPU-I/O Burst Cycle, Scheduling, Types of Schedulers, Dispatcher, Scheduling Criteria, Multiple -level Scheduling, Real-Time Scheduling, Algorithm Evaluation, Process Synchronization : The Critical-section Problem, Synchronization Hardware, Semaphores, Classical Problems of Synchronization, Critical Region, Monitors, Atomic Transactions. Unit - III Deadlocks, System Model, Deadlock Characterization, Methods For Handling Deadlocks, Deadlock Prevention, Deadlock Avoidance, Dead lock Detection, Recovery from Deadlock, Memory Management, Background, Logical Versus Physical Address Space, Swapping, Contiguous Allocation, Paging, Segmentation, Virtual Memory : Background, Demand Paging, Performance of Demand Paging, Page Replacement, Page Replacement Algorithms. Unit – IV File Systems, Files, Directories, File System Implementation, Security and Protection, Security Threats and Goals, Penetration Attempts, Security Policies and Mechanisms, Authentication, Protection and Access control, Cryptography Multiprocessor Systems, Background, Motivation and Classification, Multiprocessor Interconnections, Types of Multiprocessor Operating Systems, Multiprocessor OS Functions and Requirements, Introduction to Parallel Programming, Multiprocessor Synchronization, Network Structures, Background, Motivation, Topology, Network Types. Unit - V Distributed System Structure, Background, Motivation, Topology, Network Types, Communication, Design Strategies, Distributed File Systems, Background, Naming and Transparency, Remote File Access, File Replication, Distributed Coordination, Event Ordering, Mutual Exclusion, Atomicity, Deadlock Handling, Performance Measurement, Monitoring and Evaluation, Background, Need for Performance Monitoring and Evaluation, Performance Measures, Performance Evaluation Techniques, Bottlenecks and Saturation CS-05: Database Management Systems Unit - I DBMS: An Introduction, Data Base Management System-Basic Concepts, Data and Database, Database System: Concept and Meaning, Disadvantages of File Systems, Advantage of Database Approach, Disadvantages of Using a DBMS, Database Languages, Database Administrator, Database Designers, Database Users., Database Manager, Data Base Management System-Architectures and Features, Data Abstraction, DBMS Architecture, Data Independence, System Architecture, Data Model. Entity Relationship Model: Entities and Relations, Entities and Entity Sets Attributes, Relationships, Design Choice, Key, ER-diagram, The Entity Relationship Diagram, Types of Attributes, Role, Attribute of Relationships, Participation, Cardinality Constraints, Multiple Relationships, Keys, Weak Entity Sets, EER- model, Specialization and Generalization, Constraints on Specialization and Generalization, Aggregation, Simplification, Constraints beyond the ER Model, Unit - II Relational Data Model : Relations, What is Relation?,Different Features of a Relation, Relation Scheme, Constraints, Entity Integrity Constraints, Referential Integrity, Relational Algebra-I, Operands of Relational Algebra, The Selection Operator, The Projection Operator, Union, Intersection and Set- Difference, Cartesian Product, The Renaming Operator, Completeness of Relational Algebra, Relational Algebra-II, The Join Operator, Division Operator, Database Modification, Relational Operations are Closed, Outer Join, Generalized Projections, Aggregate Functions, Implementing Relational Algebra Operations, Relational Calculus, Tuple Relational Calculus, Domain Relational Calculus, Domain versus Tuple Calculus, Relational Calculus versus Relational Algebra. Unit - III Relational Database Design :Functional Dependencies, Anomalies in Databases, Functional Dependencies, Inference Rules fur FDs, Attribute Closure, Normal Forms, Normal Forms, First Normal Form, Second Normal Form, Third Normal Form, BoyceCodd Normal Form, Decomposition and Other Dependencies, Attribute Preservation, Loss-Less Join Decomposition Dependency Preservation, Multi-Valued Dependency, Join Dependencies, The Process of Normalization Unit - IV Concurrency and Recovery : Transaction Processing What is Transaction?, Properties of Transaction, Major Actions of a Transaction What is Recovery?, Concurrent Execution of Transactions System Log. Concurrency Control, What is a Schedule?, Recoverability of Schedules, What is Serial Schedule?, Serializable Schedule, Recovery Procedures, Structures for Recovery Procedures, Log with Deferred Updates, Logging with Immediate Updates, Check pointing, Recovery, Conflict Serializability, Lock based Concurrency Control, Two Phase Lock protocol, Deadlock, Deadlock Prevention, Deadlock Detection, Livelock, Timestamp Ordering, Optimistic Concurrency Control. SQL: A Query Language: Data Definition With SQL, SQL Schema Definition, Table Definition, Column Definition, Data Types in SQL, Domain Definition, Table Constraints, Modification, Catalog, Basic SQL Queries, Basic SQL Query, Union, Intersect, Nested Queries, Aggregate, Operators, GROUP BY and HAVING Clause, Joined Relations, Joined Conditions, Advanced Topics: Embedded SQL, Host Variable Definition, Embedded Exception Declaration, Cursors, SQL Procedure Statements, Dynamic SQL, Java as the Host Language, SQL3 Unit - V File Structure : The Storage Hierachy, Disks, Blocks, Access Time, RAID, Magnetic Tapes, Field Structure, File Organisation, Different File Organisations. Indexing Techniques : What is Indexing?, Structure and Operations on index File, Types of Index, Tree-structures Index, B+ Tree Index, Operations on B+ Tree, Hashing Techniques: What is Hashing, A Hashing Function, Collision Resolution, Dynamic Hashing, Extendible Hashing. Object Oriented Data Model: Introduction to Object-oriented, Raising the level of data Abstraction, Methods and Encapsulation, OODBMS Concepts and meaning, Different approaches to OODBMS, Features of OODBMS, Advantages of an OODBMS, Architecture of OODBMS. CS-06: MATHEMATICAL FOUNDATION OF COMPUTER SCIENCE Unit – I Set Theory, Introduction, The Concept of a Set, Notations, Representation of a Set, Types of Sets, Theorem on Subsets, Number of Subsets of a Set, Venn Diagram, Set Operations, Laws of Union of Sets, Laws of Intersection of Sets, Law of Complement of a Set, Theorem (on Symmetric Difference), De-Morgan's Laws, Applications of Venn Diagrams, Ordered Pairs, Relations & Functions, Ordered Pairs, Equality of Ordered Pairs, Cartesian Product of Sets, Theorems on Cartesian Products, Relation, Domain and Range of a Relation, Inverse Relation, The Inverse of an Inverse Relation, Binary (or Dyadic) relations, Type of Relations, Equivalence Relations, Equivalence Class, Properties of Equivalence Classes, Composition of Two Relations, Partition of a Set, Partial Order, Theorem, Functions (Mapping), Types of Mapping, Other Specific Mappings, Types of Binary Operations, Algebraic Structure, Graph of a Function, Real Valued Map, Product of Functions, Method of Construction of Operation Table, Countable and Uncountable Sets. Unit - II Posts and Lattices, Partially Ordered Sets (Posets), Totally Order Set, Diagrammatic Representation of a Poset: (House diagrams), Definitions, Maximal Element, Minimal Element, Duality, Product of Two Posets, Lattice, Duality and the Idempotent law, Semilattices, Complete lattices, Sublattice, Convex Sublattice, Distributive lattice, Complements, Complemented lattices Groups, Introduction-Algebraic Structures, Groups: Definition, Abelian Group, Order of a Group, Semi-group, Some General Properties of Groups, Some Important Theorems on Groups, Theorem on Subgroups, Homomorphism (Definition), Isomorphism (Definition), Theorems on Homomorphism, Definition (Kernel of f), Theorems on Homomorphism, Definition (Cyclic Groups), Fundamental Theorem of Homomorphism, Unit - III Rings and Fields, Introduction, Rings in General, Some Special Classes of Rings, Field and its Axioms, Sub-ring and Sub-fields, Discrete Numeric Functions, Introduction. Discrete Numeric Functions, Manipulation of Numeric Functions, Sealed Version, The Forward and Backward Difference, Convolution of two Numeric Functions, Asymptotic Behaviour of Numeric Functions, Asymptotical Dominance, Big-'OH' Notation, Bigomega '(1' and Big-theta '6' Notation, Generating Functions, Introduction, Useful Facts about Power Series, Counting Problems and Generating Functions Recurrence Relations, Introduction, linear Recurrence Relations with Constant Coefficients, Homogeneous Solutions, Particular Solution, Total Solution, Solution by Method of Generating Functions. Unit - IV Boolean Algebra, Introduction, Boolean Expressions and Boolean Functions, Identities of Boolean Algebra, Duality, Algebra of Switching Circuits Mathematical Reasoning, Introduction, Statement, Logical Connectives and Compound Statements, Negation, Conjunction, Disjunction, Polish Notation or Prefix Notation, Truth Value of Compound Statements, Statement Formulas and Truth Tables, Conditional Statement, Biconditional Statement, Tautologies, Duality Law, Tautological Implications, Arguments, Arguments and Statement, Predicates and Quantifiers, Quantifiers, Existential Quantification. Introduction to Concept of Automata, Historical aspect of Automata, Is the Study of Automata Theory Fruitful & Futuristic? Unit - V Finite State Machines, Finite Automata, Deterministic Finite Automata, Nondeterministic Finite Automata, Mealy and Moore Models (Finite Automata with Outputs), Reduction of the Number of States in Deterministic Finite Automata, Regular Expression, Construction of Finite Automata for Regular Expression, Construction of the Regular Expression from Finite Automata, Properties of Regular Sets, The Pumping Lemma for Regular Sets, Boolean Operation, Equivalence of Two Automatas Context Free Grammars, Grammars, Bacus Naur Form (BNF), Derivation Trees or Parse Trees, Ambiguous Grammars, Reduction of Context - Free Grammars, Normal Forms for Context Free Grammars, Regular Grammars, Push Down Automata (PDA), The Chomsky Hierarchy, The Pumping Theorem for Context Free Languages, Properties of Context-Free Languages. Introduction to Turing Machine, Turing Machine, Turing Machines for Computing Functions, Turing Machines as Language Acceptors, Combining Turing Machines CS-07: GUI Programming in VB Unit – I Visual Basic at a Glance : Program Design and Implementation, Introduction to Visual Basic, Hardware and Software Requirements of Visual Basic, Terms Often used in Visual Basic, Programming in Visual Basic, Editing and Writing Code in the Code Window, Programming an Application, The Integrated Development Environment : The Visual Basic, ToolBars, Customizing a Toolbar, Menu Bars, The Project Explorer, The Properties Window, The Code Window, The Form Window, The Debug Windows, The Toolbox Window Adding/Removing Custom Controls to the Toolbox, Organizing the Toolbox, Using the Application Wizard, Resource Files, Projects, Form Files, Creating a New Project, Saving the Project, Creating a Project Group. Unit – II The Language Reference : Knowing Visual Basic, Summary of Data Types, Variables, Deftype Statements, User Defined Data Types, Constants, Operators, Control Flow Statements, With-End with Statements, Arrays, Error Handling, Debugging and Sorting Techniques : Possibilities of Errors, Using Coding Conventions and Putting Comments, Debugging, Handling Errors, Exit Statements, List of Some Trappable Errors, Sorting Techniques, Implementing Algorithms. Unit – III Object Oriented & Event Driven Programming in Visual Basic : Object Oriented Programming, Objects and Classes, Few Terms Used in OOP, Object Linking and Embedding (OLE), Component Object Model, Creating Object Variables, Creating Control Arrays, Detecting Controls Forms and Menus : Form’s Basics, Important Properties of Forms, Forms Collection Controlling One Form Within Another – MDI, Using an MDI Form, Menus and the Menu Editor, Pop-Up Menus , Example on Using Pop-Up Menus, Dialog Boxes Displaying, Dialogs Creating a Modal Dialog Box The Message Box, Common Dialog Boxes, The InputBox, Unit – IV Using Basic Controls : Basic Controls, Introducing Label Control, The Text Box Control, The List Box and Combo Box Controls, Radio Buttons and Check Boxes, Scroll Bars, Example Using Option Buttons, Check Boxes and Scroll Bars, Timer Control Running Lights Application, Creating a Flying-Message Application, Image Control, Using Enhanced Controls : The Directory List Box, The Drive List Box, The File List Box, Copying and Searching Files, The Rich Text Box Control, Creating a Preview Document Application, The Key State Control, The Status Bar Control, Progress Bar Control, Slider Control. Unit – V New ActiveX Controls : ActiveX Controls, Image List Control, The Toolbar Control, The Coolbar Control, ImageCombo Control, The MonthView Control, The ListView Control, Example Using a ListView Control, TreeView Control, Example Using TreeView Control, Microsoft Masked Edit Controls, The FlatScrollBar Control, The DateTimePicker Control VBA and OLE Automation : VBA and OLE Automation, Development Environment of VBA, OLE Automation, Automating Office Applications, The Application Object, Using Excel’s Objects, Word Object Model, Experimenting with Word and Excel Objects Using the Application Programming : Introduction to API, Dynamic Link Libraries : Windows API Library Files, Remote Procedure Calls (RPC), Declaring a DLL Function, Passing Information to The Windows API Function, Collecting Return Values, The API Viewer Application, Viewing the Win32api.txt File with a Text Editor, Using Application Programming Interface, Graphics Device Interface, Device Context, Using The FlashWindow() API Function, Some Important API Functions.