Deploying the best E-Resources for Software Engineering Students

We at IT Engg Portal, provide all the Computer and IT Engineering students of Pune University with well compiled, easy to learn notes and other E-resources based on the curriculum

Power Point Presentations and Video Lectures for Download

We provide the most recommended power point presentations and Video Lectures from the most prominent Universities for most of the difficult subjects to ease your learning process

Bundling Codes for your Lab Practicals

Deploying the best of available E-Resources for Tech Preparation (Campus Placements)

The Complete Placement Guide

Our Team has worked hard to compile this E-Book for all students heading for Campus Placements. The book is a complete solution for Technical Preparation for Campus Placements.

Pune University's most viewed website for Computer and IT Engineering

With more than 4,00,0000 pageviews from 114 countries over the globe, we are now the most viewed website for Ebooks and other E- Resources in Computer and IT Engineering

Showing posts with label TE Pune University. Show all posts
Showing posts with label TE Pune University. Show all posts

Sunday, October 14, 2012

Computer Networks - An Overview : An E-Book for your Viva Season

       
         With the semester exams arriving almost 15 days prior to normal schedule, we believe all Engineers are facing time shortage for covering your syllabus. Today, we bring to you an all new E-Book Guide which gives you a Complete Overview of Computer Networks. This book covers all basic information required for understanding the crux of the subject. The contents of the book are lucid and thus would help any lame engineer to grasp the concepts easily. Computer Networks being a very interesting subject is also a scoring subject. TE - IT(sem 1) and TE - Comp(sem 2) introduces Computer Networks into the curriculum  for Pune  University. The subject includes 100 theory paper, 50 marks oral and 25/50 marks internal.

 The book covers all the contents required for you to clear your viva and revise all the important concepts of the subject.

Computer Networks - An Overview
Author : Manoj Pisharody






The book covers
  • A short introduction
  • The Physical Layer
  • Data Link Layer
  • Medium Access Control Sublayer
  • The Network Layer
  • The Transport Layer
  • The Application Layer.
        With the contents well organized, the size of the complete PDF is 131 pages. Easy to learn and easy to grasp, we wish all Engineers best of luck especially for Computer Networks and your Viva season.

Thursday, October 4, 2012

Learn Normalization - 1NF, 2NF & 3NF : DBMS

Article Contributed by


People who have started learning about databases must have frequently come up with the word “Normalization” in quite early stages. The name suggests that it is just about normalizing stuff. But, the story is not that simple. You need to know much about normalization in order to handle databases. It is one of the most important things to learn in database management. (It is assumed that you have the basic knowledge about databases and know how to manage tables). So, let’s straight away start discussing about Normalization in thorough depth.

So what is Normalization?

Normalization is a process of reducing redundancies of data in a database. Quite often we come across tables having a lot of bulk data with many columns. All these data might not be necessary all the time whenever we use those tables. So, a better option is to split up the bulk table into small parts and use only those tables which suit the actual purpose at a given instance of time. In this way, redundancy is reduced. To make the long story short, we can simply say that normalization is a process of dividing a big table into smaller ones in order to reduce redundancy.

To understand the concept in deep, let us take up a simple example.

Suppose we are to manage all the databases of a company (say, My Company). The company must keep track of all the employees, customers, product details and the salary details of all the employees. A simple and straight forward way to do this is to put all this information into a single table and manage all those simultaneously. 

See below.


Looking at the above table, you may feel that it is perfectly fine. After all, what is the problem with it? We have a big table; we have all the information required by the company together in a single space, thus saving a lot of memory. Well and good!

But, now think! If suppose, we need to frequently retrieve/update data about just the employees. Here, does the customer’s information or the product details really matter. Definitely no. So, why use the entire table for using just a part of it? We need a solution to this. And the solution is normalization. What we create using normalization is often called as normal forms. Let study about the popular and most widely used normal forms.

The First Normal Form

