210 likes | 231 Views
Introduction to Computers and Programming. Categories of Computers and Computer Systems Types of Software Structured Programming Object oriented Programming. Categories of Computers and Computer Systems. Classifying Computers :. Mainframe Largest computer, a powerhouse Massive memory
E N D
Introduction to Computers and Programming • Categories of Computers and Computer Systems • Types of Software • Structured Programming • Object oriented Programming
Categories of Computers and Computer Systems Classifying Computers: • Mainframe • Largest computer, a powerhouse • Massive memory • Extremely rapid processing power • Used for very large applications – business, scientific, or military • Must handle massive amounts of data, or many complicated processes Contd..
Midrange Computers • Less powerful, less expensive, and smaller than a mainframe • Capable of supporting computing needs of smaller organizations • Manages network of computers • Can be minicomputers, used in universities, factories, or research laboratories • Can also be servers, used for managing internal company networks, or web sites • Optimized to support a computer network • Enables file sharing, software sharing, resource sharing • Servers provide the platform for electronic commerce • May be database servers, or web servers, or transaction servers
Personal computer (PC) • Referred to as a microcomputer • Can be placed on desktop, or carried around • Laptops/notebooks are portable desktops • A workstation also fits on a desktop, but has more powerful mathematical and graphics processing abilities than a PC • Used for scientific, engineering, and design work requiring more powerful graphics or computational abilities
Supercomputers • Highly sophisticated and powerful computer • Used for tasks requiring extremely rapid and complex calculations • Typically use parallel processors • Traditionally used in scientific and military work e.g., weapons research, weather forecasting using complex mathematical models • Starting to be used in business for manipulation of vast quantities of data
Computing System • Standalone • Unitasking/Monoprogramming • One single program in the main memory • Multiprogramming • Several programs from several users in the main memory • Multitasking • Several programs from one user in the main memory • Time Sharing • CPU time shared by several programs (Scheduling) • Multithreading • CPU time shared by several threads (program pieces) • Centralized processing • All processing is accomplished by one large central computer
Distributed processing • Use of multiple computers linked by a communication network for processing • Client Server Computing • Splitting processes between client computer and server computers • Both are part of the network • But, functions/processes are split • Client – point of entry, desktop, W/S, laptop • User interacts with the client portion of the application • The server – provides the client with services, mainframe, or another desktop • Downsizing • Process of transferring applications from large computers to smaller ones
Network computer and Peer-To-Peer Computing • Thin client • One form of client/server computing • Client processing and storage requirements/capabilities are minimal • Bulk of processing done on the server • Such thin clients with minimal memory, storage and processing power are called network computers (NC) • No data or software is stored locally
Peer – To – Peer Computing • Another form of distributed processing • Linking computers so that they can share processing tasks, data, even disk space • Sometimes referred to as thick clients • Individuals use less than 25% of their processing and storage capacity • Grid Computing – one form of peer-to-peer computing • Applying the computational resources of many computers in the network to a single large and complex problem • The grid computing software reclaims the unused computing cycles on desktops and harnesses them into a “virtual supercomputer” Contd……
Each form of computing is suitable for specific needs of the organization • Peer-to-peer – mainly for R & D collaboration • Network computing – mainly for firms with a powerful centralized IT infrastructure
Types of Software • Program • A series of statements of instructions to the computer • A set of programs • A set of data structures which will be manipulated by the programs • The accompanying documentation • Software • System Software • A generalized programs that manage an service other programs and the computer’s resources, such as processor, communication links, and peripheral devices • Application Software • Programs written for specific applicatios to perform functions specified by the end users
Typical software applications • System software – collection of programs to service other programs eg, compilers, editors, OS components, drivers, telecom s/w • Real Time S/W • Monitors, analyses and controls real world events as they occur • An RT system must respond within strict time constraints (1 usec) • Eg, missile control system • Business S/W • MIS applications • Conventional data processing applications • Interactive transaction processing • Eg, sales, banking, accounting inventory Contd….
Engineering/Scientific S/W • Automotive ;manufacturing • Space labs • CAD system simulation • Embedded S/W • ROM-based intelligent products with limited functions • Consumer electronics • Eg, Microwave key pad control, digital fuel control in automobiles, emission quality monitoring, dashboard displays • PC softweare – word processors, games, graphic database software • AI Software – Expert system (Knowledge based systems), pattern recognition (voice/image, theorem proving & game playing, robotics • Artificial Neural Networks – simulates structure of human brain
System Modeling Approaches • Decomposition – is the strategy to deal with complex systems. • Structured Approach – decomposition using functions • Process Model (DFD) • Data Model (ERD) • Architecture (Structure Chart) • Object-Oriented Approach-decomposition using objects • Object Model
Pitfalls of Structured Paradigm • Function / algorithm / Procedure – Oriented • Global Data – vulnerable to corruption • Unsuitable for large programs • Good for moderately complex programs • But, difficult to maintain and enhance • No code reusability
Object – Oriented Paradigm • Eliminates above shortcomings • Adds several new concepts • New way of organizing and developing solutions • Not tied to any particular language • However, not all languages are suitable to implement OOPs concepts • Small Talk, C++, Ada, Java, Object Pascal • Features • Treats data as a critical element, not allowed to flow freely around the system • Data elements are closely tied to the functions that operate on them Contd……
Data protected from accidental/unintentional modification by other functions • OOPs decomposes a problem into a no. of entities – objects • Then builds data and functions around these entities • Combination of data and methods make up an object • Object=> Data + Methods • Data of an object can be accessed only by the methods associated with that object. Methods of one object can access methods of other objects. • Objects communicate thro’ these method-calls, messages based on strict discipline. • New data and methods can be easily added wherever necessary.
Basic concepts • Objects and Classes: • Objects are basic runtime entities in an object-oriented system • May represent a person, place or any item that the system will handle • Chosen such that they match some real-world entities closely • Occupies memory and has an address – customer, account • Classes – the entire set of data and code of an object can be made a user-defined-type using the concept of a class • Objects are instances of their classes • Open vectra; creates an object vectra of class Opel Contd…..
Object Data Methods • Encapsulation: • Wrapping of data and methods into a single unit • Data is accessible only to the methods of the class • This insulation of data from direct access by the program is called Data Hiding • Abstraction: • Black box • Representation of essential features without including the background details Account Id Balance Get Balance () Withdraw (int)
Inheritance • Process by which objects of one class acquire the properties of another class • Supports the concepts of hierarchical classification • Helps in reusability • Super-class attributes are inherited by subclasses • Subclass is free to add its own attributes and methods