1.4 COMPLETE COURSE STRUCTURE AND SCHEME
1.4.1 COURSE STRUCTURE
The course structure is designed in such a way to let the students understand the importance of the branch, scope of the branch and also the basic important concepts of the subject to help them understand that where the branch has its applications and how it is used practically. The objective of the course structure is as follows-
- Course Structure & Scope of the branch
- The basic concepts in Computer Science & Engineering
- The different styles of programming
- Types & important features of programming languages
The conclusions that the students will be able to learn at the end of the course structure is given below-
- Know course structure & scope of the branch
- Know the basic concepts in Computer Science & Engineering
- Compare different styles of programming languages
- Will start writing algorithm for problems
1.4.2 COURSE SCHEME
This new course scheme has a total of 8 subjects in the starting semester. But all these subjects do not have theory exams. 5 of these subjects have theory as well as practical exams and 3 subjects will only going to have practical exams. The total in the new scheme is of 1000 marks for the whole semester, including both theory and practical marks. The total of theory marks of the 5 subjects is 500 and for practical's of all the 8 subjects, the total is 500 marks.
1.5 CONTINUOUS EVALUATION SYSTEM
CCE refers Continuous & Comprehensive Evaluation, a system of school based assessment that covers all the aspects of a student’s development. It was designed to reduce the student stress related to board exams, and to introduce a uniform and comprehensive pattern for student evaluation across the country. It emphasizes on two broad objectives: (a) Continuity in Evaluation and (b) Assessment of broad based learning. Clearly, it attempts to shift emphasis from ‘testing’ to ‘holistic learning’ with an aim of creating young adults, possessing appropriate skills and desirable qualities in addition to academic excellence.
1.5.1 OBJECTIVES OF CCE
- Encourage development of cognitive skills and de-emphasize rote learning.
- Make the entire education process a student-centric activity.
- Help develop cognitive, psychomotor and interpersonal skills.
- Make holistic evaluation an integral part of entire education process.
- Improve student's accomplishments through regular diagnostics and remedial instructions.
- Use evaluation to control quality and maintain desired performance.
- Take decisions about the learner, learning process and learning environment by determining social utility, desirability & effectiveness of the program
1.6 REVIEW OF COMPUTER ENGINEERING FUNDAMENTALS DEFINATION
Computer engineering refers to the study that integrates electronic engineering with computer sciences to design and develop computer systems and other technological devices. Computer engineering professionals have expertise in a variety of diverse areas such as software design, electronic engineering and integrating software and hardware. Computer engineering allows professionals to engage in a number of areas such as analyzing and designing anything from simple microprocessors to highly featured circuits, software design, and operating system development. Computer engineering is not limited to operating computer systems but is aimed at creating a broad way to design more comprehensive technological solutions.
The term computer engineering is often confused with computer science, but these two terms are different. Computer scientists are responsible for electrical and software manufacturing, while computer engineers are trained to design software and perform and integrate that software with hardware components. Computer engineering also includes the engineers who write firmware specifically for embedded microcontrollers, design and develop analog sensors, design very-large-scale integration chips, and create schemes for mixed- and single-circuit boards. The engineering field of computer sciences also contributes to robotic research that requires digital systems to monitor electrical components like motors and sensors.
It has always been difficult for students to remember the dates and years. Evolution of computers and the branch computer engineering also has a lot of such dates to be remembered by students. So, for the ease of students, we are providing a timeline, which will make it easy for you to learn and remember the years. It will shortly define what have had done and in what year. The timeline goes as follows-
1801: In France, Joseph Marie Jacquard invents a loom that uses punched wooden cards to automatically weave fabric designs. Early computers would use similar punch cards.
1822: English mathematician Charles Babbage conceives of a steam-driven calculating machine that would be able to compute tables of numbers. The project, funded by the English government, is a failure. More than a century later, however, the world’s first computer was actually built.
1890: Herman Hollerith designs a punch card system to calculate the 1880 census, accomplishing the task in just three years and saving the government $5 million. He establishes a company that would ultimately become IBM.
1936: Alan Turing presents the notion of a universal machine, later called the Turing machine, capable of computing anything that is computable. The central concept of the modern computer was based on his ideas.
1937: J.V. Atanasoff, a professor of physics and mathematics at Iowa State University, attempts to build the first computer without gears, cams, belts or shafts.
1941: Atanasoff and his graduate student, Clifford Berry, design a computer that can solve 29 equations simultaneously. This marks the first time a computer is able to store information on its main memory.
1943-1944: Two University of Pennsylvania professors, John Mauchly and J. Presper Eckert, build the Electronic Numerical Integrator and Calculator (ENIAC). Considered the grandfather of digital computers, it fills a 20-foot by 40-foot room and has 18,000 vacuum tubes.
1946: Mauchly and Presper leave the University of Pennsylvania and receive funding from the Census Bureau to build the UNIVAC, the first commercial computer for business and government applications.
1947: William Shockley, John Bardeen and Walter Brattain of Bell Laboratories invent the transistor. They discovered how to make an electric switch with solid materials and no need for a vacuum.
1953: Grace Hopper develops the first computer language, which eventually becomes known as COBOL. Thomas Johnson Watson Jr., son of IBM CEO Thomas Johnson Watson Sr., conceives the IBM 701 EDPM to help the United Nations keep tabs on Korea during the war.
1954: The FORTRAN programming language is born.
1958: Jack Kilby and Robert Noyce unveil the integrated circuit, known as the computer chip. Kilby was awarded the Nobel Prize in Physics in 2000 for his work.
1964: Douglas Engelbart shows a prototype of the modern computer, with a mouse and a graphical user interface (GUI). This marks the evolution of the computer from a specialized machine for scientists and mathematicians to technology that is more accessible to the general public.
1969: A group of developers at Bell Labs produce UNIX, an operating system that addressed compatibility issues. Written in the C programming language, UNIX was portable across multiple platforms and became the operating system of choice among mainframes at large companies and government entities. Due to the slow nature of the system, it never quite gained traction among home PC users.
1970: The newly formed Intel unveils the Intel 1103, the first Dynamic Access Memory (DRAM) chip.
1971: Alan Shugart leads a team of IBM engineers who invent the “floppy disk,” allowing data to be shared among computers.
1973: Robert Metcalfe, a member of the research staff for Xerox, develops Ethernet for connecting multiple computers and other hardware.
1974-1977: A number of personal computers hit the market, including Scelbi & Mark-8 Altair, IBM 5100, RadioShack’s TRS-80 —affectionately known as the “Trash 80” — and the Commodore PET.
1975: The January issue of Popular Electronics magazine features the Altair 8080, described as the "world's first minicomputer kit to rival commercial models." Two "computer geeks," Paul Allen and Bill Gates, offer to write software for the Altair, using the new BASIC language. On April 4, after the success of this first endeavor, the two childhood friends form their own software company, Microsoft.
1976: TSteve Jobs and Steve Wozniak start Apple Computers on April Fool’s Day and roll out the Apple I, the first computer with a single-circuit board.
1977: Radio Shack's initial production run of the TRS-80 was just 3,000. It sold like crazy. For the first time, non-geeks could write programs and make a computer do what they wished.
1977: Jobs and Wozniak incorporate Apple and show the Apple II at the first West Coast Computer Faire. It offers color graphics and incorporates an audio cassette drive for storage.
1978: Accountants rejoice at the introduction of VisiCalc, the first computerized spreadsheet program.
1979: Word processing becomes a reality as MicroPro International releases WordStar.
1981: The first IBM personal computer, code-named “Acorn,” is introduced. It uses Microsoft’s MS-DOS operating system. It has an Intel chip, two floppy disks and an optional color monitor. Sears & Roebuck and Computerland sell the machines, marking the first time a computer is available through outside distributors. It also popularizes the term PC.
1983: Apple’s Lisa is the first personal computer with a GUI. It also features a drop-down menu and icons. It flops but eventually evolves into the Macintosh. The Gavilan SC is the first portable computer with the familiar flip form factor and the first to be marketed as a “laptop.”
1985: Microsoft announces Windows, its response to Apple’s GUI. Commodore unveils the Amiga 1000, which features advanced audio and video capabilities.
1985: The first dot-com domain name is registered on March 15, years before the World Wide Web would mark the formal beginning ofInternet history. The Symbolics Computer Company, a small Massachusetts computer manufacturer, registers Symbolics.com. More than two years later, only 100 dot-coms had been registered.
1986: Compaq brings the Deskpro 386 to market. Its 32-bit architecture provides as speed comparable to mainframes.
1990: Tim Berners-Lee, a researcher at CERN, the high-energy physics laboratory in Geneva, develops HyperText Markup Language (HTML), giving rise to the World Wide Web.
1993: The Pentium microprocessor advances the use of graphics and music on PCs.
1994: PCs become gaming machines as "Command & Conquer," "Alone in the Dark 2," "Theme Park," "Magic Carpet," "Descent" and "Little Big Adventure" are among the games to hit the market.
1996: Sergey Brin and Larry Page develop the Google search engine at Stanford University.
1997: Microsoft invests $150 million in Apple, which was struggling at the time, ending Apple’s court case against Microsoft in which it alleged that Microsoft copied the “look and feel” of its operating system.
1999: The term Wi-Fi becomes part of the computing language and users begin connecting to the Internet without wires.
2001: Apple unveils the Mac OS X operating system, which provides protected memory architecture and pre-emptive multi-tasking, among other benefits. Not to be outdone, Microsoft rolls out Windows XP, which has a significantly redesigned GUI.
2003: The first 64-bit processor, AMD’s Athlon 64, becomes available to the consumer market.
2004: Mozilla’s Firefox 1.0 challenges Microsoft’s Internet Explorer, the dominant Web browsers. Facebook, a social networking site, launches.
2005: YouTube, a video sharing service, is founded. Google acquires Android, a Linux-based mobile phone operating system.
2006: Apple introduces the MacBook Pro, its first Intel-based, dual-core mobile computer, as well as an Intel-based iMac. Nintendo’s Wii game console hits the market.
2007: The iPhone brings many computer functions to the smartphone.
2009: Microsoft launches Windows 7, which offers the ability to pin applications to the taskbar and advances in touch and handwriting recognition, among other features.
2010: Apple unveils the iPad, changing the way consumers view media and jumpstarting the dormant tablet computer segment.
2011: Google releases the Chromebook, a laptop that runs the Google Chrome OS.
2012: Facebook gains 1 billion users on October 4.
2015: Apple releases the Apple Watch. Microsoft releases Windows 10.
CPU is central processing unit. It is the most important part of a computer system. It is like the heart of computer machine. A computer cannot be formed without a CPU. A CPU has ALU within itself along with Control Unit, Internal bus and registers. ALU stands for Arithmetic and Logic Unit. An ALU has, Status flags, shifters, complementers, Arithmetic and Boolean logic. The number of registers are not same for every CPU, it varies in different systems. Control Unit is something that coordinates all the operations between I/O devices, memory and ALU. The storage, processing of data between these devices is controlled by the control unit. Most modern CPUs are microprocessors, meaning they are contained on a single integrated circuit (IC) chip. An IC that contains a CPU may also contain memory, peripheral interfaces, and other components of a computer; such integrated devices are variously called
microcontrollers or systems on a chip (SoC). Some computers employ a multi-core processor, which is a single chip containing two or more CPUs called "cores"; in that context, single chips are sometimes referred to as "sockets". Array processors or vector processors have multiple processors that operate in parallel, with no unit considered central.
In a computer, a register is one of a small set of data holding places that are part of a computer processor . A register may hold a computer instruction , a storage address, or any kind of data. A register must be large enough to hold an instruction. It is a special, high speed storage area within the CPU. All data must be represented in a register before it can be processed. For example, if two numbers are to be multiplied, both numbers must be in registers, and the result is also placed in a register. (The register can contain the address of a memory location where data is stored rather than the actual data itself.) The number of registers that a CPU has and the size of each (number of bits) help determine the power and speed of a CPU. For example a 32-bit CPU is one in which each register is 32 bits wide. Therefore, each CPU instruction can manipulate 32 bits of data. Usually, the movement of data in and out of registers is completely transparent to users, and even to programmers. Only assembly language programs can manipulate registers. In high-level languages, the compiler is responsible for translating high-level operations into low-level operations that access registers.
1.8.3 BUS ARCHITECTURE
In a computer system, the bus means something that takes data and control information from one place to another. It is similar with what a bus does normally. As we all have travelled in a bus for at least once in our life, we know that a bus takes us from one destination to another, and that two destinations are possible to have in one city, or in different cities, or different states etc. Similarly, a bus in a computer system takes data and control information from one side to the other parts of the system, where it is required. Now as we know till know that all our process, data, gets executed in the processor, so we need all the data, all the instructions, required input/output devices to be sent to the processor all together. Now instructions can be stored in registers, data can be stored either in primary memory, secondary memory, registers, cache memory etc. So we need to collect all this to one place from where the processor can access them and give us the output as soon as possible.
Now the system bus has three different types of links within it, one is for the transmission of data and another is for the transmission of control information, and the third one for the transmission of address. These three types of information is not carried by the single link. The data bus takes data from one part of the computer system to another part. The control bus takes control information from one device to another device. The address bus is for sending addresses form one part to the other part of the computer system.
1.8.4 INSTRUCTION SET
Instruction set is a set of instructions that our system is going to be perform on some particular data. Let us understand it by an example – Say we have to add two values that are already stored in our computer system. Now for this addition process to take place, firstly, our computer should know that on which two values the operation has to be performed? This information is carried to the system by the instruction set. Now after getting the values on which the operation has to be performed, the system needs to know that what operation he has to perform in between the given values? Now this is again carried by the instruction set.
values? Now this is again carried by the instruction set.
So, an instruction set contains the operations to be performed, the operands on which the operation has to be performed, and the mode by which the system has to reach the operands stored in the system memory. Instruction set has its particular format for this, in which the three fields are there, which defines all these things which are required by the system to perform a task. The instruction format and the explanation of the fields are as follows-
The format of an instruction is usually depicted in a rectangular box symbolizing the bits of the instruction as they appear in memory words or in a control register. The bits of the instruction are divided into groups called Fields. The most common fields found in instruction format are –
- 1). An operation code (Op – code) field that specifies the operation to be performed.
- 2). An address field that designates a memory address or a processor register.
- 3). A mode field that specifies the way the operands or the effective address is determined.
Some other fields are sometimes employed under certain circumstances.
1.8.5 MEMORY AND STORAGE SYSTEM
Before moving towards the main concept of memory and storage system, firstly I would like you people to answer some very basic questions regarding the topic and the questions are as follows-
- 1).What is memory?
- 2).What is storage?
- 3).Is there any difference between the two terms “MEMORY” & “STORAGE”?
Most of you people will say the same definition for both the memory and storage and also going to say that there is no difference between the terms. But they are two different terms. Although they are very much closer in meaning and also are related to each other very closely, and that’s what makes most of the people confuse and let them use these two terms as synonyms to each other. So, now firstly understand the meaning of these two terms-
Memory (DRAM) is a component in your computer that allows for short-term data access. Since your system's moment-to-moment operations are performed using short-term data access — loading applications, browsing the Web or editing a spreadsheet — the speed and amount of memory installed plays a critical role in your system's performance.
Storage (whether in the form of a hard drive or SSD) is the component in your computer that allows for long-term data access. It's the component that accesses and stores your files, applications and operating system.
Together, memory and storage work in tandem with your system's processor to access and use data.
Now after completing this first step of understanding the basics, let’s move on and study the main topic of memory and storage system. There are two kinds of computer memory - primary and secondary. Primary memory is accessible directly by the processing unit. RAM is an example of primary memory. As soon as the computer is switched off the contents of the primary memory is lost. You can store and retrieve data much faster with primary memory compared to secondary memory. Secondary memory such as floppy disks, magnetic disk, etc., is located outside the computer. Primary memory is more expensive than secondary memory. Because of this the size of primary memory is less than that of secondary memory.
Computer memory is used to store two things:
- i). Instructions to execute a program.
- ii). Data.
When the computer is doing any job, the data that have to be processed are stored in the primary memory. This data may come from an input device like keyboard or from a secondary storage device like a floppy disk.
The following terms related to memory of a computer are discussed below :
Random Access Memory (RAM)
The primary storage is referred to as random access memory (RAM) because it is possible to randomly select and use any location of the memory directly store and retrieve data . It takes same time to any address of the memory as the first address. It is also called read/write memory.
The storage of data and instructions inside the primary storage is temporary . It disappears from RAM as soon as the power to the computer is switched off. The memories, which loose their content on failure of power supply, are known as volatile memories. So now we can say that RAM is volatile memory.
Read Only Memory (ROM)
There is another memory in computer, which is called Read Only Memory (ROM). It is the ICs inside the PC that form the ROM. The storage of program and data in the ROM is permanent . The ROM stores some standard processing programs supplied by the manufacturers to operate the personal computer.
The ROM can only be read by the CPU but it cannot be changed. The basic input/output program is stored in the ROM that examines and initializes various equipment attached to the PC when the switch is made ON. The memories, which do not loose their content on failure of power supply, are known as non-volatile memories. ROM is non-volatile memory.
The speed of CPU is extremely high compared to the access time of main memory. Therefore the performance of CPU decreases due to the slow speed of main memory. To decrease the mismatch in operating speed, a small memory chip is attached between CPU and Main memory whose access time is very close to the processing speed of CPU. It is called CACHE memory. CACHE memories are accessed much faster than conventional RAM. It is used to store programs or data currently being executed or temporary data frequently used by the CPU. It is also very expensive to have bigger size of cache memory and its size is normally kept small.
The CPU processes data and instructions with high speed, there is also movement of data between various units of computer. It is necessary to transfer the processed data with high speed. So the computer uses a number of special memory units called registers. They are not part of the main memory but they store data or information temporarily and pass it on as directed by the control unit.
1.8.6 I/O DEVICES
Alternatively referred to as an IO device, an input/output device is any hardware used by a human operator or other systems to communicate with a computer. As the name suggests, input/output devices are capable of sending data to a computer and receiving data from a computer. IO devices are very much important in the computer systems as it is the only way by which the different systems can communicate. If there is no IO device available then we cannot enter any data into the system, and let if somehow we have some data in the system, then we will not be able to see that as an output. In the last topic we have learnt about memory being an important part of the computer system but even this important system is useless if we do not have anything like input or output devices, which can enter and save the data in that memory.
Input devices are those device by the help of which we can enter our data to the computer system. Our requests are also being provided to the system by input devices. As we input some data or request something to be performed by the computer system, we give input. Our commands to perform a particular task is also an input. There are many input devices are there to let us provide input, for ex- keyboard, mouse, touchpad, scanner, joystick etc.
Output devices are those devices by which we are able to see our output. We can get the output as a softcopy or as a hardcopy, if we want the output to be seen on the computer screen only, then it is a softcopy, but if we are taking the printout of something then it will be considered as a hardcopy. As we enter some data to the system then definitely we are expecting something out of it, and that something is the result want we desire for. This result is known as our output. Now output devices may include your computer screen, printer etc. A brief description of some of the I/O devices are given below-
The keyboard is a primary input device. It includes different keys and each key send a different signal to the CPU. Most of the keys are useful for entering texts and numbers. Typing, also called as keyboarding is the ability to enter text and numbers. A standard keyboard includes about 100 keys. Now a days, keyboards are available in many different styles. For all these models, the special purpose keys are same; the variation is in size, shape, feel and color.
In early 1980’s, the personal computer includes only the keyboard as the input device. Now a days, every new PC includes an additional input pointing device called “mouse”. By moving this device around on a flat surface, we can control the mouse pointer. The mouse pointer moves in relation to the mouse’s movements. It can be used to select text, access menu, interact with programs, files or data that appears on the screen.
A trackball works like an upside – down mouse as a pointing device. Two – button and three – button trackball models are available. Also right handed and left handed models are available. Trackball contains an exposed ball that can be rolled with an index finger or thumb to move the pointer around the screen. A trackball needs less space than a mouse as it is not necessary to move the whole device. The trackballs are mostly used on small work surfaces where sufficient space for mouse is not available.
The trackpad is also called as touchpad. It is a stationary pointing device. It uses a small touch sensitive surface. As you move a finger across this surface, the pointer moves on the computer screen. This surface is very small, so the required movement of the finger to move the pointer is very less. So the use of trackpad find less tiring to use as compare to mouse or trackball. Due to small size, they are usefull in notebook computers. Some notebook computer models use built in trackpads.
When you place a finger tip directly on the computer screen, touch screen accepts input. Generally, this method is used to make a choice from a menu. In most touch screen computers the sensors are used on the screen’s surface to detect the touch of a finger. The touch screens need dirt free environment. The applications where intuitive interface is an important factor use touch screens.
A joystick is a personal computer input device consisting of a handheld stick that pivots about one end and transmits its angle in 2D or 3D to a computer. It has a small, vertical lever called the stick mounted on the base and used to steer the screen cursor around. Most joysticks are 2D, having two axes of movement but 3D joysticks do exist.
A light pen is a pointing device shaped like a pen acts as computer input device. The tip of the right pen consists a light sensitive element which, when placed against the screen, detects the light from the screen enabling the computer to identify the location of the pen on the screen. Light pens have the advantage of drawing directly on to the screen. It allows the user to point to display objects, or draw on the screen, in a similar way to touch screen but with greater positional accuracy. An light pen can work with a CRT based monitor, but not with LCD screens, projectors or other display devices.
The data glove used to grasp a virtual object. It is constructed with a series of sensors that detect hand and finger motions. Each sensor is a short length of fiber optic cable, with a LED at one end and a phototransistor at the other end. The surface of a cable is roughened in the area where it is to be sensitive to bending. When the cable is flexed, some of the LED’s light is lost, so less light is received by the phototransistor. The input from the glove can be used to position or manipulate objects in a virtual scene. Thus by wearing the data glove, a user can grasp, move and rotate objects and then release them.
The scanner is a device, which can be used to store drawing, graphs, photos or text available in printed form for computer processing. The scanners used the optical scanning mechanism to scan the information. The scanner records the gradation of gray scales or color and store them in the array. Finally, it stores the image information in a specific file format such as JPEG, GIF, TIFF, BMP and so on. Once the image is scanned, it can be processed or we can apply transformations to rotate, scale, or crop the image using image processing software such as photo – shop or photo – paint. Scanners are available in variety or sizes and capabilities.
2.4 PROGRAM DESIGN
In this topic we are going to understand how we can design a program? Before start writing a program, we first need to understand that what we have to implement? How we can implement it? How many variables are needed in the program? What should be the complexity level of the program? Who is going to use our program? And so on. And answering all these questions is basically what we call in short as designing a program.
While designing a program, initially we need to know the problem, without understanding the problem correctly, we will never be able to make a program that is going to solve the problem. So, understanding of the problem is must. After that, we have to design the flow chart of the program. By designing the flowchart, we can get the exact flow of the data and this is going to help us while writing the program. Simple steps to be followed while designing a program are as given below –
- 1). Determine the problem – First step is to understand the problem, so that we can design the right solution to the problem.
- 2). Determine the user – Second step is to understand that who is going to use the program that we are designing. This is also an important step because if the end user is computer literate than we can add some complex features, otherwise we have to be very simple while designing the program.
- 3). Make flowchart – By making flowchart, the designing of the program becomes easy. It tells us about the flow of the data, which makes it easy for us to design the program.
- 4). Design Algorithm – Designing the algorithm tells us about the number of variables, data types of the variables required, I/O devices needed (if required), and so on.
- 5). Write the program – After having all the above mentioned things, we have the ability to write the program.
- 6). Compile and test – After writing the program, compile it to know that if it has any error(s) or not? If you’ll find one, then correct it as soon as possible.
2.5 WHAT ARE DATA STRUCTURES?
As the name implies, it is a structure that contains data. Basically is the way how the data is stored. It is a format in which the data is stored and managed. There are different types of data structures designed, and there design belongs to specific purposes so that data can be easily accessed and can be worked on easily. Data structures are designed to organize data in a specific way. Data structures provide a means to manage large amount of data efficiently for uses such as large databases and internet indexing services. Data structures can be used to organize the storage and retrieval of information stored in both main memory and secondary memory. Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer – a bit string, representing a memory address.
There are numerous types of data structures as given below-
2.5.1 Array –
It is also known as list. It is a number of elements in a specific order. In arrays the elements are all of same type. Elements are accessed using an index, that indicates to specific element that is required.
An array variable a, say, is declared by
int [ ] a;
This declares a to be a variable capable of storing a reference to an array of integers.
Before using the variable a, it must be initialized.
a = new int ;
This instruction shows that there are space for 20 variables of integer type in this array. The above two instructions can be combined to one single instruction as follows-
int [ ] a = new int ;
Now to enter some value at a particular place can be instructed as-
a  = 173;
This shows the 3rd element in the array is 173. You people must be getting confused because I have written a above and now I am saying that it is element 3rd, well this is because in arrays the counting starts from 0, in the following manner –
a a a………………a.
2.5.2 Linked List –
It is a special type of array or list, which is linked to each other. As in case of array, we have seen that we have to define the number of elements at the declaration time. But what if the number of elements increases? What is we do not have an idea of the number of elements in the starting? What if we want to add an element in between two already existing elements? All these questions can be answered using linked list. It is a list that has multiple nodes, and one node is linked to another node thus forming a list. Each node here has two parts, one is the data part, where the data is stored, and the another one is link part, which has the link to the other node. Thus, according to our need, the number of nodes can be increased or decreased, and the element can also be added in between the two already present elements.
2.5.3 Stack –
Stack is an ordered list. In stack there is only one open end from where both the insertion and deletion takes place. The other end of the stack is closed. You can suppose it like a glass. A glass has only one end open, both the input of something and output takes place from the same end. Now the end which is open is called as TOP in terms of stack.
Now suppose we have to put 5 small balls b1, b2, b3, b4, and b5 into a glass. Now first we put inside b1, than b2, than b3, than b4, and in the end the b5. Now the time comes for the deletion to take place, so for the deletion the ball on top will be removed first, and the ball on top is the same that we inserted last, which is b5. So we remove b5, and then b4, b3, b2, and the last one is b1. From this example we get one thing very clear that in stacks the element entering last into the stack will be removed first. The order of elements entering the stack is exactly opposite to the order of elements deleting from the stack. The concept used in stack is known as LIFO – Last In First Out.
2.5.4 Queue –
As its name implies queue is a line or a row of elements. In this type of data structure, the data is arranged in a row one after the other. Let us understand it with a real time example – you must have seen the queue waiting beside a window for movie tickets or for reservations in daily life, which is the concept behind the queue data structure. Unlike the stack, the queue follows the FIFO concept and not LIFO. FIFO means First In First Out. As in a queue of people, the person who has entered the queue first, will be the one who will get served first and exits first. On the similar basis, in the queue of data elements the element that has entered the first leaves the first and the one that entered the last leaves the last. In queue terminology, there are two variables that maintains a queue and they are – front and rear.
When the queue is empty, the value of both front and rear is equal to -1.
Front = -1
Rear = -1
If there is only one element in the queue, then the value of front and rear will change from -1 to 0.
Front = 0
Rear = 0
Now as we add or insert elements in the queue, the value of rear keep on increasing up to the maximum length of the queue.
Front = 0
Rear = 2
The value of front changes when we remove or delete any element.
Front = 1
Rear = 2
2.6 INTRODUCTION TO PROGRAMMING
The term programming means to write codes for some particular project. A program is a set of instructions. These instructions are also known as codes. Writing these instructions or code is basically what programming is. Now the question that arises is why do we write code? The language that we use is very much difficult for the computer to understand. Our language is called high level language and the language that computer understands is called low level language. So we have to write such instructions that can be easy for the computer to understand to perform the task we want. So for a particular task to be done by the computer we write code or instructions for that task, and combine all related tasks in code, thus forming a program with multiple instruction set, which can do related work. Now the code written by us passes through two main blocks – compiler and interpreter. Some language uses compiler and some uses interpreter. Some programming languages like Perl, Lisp, Smalltalk, Python, Ruby, uses interpreters and some others like C, C++, Java, PHP, uses compilers.
To write a program, firstly we should know that the set of instructions that we going to write in the program is developed under a function. Some notations are also required to take inputs or to print outputs. So some of the basic programming terms are as follows –
Variable is a alphabet that can take the value of input and can also take the value of output. It is also possible to set a fixed value for a variable. It can be considered as a name given to a location in memory, where the data is stored. This data can also be called as constant.
A constant is a quantity that cannot change. There are two types of constants.
It can include any alphabet from A – Z or from a – z or from 0 – 9. The first character must be an alphabet. It can have only 8 characters.
It is a word, which already has a defined meaning in a language. All keywords must be written in lower case. Ex – break, case, continue, default, do, else, float, for, go to, if, return, size of, static, struct, switch, union, void, while, etc.
2.7 SECURITY THREATS
As we all know that security means protection from any kind of harms and threat means the way by which the harms can be done. So the security threat term, means a danger or a harm that might be possible to exploit the security or protection and can cause harm. With respect to computers, the harm that any threat can create is to the data of the computer system. In computers, the data is everything. Computer will become useless without this data. So the threats that are possible to damage the security and harm the data is basically known as security threats.
2.7.1 VIRUSES –
A virus is a piece of program code that can infect programs by modifying them. The virus attaches itself to program or file so it can spread from computer, infecting as it travels. It is malicious software that attaches itself to other software.
220.127.116.11 Phases of Viruses
During its lifecycle, virus goes through these phases –
Dormant Phase –
The virus will eventually be activated by some event, such as a date, the presence of another program or file, or the capacity of the disk exceeding some limit.
Propagation Phase –
The virus places an identical copy of itself into another programs or into certain system areas on the disk. Each infected program will now contain a clone of the virus, which will itself enter a propagation phase.
Triggering Phase –
The virus is activated to perform the function for which it was intended.
Execution Phase –
The function is performed. The function may be harmless, such as a message on a screen, or damaging, such as the destruction of programs and data files.
18.104.22.168 Types of Viruses
Parasitic Virus –
A parasitic virus attaches itself to executable files and replicates, when the infected program is executed, by finding other executable files to infect.
Resident Virus – Lodges in main memory as a part of the resident system program. From that point on, the virus infects every program that executes.
Boot Sector Virus –
Infects a master boot record or boot record and spreads when the system is booted from the disk containing the virus.
Stealth Virus –
A form of virus explicitly designed to hide itself from detection by antivirus software.
Polymorphic Virus –
A virus that mutates with every infection, making detection by the signature of the virus impossible.
Metamorphic Virus –
A metamorphic virus rewrites itself completely at each iteration, increasing the difficulty of detection. Metamorphic viruses may change their behavior as well as their appearance.
2.7.2 WORMS –
Worms are the malicious software that does not need any program to propagate. It is a stand – alone application. Unlike viruses, it does not need any software of program to replicate itself. It is a program that replicates itself by installing copies of itself on other machines across a network. An e – mail virus has some of the characteristics of a worm because it propagates itself from system to system.
Network worm programs use network connections to spread from system to system. To replicate itself, a network worm uses some sort of network vehicle, example includes the following –
- Electronic mail facility
- Remote execution capability
- Remote login capability
A network worm exhibits same characteristics as a computer virus a dormant phase, a propagation phase, a triggering phase and an execution phase.
The propagation phase generally performs the following functions –
- Search for other systems to infect by examining host tables or similar repositories of remote system addresses.
- Establish a connection with the remote system.
- Copy itself to the remote system and cause the copy to be run.
22.214.171.124 State of Worm Technology
Worm technology includes –
- Multiplatform – Newer worms are not limited to windows machines but can attack a variety of platforms.
- Multiexploit – New worms penetrates the system in a variety of ways, using exploits against web servers, browsers, e – mail, file sharing.
- Ultrafast spreading
- Transport vehicles
- Zero – day exploit
2.7.3 MALWARE –
Malicious programs are also known as Malware. Malware is a software that is intentionally added or inserted in a system for a harmful purpose. Malware can be dived into two categories : those that need a host program and those that are independent. Viruses, logic bombs and backdoors needs a host program and cannot exist independently. Self contained programs that can be scheduled and run by the operating system. Worms and zombie programs are examples. Following table shows the two categories or malware and the threats under them.
UNIT – 3
COMPUTER SCIENCE AND ENGINEERING APPLICATIONS
In this chapter, we are going to introduce you to the applications where we are using computer science engineering. There are huge a lot of such applications, where we are using computer engineering these days. Actually there is no field left, where we are not having computers any more. So, as each field is having computer, then obviously that will be our application of CS engineering. Some of the major applications are being described here –
3.2 APPLICATION IN DATA PROCESSING
Data Processing is the manipulation of data by a computer system. As we have already discussed that the computer understands the machine language and the language used by us is high level language, so we need to convert our language to the machine codes so that a system could respond to it. This conversion of raw data to machine language is also a kind of data processing. We also know about the concept of data being travelling from memory to CPU and back to memory from CPU many times in the computer system. This type of travelling of data either from CPU or from memory to the memory, CPU or to any output device is also known as data processing. The formatting of the output, or the transformation of the output from one form to another is also a part of data processing. Any use of computers to perform defined operations on data can be included under data processing. In the commercial world, data processing refers to the processing of data required to run organizations and businesses.
3.3 APPLICATION IN INFORMATION SYSTEMS
An information system, also known as IS, is a organized system for the collection, organization, storage and communication of information. Information system is a network that people and organizations use to collect, filter, create, process and distribute data. Any specific information system aims to support operations, management and decision making. Computers are the huge part of information systems. Some of the examples are as follows – computers are into accounting, scheduling, monitoring, databases, etc, where it saves time and money, and also a easy way to organize data.
3.4 APPLICATION IN COMMUNICATIONS
Computers have a very important role in communication. Communication has a huge number of applications regarding computer science engineering. Many services like cellular telephone services are not possible without computers. Just think for a while that we do not have computers in communications, than we will not have any mobile phone services, as these services are provided to us by the computer science engineering only. It is not the only computer science application under communication, there are many more applications of CS in communication, for example- network telephone services, cellular telephone services, radio broadcasting, TV broadcasting, audio-visual conferencing, video-on demand, etc.
3.5 APPLICATION IN E – BUSINESS
E – Business or E-Commerce or Electronics Commerce is a methodology of modern business, which addresses the need of business organizations, vendors and customers to reduce cost and improve the quality of goods and services while increasing the speed of delivery. E-commerce refers to the paperless exchange of business information using the following ways:
- 1). Electronic Data Exchange (EDI)
- 2). Electronic Mail (e-mail)
- 3). Electronic Bulletin Boards
- 4). Electronic Fund Transfer (EFT)
- 5). Other Network-based technologies
3.6 APPLICATION IN WORLD WIDE WEB,
WWW is completely based on computers only. If there are no computers than there will be no existence of World Wide Web.WWW stands for World Wide Web. It is an information space. It is an open environment, where the documents and other resources are specified by the URLs. All these resources can be used by the help of internet. The WWW is simply and commonly known as Web. The www is the primary tool that everyone uses to interact to the internet. Web pages are text documents, which are formatted by HTML and can have images, audios, videos, etc. When more than one page have the common theme or we can say have the same domain name, or sometimes if have both, then it is called as website. To view a web page, we can either type the URL on the web browser or can follow the hyperlinks to that page. Using a browser for viewing the web pages or to move from one web page to another by hyperlinks is known as browsing or web surfing or net surfing or navigating the web.
3.7 APPLICATION IN MULTIMEDIA AND ANIMATION
Multimedia is a content that uses the combinations of different types of data forms like- text, images, audio, video, animation, etc. Multimedia is neither a hardware nor a software, it is actually a field, which belongs to computer controlled mixture of text, still and moving images (video), graphics, animations, drawings, audio etc, where all the information from these media, can be presented, saved, transferred, and processed in digital format. Multimedia refers to content that uses a combination of different content forms. This contrasts with media that use only rudimentary computer displays such as text-only or traditional forms of printed or hand-produced material. Multimedia includes a combination of text, audio, still images, animation, video, or interactivity content forms. Multimedia is usually recorded and played, displayed, or accessed by information content processing devices, such as computerized and electronic devices, but can also be part of a live performance. Multimedia devices are electronic media devices used to store and experience multimedia content. Multimedia is distinguished from mixed media in fine art; by including audio, for example, it has a broader scope. The term "rich media" is synonymous for interactive multimedia. Hypermedia can be considered one particular multimedia application.
The computer science has covered the whole multimedia through its applications. From compressing a video to converting an image to another format, from playing online games to watching online movies, from downloading your favorite song to sending funny images to your friends, these all are the computer science applications in multimedia. Animation is also an application of computer science within multimedia. Animated components are common within both Web and desktop multimedia applications. Animations can also include interactive effects, allowing users to engage with the animation action using their mouse and keyboard. The most common tool for creating animations on the Web is Adobe Flash, which also facilitates desktop applications. Using Flash, developers can author FLV files, exporting them as SWF movies for deployment to users. Flash also uses Action Script code to achieve animated and interactive effects.
3.8 APPLICATION IN HEALTH CARE
Computers are everywhere. Doctors use computers to record progress notes. Nurses use computers to transmit orders to other departments and in patient care. Pharmacists use computer to order medication and view a patient profile. For the most part, All Health Care workers use computers. Computers are used in following ways in Health Care –
Accounting – Saves time and money.
Scheduling – Appointments.
Monitoring – Blood Pressure, Heartbeat.
Databases – In maintain records.
Confidentiality – Confidentiality to patient’s information.
DNA – computers used to analyze DNA.
ECG – Computer provides a print out of electrical activity of patient’s heart.
Echocardiogram – Computer directs sound waves into the heart, the converts the reflection of the waves into an image of the heart. It is used to reveal heart problems.
CT Scan – Known as computerized tomography. It is a computerized body scanner. It shows cross section views. Allows us to see bone and body tissues. Helps us find tumors.
MRI – Known as magnetic resonance imaging. It is a body scanner that uses nuclear magnets, instead of x-rays. Can see tumors, blood moving through veins.
Ultrasonography – Uses high frequency sound waves. Body parts are viewed on a computer screen and printed on photo paper.
Telemedicine – Includes remote monitoring devices and videoconferencing. Used to connect specialists to patients in remote locations.
Bioinformatics – Is explained in the next topic.
UNIT - 4
OVERVIEWS OF CSE MAGAZINES, JOURNALS, SOCIETIES & ETHICS
4.1 OVERVIEW AND IDEA ABOUT GOOD COMPUTER MAGAZINES
These publications appeal to a broad audience and usually include content about computer hardware and software and technology news. These magazines could also be called technology magazines because of the large amount of content about non-computer consumer electronics, such as digital audio player and mobile phones. Some the magazines that are published in India are give below-
- 1). CODE
- 2). Digit
- 3). CHIP
- 4). PC Quest
Some international magazines are-
- 1). APC
- 2). PC World
- 3). Computing
- 4). Computer Weekly
- 5). Maximum PC
- 6). .net
4.2 MAJOR COMPUTER SCIENCE & ENGINEERING JOURNALS
1). Computer science has altered the globe in numerous ways and exhibited impact on every aspect of human life and science. We have achieved an excellent communication by all means compare to the past centuries. Communication engineering including computer science, electronics and electrical engineering played pivotal role in this aspect. Tremendous growth in scientific knowledge, information and output in relation to these subjects aided in better technologically advanced human life.
Journal Highlights includes: Adaptive, Advanced Computing Architectures, Advanced Numerical Algorithms, Agent-Based Middleware, Artificial Intelligence Pattern/Image Recognition, Autonomic and Context Aware Computing, Bioinformatics and Computational Biology, Broadband and Intelligent Networks, Calm Technology, CDMA/GSM Communication Protocol, Radar technology, Grid Computing, Database Security, Open source Software, Data warehousing, Wireless sensors, Data structure, Ad hoc network, Robotics, Security systems
2). Journal of Computer Engineering & Information Technology
is a peer-reviewed Hybrid journal which emphasizes on major research areas of Computer Sciences and Information Technology covering novel research findings with highest standards in terms of quality and eminent editorial board. Journal expects authors and researchers to submit their articles in the areas but not limited to Information Technology, Software Testing & Hardware Technology, Mobile Computing, Wireless Sensor networks, Visual, Communication System, Robotics and Embedded systems.
Journal Highlights includes: Computer Science, Information Technology, Mobile Computing, Neural Networks, Visual communication system, Artificial Intelligence, Cloud Computing, Big Data Analysis, Data mining, E-Marketing, VLSI design and testing.
3). Journal of Information Technology and Software Engineering
is a peer reviewed, open access periodical which disseminates scientific information among the scientists and researchers in the relevant areas. The journal considers a wide range of topics in the realm of Computer Science which includes but not limited to Android Technology, Cloud, Computer Hardware, Cryptography, Development Process, Information Systems, Information Technology, Internet Communication Technology, IT Management, Project development, Real Time, Sensor Technology, Software Architecture, Software Component, Software Quality, Web Service, Wireless Technology.
Journal Highlights includes: Android Technology, Cloud, Computer Hardware, Cryptography, Development Process, Information Systems, Information Technology, Internet Communication Technology, IT Management, Project development, Real Time, Sensor Technology, Software Architecture, Software Component, Software Quality, Web Service, Wireless Technology
4). Engineering and Technology
are two inseparable terminologies with the present day’s development. Since the beginning of our journey in this planet we adopted technology and engineering to attain a better life. Rapid growth and increased need of multifaceted technical applications induces us to keep abreast about the know-how’s of various associated subjects.
Journal Highlight Includes:
Aeronautics, Civil and Architecture Engineering, Computer Science and Information Technology, Earth and Atmospheric Sciences ,Engineering Aspects Associated With Biotechnology, Engineering Physics, Industrial Production, Mathematics and Statistics, Medical Electronics, Telecommunications, Textile and Polymer Engineering.
5). Journal of Swarm Intelligence and Evolutionary Computation:
Swarm Intelligence journals are at higher echelons that enhance the intelligence and information dissemination on topics closely related to Swarm Intelligence.computational methods in synthetic biology plays a major role in this journal.
Journal Highlights includes:
Artificial intelligence, Artificial neural networks, Evolution of social network, Evolutionary algorithm, Evolutionary algorithm in datamining, Evolutionary computation, Evolutionary Optimisation, Evolutionary science, Handover, Hybrid soft computing, Knowledge modelling, Machine Learninng, Multi Objective Programming, Ontology Engineering, Swarm intelligence, Swarm Robotics.
6). International Journal of Sensor Networks and Data Communications (SNDC)
, a broad-based journal was founded on two key tenets: To publish the most exciting researches with respect to the subjects of Sensor Networks and Data Communications. Secondly, to provide a rapid turn-around time possible for reviewing and publishing and to disseminate the articles freely for research, teaching and reference purposes.
Journal Highlights includes:
Biosensor, Computer Artificial Intelligence, Data Communication, Data Mining and Analysis, Data Security, Data Storage,Distributed Sensor Networks, Electronic Engineering, Hardware Networking, Mobile Communication, Motion Sensors, Network Algorthims, Network Security,Networks Systems Technology, Optical Communication, Routing Protocol, Sensor Network Technology, Sensors and Actuators, Wireless Sensor Networks,ZIPBEE Protocol.
7). Related Journals:
International Journal of Computer Science and Network Security, Computer Network Journal, Journal of Computer Network and Communication, International Journal of Computer Networks, Computer Networks Journal, Journal of Computer Network, Network Security Journal,International Journal of Network Security, Journal of Security and Communication Network, Journal of Network and Information Security, Sensor Journal,International Journal of Sensor Networks, International Journal of Mobile Communications, International Journal of Electronics and Communication,International Journal of Communication, International Journal of Network and Communication.
4.3 SUCCESS STORIES OF COMPUTER ENGINEERS
1). RAHUL SHARMA
This success story is of four Engineers who graduated in 2000.
Their names are -
- 1. Rahul Sharma
- 2. Sumeet Arora
- 3. Rajesh Aggarwal
- 4. Vikas Jain
In school, Sharma knew he wanted to be an engineer, though he didn’t know exactly what he wanted to do. By the time he finished studying mechanical engineering in Nagpur, Maharashtra, he had decided that he didn’t want to enter the corporate world as so many classmates would.
He says, “We were all friends; me and Rajesh (Agarwal) were neighbours, and I knew Sumeet (Arora) and Vikas (Jain) from college, and when we had finished studying, it was 2000, and we thought, everything is booming, we should also start a business.”At the time, Agarwal was already in the hardware business, but since the IT boom was at its peak, the friends decided to get into the software industry.
Rahul Sharma was the son of a school principal, Sumeet Arora was the son of a brigadier. They were all middle-class boys who were suddenly driving BMWs, and life was good.
One thing they couldn't decide on was a name—they had all sorts of crazy ideas, but then they thought Micromax sounded good. They thought, this is cool. So they named the company Micromax Informatics.
To get ideas, Rahul Sharma says he goes to mobile phone stores to work as a salesman from time to time, and gets feedback from customers. That’s what led him to approach Arora with the idea of dual SIM phones which used a single baseband, so as to make the technology affordable. Micromax was the first to introduce both the 30 day battery recharge and dual SIM phones with a single baseband in India.
Micromax has, in a span of 13 years, gone from being the company that made parts for Nokia, to one selling cheap phones no one really trusted, to being the third most successful handset brand in India.
Today, Micromax has a presence in 12 countries besides India, and claims to be selling 1.75 million handsets and 70,000 tablets every month. It’s targeting Rs.2,800 crore in turnover, which would require the company to continue to gain momentum around the world.
2). NAGAVARA RAMARAO NARAYANA MURTHY
There was an intelligent boy, who appeared for IIT-JEE and cracked it with an all India rank of 17. Because of financial restraints, he couldn't go for it. He opted for electrical engineering in National Institute of Engineering, Mysore. Later on, he pursued his masters from IIT Kanpur.
- 1) He started his career at IIM-A as chief systems programmer
- 2) He started a company called Softronics which failed.
- 3) He worked at Patni computer systems in Pune.
- 4) With some of his friends,he found a software company with capital injection of 10,000 rupees provided by his wife.
- 1) He is among the 12 greatest entrepreneurs of our time as listed by Fortune magazine
- 2) He is called the "Father of the Indian IT sector" by Times magazine
- 3) He is honored with Padma Vibhushan and Padma Shri.
- This engineer is NAGAVARA RAMARAO NARAYANA MURTHY, co-founder of INFOSYS, pride of India.
3). PADMASREE WARRIOR
- 1. Went to US with just $100 and a one way ticket
- 2. Had no idea where 'Ithaca' was
- 3. Wanted to pursue PhD
- 4. Studied Chemicals but excelled in I.T &
- 5. Is one of the Best Role Model for Women around the World
Apart from having one of the coolest names in the tech industry, Padmasree Warrior stands out among Silicon Valley's big-wigs. As one of the most influential people working in the technology industry today, it's little wonder Forbes named her as the 57th most powerful woman in the world. She studied chemicals, not computers. Received a degree in chemical engineering in Delhi, before continued her studies in New York. The young graduate thought she'd eventually go back home to teach -- it wasn't to be. Nut, she took a job at telecommunications company Motorola in 1984, and later joined Cisco in 2007. "At no point in life have I waited for the perfect job to show up... because there's no such thing." She planned to stay at Motorola 12 months -- and left 23 years later. During her two decades at Motorola, Warrior rose to the ranks of executive vice president. While there, the company was awarded the prestigious 2004 National Medal of Technology and Innovation -- the first time in the organization's history. In 2015, it's harder to keep up with new technology than ever before, says Warrior. "I've been in the tech industry for almost 20 years, but I feel right now is probably the most significant time -- not only is the pace of change so fast, but the magnitude of change is huge." Yes, she does log off -- and meditates. Just because you're leading one of the biggest computer equipment companies on the planet, doesn't mean you have to be constantly plugged-in. At the end of each day, the mother-of-one apparently turns off all her electronics and finds 20 minutes to meditate.
She's a Twitter pro. Warrior has a whopping 1.4 million Twitter followers including U.S. President Barack Obama. She gives followers an insight into her world outside of the office, posting images of her paintings, novels she's reading, and even her weekend fashion choices using the hashtag #warriorstyle. The best career advice she's ever received: "I was a manager and really thinking about taking the next step to become a director. And I was hesitating, asking myself 'Is it too much responsibility?' My husband worked, and we had a young son at home, and I wasn't sure if I was ready to commit. And my boss at the time, who was making me the offer, said: "You know, sometimes when there's a door open you just have to push through and walk in." She left Cisco Systems in July 2015, at a time when CEO John Chambers retires and SVP Chuck Robbins takes over. In her eight years at the $138 billion technology company, she has helped Cisco grow in influence through acquisitions, including six in 2014 and 10 in 2013. The innovation pro has also been busy joining the boards of file-sharing service Box and Gap. Padmasree still finds the time to mentor other women in the tech industry, stay in touch with her 1.6 million Twitter followers and follow a nightly meditation routine. A Cornell-trained engineer, she believes a STEM education informs creativity: "Increasingly it's not about knowing all the answers but asking the right questions and figuring out how to get the right answer."
4). SACHIN BANSAL & BINNY BANSAL
Sachin and Binny Bansal were different but the same. They grew up in Chandigarh, went to IIT Delhi and still didn't know each other until ending up at the same team at Amazon. There, they developed a camaraderie which led to the foundation of Flipkart. Flipkart was started with an allowance from parents, two computers and an apartment in Koramangala, Bangalore.
Their first order didn't come through for days. But they realized the potential of E-commerce in India very early on and banked on it. And from Rs.10000 a month to a billion dollar company, their journey has been one hell of a ride. I remember ordering a book from Flipkart back in 2008. What struck me was the service and speed. Plus the book was available there to my surprise. They've built their empire on the most important thing. The Customer. Their experience matters.
5). DEEPINDER GOYAL AND PANKAJ CHADDAH
Arey Zomato pe dekh na!
The above sentence epitomizes the success of Zomato. For our Non-Hindi speakers, it means 'hey, look it up on Zomato'. What Zomato does is it helps you look up restaurants in your locality. It doesn't matter if it's the corner street Dhaba or the most sumptuous restaurant of the city. It's there on Zomato. Zomato started out as foodie bay out of Deepinder Goyal's apartment. Once again both the co-founders Deepinder Goyal and Pankaj Chaddah were in the same team at Bain and Co. as consultants. There, they had the idea. The user feedbacks started coming in as positive and the site gained traction by 2009.
6). SATYA NADELLA
He attained his bachelor's degree in electrical engineering from Manipal institute of engineering and technology, India. Later he did MS in computer science from University of Wisconsin, US. Then he received MBA from University of Chicago booth school of business.
He was appointed CEO of Microsoft on 4th February, 2014.
7). SHIV NADAR
He passed out from PSG Tech Coimbatore which is one of the top 10 college under Anna University. Now he runs a college named SSN CE which is again in top 10 best colleges of Anna University. In fact SSNCE ranked No. 1 private engineering college for several years in a row. He also runs Shiv Nadar University. The best part of both these colleges is that the seats are not sold for money (read as capitation fees). Both the govt seats and management seats are filled based on merit. He also runs a school called Vidyagan in Noida, which adopts 200 poor children and provide them free food, shelter and education.
Ok, How did he become so rich to build a top quality college in Tamilnadu being a passed out from another top college? Because he is Founder and Chairman of HCL group of companies.
"He founded a product company that later became HCL, that developed Operating systems and Databases, even before Apple started developing operating systems, and Oracle started developing databases."