To solve the above problem, the first and foremost thing to be done is to divide the entire raw database into smaller tables based on the actual groupings. When each table has been designed, a primary key is assigned to most or all tables. Note that the primary key must be a unique value, so try to select a data element for the primary key that naturally uniquely identifies a specific piece of data.
So, let us take up the same previous example and prepare our First normal form. See the figure below:


As we can see, the big raw database is divided into three smaller tables- one for employee, customers and products details, each.
Thus, to access any one of these tables, we need not handle the other two tables.

The Second Normal Form

The objectives of the second normal form is to take data that is only partly dependent on the primary key and enter that data into another table. Let us take up the same example of Fig 1-2. Consider the table- Employee.

Here, the entire table has information about the personal details as well as the salary information. But, it is well understood that, to pay salary to an employee, the company does not actually need the employee’s personal details. Just his emp_id is sufficient. So, why not use just that? This is the second normal form. Same goes with Customers table. We can separate customer’s information from the order details. 

See the figure below:



The Third Normal Form

The third normal form’s objective is to remove data in a table that is not dependent on the primary key. See the same example of Fig 1-3. For the table named Emp_Pay, the position and position_desc fields are not dependent on primary key (emp_id). So, the better option is to move both these fields to another table. 

See below:





Advantages

As we have already seen in the sections before, normalization has many advantages. Let us list out a few ones:

 Ã˜  Greater overall database organization
    Ø  Reduction of redundant data
    Ã˜  Data consistency within the database
    Ø  A much more flexible database design
 Ã˜  A better handle on database security
    Ã˜  Enforces concept of referential integrity


Disadvantages

Although there are many advantages of normalization, there are some disadvantages too. After all, the popular saying “All the coins have two sides” still holds true. So, let’s go through the disadvantages too.

There is one substantial drawback of a normalized database: reduced database performance.
The factors compromised include CPU usage, memory usage, and input/output (I/O). To In other words, a normalized database requires much more CPU, memory, and I/O to process transactions and database queries than does a denormalized database.


Denormalizing a Database

Denormalization is the process of taking a normalized database and modifying table structures to allow controlled redundancy for increased database performance. A denormalized database is not the same as a database that has not been normalized. The purpose of denormalization is to get rid of the problems discussed in the previous sections.  Denormalization might involve recombining separate tables or creating duplicate data within tables to reduce the number of tables that need to be joined to retrieve the requested data, which results in less I/O and CPU time. 

This is normally advantageous in larger data warehousing applications in which aggregate calculations are being made across millions of rows of data within tables. There are costs to denormalization, however. Data redundancy is increased in a denormalized database, which can improve performance but requires more extraneous efforts to keep track of related data.


So, now you might be confused whether to normalize your database or not. The solution is to normalize the database upto a certain extent. So that, redundancy is controlled to a great extent, without compromising on other factors like CPU usage, memory usage, and input/output (I/O).


                                Download this Article as PDF

Manoj Pisharody (BE-IT)
 manoj@itportal.in
  

-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-


Saturday, September 22, 2012

Learn about POP3 and IMAP Protocols : Computer Networks


Article contributed by :

manoj.pisharody99@gmail.com
----------------------------------------------------------



The pre-requisite to understand these two protocols is to know what an E-mail is and how it works. So, we would first take a short tour of E-mail.

Electronic Mail or e-mail, as it is often called, is one of the best forms of communication. Several innovations and researches to the field of Computer Networks have brought about many modifications to the traditional e-mail and today E-mail has become the fastest and most efficient way to communicate.

Working of E-mail

An e-mail system supports five basic functions:

Composition (generation of email),
Transfer (sending of email from sender to receiver), 
Reporting (delivery status of the mail at the receiver’s end), 
Displaying (the mail in the receiver’s mailbox) and
Disposition (what does the receiver does with the mail).

But for now, let us make the long story short, and just discuss about the message transfer phase.

To transfer an email from the source machine (say, A) to destination machine (say, B); the source machine establishes a TCP connection to port 25 of the destination machine. The actual transfer is done by a protocol named SMTP (Simple Mail Transfer Protocol). 

