Thursday, April 30, 2020

cbcs assignment 26 java


26. Write a program to get the URL/location of code (i.e. java code) and document(i.e. html file).



Programming Fundamentals using C/C++

1. Introduction to C and C++ (3 Lectures)

History of C and C++,
 Overview of Procedural Programming and Object-Orientation Programming, 
Using main() function,
 Compiling and Executing Simple Programs in C++.

2. 
Data Types,
 Variables, 
Constants, 
Operators and Basic I/O (5 Lectures)

Declaring,
 Defining and Initializing Variables, 
Scope of Variables, 
Using Named Constants,
 Keywords, 
Data Types, 
Casting of Data Types, 
Operators (Arithmetic, Logical and Bitwise),
 Using Comments in programs,
 Character I/O (getc, getchar, putc, putcharetc), 
Formatted and Console I/O (printf(), scanf(), cin, cout), 
Using Basic Header Files (stdio.h, iostream.h, conio.hetc).


3. Expressions, Conditional Statements
 and Iterative Statements (5 Lectures)
Simple Expressions in C++ (including Unary Operator Expressions, Binary Operator Expressions), 

Understanding Operators Precedence in Expressions, 
Conditional Statements (if construct, switch-case construct), 
Understanding syntax and utility of Iterative Statements (while, do-while, and for loops), 
Use of break and continue in Loops,
 Using Nested Statements (Conditional as well as Iterative)


4. Functions and Arrays (10 Lectures)
Utility of functions,
 Call by Value,
 Call by Reference, 
Functions returning value, 
Void functions, Inline Functions,
 Return data type of functions, 
Functions parameters, 
Differentiating between Declaration and Definition of Functions, 
Command Line Arguments/Parameters in Functions, 
Functions with variable number of Arguments.
 Creating and Using One Dimensional Arrays
 ( Declaring and Defining an Array, Initializing an Array, Accessing individual elements in an Array, Manipulating array elements using loops),

 Use Various types of arrays (integer, float and character arrays / Strings) 

Two-dimensional Arrays (Declaring, Defining and Initializing Two Dimensional Array, Working with Rows and Columns),
 Introduction to Multi-dimensional arrays

5. Derived Data Types (Structures and Unions) (3 Lectures)
Understanding utility of structures and unions, 
Declaring, initializing and using simple structures and unions, 
Manipulating individual members of structures and unions, 
Array of Structures, Individual data members as structures, 
Passing and returning structures from functions, 
Structure with union as members,
Union with structures as members.

6. Pointers and References in C++ (7 Lectures)

Understanding a Pointer Variable,
 Simple use of Pointers (Declaring and Dereferencing Pointers to simple variables), 
Pointers to Pointers,
 Pointers to structures, 
Problems with Pointers, 
Passing pointers as function arguments, 
Returning a pointer from a function, 
using arrays as pointers, 
Passing arrays to functions.
 Pointers vs. References, 
Declaring and initializing references, 
Using references as function arguments 
and function return values


7. Memory Allocation in C++ (3 Lectures)

Differentiating between static and dynamic memory allocation, 
use of malloc,
 calloc and free functions, 
use of new and delete operators, 
storage of variables in static and dynamic memory allocation

8. File I/O, Preprocessor Directives (4 Lectures)
Opening and closing a file (use of fstream header file, ifstream, ofstream and fstream classes),

 Reading and writing Text Files, 
