Click the text links below to read and download
- Various types of restructuring techniques and how restructuring help in maintaining a program
- Dynamic testing tools and the functions that they must support
- Object Oriented Programming Concepts
- Multiplication Table using Two Dimensional Array in C++
- Routers, Bridges, Repeaters, and Gateways
- Computer Memory
- How to use Java Methods
- Data Structures and Functional Programming Preliminary Exam Solutions
- Network Protocols
- Polymorphism
- Signals and Systems
- Common coupling, Communicational cohesion, Class diagram, Structure chart
- Java AWT Graphics
- Yahtzee Game
- 2-3 Trees Sequence
- Allegro in C++
- Computer Architecture
- Asynchronous Inputs
- Beginner Game Programming With C
- Boolean Search
- Merge Sort Program in Java
- Checker Board in C++
- Chord
- Crossword Puzzle in C++
- Customer Account Program C++
- Database Planning Workbook
- Distributed process management – Distributed deadlock
- Drawing & Animation in JavaScript
- Employee Account C++ Program
- Finite State Machines
- FIR Filters
- Hashing
- Homework help in Java
- Hotel Management System C++
- Hotel reservation database
- How to Create a C++ Graphics Application
- Inference Rules Proof Methods
- Introduction to SQL
- Tic-Tac-Tac Game
- Java 3D
- Kruskal's and Prim's algorithm
- Median for Grouped Data
- Network Design and Implementation
- Network Topologies
- Cyclic Redundancy Check
- Enqueue() and Dequeue() C++ program
- Networking Lab Manual
- Nondeterministic Finite Automata (NFA)
- Nondeterministic finite automaton
- Outlier Concepts and Techniques
- Packet Tracer
- Prime numbers program
- Programming Questions and Answers
- Using the remove item in Java
- The Sleeping-Barber Solution
- What is Allegro
- C++ Graphics
- Optimum location of point to minimize total distance
- DrJava Turtle Graphics
- Cyclomatic complexity in program test, sequence of testing and software testability
- Karger's Algorithm
- TWILKINS
- 4-Gates and Circuits_solved
- Computer Science Theory
- Operating Systems
- Difference between throw-away prototyping and evolutionary prototyping
_________________________________________________________________________
Advantages and disadvantages of Modular Programming
Advantages and disadvantages of Modular Programming
The advantages of using modular programming:
1. Fewer
bug because each set of programming commands is shorter
2. Algorithm
is more easily understood
3. Many
programmers can be employed, one on each of the modules
4. Programmers
can use their expertise on particular techniques
5. Testing
can be more thorough on each of the modules
6. Allows
library programs to be inserted
7. All
of which saves time and means the finished program can be completed more
quickly
The disadvantages of using modular programming:
1. Can
lead to problems with variable names
2. Means
documentation of modules must be thorough
3. Can
lead to problems when modules are linked because link must thoroughly tested
___________________________________________________________________________________
What is a software process? How
do software myths affect a software process?
Software process is a Coherent set of activities for specifying, designing, implementing and testing software systems.
Software myths propagate misinformation and
confusion. Software myths had a no of attributes. For instance, they appeared
to be reasonable statements of fact, they had an intuitive feel, and they were
often promulgated by experienced practitioners who “know the score”.
___________________________________________________________________________________
Advantages of using prototype software development model instead of waterfall model and the effect of defining a prototype on the overall cost of the software project.
1. The waterfall model: This is the classic SDLC model, with a linear and sequential method that has goals for each development phase. The waterfall model simplifies task scheduling, because there are no iterative or overlapping steps. One drawback of the waterfall is that it does not allow for much revision.
2. The prototyping model: In this model, a prototype (an early
approximation of a final system or product) is built, tested, and then reworked
as necessary until an acceptable prototype is finally achieved from which the
complete system or product can now be developed.
___________________________________________________________________________________
Modular system and properties of a modular system
___________________________________________________________________________________
Bottom-Up, Top-Down and Hybrid
Design Concepts
Bottom up design- This approach leads to a style of design where we decide how to combine these modules to provide larger ones; to combine those to provide even larger ones, and so on, till we arrive at one big module which is the whole of the desired program.
___________________________________________________________________________________
Modular system and properties of a modular system
A modular system consists of well defined manageable
units to well defined interfaces among them. Desirable properties are
1. Each
module is a well defined subsystem useful to others.
2. Each
module has a well defined single purpose.
3. Modules
can be separately compiled and stored in library.
4. Modules
can use other modules.
5. Modules
should be easier to use than build.
6. Modules
should have a simple interface.
___________________________________________________________________________________
Reverse Engineering and the main objectives
of reverse engineering.
The reverse engineering is the process of generating representations
that are implementation independent, starting from code. It is opposite of
normal forward engineering process.
The main objectives of the reverse
engineering process are:
1. It helps the companies to understand the
complexities of the system.
2. Helps the analyst to generate useful lost
information about legacy systems.
3. Can be used to identify reusable components
for analysis and future use.
4. Helps in generating graphical representation
of the system from different perspectives e.g. ER diagram, DFD, class diagram
etc.
5. Can be used as a part of Re-engineering
process.
6. Over a period of time modifications made to
the software also result into unexpected problems. The anomalies can be
detected using reverse engineering techniques.
More on reverse engineering here
More on reverse engineering here
Bottom up design- This approach leads to a style of design where we decide how to combine these modules to provide larger ones; to combine those to provide even larger ones, and so on, till we arrive at one big module which is the whole of the desired program.
Since the design progressed from bottom layer upwards, the method is
called bottom up design. The main argument for this design is that if we start
coding a module soon after its design, the chances of recoding is high; but the
coded module can be tested and design can be validated sooner than a module
whose sub modules have not yet been designed.
Top down design- A top down design approach starts by
identifying the major modules of the system, decomposing them into their lower
level modules and iterating until the desired level of details is achieved.
This is stepwise refinement; starting from an abstract design, in each step the
design is refined to a more concrete level, until we reach a level where no
more refinement is needed and the design can be implemented directly.
Hybrid design- Pure top-down or pure bottom up approaches
are often not practical therefore hybrid approach which combines the above two
approaches is often used.
___________________________________________________________________________________
How the network layer in a
connection-oriented packet-switching network differ from the network layer in a
connectionless packet-switching network.
The network layer in connection-oriented
networks maintains state information about every connection. It can allocate
resources at the switches through admission control. The network layer in
connectionless networks has no knowledge of "connections", and
instead deals independently with each packet.
The network layer in connection-oriented
networks performs routing on a per connection basis. Each packet is routed
based on a connection identifier of some sort and packets of the same connection
have the same identifier value. In a connectionless network, routing is
performed on per packet basis; each packet is routed independently based on
information carried in the packet header, for example, the destination address.
In connection-oriented networks, the network
layer forwarding table is set up by a signaling procedure during the connection
establishment. In connectionless networks, the routers may execute a
distributed algorithm to share network state information and dynamically
calculate the routing table continuously.
In case of failure, the connection must be
re-established in connection-oriented networks, whereas in connectionless
networks, the packets are re-routed. The network layer in connectionless
networks is more robust against failures.
Summary of differences
Connection-oriented
|
Connectionless
|
Maintain state information about every connection
|
No knowledge of the "connection"
|
Allocate resources to connections at switches
|
No resource allocation
|
Admission control
|
No admission control
|
Per connection routing
|
Per packet routing
|
Route packet based on identifier
|
Route packet based on destination address.
|
Forwarding table specifies the output port and outgoing identifier
value as function of the incoming identifier value
|
Routing table specifies the output port depending on the destination
address
|
Forwarding table set up by signaling during connection establishment.
|
Router executes distributed algorithm to share network state
information and dynamically calculate the routing table
|
Connection must be re-established in cases of failure
|
Packets are rerouted around failures, robust against failures
|
I personally recommend this site: Click here
IPv4
and IPv6
Up until 2013, IPv4 had been
used, however the world’s supply of IPv4 addresses have been depleted; IPv6
succeeds IPv4 web addresses.
The main limitations of IPv4 are listed below.
1. Scarcity of IPv4 Addresses.
2. Security Related Issues.
3. Address configuration
related issues.
4. Quality of service (QoS).
What Are the IPv6 Advantages
1. Increased
Capacity: of address space—resources are efficiently allocated to
accommodate additional web addresses.
2. Efficient
Routing: allows for easy aggregation of prefixes assigned to IP
networks.
3. Efficient
Data Flow: enables large data packets to be sent simultaneously
helping to conserve bandwidth.
4. Security: is
improved due in part to improved authentication methods built into network
firewalls.
What Are the Disadvantages of IPv6
1. Conversion:
IPv4 is still widely used and the world is slow to convert to IPv6.
2. Communication:
IPv4 and IPv6 machines cannot communicate directly to each other, in the very
rare circumstance that they would need to.
3. Transition: The
process of making the switch to IPv6 from IPv4 is slow and tedious.
4. Readability:
Understanding IPv6 subnetting can be difficult on its own, let alone trying to
remember/memorize your IPv6 address.
This is very cool, it has helped me a lot.
ReplyDeleteWOW!!! have got my assignment help here.
ReplyDeleteAm a CS student this is great the notes are helping me a lot
ReplyDeleteGood!!!! keep updating..
ReplyDeleteGreat content i have learned a lot.
ReplyDeleteVery Excellent! I was wondering where to get the content for my exams and project. Big up!! Guy
ReplyDelete