This protocol accepts incoming connections and copies them in to the destination machine with the help of a message transfer agent. If the message cannot be delivered, an error report is sent to the source machine.





Final delivery protocols (POP3 & IMAP)

Now that we have seen the basic idea of how a mail is transferred, now it is the optimal time to learn about the delivery protocols.
As we have seen, sending an email needs the source machine to establish a TCP connection with the destination machine. But suppose A wants to send an email to B, but B is offline. In this case, A cannot establish a TCP connection with B and thus, The SMTP protocol fails.


 
One solution to this problem is to have a message transfer agent residing on an ISP (Internet Service Provider) between the source and destination machines. This agent can remain online 24x7, and thus the source machine can establish a TCP connection with this agent anytime.





-->

POP3 (Post Office Protocol Version 3)

Now, the problem establishing TCP connection is solved. But, does it solve all the problems in delivering the mail? Certainly not. The problem now arising is how to connect the destination machine to the ISP (on which the message transfer agent resides). Note that this ISP is online throughout, but the destination machine is not. So, there must be a protocol to connect the mail transfer agent’s ISP to the destination machine. This is what POP (Post Office Protocol) is all about. This protocol deals with delivering the mail to the destination. But how? Let’s see.

First, the source establishes a TCP connection with the mail transfer agent’s ISP. The agent copies the mail to the ISP’s mailbox. Now, the role of the source machine is over. Delivering the mail to destination is up to the message transfer agent’s ISP.  Whenever the destination machine comes online, it establishes a TCP connection with the mail transfer agent at port 110. Then the message transfer agent gives the control to the POP3 server and this server completely copies the message to the mailbox of the destination machine. Once this is done, the message is deleted from the message transfer agent’s ISP.



IMAP (Internet Message Access Protocol)

The above protocol works well if there is a single user in the receiver’s ISP. But that must not be the case all the time. Quite often, in big companies or organizations, a single ISP is shared by many users. The mail sent by a source might be important for all the users sharing the ISP. So, in this case, definitely POP3 won’t work. To solve this problem, another protocol named IMAP (Internet Message Access Protocol) is used. Here, whenever a user in the destination ISP comes online, the user establishes a TCP connection to port 110 of the message transfer agent’s ISP.

  The agent approaches the IMAP server which now displays the whole message to the user. The user can either delete after reading, delete before reading, fully or partially download file(s) (if the message contains any files), and so on. Whatever the user does with the message is not the concern of the message transfer agent’s ISP. The agent does not delete the message from its ISP mailbox. So that, if a new user sharing the same destination ISP logs in, the message is displayed to that user too, after the TCP connection is established.

P.T.O.



Key Differences

The key difference between both the protocols is the role of the message transfer agent and the corresponding protocol server. In POP3, the agent deletes the message (file) from its mailbox after the user PC downloads the file. In the contrary, in IMAP, the agent does not delete the message after displaying it to the user.

Another difference is that, in POP3, the only option left with the destination PC is to completely download the file to its PC. But, IMAP provides additional features- the destination user PC can partially/fully download the file, delete before/after reading the message, without loss of data as the message will always remain in the agent’s ISP mailbox.

-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-



Article contributed by :

ManojPisharody (BE – IT)
manoj.pisharody99@gmail.com

Sunday, September 16, 2012

Learn About Cookies

   Almost all of us are familiar with the term “COOKIES”. We use this term quite often when we access the World Wide Web. Sadly, most of us are not aware of the exact meaning and the functioning of cookies. This guide will help you understand what cookies are all about.


But before starting with our discussion on cookies, it is of utmost importance to know how exactly the World Wide Web works. So, we will start with understanding what happens actually when we type a URL (Uniform Resource Locator) on a browser’s window. Let’s take up an example. Suppose you type http://www.itu.org/home/index.html. (Here, http refers to the protocol name; www.itu.org refers to the machine where the required file named home/index.html is located).