Using put(), get(), read() and write() functions, 
Random access in files, 
Understanding the Preprocessor Directives
 (#include, #define, #error, #if, #else, #elif, #endif, #ifdef, #ifndef and #undef), 
Macros

9. Using Classes in C++ (7 Lectures)
Principles of Object-Oriented Programming,
 Defining & Using Classes,
 Class Constructors,
 Constructor Overloading,
 Function overloading in classes,
 Class Variables &Functions,
 Objects as parameters,
 Specifying the Protected and Private Access,
 Copy Constructors, 
Overview of Template classes and their use.

10. Overview of Function Overloading and Operator Overloading (5 Lectures)

Need of Overloading functions and operators, 
Overloading functions by number and type of arguments,
 Looking at an operator as a function call, 
Overloading Operators (including assignment operators, unary operators)

11. Inheritance, Polymorphism and Exception Handling (8 Lectures)

Introduction to Inheritance (Multi-Level Inheritance, Multiple Inheritance), 

Polymorphism (Virtual Functions, Pure Virtual Functions),

 Basics Exceptional Handling (using catch and throw, multiple catch statements),
 Catching all exceptions, 
Restricting exceptions, 
Rethrowing exceptions.

Computer System Architecture

1. Introduction (8 lectures) Logic gates, boolean algebra, combinational circuits, circuit simplification, flip-flops and sequential circuits, decoders, multiplexers, registers, counters and memory units.
2. Data Representation and Basic Computer Arithmetic (10 lectures) Number systems, complements, fixed and floating point representation, character representation, addition, subtraction, magnitude comparison, multiplication and division algorithms for integers
3. Basic Computer Organization and Design (13 lectures) Computer registers, bus system, instruction set, timing and control, instruction cycle, memory reference, input -output and interrupt, Interconnection Structures, Bus Interconnection design of basic computer.
4. Central Processing Unit (15 lectures) Register organization, arithmetic and logical micro-operations, stack organization, micro programmed control. Instruction formats, addressing modes, instruction codes, machine language, assembly language, input output programming, RISC, CISC architectures, pipelining and parallel architecture.
5. Memory Organization
(6 lectures)
Cache memory, Associative memory, mapping.
6. Input-Output Organization (8 lectures)
Input / Output: External Devices, I/O Modules, Programmed I/O, Interrupt-Driven I/O, Direct Memory Access, I/O Channels.

Programming in Java

CMSACOR03T: Programming in Java Theory: 60 Lectures

1. Introduction to Java (4 Lectures) 
Java Architecture and Features, 
Understanding the semantic and syntax 
differences between C++ and Java,
 Compiling and Executing a Java Program, 
Variables, Constants, Keywords Data Types, 
Operators (Arithmetic, Logical and Bitwise) and Expressions, 
Comments, 
Doing Basic Program Output, 
Decision Making Constructs (conditional statements and loops) and Nesting, 
Java Methods (Defining, Scope, Passing and Returning Arguments, Type Conversion and Type and Checking, Built-in Java Class Methods),

2. Arrays, Strings and I/O (8 Lectures) 
Creating & Using Arrays (One Dimension and Multi-dimensional), 
Referencing Arrays Dynamically, 
Java Strings: 
The Java String class, 
Creating & Using String Objects,
Manipulating Strings, 
String Immutability & Equality,
 Passing Strings To & From Methods, 
String Buffer Classes. 
Simple I/O using System.out and the Scanner class, 
Byte and Character streams, 
Reading/Writing from console and files.

3. Object-Oriented Programming Overview (4 Lectures)
Principles of Object-Oriented Programming, Defining & Using Classes,
 Controlling Access to Class Members, 
Class Constructors, Method Overloading, 
Class Variables & Methods, 
Objects as parameters, 
final classes, 
Object class, 
Garbage Collection.

 4. Inheritance, Interfaces, Packages, Enumerations, Autoboxing and Metadata (14 lectures)
Inheritance: (Single Level and Multilevel, Method Overriding, 
Dynamic Method Dispatch, Abstract Classes), 
Interfaces and Packages, Extending interfaces and packages, 
Package and Class Visibility, Using Standard Java Packages (util, lang, io, net), 
Wrapper Classes, Autoboxing/Unboxing, 
Enumerations and Metadata.


5. Exception Handling, Threading, Networking and Database Connectivity (15 Lectures)

Exception types, uncaught exceptions, throw, built-in exceptions, Creating your own exceptions;
 Multi-threading: The Thread class and Runnable interface, creating single and multiple threads, 
Thread prioritization, synchronization and communication, suspending/resuming threads. 
Using java.net package, 
Overview of TCP/IP and Datagram programming. 
Accessing and manipulating databases using JDBC.

6. Applets and Event Handling (15 Lectures) 
Java Applets:Introduction to Applets, 
Writing Java Applets, 
Working with Graphics, 
Incorporating Images & Sounds. 
Event Handling Mechanisms,
Listener Interfaces, Adapter and Inner Classes. 
The design and Implementation of GUIs using the AWT controls,
 Swing components of Java Foundation Classes such as labels, buttons, textfields, layout managers, menus, events and listeners; 
Graphic objects for drawing figures such as lines, rectangles, ovals, using different fonts. 
Overview of servlets.

Discrete Structures

CMSACOR04T: Discrete Structures Theory: 75 Lectures AdditionalTutorial: 15 Lectures

1. Introduction: (20 Lectures) 
Sets - finite and Infinite sets, uncountably Infinite Sets;
 functions,relations, Properties of Binary Relations, Closure, Partial Ordering Relations;
 counting - Pigeonhole Principle, Permutation andCombination; 
Mathematical Induction, Principle of Inclusion and Exclusion.


2. Growth of Functions: (10 Lectures) Asymptotic Notations, 
Summation formulas and properties, 
Bounding Summations, 
approximation by Integrals

3. Recurrences: (12 Lectures) 
Recurrence Relations, generating functions, 
Linear RecurrenceRelations with constant coefficients and their solution, 
Substitution Method, Recurrence Trees, 
Master Theorem

4. Graph Theory (18 Lectures) 
Basic Terminology, Models and Types, 
multigraphs and weighted graphs,
 Graph Representation, Graph Isomorphism,
 Connectivity, 
Euler and Hamiltonian Paths and Circuits, 
Planar Graphs, Graph Coloring, 
Trees, Basic Terminology and properties of Trees, 
Introduction to Spanning Trees

5. Prepositional Logic (15 Lectures) 
Logical Connectives, Well-formed Formulas, Tautologies,
 Equivalences, Inference Theory

Data Structures

CMSACOR05T: Data Structures Theory: 60 Lectures 

1. Arrays (5 Lectures):
            Single and Multi-dimensional Arrays, 
            Sparse Matrices (Array and Linked Representation) 

2. Stacks (5 Lectures):
           Implementing single / multiple stack/s in an Array; 
           Prefix, Infix and Postfix expressions, 
           Utility and conversion of these expressions from one to another;
           Applications of stack; 
           Limitations of Array representation of stack


 3. Linked Lists (10 Lectures) :
          Singly linked list
          Doubly linked list
          Circular Lists (Array and Linked representation);
          Normal and Circular representation of Stack in Lists; 
          Self Organizing Lists; 
          Skip Lists 

4. Queues (5 Lectures) 
          Array and Linked representation of Queue, 
          De-queue, 
          Priority Queues 


5. Recursion (5 lectures):
         Developing Recursive Definition of Simple Problems and their implementation;
         Advantages and Limitations of Recursion; 
        Understanding what goes behind Recursion (Internal Stack Implementation)


6. Trees (20 Lectures):
        Introduction to Tree as a data structure;
        Binary Trees (Insertion, Deletion, Recursive and Iterative Traversals on Binary Search Trees);               Threaded Binary Trees (Insertion, Deletion, Traversals); 
        Height-Balanced Trees (Various operations on AVL Trees). 


7. Searching and Sorting (5 Lectures):

             Linear Search - CLICK HERE
             Binary Search  -  CLICK HERE
             Comparison of Linear and Binary Search
             Selection Sort - CLICK HERE
             Insertion Sort - CLICK HERE
             Shell Sort
             Comparison of Sorting Techniques 

8. Hashing (5 Lectures) Introduction to Hashing, Deleting from Hash Table, Efficiency of Rehash Methods, Hash Table Reordering, Resolving collusion by Open Addressing, Coalesced Hashing, Separate Chaining, Dynamic and Extendible Hashing, Choosing a Hash Function, Perfect Hashing Function

Operating Systems

CMSACOR06T: Operating Systems Theory: 60 Lectures
1. Introduction (10 Lectures)
Basic OS functions, resource abstraction, types of operating systems–multiprogramming systems, batch systems , time sharing systems; operating systems for personal computers & workstations, process control & real time systems. 2. Operating System Organization (6 Lectures) Processor and user modes, kernels, system calls and systemprograms. 3. Process Management ( 20Lectures) System view of the process and resources, process abstraction, processhierarchy, threads, threading issues, thread libraries; Process Scheduling, non-pre-emptive and pre-emptive scheduling algorithms; concurrent and processes, critical section, semaphores, methods for inter-process communication; deadlocks. 4.Memory Management (10 Lectures) Physical and virtual address space; memory allocation strategies -fixedand variable partitions, paging, segmentation, virtual memory 5.File and I/O Management (10 Lectures) Directory structure, file operations, file allocation methods, devicemanagement. 6.Protection and Security (4 Lectures) Policy mechanism, Authentication, Internal access Authorization.

Computer Networks

1. Introduction to Computer Networks (8 Lectures) Network definition; network topologies; network classifications; network protocol; layered network architecture; overview of OSI reference model; overview of TCP/IP protocol suite. 2. Data Communication Fundamentals and Techniques (10 Lectures) Analog and digital signal; data-ratelimits; digital to digital line encoding schemes; pulse code modulation; parallel and serial transmission; digital to analog modulation-; multiplexing techniques- FDM, TDM; transmission media.
3. Networks Switching Techniques and Access mechanisms (10 Lectures) Circuit switching; packet switching- connectionless datagram switching, connection-oriented virtual circuit switching; dial-up modems; digital subscriber line; cable TV for data transfer. 4. Data Link Layer Functions and Protocol (10 Lectures) Error detection and error correction techniques; data-link control- framing and flow control; error recovery protocols- stop and wait ARQ, go-back-n ARQ; Point to Point Protocol on Internet. 5. Multiple Access Protocol and Networks (5 Lectures) CSMA/CD protocols; Ethernet LANS; connecting LAN and back-bone networks- repeaters, hubs, switches, bridges, router and gateways; 6. Networks Layer Functions and Protocols (6 Lectures) Routing; routing algorithms; network layer protocolof Internet- IP protocol, Internet control protocols. 7. Transport Layer Functions and Protocols (6 Lectures) Transport services- error and flow control, Connection establishment and release- three way handshake; 8. Overview of Application layer protocol (5 Lectures) Overview of DNS protocol; overview of WWW &HTTP protocol.

Design and Analysis of Algorithms

CMSACOR08T: Design and Analysis of Algorithms Lab Theory: 60 Lectures 

1. Introduction (5 Lectures) 
Basic Design and Analysis techniques of Algorithms, 
orrectness of Algorithm.

 2. Algorithm Design Techniques (8 Lectures) 
Iterative techniques, 
Divide and Conquer, 
Dynamic Programming, 
Greedy Algorithms. 

3. Sorting and Searching Techniques (20 Lectures) 
Elementary sorting techniques–
Bubble Sort -   CLICK HERE
Insertion Sort -  CLICK HERE 
Merge Sort - CLICK HERE
Advanced Sorting techniques -:
 Heap Sort -  CLICK HERE 
Quick Sort -   CLICK HERE
Sorting in Linear Time -: 
Bucket Sort - 
Radix Sort - CLICK HERE
and Count Sort, 

Searching Techniques:  i) LINEAR_SEARCH -- CLICK
                                      ii)  BINARY_SEARCH --CLICK

