What do you get
- All the notes of all the subjects in Semester 2, as per the latest syllabus 2026.
- The practical subjects too, worked out exercise by exercise: 1 practical book of 34 chapters, beside 5 theory books of 399.
- Previous year question papers, with full solutions. Database Management Systems Using PL SQL, Web Technologies and Computer Science Practical 2 have no solved papers, so they are not included.
- Your own dashboard, where you can track everything you have read, subject by subject.
- Priority access in our MU B.Sc. (Computer Science) student group. The groups are open, so you can send a message any time.
- Valid for one year, 365 days from the day you pay.
- If the University revises the syllabus while your year is running, the notes are rewritten to match and you read the new version at no extra cost. You are never asked to buy the same semester twice.
-
Database Management Systems Using PL SQL
Official Notes munotes.in
Database Management Systems Using PL SQL
B.SC. (COMPUTER SCIENCE) · SEMESTER 2
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
munotes.in First Year
Database Management Systems Using PL SQL
Copyright © 2026 munotes.in. All rights reserved.
Written and first published by munotes.in, 2026.
This book is for individual students to read at munotes.in. No part of it may be reproduced, distributed, stored, translated or used for institutional or classroom purposes in any form without a prior written licence from munotes.in.
Licensing and permissions: contact@munotes.in
The text of statutes and of judgments reproduced in this book is in the public domain under section 52(1)(q) of the Copyright Act 1957. The commentary, arrangement, examples and questions are the original work of munotes.in.
munotes.in is an independent study resource for MU students. It is not affiliated with, endorsed by, or officially connected to the University of Mumbai. Course names and university references describe the students and syllabus the material relates to.
Contents
Module I PL/SQL fundamentals, sequences, stored procedures and functions, collections and records, and error handling
- How This Practical Is Examined: the Journal, the Slip and the Viva 1
- Data, the Database and the DBMS: What SQL Does and Where It Stops 6
- Setting Up Oracle: Installing, Connecting and Typing In the Lab Tables 10
- Oracle SQL After MySQL: VARCHAR2, NUMBER, DATE and the DUAL Table 16
- What PL/SQL Is: Oracle's Procedural Extension to SQL 21
- The Advantages of PL/SQL 25
- The Main Features of PL/SQL 30
- The Architecture of PL/SQL: the PL/SQL Engine and the SQL Engine 36
- Your First Anonymous Block: DECLARE, BEGIN, EXCEPTION and END 41
- Character Sets: the Characters PL/SQL Reads 45
- Lexical Units: Delimiters and Identifiers 48
- Lexical Units: Literals, Comments and Whitespace 52
- Declarations: Variables, Constants, NOT NULL and DEFAULT 56
- Declarations: %TYPE, a Variable That Takes Its Type From a Column 60
- References to Identifiers: Simple, Qualified and Remote Names 63
- Scope and Visibility of Identifiers: Nested Blocks and Labels 66
Contents continued
Module I continued PL/SQL fundamentals, sequences, stored procedures and functions, collections and records, and error handling
- Assigning Values to Variables: the Assignment Statement and SELECT INTO 69
- Taking Input: Substitution Variables With & and ACCEPT 72
- Expressions: Operators, Precedence and Concatenation 76
- Expressions: BOOLEAN Logic, NULL and Short-Circuit Evaluation 80
- Expressions: CASE Expressions and SQL Functions in PL/SQL 86
- Error-Reporting Functions: SQLCODE and SQLERRM 93
- Data Types: Numbers, Characters, Dates and BOOLEAN 98
- Data Types: PLS_INTEGER, SIMPLE_INTEGER and Subtypes 103
- Using PL/SQL for Data Management: Reading One Row With SELECT INTO 107
- Using PL/SQL for Data Management: INSERT, UPDATE and DELETE in a Block 111
- Conditional Selection: IF THEN, IF THEN ELSE and ELSIF 115
- Conditional Selection: the Simple and the Searched CASE Statement 122
- LOOP Statements: the Basic LOOP, EXIT and EXIT WHEN 128
- LOOP Statements: the WHILE LOOP 133
- LOOP Statements: the FOR LOOP and REVERSE 138
- LOOP Statements: Nested Loops, Labels and CONTINUE 143
- Sequential Control Statements: GOTO and Labels 148
Contents continued
Module I continued PL/SQL fundamentals, sequences, stored procedures and functions, collections and records, and error handling
- The NULL Statement: Doing Nothing on Purpose 153
- Worked Programs: Conditions and Loops 156
- Sequences: What They Are and CREATE SEQUENCE 161
- Referencing a Sequence: NEXTVAL and CURRVAL 165
- Altering and Dropping a Sequence, and Identity Columns 171
- Stored Procedures: What They Are, Their Types and Their Benefits 177
- Creating a Stored Procedure: CREATE OR REPLACE PROCEDURE 181
- Procedure Parameters: IN, OUT and IN OUT 185
- Passing Parameters: Positional, Named and Mixed Notation, and DEFAULT 189
- Executing a Stored Procedure: EXECUTE, a Block and Another Procedure 192
- Altering a Stored Procedure: CREATE OR REPLACE, ALTER PROCEDURE and Recompiling 196
- Viewing Stored Procedures: USER_SOURCE, USER_OBJECTS and USER_PROCEDURES 200
- Functions: CREATE OR REPLACE FUNCTION and RETURN 206
- Calling a Function: From PL/SQL, From SQL and at the Prompt 212
- Recursive Functions: Factorial, Fibonacci and the GCD 216
- Worked Programs: Sequences, Procedures and Functions 221
Contents continued
Module I continued PL/SQL fundamentals, sequences, stored procedures and functions, collections and records, and error handling
- Collections and Records: When One Variable Must Hold Many Values 226
- Associative Arrays: INDEX BY PLS_INTEGER and INDEX BY VARCHAR2 230
- Varrays: Variable-Size Arrays 234
- Nested Tables 238
- Collection Constructors 243
- Assigning Values to Collection Variables 247
- Multidimensional Collections: a Collection of Collections 252
- Collection Comparisons: IS NULL, Equality and Multiset Conditions 257
- Collection Methods: COUNT, FIRST, LAST, PRIOR, NEXT and LIMIT 262
- Collection Methods: EXISTS, EXTEND, TRIM and DELETE 267
- Collection Types Defined in a Package Specification 272
- Record Variables: %ROWTYPE and RECORD Types 275
- Assigning Values to Record Variables: SELECT INTO, FETCH and RETURNING 282
- Worked Programs: Collections and Records 288
- Compile-Time Warnings: PLSQL_WARNINGS and SHOW ERRORS 294
- Overview of Exception Handling: the EXCEPTION Section and WHEN OTHERS 299
Contents continued
Module I continued PL/SQL fundamentals, sequences, stored procedures and functions, collections and records, and error handling
- Internally Defined Exceptions: Naming an ORA Error With PRAGMA EXCEPTION_INIT 307
- Predefined Exceptions: NO_DATA_FOUND, TOO_MANY_ROWS, ZERO_DIVIDE and the Rest 312
- User-Defined Exceptions: Declare, RAISE and Handle 317
- Redeclared Predefined Exceptions: Why You Must Never Do It 321
- Raising Exceptions Explicitly: RAISE and RAISE_APPLICATION_ERROR 324
- Exception Propagation: How an Exception Travels Out of a Block 329
- Unhandled Exceptions: What the Caller Sees, and What Is Rolled Back 333
- Worked Programs: Exceptions 337
Module II Cursors, static and dynamic SQL, transaction processing and control, triggers and packages
- What a Cursor Is: the Work Area Behind Every Query 344
- Types of Cursors: Implicit and Explicit 349
- The INVALID_CURSOR Exception, and CURSOR_ALREADY_OPEN 354
- Description of Static SQL: the Statements PL/SQL Runs Directly 359
- Cursors Overview: the Implicit Cursor and Its Attributes 364
- Cursors Overview: Explicit Cursors, Their Attributes and Parameters 368
Contents continued
Module II continued Cursors, static and dynamic SQL, transaction processing and control, triggers and packages
- Processing Query Result Sets: SELECT INTO and the Cursor FOR LOOP 376
- Processing Query Result Sets: BULK COLLECT, LIMIT and FORALL 383
- Cursor Variables: REF CURSOR and SYS_REFCURSOR 390
- Passing Cursor Variables To and From Subprograms 398
- CURSOR Expressions: a Cursor Inside a Query 404
- Worked Programs: Cursors 408
- Transaction Processing and Control: COMMIT, ROLLBACK, SAVEPOINT and SET TRANSACTION 414
- Autonomous Transactions: PRAGMA AUTONOMOUS_TRANSACTION 421
- The Commit Protocol: What COMMIT Does, and the Two-Phase Commit 427
- Concurrency Control: What Goes Wrong When Two Sessions Share Data 434
- Concurrency Control: Isolation Levels in Oracle 440
- Lock Management: Row Locks, Table Locks and SELECT FOR UPDATE 445
- Read-Write Locks: Shared and Exclusive Locks, and LOCK TABLE 450
- Deadlocks: How They Happen, ORA-00060 and How to Avoid Them 454
- Crash Recovery: the Redo Log, Undo and Instance Recovery 462
- Dynamic SQL: Native Dynamic SQL With EXECUTE IMMEDIATE 469
- Native Dynamic SQL: Bind Variables, USING, INTO and OPEN FOR 476
Contents continued
Module II continued Cursors, static and dynamic SQL, transaction processing and control, triggers and packages
- The DBMS_SQL Package 482
- SQL Injection: How It Happens and How to Stop It 488
- Overview of Triggers: What a Trigger Is and When It Fires 492
- Creating Triggers: CREATE OR REPLACE TRIGGER, Row and Statement Level 499
- :NEW and :OLD, and the WHEN Clause 505
- Insert Triggers 511
- Delete Triggers 516
- Update Triggers: UPDATE OF a Column, and INSERTING, UPDATING and DELETING 521
- Nested Triggers: One Trigger Firing Another, and the Mutating Table 526
- Viewing Triggers: USER_TRIGGERS and USER_SOURCE 533
- Deleting and Modifying Triggers: DROP TRIGGER, CREATE OR REPLACE and ALTER TRIGGER 537
- Enforcing Data Integrity Through Triggers 541
- INSTEAD OF and System Triggers: the Other Kinds 550
- Worked Programs: Triggers 556
- What a Package Is, and Why You Need One 563
- The Package Specification: What Others May Use 570
- The Package Body: Public and Private Parts 576
Contents continued
Module II continued Cursors, static and dynamic SQL, transaction processing and control, triggers and packages
- Package Instantiation and Initialization: Package State 584
- Creating Nested Table Columns: NESTED TABLE ... STORE AS 590
- Working With Nested Table Columns: Query, Insert, Update and Delete 595
- Worked Programs: Packages and Nested Tables 601
Module J The journal, the practical examination and the viva
- The Certified Journal: How to Write Up Each Practical 607
- Practice Questions for Q.1: Module 1 Programs 615
- Practice Questions for Q.2: Module 2 Programs 624
- The Viva: Questions and Answers 635
- When It Does Not Work: the Errors You Will Meet 658
Page 1 onwards
664 pages in this book. The cover and the contents are above. Everything from page one is in the pass.
- Notes
- 2026 Edition, as per the latest syllabus. 664 pages.
Every chapter in the notes: 122 chapters across 3 modules
Module I PL/SQL fundamentals, sequences, stored procedures and functions, collections and records, and error handling 73 chapters
- 1 How This Practical Is Examined: the Journal, the Slip and the Viva pages 1 to 5
- 2 Data, the Database and the DBMS: What SQL Does and Where It Stops pages 6 to 9
- 3 Setting Up Oracle: Installing, Connecting and Typing In the Lab Tables pages 10 to 15
- 4 Oracle SQL After MySQL: VARCHAR2, NUMBER, DATE and the DUAL Table pages 16 to 20
- 5 What PL/SQL Is: Oracle's Procedural Extension to SQL pages 21 to 24
- 6 The Advantages of PL/SQL pages 25 to 29
- 7 The Main Features of PL/SQL pages 30 to 35
- 8 The Architecture of PL/SQL: the PL/SQL Engine and the SQL Engine pages 36 to 40
- 9 Your First Anonymous Block: DECLARE, BEGIN, EXCEPTION and END pages 41 to 44
- 10 Character Sets: the Characters PL/SQL Reads pages 45 to 47
- 11 Lexical Units: Delimiters and Identifiers pages 48 to 51
- 12 Lexical Units: Literals, Comments and Whitespace pages 52 to 55
- 13 Declarations: Variables, Constants, NOT NULL and DEFAULT pages 56 to 59
- 14 Declarations: %TYPE, a Variable That Takes Its Type From a Column pages 60 to 62
- 15 References to Identifiers: Simple, Qualified and Remote Names pages 63 to 65
- 16 Scope and Visibility of Identifiers: Nested Blocks and Labels pages 66 to 68
- 17 Assigning Values to Variables: the Assignment Statement and SELECT INTO pages 69 to 71
- 18 Taking Input: Substitution Variables With & and ACCEPT pages 72 to 75
- 19 Expressions: Operators, Precedence and Concatenation pages 76 to 79
- 20 Expressions: BOOLEAN Logic, NULL and Short-Circuit Evaluation pages 80 to 85
- 21 Expressions: CASE Expressions and SQL Functions in PL/SQL pages 86 to 92
- 22 Error-Reporting Functions: SQLCODE and SQLERRM pages 93 to 97
- 23 Data Types: Numbers, Characters, Dates and BOOLEAN pages 98 to 102
- 24 Data Types: PLS_INTEGER, SIMPLE_INTEGER and Subtypes pages 103 to 106
- 25 Using PL/SQL for Data Management: Reading One Row With SELECT INTO pages 107 to 110
- 26 Using PL/SQL for Data Management: INSERT, UPDATE and DELETE in a Block pages 111 to 114
- 27 Conditional Selection: IF THEN, IF THEN ELSE and ELSIF pages 115 to 121
- 28 Conditional Selection: the Simple and the Searched CASE Statement pages 122 to 127
- 29 LOOP Statements: the Basic LOOP, EXIT and EXIT WHEN pages 128 to 132
- 30 LOOP Statements: the WHILE LOOP pages 133 to 137
- 31 LOOP Statements: the FOR LOOP and REVERSE pages 138 to 142
- 32 LOOP Statements: Nested Loops, Labels and CONTINUE pages 143 to 147
- 33 Sequential Control Statements: GOTO and Labels pages 148 to 152
- 34 The NULL Statement: Doing Nothing on Purpose pages 153 to 155
- 35 Worked Programs: Conditions and Loops pages 156 to 160
- 36 Sequences: What They Are and CREATE SEQUENCE pages 161 to 164
- 37 Referencing a Sequence: NEXTVAL and CURRVAL pages 165 to 170
- 38 Altering and Dropping a Sequence, and Identity Columns pages 171 to 176
- 39 Stored Procedures: What They Are, Their Types and Their Benefits pages 177 to 180
- 40 Creating a Stored Procedure: CREATE OR REPLACE PROCEDURE pages 181 to 184
- 41 Procedure Parameters: IN, OUT and IN OUT pages 185 to 188
- 42 Passing Parameters: Positional, Named and Mixed Notation, and DEFAULT pages 189 to 191
- 43 Executing a Stored Procedure: EXECUTE, a Block and Another Procedure pages 192 to 195
- 44 Altering a Stored Procedure: CREATE OR REPLACE, ALTER PROCEDURE and Recompiling pages 196 to 199
- 45 Viewing Stored Procedures: USER_SOURCE, USER_OBJECTS and USER_PROCEDURES pages 200 to 205
- 46 Functions: CREATE OR REPLACE FUNCTION and RETURN pages 206 to 211
- 47 Calling a Function: From PL/SQL, From SQL and at the Prompt pages 212 to 215
- 48 Recursive Functions: Factorial, Fibonacci and the GCD pages 216 to 220
- 49 Worked Programs: Sequences, Procedures and Functions pages 221 to 225
- 50 Collections and Records: When One Variable Must Hold Many Values pages 226 to 229
- 51 Associative Arrays: INDEX BY PLS_INTEGER and INDEX BY VARCHAR2 pages 230 to 233
- 52 Varrays: Variable-Size Arrays pages 234 to 237
- 53 Nested Tables pages 238 to 242
- 54 Collection Constructors pages 243 to 246
- 55 Assigning Values to Collection Variables pages 247 to 251
- 56 Multidimensional Collections: a Collection of Collections pages 252 to 256
- 57 Collection Comparisons: IS NULL, Equality and Multiset Conditions pages 257 to 261
- 58 Collection Methods: COUNT, FIRST, LAST, PRIOR, NEXT and LIMIT pages 262 to 266
- 59 Collection Methods: EXISTS, EXTEND, TRIM and DELETE pages 267 to 271
- 60 Collection Types Defined in a Package Specification pages 272 to 274
- 61 Record Variables: %ROWTYPE and RECORD Types pages 275 to 281
- 62 Assigning Values to Record Variables: SELECT INTO, FETCH and RETURNING pages 282 to 287
- 63 Worked Programs: Collections and Records pages 288 to 293
- 64 Compile-Time Warnings: PLSQL_WARNINGS and SHOW ERRORS pages 294 to 298
- 65 Overview of Exception Handling: the EXCEPTION Section and WHEN OTHERS pages 299 to 306
- 66 Internally Defined Exceptions: Naming an ORA Error With PRAGMA EXCEPTION_INIT pages 307 to 311
- 67 Predefined Exceptions: NO_DATA_FOUND, TOO_MANY_ROWS, ZERO_DIVIDE and the Rest pages 312 to 316
- 68 User-Defined Exceptions: Declare, RAISE and Handle pages 317 to 320
- 69 Redeclared Predefined Exceptions: Why You Must Never Do It pages 321 to 323
- 70 Raising Exceptions Explicitly: RAISE and RAISE_APPLICATION_ERROR pages 324 to 328
- 71 Exception Propagation: How an Exception Travels Out of a Block pages 329 to 332
- 72 Unhandled Exceptions: What the Caller Sees, and What Is Rolled Back pages 333 to 336
- 73 Worked Programs: Exceptions pages 337 to 343
Module II Cursors, static and dynamic SQL, transaction processing and control, triggers and packages 44 chapters
- 74 What a Cursor Is: the Work Area Behind Every Query pages 344 to 348
- 75 Types of Cursors: Implicit and Explicit pages 349 to 353
- 76 The INVALID_CURSOR Exception, and CURSOR_ALREADY_OPEN pages 354 to 358
- 77 Description of Static SQL: the Statements PL/SQL Runs Directly pages 359 to 363
- 78 Cursors Overview: the Implicit Cursor and Its Attributes pages 364 to 367
- 79 Cursors Overview: Explicit Cursors, Their Attributes and Parameters pages 368 to 375
- 80 Processing Query Result Sets: SELECT INTO and the Cursor FOR LOOP pages 376 to 382
- 81 Processing Query Result Sets: BULK COLLECT, LIMIT and FORALL pages 383 to 389
- 82 Cursor Variables: REF CURSOR and SYS_REFCURSOR pages 390 to 397
- 83 Passing Cursor Variables To and From Subprograms pages 398 to 403
- 84 CURSOR Expressions: a Cursor Inside a Query pages 404 to 407
- 85 Worked Programs: Cursors pages 408 to 413
- 86 Transaction Processing and Control: COMMIT, ROLLBACK, SAVEPOINT and SET TRANSACTION pages 414 to 420
- 87 Autonomous Transactions: PRAGMA AUTONOMOUS_TRANSACTION pages 421 to 426
- 88 The Commit Protocol: What COMMIT Does, and the Two-Phase Commit pages 427 to 433
- 89 Concurrency Control: What Goes Wrong When Two Sessions Share Data pages 434 to 439
- 90 Concurrency Control: Isolation Levels in Oracle pages 440 to 444
- 91 Lock Management: Row Locks, Table Locks and SELECT FOR UPDATE pages 445 to 449
- 92 Read-Write Locks: Shared and Exclusive Locks, and LOCK TABLE pages 450 to 453
- 93 Deadlocks: How They Happen, ORA-00060 and How to Avoid Them pages 454 to 461
- 94 Crash Recovery: the Redo Log, Undo and Instance Recovery pages 462 to 468
- 95 Dynamic SQL: Native Dynamic SQL With EXECUTE IMMEDIATE pages 469 to 475
- 96 Native Dynamic SQL: Bind Variables, USING, INTO and OPEN FOR pages 476 to 481
- 97 The DBMS_SQL Package pages 482 to 487
- 98 SQL Injection: How It Happens and How to Stop It pages 488 to 491
- 99 Overview of Triggers: What a Trigger Is and When It Fires pages 492 to 498
- 100 Creating Triggers: CREATE OR REPLACE TRIGGER, Row and Statement Level pages 499 to 504
- 101 :NEW and :OLD, and the WHEN Clause pages 505 to 510
- 102 Insert Triggers pages 511 to 515
- 103 Delete Triggers pages 516 to 520
- 104 Update Triggers: UPDATE OF a Column, and INSERTING, UPDATING and DELETING pages 521 to 525
- 105 Nested Triggers: One Trigger Firing Another, and the Mutating Table pages 526 to 532
- 106 Viewing Triggers: USER_TRIGGERS and USER_SOURCE pages 533 to 536
- 107 Deleting and Modifying Triggers: DROP TRIGGER, CREATE OR REPLACE and ALTER TRIGGER pages 537 to 540
- 108 Enforcing Data Integrity Through Triggers pages 541 to 549
- 109 INSTEAD OF and System Triggers: the Other Kinds pages 550 to 555
- 110 Worked Programs: Triggers pages 556 to 562
- 111 What a Package Is, and Why You Need One pages 563 to 569
- 112 The Package Specification: What Others May Use pages 570 to 575
- 113 The Package Body: Public and Private Parts pages 576 to 583
- 114 Package Instantiation and Initialization: Package State pages 584 to 589
- 115 Creating Nested Table Columns: NESTED TABLE ... STORE AS pages 590 to 594
- 116 Working With Nested Table Columns: Query, Insert, Update and Delete pages 595 to 600
- 117 Worked Programs: Packages and Nested Tables pages 601 to 606
Module J The journal, the practical examination and the viva 5 chapters
- 118 The Certified Journal: How to Write Up Each Practical pages 607 to 614
- 119 Practice Questions for Q.1: Module 1 Programs pages 615 to 623
- 120 Practice Questions for Q.2: Module 2 Programs pages 624 to 634
- 121 The Viva: Questions and Answers pages 635 to 657
- 122 When It Does Not Work: the Errors You Will Meet pages 658 to 664
-
Design and Analysis of Algorithms
Official Notes munotes.in
Design and Analysis of Algorithms
B.SC. (COMPUTER SCIENCE) · SEMESTER 2
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
munotes.in First Year
Design and Analysis of Algorithms
Copyright © 2026 munotes.in. All rights reserved.
Written and first published by munotes.in, 2026.
This book is for individual students to read at munotes.in. No part of it may be reproduced, distributed, stored, translated or used for institutional or classroom purposes in any form without a prior written licence from munotes.in.
Licensing and permissions: contact@munotes.in
The text of statutes and of judgments reproduced in this book is in the public domain under section 52(1)(q) of the Copyright Act 1957. The commentary, arrangement, examples and questions are the original work of munotes.in.
munotes.in is an independent study resource for MU students. It is not affiliated with, endorsed by, or officially connected to the University of Mumbai. Course names and university references describe the students and syllabus the material relates to.
Contents
Module I Algorithms and their analysis, data structures, recursion, and the basic sorting techniques
- What an Algorithm Is: Definition, Characteristics and Advantages 1
- Writing an Algorithm: Steps, Pseudocode and Flowcharts 9
- The Analysis of an Algorithm and Its Stages 19
- Types of Complexity: Time and Space 26
- Running Time Analysis: Counting Basic Operations 35
- How to Compare Algorithms 44
- Rate of Growth: The Common Growth Functions 53
- Types of Analysis: Best, Worst and Average Case 61
- Asymptotic Notation: Why Large n Decides 70
- Big-O Notation: The Upper Bound 78
- Calculating the Big-O of an Algorithm 87
- Omega Notation: The Lower Bound 96
- Theta Notation: The Tight Bound 103
- Asymptotic Analysis of an Algorithm 112
- Recurrence Relations: The Running Time of a Recursive Algorithm 121
- Performance Characteristics of Algorithms 131
- Estimating Running Time on Paper: The Step Count Method 141
- The Idea of Computability 150
- What a Data Structure Is 159
Contents continued
Module I continued Algorithms and their analysis, data structures, recursion, and the basic sorting techniques
- Types of Data Structures 167
- The Queue: A First-In, First-Out Structure 176
- Trees and Graphs: The Non-Linear Structures and Their Traversal 185
- One-Dimensional Arrays 195
- Two-Dimensional Arrays 206
- The Stack: Last In, First Out 218
- A List-Based Stack in Python 228
- Python's List as a Data Structure 238
- The Singly Linked List 247
- Doubly and Circular Linked Lists 257
- Arrays, Stacks and Lists: Advantages, Disadvantages and Applications 267
- Solving Linear Equations with a Two-Dimensional Array 275
- Polynomial Representation 285
- Infix, Prefix and Postfix Expressions 297
- Infix-to-Postfix Conversion Using a Stack 308
- Evaluating a Postfix Expression 316
- What Recursion Is: The Base Case and the Recursive Case 326
- How Recursion Runs: The Call Stack and the Kinds of Recursion 335
Contents continued
Module I continued Algorithms and their analysis, data structures, recursion, and the basic sorting techniques
- Recursion Versus Iteration 344
- The Factorial of a Number: Recursive and Iterative 352
- The Fibonacci Series: Recursive and Iterative 362
- Recursive and Iterative Versions Compared 372
- The Tower of Hanoi Problem 381
- Sorting and Its Types 393
- Bubble Sort 401
- Selection Sort 411
- Insertion Sort 420
- Bubble, Selection and Insertion Sort Compared 431
Module II Searching, algorithm design techniques, dynamic programming and backtracking
- Searching and Its Kinds 439
- Linear Search and Its Types 447
- Binary Search 458
- Recursive Binary Search and Its Analysis 468
- Linear Search and Binary Search Compared 480
- The Selection Problem, and Selection by Sorting 488
- Partitioning a List: Lomuto and Hoare 498
- Partition-Based Selection: Quickselect 508
Contents continued
Module II continued Searching, algorithm design techniques, dynamic programming and backtracking
- Finding the K Smallest Elements in Sorted Order 518
- The Nth Maximum and Minimum Element of a List 529
- Selection Techniques Compared 539
- Strings, and Comparing Two Strings 548
- The Pattern Matching Problem 556
- The Brute Force Method of Pattern Matching 564
- The Rabin-Karp Algorithm 575
- The Knuth-Morris-Pratt Algorithm 584
- Pattern Matching Methods Compared 593
- Classifying Algorithms, and the Criteria of a Good Design 601
- The Design Techniques at a Glance 610
- The Greedy Technique: Concept, Advantages and Disadvantages 619
- Greedy Applications, and Activity Selection 629
- The Coin Change Problem by the Greedy Method 639
- The Fractional Knapsack Problem 649
- The File Merging Problem: The Optimal Merge Pattern 658
- Divide and Conquer: Concept, Advantages and Disadvantages 669
- Divide and Conquer Applications: Finding the Maximum and Minimum 678
- Quick Sort 687
Contents continued
Module II continued Searching, algorithm design techniques, dynamic programming and backtracking
- Merge Sort 696
- Multiplying Matrices: The Standard Method and Divide and Conquer 708
- Strassen's Matrix Multiplication 718
- Dynamic Programming: Concept, Advantages and Disadvantages 731
- Dynamic Programming Versus Greedy and Divide and Conquer 740
- Dynamic Programming Applications, and the Minimum Coins Problem 747
- The 0/1 Knapsack Problem 755
- The Fibonacci Series by Dynamic Programming 762
- The Factorial of a Number by Dynamic Programming 770
- The Longest Common Subsequence: The Problem and Its Recurrence 776
- The Longest Common Subsequence: The Table and the Program 783
- Backtracking: Concept, Advantages and Disadvantages 795
- Backtracking Applications: The Sum of Subsets 805
- The N-Queen Problem 814
- Sitting the Paper: Thirty Marks in One Hour 823
Page 1 onwards
832 pages in this book. The cover and the contents are above. Everything from page one is in the pass.
- Notes
- 2026 Edition, as per the latest syllabus. 832 pages.
- Papers
- Previous year question paper solutions. Revised edition 2026. 2022, 2023, 2024, 2025, 2026
Every chapter in the notes: 89 chapters across 2 modules
Module I Algorithms and their analysis, data structures, recursion, and the basic sorting techniques 47 chapters
- 1 What an Algorithm Is: Definition, Characteristics and Advantages pages 1 to 8
- 2 Writing an Algorithm: Steps, Pseudocode and Flowcharts pages 9 to 18
- 3 The Analysis of an Algorithm and Its Stages pages 19 to 25
- 4 Types of Complexity: Time and Space pages 26 to 34
- 5 Running Time Analysis: Counting Basic Operations pages 35 to 43
- 6 How to Compare Algorithms pages 44 to 52
- 7 Rate of Growth: The Common Growth Functions pages 53 to 60
- 8 Types of Analysis: Best, Worst and Average Case pages 61 to 69
- 9 Asymptotic Notation: Why Large n Decides pages 70 to 77
- 10 Big-O Notation: The Upper Bound pages 78 to 86
- 11 Calculating the Big-O of an Algorithm pages 87 to 95
- 12 Omega Notation: The Lower Bound pages 96 to 102
- 13 Theta Notation: The Tight Bound pages 103 to 111
- 14 Asymptotic Analysis of an Algorithm pages 112 to 120
- 15 Recurrence Relations: The Running Time of a Recursive Algorithm pages 121 to 130
- 16 Performance Characteristics of Algorithms pages 131 to 140
- 17 Estimating Running Time on Paper: The Step Count Method pages 141 to 149
- 18 The Idea of Computability pages 150 to 158
- 19 What a Data Structure Is pages 159 to 166
- 20 Types of Data Structures pages 167 to 175
- 21 The Queue: A First-In, First-Out Structure pages 176 to 184
- 22 Trees and Graphs: The Non-Linear Structures and Their Traversal pages 185 to 194
- 23 One-Dimensional Arrays pages 195 to 205
- 24 Two-Dimensional Arrays pages 206 to 217
- 25 The Stack: Last In, First Out pages 218 to 227
- 26 A List-Based Stack in Python pages 228 to 237
- 27 Python's List as a Data Structure pages 238 to 246
- 28 The Singly Linked List pages 247 to 256
- 29 Doubly and Circular Linked Lists pages 257 to 266
- 30 Arrays, Stacks and Lists: Advantages, Disadvantages and Applications pages 267 to 274
- 31 Solving Linear Equations with a Two-Dimensional Array pages 275 to 284
- 32 Polynomial Representation pages 285 to 296
- 33 Infix, Prefix and Postfix Expressions pages 297 to 307
- 34 Infix-to-Postfix Conversion Using a Stack pages 308 to 315
- 35 Evaluating a Postfix Expression pages 316 to 325
- 36 What Recursion Is: The Base Case and the Recursive Case pages 326 to 334
- 37 How Recursion Runs: The Call Stack and the Kinds of Recursion pages 335 to 343
- 38 Recursion Versus Iteration pages 344 to 351
- 39 The Factorial of a Number: Recursive and Iterative pages 352 to 361
- 40 The Fibonacci Series: Recursive and Iterative pages 362 to 371
- 41 Recursive and Iterative Versions Compared pages 372 to 380
- 42 The Tower of Hanoi Problem pages 381 to 392
- 43 Sorting and Its Types pages 393 to 400
- 44 Bubble Sort pages 401 to 410
- 45 Selection Sort pages 411 to 419
- 46 Insertion Sort pages 420 to 430
- 47 Bubble, Selection and Insertion Sort Compared pages 431 to 438
Module II Searching, algorithm design techniques, dynamic programming and backtracking 42 chapters
- 48 Searching and Its Kinds pages 439 to 446
- 49 Linear Search and Its Types pages 447 to 457
- 50 Binary Search pages 458 to 467
- 51 Recursive Binary Search and Its Analysis pages 468 to 479
- 52 Linear Search and Binary Search Compared pages 480 to 487
- 53 The Selection Problem, and Selection by Sorting pages 488 to 497
- 54 Partitioning a List: Lomuto and Hoare pages 498 to 507
- 55 Partition-Based Selection: Quickselect pages 508 to 517
- 56 Finding the K Smallest Elements in Sorted Order pages 518 to 528
- 57 The Nth Maximum and Minimum Element of a List pages 529 to 538
- 58 Selection Techniques Compared pages 539 to 547
- 59 Strings, and Comparing Two Strings pages 548 to 555
- 60 The Pattern Matching Problem pages 556 to 563
- 61 The Brute Force Method of Pattern Matching pages 564 to 574
- 62 The Rabin-Karp Algorithm pages 575 to 583
- 63 The Knuth-Morris-Pratt Algorithm pages 584 to 592
- 64 Pattern Matching Methods Compared pages 593 to 600
- 65 Classifying Algorithms, and the Criteria of a Good Design pages 601 to 609
- 66 The Design Techniques at a Glance pages 610 to 618
- 67 The Greedy Technique: Concept, Advantages and Disadvantages pages 619 to 628
- 68 Greedy Applications, and Activity Selection pages 629 to 638
- 69 The Coin Change Problem by the Greedy Method pages 639 to 648
- 70 The Fractional Knapsack Problem pages 649 to 657
- 71 The File Merging Problem: The Optimal Merge Pattern pages 658 to 668
- 72 Divide and Conquer: Concept, Advantages and Disadvantages pages 669 to 677
- 73 Divide and Conquer Applications: Finding the Maximum and Minimum pages 678 to 686
- 74 Quick Sort pages 687 to 695
- 75 Merge Sort pages 696 to 707
- 76 Multiplying Matrices: The Standard Method and Divide and Conquer pages 708 to 717
- 77 Strassen's Matrix Multiplication pages 718 to 730
- 78 Dynamic Programming: Concept, Advantages and Disadvantages pages 731 to 739
- 79 Dynamic Programming Versus Greedy and Divide and Conquer pages 740 to 746
- 80 Dynamic Programming Applications, and the Minimum Coins Problem pages 747 to 754
- 81 The 0/1 Knapsack Problem pages 755 to 761
- 82 The Fibonacci Series by Dynamic Programming pages 762 to 769
- 83 The Factorial of a Number by Dynamic Programming pages 770 to 775
- 84 The Longest Common Subsequence: The Problem and Its Recurrence pages 776 to 782
- 85 The Longest Common Subsequence: The Table and the Program pages 783 to 794
- 86 Backtracking: Concept, Advantages and Disadvantages pages 795 to 804
- 87 Backtracking Applications: The Sum of Subsets pages 805 to 813
- 88 The N-Queen Problem pages 814 to 822
- 89 Sitting the Paper: Thirty Marks in One Hour pages 823 to 832
Every paper that is solved: 6 papers
- Mar 2026
- Apr 2025
- Mar 2025
- Apr 2024
- 2022-23
- May 2022
-
Web Technologies
Official Notes munotes.in
Web Technologies
B.SC. (COMPUTER SCIENCE) · SEMESTER 2
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
munotes.in First Year
Web Technologies
Copyright © 2026 munotes.in. All rights reserved.
Written and first published by munotes.in, 2026.
This book is for individual students to read at munotes.in. No part of it may be reproduced, distributed, stored, translated or used for institutional or classroom purposes in any form without a prior written licence from munotes.in.
Licensing and permissions: contact@munotes.in
The text of statutes and of judgments reproduced in this book is in the public domain under section 52(1)(q) of the Copyright Act 1957. The commentary, arrangement, examples and questions are the original work of munotes.in.
munotes.in is an independent study resource for MU students. It is not affiliated with, endorsed by, or officially connected to the University of Mumbai. Course names and university references describe the students and syllabus the material relates to.
Contents
Module I HTML, CSS and JavaScript
- How This Practical Is Examined: the Journal, the Slip and the Viva 1
- How the Web Works: the Browser, the Server, the URL and HTTP 6
- Client Side and Server Side, and the Laboratory: XAMPP, htdocs and localhost 14
- HTML from Zero: Tags, Elements and the Fundamental Elements of a Page 23
- Formatting Text in HTML 30
- Organizing Text in HTML: Paragraphs, Headings, Breaks and Sections 39
- List Tags: Ordered, Unordered and Description Lists 50
- Links and URLs in HTML 59
- Tables in HTML 68
- Images on a Web Page and Image Formats 78
- Image Maps 88
- Colors: Names, Hexadecimal, RGB and HSL 97
- Navigation Across Multiple Pages 108
- Forms in HTML: the Form Element, Labels, Text Boxes and Buttons 116
- Forms in HTML: Check Boxes, Radio Buttons, Lists and Text Areas 126
- Interactive Elements: details, summary and dialog 136
- Working with Multimedia: Audio and Video File Formats 146
Contents continued
Module I continued HTML, CSS and JavaScript
- Inserting Audio and Video on a Web Page 155
- Valid, Well-Formed and Meaningful Pages 165
- CSS from Zero: Understanding the Syntax of CSS 175
- CSS Selectors 184
- Inserting CSS in an HTML Document: Inline, Internal and External 196
- CSS Properties for the Background of a Page 204
- CSS Properties for Fonts and Text Styles 214
- CSS Properties for Positioning an Element 223
- Devices, Viewports and Browsers: One Page on Every Screen 236
- Using JavaScript in an HTML Document 246
- Programming Fundamentals of JavaScript: Statements, Variables and Data Types 255
- JavaScript Operators 267
- Control Flow Statements: if, switch and the Loops 282
- Popup Boxes: alert, confirm and prompt 295
- Functions: Defining and Invoking, Arguments and the return Statement 303
- Calling Functions with a Timer: setTimeout and setInterval 315
- The String Object 325
- The RegExp Object 336
Contents continued
Module I continued HTML, CSS and JavaScript
- The Math Object 346
- The Date Object 357
- The Window Object 367
- The Navigator Object 377
- The History and Location Objects 384
- The Document Object 395
- Cookies in JavaScript 404
- The Document Object Model: Finding, Changing and Adding Elements 413
- Form Validation Using JavaScript 424
Module II XML, AJAX and PHP
- XML from Zero: Comparing XML with HTML, and Its Advantages and Disadvantages 435
- Structure of an XML Document: Prolog, Root, Elements and Attributes 443
- XML Entity References 452
- XML with an Internal DTD 461
- XML with an External DTD 472
- XSLT Elements and Attributes: template, value-of, for-each and sort 480
Contents continued
Module II continued XML, AJAX and PHP
- XSLT Elements and Attributes: if, choose, attribute and element 491
- Designing Your Own Markup Language: Data-Centric and Document-Centric XML 504
- AJAX from Zero: the AJAX Web Application Model and How AJAX Works 516
- The XMLHttpRequest Object: Properties and Methods 526
- Handling Asynchronous Requests with AJAX: Mouseover and Button Click 537
- PHP from Zero: How a PHP Page Runs 546
- PHP Variables and Data Types 553
- PHP Operators 561
- Retrieving Data from HTML Forms: GET and POST 569
- Retrieving Check Boxes, Radio Buttons and Lists in PHP 577
- Program Flow in PHP: if, elseif, switch and match 585
- Program Flow in PHP: while, do-while, for and foreach 593
- Program Flow in PHP: Functions, include and require 601
- PHP Arrays: Indexed, Associative and Multidimensional 608
- PHP Array Functions: Sort, Search and More 614
- Working with Files in PHP: Open, Read, Write and Append 620
- Working with Directories in PHP 627
Contents continued
Module II continued XML, AJAX and PHP
- MySQL from Zero: Databases, Tables and SQL 632
- Connecting PHP to MySQL with mysqli 638
- Inserting Rows from a Form with Prepared Statements 644
- Showing and Searching Rows in an HTML Table 652
- Updating and Deleting Rows from PHP 658
- AJAX with PHP and MySQL: Results as You Type 665
- Working with Cookies in PHP 671
- Sessions in PHP 677
- A Database Driven Website: Registration, Login and Logout 683
- Headers in PHP: Redirects, Content Types and Headers Already Sent 689
Module J The journal, the practical examination and the viva
- The Journal: What Each Practical Write-Up Holds 694
- Module 1 Practical Questions, Worked 698
- Module 2 Practical Questions, Worked 704
- The Viva: Questions and Answers 710
- When It Does Not Work: the Errors You Will Meet 726
Page 1 onwards
735 pages in this book. The cover and the contents are above. Everything from page one is in the pass.
- Notes
- 2026 Edition, as per the latest syllabus. 735 pages.
Every chapter in the notes: 82 chapters across 3 modules
Module I HTML, CSS and JavaScript 44 chapters
- 1 How This Practical Is Examined: the Journal, the Slip and the Viva pages 1 to 5
- 2 How the Web Works: the Browser, the Server, the URL and HTTP pages 6 to 13
- 3 Client Side and Server Side, and the Laboratory: XAMPP, htdocs and localhost pages 14 to 22
- 4 HTML from Zero: Tags, Elements and the Fundamental Elements of a Page pages 23 to 29
- 5 Formatting Text in HTML pages 30 to 38
- 6 Organizing Text in HTML: Paragraphs, Headings, Breaks and Sections pages 39 to 49
- 7 List Tags: Ordered, Unordered and Description Lists pages 50 to 58
- 8 Links and URLs in HTML pages 59 to 67
- 9 Tables in HTML pages 68 to 77
- 10 Images on a Web Page and Image Formats pages 78 to 87
- 11 Image Maps pages 88 to 96
- 12 Colors: Names, Hexadecimal, RGB and HSL pages 97 to 107
- 13 Navigation Across Multiple Pages pages 108 to 115
- 14 Forms in HTML: the Form Element, Labels, Text Boxes and Buttons pages 116 to 125
- 15 Forms in HTML: Check Boxes, Radio Buttons, Lists and Text Areas pages 126 to 135
- 16 Interactive Elements: details, summary and dialog pages 136 to 145
- 17 Working with Multimedia: Audio and Video File Formats pages 146 to 154
- 18 Inserting Audio and Video on a Web Page pages 155 to 164
- 19 Valid, Well-Formed and Meaningful Pages pages 165 to 174
- 20 CSS from Zero: Understanding the Syntax of CSS pages 175 to 183
- 21 CSS Selectors pages 184 to 195
- 22 Inserting CSS in an HTML Document: Inline, Internal and External pages 196 to 203
- 23 CSS Properties for the Background of a Page pages 204 to 213
- 24 CSS Properties for Fonts and Text Styles pages 214 to 222
- 25 CSS Properties for Positioning an Element pages 223 to 235
- 26 Devices, Viewports and Browsers: One Page on Every Screen pages 236 to 245
- 27 Using JavaScript in an HTML Document pages 246 to 254
- 28 Programming Fundamentals of JavaScript: Statements, Variables and Data Types pages 255 to 266
- 29 JavaScript Operators pages 267 to 281
- 30 Control Flow Statements: if, switch and the Loops pages 282 to 294
- 31 Popup Boxes: alert, confirm and prompt pages 295 to 302
- 32 Functions: Defining and Invoking, Arguments and the return Statement pages 303 to 314
- 33 Calling Functions with a Timer: setTimeout and setInterval pages 315 to 324
- 34 The String Object pages 325 to 335
- 35 The RegExp Object pages 336 to 345
- 36 The Math Object pages 346 to 356
- 37 The Date Object pages 357 to 366
- 38 The Window Object pages 367 to 376
- 39 The Navigator Object pages 377 to 383
- 40 The History and Location Objects pages 384 to 394
- 41 The Document Object pages 395 to 403
- 42 Cookies in JavaScript pages 404 to 412
- 43 The Document Object Model: Finding, Changing and Adding Elements pages 413 to 423
- 44 Form Validation Using JavaScript pages 424 to 434
Module II XML, AJAX and PHP 33 chapters
- 45 XML from Zero: Comparing XML with HTML, and Its Advantages and Disadvantages pages 435 to 442
- 46 Structure of an XML Document: Prolog, Root, Elements and Attributes pages 443 to 451
- 47 XML Entity References pages 452 to 460
- 48 XML with an Internal DTD pages 461 to 471
- 49 XML with an External DTD pages 472 to 479
- 50 XSLT Elements and Attributes: template, value-of, for-each and sort pages 480 to 490
- 51 XSLT Elements and Attributes: if, choose, attribute and element pages 491 to 503
- 52 Designing Your Own Markup Language: Data-Centric and Document-Centric XML pages 504 to 515
- 53 AJAX from Zero: the AJAX Web Application Model and How AJAX Works pages 516 to 525
- 54 The XMLHttpRequest Object: Properties and Methods pages 526 to 536
- 55 Handling Asynchronous Requests with AJAX: Mouseover and Button Click pages 537 to 545
- 56 PHP from Zero: How a PHP Page Runs pages 546 to 552
- 57 PHP Variables and Data Types pages 553 to 560
- 58 PHP Operators pages 561 to 568
- 59 Retrieving Data from HTML Forms: GET and POST pages 569 to 576
- 60 Retrieving Check Boxes, Radio Buttons and Lists in PHP pages 577 to 584
- 61 Program Flow in PHP: if, elseif, switch and match pages 585 to 592
- 62 Program Flow in PHP: while, do-while, for and foreach pages 593 to 600
- 63 Program Flow in PHP: Functions, include and require pages 601 to 607
- 64 PHP Arrays: Indexed, Associative and Multidimensional pages 608 to 613
- 65 PHP Array Functions: Sort, Search and More pages 614 to 619
- 66 Working with Files in PHP: Open, Read, Write and Append pages 620 to 626
- 67 Working with Directories in PHP pages 627 to 631
- 68 MySQL from Zero: Databases, Tables and SQL pages 632 to 637
- 69 Connecting PHP to MySQL with mysqli pages 638 to 643
- 70 Inserting Rows from a Form with Prepared Statements pages 644 to 651
- 71 Showing and Searching Rows in an HTML Table pages 652 to 657
- 72 Updating and Deleting Rows from PHP pages 658 to 664
- 73 AJAX with PHP and MySQL: Results as You Type pages 665 to 670
- 74 Working with Cookies in PHP pages 671 to 676
- 75 Sessions in PHP pages 677 to 682
- 76 A Database Driven Website: Registration, Login and Logout pages 683 to 688
- 77 Headers in PHP: Redirects, Content Types and Headers Already Sent pages 689 to 693
Module J The journal, the practical examination and the viva 5 chapters
- 78 The Journal: What Each Practical Write-Up Holds pages 694 to 697
- 79 Module 1 Practical Questions, Worked pages 698 to 703
- 80 Module 2 Practical Questions, Worked pages 704 to 709
- 81 The Viva: Questions and Answers pages 710 to 725
- 82 When It Does Not Work: the Errors You Will Meet pages 726 to 735
-
Advanced Python Programming
Official Notes munotes.in
Advanced Python Programming
B.SC. (COMPUTER SCIENCE) · SEMESTER 2
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
munotes.in First Year
Advanced Python Programming
Copyright © 2026 munotes.in. All rights reserved.
Written and first published by munotes.in, 2026.
This book is for individual students to read at munotes.in. No part of it may be reproduced, distributed, stored, translated or used for institutional or classroom purposes in any form without a prior written licence from munotes.in.
Licensing and permissions: contact@munotes.in
The text of statutes and of judgments reproduced in this book is in the public domain under section 52(1)(q) of the Copyright Act 1957. The commentary, arrangement, examples and questions are the original work of munotes.in.
munotes.in is an independent study resource for MU students. It is not affiliated with, endorsed by, or officially connected to the University of Mumbai. Course names and university references describe the students and syllabus the material relates to.
Contents
Module I OOP in Python, classes and objects, inheritance and polymorphism, abstract classes and interfaces, and threads
- How This Practical Is Examined: the Journal, the Slip and the Viva 1
- Introduction to OOPs: Objects and Classes 4
- Problems in the Procedure Oriented Approach 8
- Features of the Object Oriented Programming System (OOPS) 12
- Constructors and Destructors 16
- Classes and Objects: Creating a Class 20
- The Self Variable 24
- Types of Variables: Instance Variables and Class Variables 27
- Types of Methods: Instance Methods, Class Methods and Static Methods 32
- Passing Members of One Class to Another Class 37
- Inheritance: Building a Class on Another 42
- Types of Inheritance 47
- Constructors in Inheritance 52
- Overriding Super Class Constructors and Methods 56
- The super() Method 60
- Polymorphism 64
- Duck Typing 68
- Operator Overloading 72
- Method Overloading 77
Contents continued
Module I continued OOP in Python, classes and objects, inheritance and polymorphism, abstract classes and interfaces, and threads
- Method Overriding 82
- Abstract Classes and Abstract Methods 86
- Interfaces in Python 90
- Single Tasking and Multitasking: Processes and Threads 94
- Creating Threads in Python 99
- Thread Synchronisation: Locks and Semaphores 107
- Communication Between Threads: Condition, Event and Queue 115
- Deadlock in Threads 122
- Decorators 128
- Generators 135
- Metaclasses 142
- Asynchronous Programming: async, await and asyncio 148
Module II Working with databases, exceptions, networking, the graphical user interface and data science tools
- Working with Databases: DBMS and MySQL 154
- Retrieving Rows from a MySQL Table 162
- Inserting Rows into a MySQL Table 169
- Deleting Rows from a MySQL Table 176
- Updating Rows in a MySQL Table 181
- Creating Database Tables through Python 187
Contents continued
Module II continued Working with databases, exceptions, networking, the graphical user interface and data science tools
- Errors in a Python Program 193
- Exceptions and Exception Handling 199
- User Defined Exceptions 208
- Logging Exceptions 213
- Networking: the TCP/IP Protocol Architecture 220
- User Datagram Protocol (UDP) 228
- FTP Architecture 234
- Web Page Operations 243
- Sending a Simple Mail 250
- Creating a GUI in Python: tkinter and the Root Window 257
- Widget Classes: Label, Button, Entry and Text 263
- Widget Classes: Check Buttons, Radio Buttons, List Boxes and More 269
- Layout Managers: pack, grid and place 276
- Event Handling 283
- Data Science Tools: Introduction to NumPy 290
- Matplotlib: Drawing Charts from Data 297
- pandas: Series and DataFrames 304
- pandas: Reading, Cleaning and Grouping Data 312
- SciPy: Scientific Computing with Python 319
Contents continued
Module J The journal, the practical examination and the viva
- The Certified Journal: What Goes in It 327
- The Viva: Questions and Answers 333
- Practice Questions for Q.1: Module 1 346
- Practice Questions for Q.2: Module 2 355
Page 1 onwards
365 pages in this book. The cover and the contents are above. Everything from page one is in the pass.
- Notes
- 2026 Edition, as per the latest syllabus. 365 pages.
- Papers
- Previous year question paper solutions. Revised edition 2026. 2022, 2023, 2024
Every chapter in the notes: 60 chapters across 3 modules
Module I OOP in Python, classes and objects, inheritance and polymorphism, abstract classes and interfaces, and threads 31 chapters
- 1 How This Practical Is Examined: the Journal, the Slip and the Viva pages 1 to 3
- 2 Introduction to OOPs: Objects and Classes pages 4 to 7
- 3 Problems in the Procedure Oriented Approach pages 8 to 11
- 4 Features of the Object Oriented Programming System (OOPS) pages 12 to 15
- 5 Constructors and Destructors pages 16 to 19
- 6 Classes and Objects: Creating a Class pages 20 to 23
- 7 The Self Variable pages 24 to 26
- 8 Types of Variables: Instance Variables and Class Variables pages 27 to 31
- 9 Types of Methods: Instance Methods, Class Methods and Static Methods pages 32 to 36
- 10 Passing Members of One Class to Another Class pages 37 to 41
- 11 Inheritance: Building a Class on Another pages 42 to 46
- 12 Types of Inheritance pages 47 to 51
- 13 Constructors in Inheritance pages 52 to 55
- 14 Overriding Super Class Constructors and Methods pages 56 to 59
- 15 The super() Method pages 60 to 63
- 16 Polymorphism pages 64 to 67
- 17 Duck Typing pages 68 to 71
- 18 Operator Overloading pages 72 to 76
- 19 Method Overloading pages 77 to 81
- 20 Method Overriding pages 82 to 85
- 21 Abstract Classes and Abstract Methods pages 86 to 89
- 22 Interfaces in Python pages 90 to 93
- 23 Single Tasking and Multitasking: Processes and Threads pages 94 to 98
- 24 Creating Threads in Python pages 99 to 106
- 25 Thread Synchronisation: Locks and Semaphores pages 107 to 114
- 26 Communication Between Threads: Condition, Event and Queue pages 115 to 121
- 27 Deadlock in Threads pages 122 to 127
- 28 Decorators pages 128 to 134
- 29 Generators pages 135 to 141
- 30 Metaclasses pages 142 to 147
- 31 Asynchronous Programming: async, await and asyncio pages 148 to 153
Module II Working with databases, exceptions, networking, the graphical user interface and data science tools 25 chapters
- 32 Working with Databases: DBMS and MySQL pages 154 to 161
- 33 Retrieving Rows from a MySQL Table pages 162 to 168
- 34 Inserting Rows into a MySQL Table pages 169 to 175
- 35 Deleting Rows from a MySQL Table pages 176 to 180
- 36 Updating Rows in a MySQL Table pages 181 to 186
- 37 Creating Database Tables through Python pages 187 to 192
- 38 Errors in a Python Program pages 193 to 198
- 39 Exceptions and Exception Handling pages 199 to 207
- 40 User Defined Exceptions pages 208 to 212
- 41 Logging Exceptions pages 213 to 219
- 42 Networking: the TCP/IP Protocol Architecture pages 220 to 227
- 43 User Datagram Protocol (UDP) pages 228 to 233
- 44 FTP Architecture pages 234 to 242
- 45 Web Page Operations pages 243 to 249
- 46 Sending a Simple Mail pages 250 to 256
- 47 Creating a GUI in Python: tkinter and the Root Window pages 257 to 262
- 48 Widget Classes: Label, Button, Entry and Text pages 263 to 268
- 49 Widget Classes: Check Buttons, Radio Buttons, List Boxes and More pages 269 to 275
- 50 Layout Managers: pack, grid and place pages 276 to 282
- 51 Event Handling pages 283 to 289
- 52 Data Science Tools: Introduction to NumPy pages 290 to 296
- 53 Matplotlib: Drawing Charts from Data pages 297 to 303
- 54 pandas: Series and DataFrames pages 304 to 311
- 55 pandas: Reading, Cleaning and Grouping Data pages 312 to 318
- 56 SciPy: Scientific Computing with Python pages 319 to 326
Module J The journal, the practical examination and the viva 4 chapters
- 57 The Certified Journal: What Goes in It pages 327 to 332
- 58 The Viva: Questions and Answers pages 333 to 345
- 59 Practice Questions for Q.1: Module 1 pages 346 to 354
- 60 Practice Questions for Q.2: Module 2 pages 355 to 365
Every paper that is solved: 4 papers
- Apr 2024
- 2022-23
- Oct 2023
- May 2022
-
Introduction to OOP using C++
Official Notes munotes.in
Introduction to OOP using C++
B.SC. (COMPUTER SCIENCE) · SEMESTER 2
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
munotes.in First Year
Introduction to OOP using C++
Copyright © 2026 munotes.in. All rights reserved.
Written and first published by munotes.in, 2026.
This book is for individual students to read at munotes.in. No part of it may be reproduced, distributed, stored, translated or used for institutional or classroom purposes in any form without a prior written licence from munotes.in.
Licensing and permissions: contact@munotes.in
The text of statutes and of judgments reproduced in this book is in the public domain under section 52(1)(q) of the Copyright Act 1957. The commentary, arrangement, examples and questions are the original work of munotes.in.
munotes.in is an independent study resource for MU students. It is not affiliated with, endorsed by, or officially connected to the University of Mumbai. Course names and university references describe the students and syllabus the material relates to.
Contents
Module I OOP concepts, C++ basics, UML, classes, constructors and destructors, and working with objects
- The Object Oriented Paradigm and the Basic Concepts of OOP 1
- Benefits of OOP, Object Oriented Languages and Applications of OOP 8
- Tokens in C++: Keywords, Identifiers and Constants 15
- Features of C++, the Structure of a C++ Program, and Compiling and Running It 22
- Basic Data Types, Variables, the Rules for Naming Them, and Constants 29
- Type Casting: the Cast Operator, and Implicit and Explicit Conversion 37
- Input and Output with cin and cout 44
- Operators and Their Precedence 51
- Decision Making: if, if...else and switch 59
- Loops: while, do...while and for 66
- Arrays and Strings, and String Manipulation 73
- UML and the Class Diagram 80
- Classes and Objects: Data Members, Member Functions and the Dot Operator 88
- Defining Member Functions outside the Class, and Inline Functions 95
- Abstraction and Encapsulation in a Class 102
- Passing Data to Functions: by Value, by Reference, and Objects as Arguments 109
Contents continued
Module I continued OOP concepts, C++ basics, UML, classes, constructors and destructors, and working with objects
- Scope and Visibility of Variables, and the Scope Resolution Operator 116
- Constructors: the Default Constructor and the Parameterized Constructor 123
- The Copy Constructor and the Private Constructor 130
- Destructors 137
- Accessor and Mutator Methods 144
- Static Data Members and Static Member Functions 151
- Access Specifiers: private, public and protected 157
- Arrays of Objects, and Arrays inside a Class 164
Module II Polymorphism, relationships, inheritance, pointers, file handling and real life applications
- Compile Time Polymorphism: Static Binding, Function Overloading and Constructor Overloading 171
- Operator Overloading: Unary Operators 177
- Operator Overloading: Binary Operators 184
- Association, Aggregation and Composition in Class Diagrams 193
- Inheritance: a Base Class and Its Derived Class 200
- Types of Inheritance: Single, Multiple, Hierarchical, Multilevel and Hybrid 207
- Friend Functions and Friend Classes 215
- Constructors in Derived Classes 222
Contents continued
Module II continued Polymorphism, relationships, inheritance, pointers, file handling and real life applications
- Generalization and Specialization 228
- Run Time Polymorphism: Dynamic Binding and Function Overriding 235
- Virtual Functions and Pure Virtual Functions 242
- The Virtual Base Class 250
- Abstract Classes 257
- Pointers: the * and & Operators 264
- Pointers to Objects and the this Pointer 272
- Pointers to Derived Classes 278
- Dynamic Memory: new and delete in a Class 285
- File Stream Classes, Opening and Closing a File, and File Opening Modes 292
- Text File Handling 300
- Binary File Handling 307
- A Case Study: Library Management 315
- A Case Study: Order Management 323
Page 1 onwards
330 pages in this book. The cover and the contents are above. Everything from page one is in the pass.
- Notes
- 2026 Edition, as per the latest syllabus. 330 pages.
- Papers
- Previous year question paper solutions. Revised edition 2026. 2023, 2024, 2025, 2026
Every chapter in the notes: 46 chapters across 2 modules
Module I OOP concepts, C++ basics, UML, classes, constructors and destructors, and working with objects 24 chapters
- 1 The Object Oriented Paradigm and the Basic Concepts of OOP pages 1 to 7
- 2 Benefits of OOP, Object Oriented Languages and Applications of OOP pages 8 to 14
- 3 Tokens in C++: Keywords, Identifiers and Constants pages 15 to 21
- 4 Features of C++, the Structure of a C++ Program, and Compiling and Running It pages 22 to 28
- 5 Basic Data Types, Variables, the Rules for Naming Them, and Constants pages 29 to 36
- 6 Type Casting: the Cast Operator, and Implicit and Explicit Conversion pages 37 to 43
- 7 Input and Output with cin and cout pages 44 to 50
- 8 Operators and Their Precedence pages 51 to 58
- 9 Decision Making: if, if...else and switch pages 59 to 65
- 10 Loops: while, do...while and for pages 66 to 72
- 11 Arrays and Strings, and String Manipulation pages 73 to 79
- 12 UML and the Class Diagram pages 80 to 87
- 13 Classes and Objects: Data Members, Member Functions and the Dot Operator pages 88 to 94
- 14 Defining Member Functions outside the Class, and Inline Functions pages 95 to 101
- 15 Abstraction and Encapsulation in a Class pages 102 to 108
- 16 Passing Data to Functions: by Value, by Reference, and Objects as Arguments pages 109 to 115
- 17 Scope and Visibility of Variables, and the Scope Resolution Operator pages 116 to 122
- 18 Constructors: the Default Constructor and the Parameterized Constructor pages 123 to 129
- 19 The Copy Constructor and the Private Constructor pages 130 to 136
- 20 Destructors pages 137 to 143
- 21 Accessor and Mutator Methods pages 144 to 150
- 22 Static Data Members and Static Member Functions pages 151 to 156
- 23 Access Specifiers: private, public and protected pages 157 to 163
- 24 Arrays of Objects, and Arrays inside a Class pages 164 to 170
Module II Polymorphism, relationships, inheritance, pointers, file handling and real life applications 22 chapters
- 25 Compile Time Polymorphism: Static Binding, Function Overloading and Constructor Overloading pages 171 to 176
- 26 Operator Overloading: Unary Operators pages 177 to 183
- 27 Operator Overloading: Binary Operators pages 184 to 192
- 28 Association, Aggregation and Composition in Class Diagrams pages 193 to 199
- 29 Inheritance: a Base Class and Its Derived Class pages 200 to 206
- 30 Types of Inheritance: Single, Multiple, Hierarchical, Multilevel and Hybrid pages 207 to 214
- 31 Friend Functions and Friend Classes pages 215 to 221
- 32 Constructors in Derived Classes pages 222 to 227
- 33 Generalization and Specialization pages 228 to 234
- 34 Run Time Polymorphism: Dynamic Binding and Function Overriding pages 235 to 241
- 35 Virtual Functions and Pure Virtual Functions pages 242 to 249
- 36 The Virtual Base Class pages 250 to 256
- 37 Abstract Classes pages 257 to 263
- 38 Pointers: the * and & Operators pages 264 to 271
- 39 Pointers to Objects and the this Pointer pages 272 to 277
- 40 Pointers to Derived Classes pages 278 to 284
- 41 Dynamic Memory: new and delete in a Class pages 285 to 291
- 42 File Stream Classes, Opening and Closing a File, and File Opening Modes pages 292 to 299
- 43 Text File Handling pages 300 to 306
- 44 Binary File Handling pages 307 to 314
- 45 A Case Study: Library Management pages 315 to 322
- 46 A Case Study: Order Management pages 323 to 330
Every paper that is solved: 5 papers
- Mar 2026
- Apr 2025
- Mar 2025
- Apr 2024
- 2022-23
-
Computer Science Practical 2
Official Notes munotes.in
Computer Science Practical 2
B.SC. (COMPUTER SCIENCE) · SEMESTER 2
Strictly as per the University of Mumbai NEP syllabus in force for B.Sc. (Computer Science)
For B.Sc. (Computer Science) students of the University of Mumbai and all its affiliated colleges
munotes.in First Year
Computer Science Practical 2
Copyright © 2026 munotes.in. All rights reserved.
Written and first published by munotes.in, 2026.
This book is for individual students to read at munotes.in. No part of it may be reproduced, distributed, stored, translated or used for institutional or classroom purposes in any form without a prior written licence from munotes.in.
Licensing and permissions: contact@munotes.in
The text of statutes and of judgments reproduced in this book is in the public domain under section 52(1)(q) of the Copyright Act 1957. The commentary, arrangement, examples and questions are the original work of munotes.in.
munotes.in is an independent study resource for MU students. It is not affiliated with, endorsed by, or officially connected to the University of Mumbai. Course names and university references describe the students and syllabus the material relates to.
Contents
Module I Design and Analysis of Algorithms practicals: arrays, stacks, searching, sorting, pattern matching, recursion, greedy, divide and conquer, and dynamic programming
- How This Practical Is Examined: Twenty Exercises, the Journal and the Viva 1
- The Python Laboratory from Zero: Running a Program, Saving Its Output and Counting Its Steps 8
- Practical 1: Programs for One-Dimensional Arrays 16
- Practical 1 continued: Programs for Two-Dimensional Arrays 28
- Practical 2: A List-Based Stack and Its Operations 40
- Practical 3: Linear Search and Binary Search on a List 49
- Practical 4: Bubble Sort and Selection Sort 61
- Practical 4 continued: Insertion Sort, and the Three Sorts Compared 71
- Practical 5: the Nth Maximum and Nth Minimum Element of a List 79
- Practical 6: Finding a Pattern in a String by Brute Force 88
- Practical 6 continued: Faster Pattern Matching with Rabin-Karp and Knuth-Morris-Pratt 95
- Practical 7: Recursive Factorial, Fibonacci and the Tower of Hanoi 105
- Practical 8: the File Merging Problem by the Greedy Method 113
- Practical 8 continued: Coin Change by the Greedy Method 120
- Practical 9: Merge Sort by Divide and Conquer 127
- Practical 9 continued: Strassen's Matrix Multiplication 134
- Practical 10: the Fibonacci Series by Dynamic Programming 142
Contents continued
Module I continued Design and Analysis of Algorithms practicals: arrays, stacks, searching, sorting, pattern matching, recursion, greedy, divide and conquer, and dynamic programming
- Practical 10 continued: the Longest Common Subsequence 148
Module II OOPs using C++ practicals: classes, scope resolution, constructors and destructors, access specifiers, inheritance, overloading and overriding, pointers and files
- C++ from Zero: Installing g++, Compiling and Running Your First Program 156
- Practical 11: a Simple Class, Its Objects, Data Members and Member Functions 165
- Practical 12: Branching and Looping inside Class Methods 173
- Practical 13: One and Two-Dimensional Arrays in a Class 182
- Practical 14: the Scope Resolution Operator and Variables at Different Scopes 193
- Practical 15: Default, Parameterized and Copy Constructors, and Destructors 200
- Practical 16: Public, Protected and Private Access Specifiers 208
- Practical 17: Single and Multilevel Inheritance 215
- Practical 17 continued: Multiple and Hierarchical Inheritance 222
- Practical 17 continued: Constructors in Derived Classes and the Order They Run In 228
- Practical 18: Friend Functions, Inline Functions and the this Pointer 234
- Practical 19: Function Overloading and Function Overriding 241
- Operator Overloading for a Class of Your Own 248
Contents continued
Module II continued OOPs using C++ practicals: classes, scope resolution, constructors and destructors, access specifiers, inheritance, overloading and overriding, pointers and files
- Practical 20: Pointers in a Class, and Dynamic Memory with new and delete 258
- Practical 20 continued: Text and Binary File Handling in a Class 268
- Sitting the Practical Examination: Q. 1, Q. 2 and the Viva 278
Page 1 onwards
286 pages in this book. The cover and the contents are above. Everything from page one is in the pass.
- Notes
- 2026 Edition, as per the latest syllabus. 286 pages.
Every chapter in the notes: 34 chapters across 2 modules
Module I Design and Analysis of Algorithms practicals: arrays, stacks, searching, sorting, pattern matching, recursion, greedy, divide and conquer, and dynamic programming 18 chapters
- 1 How This Practical Is Examined: Twenty Exercises, the Journal and the Viva pages 1 to 7
- 2 The Python Laboratory from Zero: Running a Program, Saving Its Output and Counting Its Steps pages 8 to 15
- 3 Practical 1: Programs for One-Dimensional Arrays pages 16 to 27
- 4 Practical 1 continued: Programs for Two-Dimensional Arrays pages 28 to 39
- 5 Practical 2: A List-Based Stack and Its Operations pages 40 to 48
- 6 Practical 3: Linear Search and Binary Search on a List pages 49 to 60
- 7 Practical 4: Bubble Sort and Selection Sort pages 61 to 70
- 8 Practical 4 continued: Insertion Sort, and the Three Sorts Compared pages 71 to 78
- 9 Practical 5: the Nth Maximum and Nth Minimum Element of a List pages 79 to 87
- 10 Practical 6: Finding a Pattern in a String by Brute Force pages 88 to 94
- 11 Practical 6 continued: Faster Pattern Matching with Rabin-Karp and Knuth-Morris-Pratt pages 95 to 104
- 12 Practical 7: Recursive Factorial, Fibonacci and the Tower of Hanoi pages 105 to 112
- 13 Practical 8: the File Merging Problem by the Greedy Method pages 113 to 119
- 14 Practical 8 continued: Coin Change by the Greedy Method pages 120 to 126
- 15 Practical 9: Merge Sort by Divide and Conquer pages 127 to 133
- 16 Practical 9 continued: Strassen's Matrix Multiplication pages 134 to 141
- 17 Practical 10: the Fibonacci Series by Dynamic Programming pages 142 to 147
- 18 Practical 10 continued: the Longest Common Subsequence pages 148 to 155
Module II OOPs using C++ practicals: classes, scope resolution, constructors and destructors, access specifiers, inheritance, overloading and overriding, pointers and files 16 chapters
- 19 C++ from Zero: Installing g++, Compiling and Running Your First Program pages 156 to 164
- 20 Practical 11: a Simple Class, Its Objects, Data Members and Member Functions pages 165 to 172
- 21 Practical 12: Branching and Looping inside Class Methods pages 173 to 181
- 22 Practical 13: One and Two-Dimensional Arrays in a Class pages 182 to 192
- 23 Practical 14: the Scope Resolution Operator and Variables at Different Scopes pages 193 to 199
- 24 Practical 15: Default, Parameterized and Copy Constructors, and Destructors pages 200 to 207
- 25 Practical 16: Public, Protected and Private Access Specifiers pages 208 to 214
- 26 Practical 17: Single and Multilevel Inheritance pages 215 to 221
- 27 Practical 17 continued: Multiple and Hierarchical Inheritance pages 222 to 227
- 28 Practical 17 continued: Constructors in Derived Classes and the Order They Run In pages 228 to 233
- 29 Practical 18: Friend Functions, Inline Functions and the this Pointer pages 234 to 240
- 30 Practical 19: Function Overloading and Function Overriding pages 241 to 247
- 31 Operator Overloading for a Class of Your Own pages 248 to 257
- 32 Practical 20: Pointers in a Class, and Dynamic Memory with new and delete pages 258 to 267
- 33 Practical 20 continued: Text and Binary File Handling in a Class pages 268 to 277
- 34 Sitting the Practical Examination: Q. 1, Q. 2 and the Viva pages 278 to 286
Questions
Can I download it?
No, and that is deliberate. Everything is read on the site, on any device you sign in on. There is nothing to lose, and nothing to forward.
How long do I keep it?
365 days from the day you pay.
What if the syllabus changes?
Revisions are written into the same subject, and you keep reading the current version for as long as your access runs.
Can I buy one subject instead of the whole semester?
Not yet. It is priced per semester because the solved answers cross-reference modules across all six subjects, and splitting them breaks the links that make the answers useful.
Is this enough to pass?
It covers the prescribed syllabus and every question the papers listed on this page asked. It is not a substitute for your lectures or your textbooks, and we would not claim otherwise.
Can I get a refund?
Once a semester is unlocked it stays unlocked, and there is no way to hand back reading you have already done. That is why this page shows you so much before you pay: the cover of every subject, every chapter in it by name, and the page each one starts on. Read that first and buy only if it is the book you want. If something genuinely went wrong, being charged twice or paying and having nothing unlock, write to us and we refund it: the cancellation and refund policy sets out which cases those are.
Does it renew automatically?
No. It is one payment for one semester. Nothing is charged again unless you choose to buy another semester yourself.
Where our readers study
Students from 173 colleges affiliated to the University of Mumbai read munotes. Here are some of them.