Firstly, the browser determines the URL. The browser then asks DNS (Domain Name System, which does the mapping of the URL name and its corresponding IP address) for the IP address of www.itu.org. Suppose DNS replies with an IP address of 156.106.192.32. Now, the browser makes a TCP connection to port 80 on 156.106.192.32. It then sends a request for the file /home/index.html. The www.itu.org server sends the file /home/index.html. Then the TCP connection is released. The browser now displays all the text in /home/index.html and fetches and displays all images in this file.

So what are Cookies?
 Now, as we have seen, all that happens with the Web is a request and response sharing between the browser and the server. After sending the file, the server forgets everything about the client (the machine using the browser). No login sessions are involved. In other words, the server does not keep any information about the client. This phenomenon is known as statelessness.

But, it is not the case with all the websites. Some websites are better functioned if the server is informed about the client. An example can be e-commerce. When the users keep on tossing items on to their cart time by time, the server must keep track of the contents of each user’s cart. Another example is a Web portal like Yahoo which allows users signing up.
One might think that this can be done quite easily by the server tracking down the IP addresses of the clients. But, life’s not that easy at times. Many users now work on shared computers at companies. Here the IP address refers to the machine, not the user. Also, in today’s world, almost all the companies work as a single IP address from the point of view of the outside world. So, there is no way a server can identify which user is using which machine. The solution to the problem is Cookies.

To put in simpler words, we can say, Cookies are the files which stores the information about a client/ clients.



-->  


Acquiring Cookies
Now let us focus on the generation of cookies. When a client requests a Web page, the server, along with the Web page can send some additional information too. This information may
include a cookie. A cookie is a small file, of about 4kb. The cookies thus received by the browser are stored in a cookie directory on a client’s hard disk (provided that the client has not disabled them). Cookies are just files, not executable programs.  See Fig 1-1 below.






Physical Representation
A cookie may contain a maximum of 5 fields. See the figure below for an example:
Domain
Path
Content
Expires on/at
Secure?

To understand the figure clearly, let us take up some real time examples (the theoretical/numerical data are assumed just for the sake of better understanding, these may be incorrect from the actual point of view).


Domain
Path
Content
Expires on/at
Secure?
yahoo.com
/
Cust_ID=431433
23-12-14 03:00
Yes
flipcart.com
/
Cart=1-0932;1-23
12-01-19 17:30
No
irctc.com
/
User ID=234521
20-05-22 12:00
Yes
            Fig 1-2. Some examples of cookies.

The Domain field refers to the domain (server) from where the cookie came from.

The Path field denotes a path in the server’s directory structure that identifies which parts of the server’s file tree may use the cookie. It is often ‘/’ which denotes the entire tree.

The Content field is of the form name=value. Both the name and the value can be anything which the server decides.

The Expires on/at field determines the expiry date and time of the cookie. This field may or may not be present. If it is absent, the browser simply discards the cookie upon exit. Such a cookie is often called as a non-persistent cookie. If the field is present, the cookie is said to be persistent and is kept until it expires. The time zone used here is Greenwich Mean Time.
To remove a cookie from the client’s hard disk, the server just sends the cookie all over again with expiration field with a past time/date.

The Secure field is set to indicate that the browser may only return the cookie to a secure server. It has just two values, yes and no. If yes, the browser sends the cookie only to a domain name starting with https:// (indicating secure HTTP).


So how are cookies used?
Now that we are done with how cookies are generated by the server and sent back to the browser, it is now time to discuss how these cookies are used by the browser.
As stated earlier, the browser stores the cookie (file) in a cookie directory on the client’s machine. Now, using cookies won’t alter the mechanism of WWW (as discussed in 1.1) in any manner.
But a minor change is very much acceptable. This is discussed here. In a normal stateless scenario, the browser requests for a file to the server and server responds with that file. But, using cookies will play a role in the former part. Before a browser sends a request for a page to some Website, it checks its cookie directory to see if any cookie has been previously sent by the same Website to the particular client. In more technical terms, we can say, the browser, before requesting a file from a website, checks its cookie directory to see if there is any cookie already present with the Domain field occupied by the same domain as the current server to which request is being made.
 If so, along with the request for the file, the browser also sends the cookies placed by the domain to the server. When these cookies reach the server, the server can do whatever it wishes to with the cookie.