Medians & Order Statistics, complexity analysis; 

4. Lower Bounding Techniques (5 Lectures)
 Decision Trees 

5. Balanced Trees (7 Lectures) 
Red-Black Trees  i ) INSERTION
                             
6. Advanced Analysis Technique (5 Lectures) 
Amortized analysis 

7. Graphs (5 Lectures) 
Graph Algorithms–
Breadth First Search - CLICK HERE
Depth First Search -  CLICK HERE
and its Applications, 
Minimum Spanning Trees. -  1. PRIMS - CLICK
                                               2. KRUSKAL - CLICK

 8. String Processing (5Lectures)
 String Matching,
KMP Technique

Software Engineering

1.Introduction (8 Lectures) The Evolving Role of Software, Software Characteristics, Changing Nature of Software, Software Engineering as a Layered Technology, Software Process Framework, Framework and Umbrella Activities, Process Models, Capability Maturity Model Integration (CMMI).
2.Requirement Analysis (10 Lectures) Software Requirement Analysis, Initiating Requirement Engineering Process, Requirement Analysis and Modeling Techniques, Flow Oriented Modeling, Need for SRS, Characteristics and Components of SRS.
3.Software Project Management
(8Lectures) Estimation in Project Planning Process, Project Scheduling.
4.Risk Management
(8 Lectures) Software Risks, Risk Identification, Risk Projection and Risk Refinement, RMMM Plan. 5.Quality Management
(8 Lectures) Quality Concepts, Software Quality Assurance, Software Reviews, Metrics for Process and Projects.
6.Design Engineering
(10 Lectures) Design Concepts, Architectural Design Elements, Software
Architecture, Data Design at the
Architectural Level and Component Level, Mapping of Data Flow into Software Architecture, Modeling Component Level Design. 7.Testing Strategies & Tactics (8 Lectures) Software Testing Fundamentals, Strategic Approachto Software Testing, Test Strategies for Conventional Software, Validation Testing, System testing, Black-Box Testing, White-Box Testing and their type, Basis Path Testing.