Article Contributed By 
BE – IT

                                                                              
--------------------------------------------------------------------------------------                  


Thursday, August 23, 2012

Design and Analysis Of Algorithms a.k.a. ( DAA ) - BE [Comp : Sem 7] TE [IT : Sem 6]

       
   Design and Analysis of Algorithms aka DAA is a very important subject introduced into the engineering curriculum in the 7th Semester for Computer Engineering and 6th Semester for Information Technology. The subject was initially not included for the IT curriculum, but since the 2008 pattern , the subject was included in TE (Sem 6).

   The syllabus for IT is a subset of the syllabus of Computer Engineering, in simple words Computer Engineering has almost 30-40% extra syllabus for DAA when compared with the IT syllabus. Even though the subject is very important, it is extremely vast and very confusing. Too many algorithms and every algorithm with many versions in different units makes this subject very confusing and a bit difficult to study. But, on a positive node the subject is scoring for most students. Scoring 60+ in this subject does not require strenuous efforts.

   DAA is basically a subject which introduces to you different strategies for developing algorithms. You might have already been introduced to a few strategies in SE (2nd Year) when you studied Data Structures and Algorithms. If remember Quick Sort Algorithm or Prim's Algorithm when you studied Data Structures using C/C++, the explanation of these algorithms also mentioned the type of algorithm they were. Quick Sort  uses the Divide and Conquer technique similarly Prim's uses Greedy Method. Similarly different algorithms include different strategies. In DAA you will be introduced many more strategies along with detailed explanation and examples. You will be introduced to around 5 - 6 techniques in the syllabus like Branch& Bound, Greedy, Divide & Conquer, NP - Hard, Dynamic, Backtracking and a few more.

   The subject becomes more complicated when you have to learn the same algorithm with different strategies. Recollecting these algorithms in the papers becomes frustrating. The subject requires genuine amount of efforts to clear, but on a positive node ,the subject is scoring.

Verdict:

Subject                      : DAA - Design and  Analysis of Algorithms
Analysis                   : Interesting to learn, a bit confusing ,time-consuming but scoring.
Difficulty  Level : Moderate (Instead Confusing)
Scoring Type       : Scoring (Easy to score 60+)


Books Recommended  

Local Authors  :
Among the local authors the best book to study DAA would be Technical. The book covers the subject in a lucid manner with sufficient number of problems and relatively simple Pseudocode. Techmax for DAA is below average. Nirali is better than Techmax and has simpler algorithms compared to Technical but lacks examples and numericals. Many students prefer only studying Algorighm's Pseudocode from Nirali and the rest from Technical.

Foreign Authors :
Fundamentals of Computer Algorithms - Horowitz and Sahani   and
Introduction to Algorithm - Thomas Cormen and Leiserson are better compared to the other books cited by Pune University.


We are providing you with all the Books recommended by the university for this Subject. Please download them and pass on !




E-Books for Download

#Note
Few EBooks are in DJVU format
If you do not have a DJVU file reader, you may download one from here.

File Type : Application /.exe
File Size  : 12.5MB

Fundamentals of Computer Algorithms 
Ellis Horowitz, Sartaj Sahani


File Type : DJVU

-----------------------------------------------------------------------

Fundamental of Computer Algorithm
Bressard


File Type : DJVU

------------------------------------------------------

The Design & Analysis pf Algorithms
Dexter C. Kozen


File Type : DJVU

--------------------------------------------------

Design and Analysis of Algorithms Course Notes
Samir Khuller
University of Maryland


File Type : PDF
----------------------------------------------------------------------

Introduction to Algorithms
Thomas Cormen

File Type : PDF

-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x