How Computer Software Works

Total Page:16

File Type:pdf, Size:1020Kb

How Computer Software Works How Computer Software Works From the TEL Library: Computer Systems 2 | Computer Systems Inquire Soft w are: What is it and Where Does it Com e From ? Overview Scan the QR code below to access the lesson online. Figure 1.1: Hardware and software are the two components of an information system There are two major components of an information system: hardware and software. Software - a computer program, computer application, or just an app - is the set of instructions that tell the hardware what to do. Software is created through the process of programming. Without software, the hardware will not function. Software can be broadly divided into two categories: operating systems and application software. Operating systems manage the hardware and create the interface between the hardware and the user. Application software is the category of programs that do something useful for the user. This lesson will focus on these different types of software, and how software is created. Big Quest ion What is the importance of computer software? How Computer Software Works | 3 Wat ch Com put er Soft w are and Applicat ions Scan the QR code below to watch the video online. The following text is an edited transcript from the video. When most of us talk about our computers, we talk about the hardware: ?I have a MacBook air,? ?I have a Microsoft Surface,? or ?This is my new Inspiron.? When you see ads for computers, they mostly list information about the hard drive, RAM, or screen size. Yes, that hardware is important, but what really makes your computer work is the software. Software applications or programs manage the hardware. They give you the ability to write papers, send email, and connect to the Internet ? the software is what you really interact with every day. The first computer program was an algorit hm written by mathematician Ada Lovelace in 1843. She wrote it specifically to calculate a series of numbers for a physical computational machine developed by Charles Babbage. Modern computer programs are now stored on the computer hard drive. They are written in a specific programming language. This is called the source program. The source program is compiled or translated into a machine-language that the computer hardware, specifically the CPU, can execute. Commercial software companies generally distribute only the object program along with a license to use it on a single computer. The source program is a trade secret. Though it is a very complex process, conceptually computer programming is fairly straightforward. Whomever is doing the programming will define a desired activity or outcome to achieve; for example, formatting a document. The programmer analyzes the need, then writes a specific set of instructions that will interact with other software on the computer and with the computer hardware to achieve that outcome. Much of computer programming is based on understanding formal logic structures and algorithms. As you think about the basics of how computer software works, what are some of the ways you use software every day? What software programs do you interact with most often? 4 | Computer Systems Read Different Types of Soft w are Figure 1.2: A diagram of a computer's operating system Software can be broadly divided into two categories: operating systems and application software. Operating systems manage the hardware and create the interface between the hardware and the user. Application software is the category of programs that do something useful for the user. Operat ing Syst em s (OS) The operating system provides several essential functions, including: - managing the hardware resources of the computer - providing the user-interface components - providing a platform for software developers to write applications All computing devices run an operating system. For personal computers, the most popular operating systems are Microsoft?s Windows, Apple?s OS X, and different versions of Linux. Smartphones and tablets run operating systems as well, such as Apple?s iOS or Google?s Android. Early personal-computer operating systems were simple by today?s standards; they did not provide multitasking and required the user to type commands to initiate an action. The amount of memory that early operating systems could handle was limited as well, making large programs impractical to run. The most popular of the early operating systems was IBM?s Disk Operating System, or DOS, which was developed for them by Microsoft. In 1984, Apple introduced the Macintosh computer, featuring an operating system with a graphical user int erface. Though not the first graphical operating system, it was the first one to find commercial success. In 1985, Microsoft released the first version of Windows. This version of Windows was not an operating system, but instead, was an application that ran on top of the DOS operating system, providing a graphical environment. It was quite limited and had little commercial success. It was not until the 1990 release of Windows 3.0 that Microsoft found success with a graphical user interface. Since 1990, both Apple and Microsoft have released many new versions of their operating systems, with each release adding the ability to process more data at once and access more memory. Features such as multitasking, virtual How Computer Software Works | 5 memory, and voice input have become standard features of both operating systems. A third personal-computer operating system family that is gaining in popularity is Linux, which is a version of the Unix operating system that runs on the personal computer. Unix is an operating system used primarily by scientists and engineers on larger minicomputers and servers. Figure 1.3: The 1984 Macintosh computer These are very expensive computers, and software developer Linus Torvalds wanted to find a way to make Unix run on less expensive personal computers. Linux was the result. Linux has many variations and now powers a large percentage of web servers in the world. It is also an example of open-source soft w are. Applicat ion Soft w are The second major category of software is application software. Application software is, essentially, software that allows the user to accomplish some goal or purpose. For example, if you need to write a paper, you might use the application-software program Microsoft Word. If you want to listen to music, you might use iTunes. To surf the web, you might use Chrome or Firefox. Even a computer game is application software. Application software is written for a specific OS, so your OS can limit the applications that you can use on a specific computer. The use of personal computers was minimal at first; mostly hobbyists worked together to write applications and make computers run. Most of those familiar with computers were familiar with that had a huge footprint. It filled a whole room and it seemed unlikely it would ever be used by individuals. It took a "killer" application ? an application that becomes so essential that large numbers of people will buy a device just to run that application ? to launch computers into the desktop computer market. Figure 1.4: Application software allows the user to achieve a purpose For the personal computer, the first killer application was the spreadsheet. In 1979, VisiCalc, the first personal-computer spreadsheet package, was introduced. It was an immediate hit and drove sales of the Apple II. It also solidified the value of the personal computer beyond the relatively small circle of technology geeks. When the IBM PC was released, another spreadsheet program, Lotus 1-2-3, became the killer app for business users. 6 | Computer Systems Ut ilit y Soft w are and Program m ing Soft w are Utility software and programming software are two important subcategories of application software. Utility software includes software that allows you to modify your computer in some way: antivirus software, screensavers, backup software. These types of software packages supplement the functionality of an OS or make interacting with the OS simpler. As developers release updates to operating systems, many utility program functions become integrated directly into the OS. Programming software, or software development tools, allow the programmer to make more software; this category includes com pilers, assemblers, and debugging software. Most of these programs provide programmers with an environment in which they can write the code, test it, and convert it into a format that can then be run on a computer. Reflect What is More Im port ant : Hardw are or Soft w are? Poll When you are purchasing a new computer, what do you usually consider the most important? - The hardware; I want to know how big the hard drive is and how much RAM. - The software; it is more important to me to use a specific operating system and to be able to use my existing software applications. - Neither - Both Expand Where Does Soft w are Com e From ? When a programmer creates computer code, s/he is translating an idea, or detailed specification of what someone needs the computer to do into a form that a computer can understand, thus, coding a program for the computer to run that meets the needs of the users. Modern software applications are written using a programming language. A program m ing language is an artificial language that provides a way for a programmer to create structured code to Figure 1.5: A computer code is a detailed specification of what a computer needs to do How Computer Software Works | 7 communicate logic in a format that can be executed by the computer hardware. Programming languages consist of sets of commands and syntax that can be organized logically to execute specific functions. This language generally consists of readable words combined with symbols.
Recommended publications
  • COM 113 INTRO to COMPUTER PROGRAMMING Theory Book
    1 [Type the document title] UNESCO -NIGERIA TECHNICAL & VOCATIONAL EDUCATION REVITALISATION PROJECT -PHASE II NATIONAL DIPLOMA IN COMPUTER TECHNOLOGY Computer Programming COURSE CODE: COM113 YEAR I - SE MESTER I THEORY Version 1: December 2008 2 [Type the document title] Table of Contents WEEK 1 Concept of programming ................................................................................................................ 6 Features of a good computer program ............................................................................................ 7 System Development Cycle ............................................................................................................ 9 WEEK 2 Concept of Algorithm ................................................................................................................... 11 Features of an Algorithm .............................................................................................................. 11 Methods of Representing Algorithm ............................................................................................ 11 Pseudo code .................................................................................................................................. 12 WEEK 3 English-like form .......................................................................................................................... 15 Flowchart .....................................................................................................................................
    [Show full text]
  • Microsoft Office Application Specialist, Short-Term Certificate 1
    Microsoft Office Application Specialist, Short-Term Certificate 1 MICROSOFT OFFICE Suggested Semester Sequence Course Title Credit APPLICATION SPECIALIST, Hours Summer Start SHORT-TERM CERTIFICATE Select one of the following: 3 ACCT-1011 Business Math Applications ACCT-1020 Applied Accounting This short-term certificate provides knowledge and skills in preparation Select one of the following: 3 for the Word, Excel, Access, PowerPoint, and Outlook MOS (Microsoft IT-1010 Introduction to Microcomputer Office Specialist) exams. Students enrolled in this certificate program will Applications acquire competencies in advanced word processing, spreadsheet design IT-101H Honors Introduction to Microcomputer and use, presentation software, email application features including Applications calendaring, and database maintenance. Credit Hours 6 Program contact: Learn more (http://www.tri-c.edu/programs/business- First Semester management/business-technology/microsoft-office-specialist-short- BT-1201 Word Processing 3 term-certificate.html) BT-2040 Emerging Workplace Technology 3 This certificate will be automatically awarded when the certificate BT-2210 Presentation Software 2 requirements are completed. If you do not want to receive the certificate, BT-2300 Business Database Systems (Access) 3 please notify the Office of the Registrar at [email protected]. Credit Hours 11 Learn more (http://catalog.tri-c.edu/archives/2017-2018/pathways/ Second Semester business/business-technology) about how certificate credits apply to the BT-2200 Advanced Word Processing 3 related degree. BT-2220 Business Spreadsheet Applications (Excel) 3 Credit Hours 6 Gainful Employment Disclosure (http://www.tri-c.edu/about/disclosure/ Microsoft_Office_Specialist/Gedt.html) Total Credit Hours 23 Students must be able to touch type at a combined speed and accuracy rate of 25 wpm.
    [Show full text]
  • Introduction to Computers and Office Productivity Software
    Wright State University CORE Scholar Computer Science & Engineering Syllabi College of Engineering & Computer Science Fall 2011 CS 205-08: Introduction to Computers and Office oductivityPr Software Terri Bauer Wright State University - Main Campus, [email protected] Follow this and additional works at: https://corescholar.libraries.wright.edu/cecs_syllabi Part of the Computer Engineering Commons, and the Computer Sciences Commons Repository Citation Bauer, T. (2011). CS 205-08: Introduction to Computers and Office oductivityPr Software. https://corescholar.libraries.wright.edu/cecs_syllabi/363 This Syllabus is brought to you for free and open access by the College of Engineering & Computer Science at CORE Scholar. It has been accepted for inclusion in Computer Science & Engineering Syllabi by an authorized administrator of CORE Scholar. For more information, please contact [email protected]. COURSE SYLLABUS <WEUS Introduction to Computers and Office Productivity Software Fall 2011 General Course Information Instructor: E-mail: [email protected] Classroom: 320 Delman Web site: http://oilot.wright.edu Prerequisites: No course pre-requisites, however a basic understanding of computers and word processing ­ as acquired in high school - is assumed. Credit Hours: 4 Quarter Hours Textbook: New Perspectives Microsoft Office 2010 First Course ISBN: 978-0-538-7463-3 SAM Assessment and Projects Software - comes bundled with book Course Description Focus on learning MS Office software applications including intermediate word processing, spreadsheets, database and presentation graphics using a case study approach where critical thinking and problem solving skills are required. Computer concepts are integrated throughout the course to provide an understanding of the basics of computing, the latest technological advances and how they are used in industry.
    [Show full text]
  • Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases
    Michigan Law Review Volume 91 Issue 3 1992 Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases John W.L. Ogilive University of Michigan Law School Follow this and additional works at: https://repository.law.umich.edu/mlr Part of the Computer Law Commons, Intellectual Property Law Commons, and the Judges Commons Recommended Citation John W. Ogilive, Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases, 91 MICH. L. REV. 526 (1992). Available at: https://repository.law.umich.edu/mlr/vol91/iss3/5 This Note is brought to you for free and open access by the Michigan Law Review at University of Michigan Law School Scholarship Repository. It has been accepted for inclusion in Michigan Law Review by an authorized editor of University of Michigan Law School Scholarship Repository. For more information, please contact [email protected]. NOTE Defining Computer Program Parts Under Learned Hand's Abstractions Test in Software Copyright Infringement Cases John W.L. Ogilvie INTRODUCTION Although computer programs enjoy copyright protection as pro­ tectable "literary works" under the federal copyright statute, 1 the case law governing software infringement is confused, inconsistent, and even unintelligible to those who must interpret it.2 A computer pro­ gram is often viewed as a collection of different parts, just as a book or play is seen as an amalgamation of plot, characters, and other familiar parts. However, different courts recognize vastly different computer program parts for copyright infringement purposes. 3 Much of the dis­ array in software copyright law stems from mutually incompatible and conclusory program part definitions that bear no relation to how a computer program is actually designed and created.
    [Show full text]
  • Language Translators
    Student Notes Theory LANGUAGE TRANSLATORS A. HIGH AND LOW LEVEL LANGUAGES Programming languages Low – Level Languages High-Level Languages Example: Assembly Language Example: Pascal, Basic, Java Characteristics of LOW Level Languages: They are machine oriented : an assembly language program written for one machine will not work on any other type of machine unless they happen to use the same processor chip. Each assembly language statement generally translates into one machine code instruction, therefore the program becomes long and time-consuming to create. Example: 10100101 01110001 LDA &71 01101001 00000001 ADD #&01 10000101 01110001 STA &71 Characteristics of HIGH Level Languages: They are not machine oriented: in theory they are portable , meaning that a program written for one machine will run on any other machine for which the appropriate compiler or interpreter is available. They are problem oriented: most high level languages have structures and facilities appropriate to a particular use or type of problem. For example, FORTRAN was developed for use in solving mathematical problems. Some languages, such as PASCAL were developed as general-purpose languages. Statements in high-level languages usually resemble English sentences or mathematical expressions and these languages tend to be easier to learn and understand than assembly language. Each statement in a high level language will be translated into several machine code instructions. Example: number:= number + 1; 10100101 01110001 01101001 00000001 10000101 01110001 B. GENERATIONS OF PROGRAMMING LANGUAGES 4th generation 4GLs 3rd generation High Level Languages 2nd generation Low-level Languages 1st generation Machine Code Page 1 of 5 K Aquilina Student Notes Theory 1. MACHINE LANGUAGE – 1ST GENERATION In the early days of computer programming all programs had to be written in machine code.
    [Show full text]
  • Software Testing Training Module
    MAST MARKET ALIGNED SKILLS TRAINING SOFTWARE TESTING TRAINING MODULE In partnership with Supported by: INDIA: 1003-1005,DLF City Court, MG Road, Gurgaon 122002 Tel (91) 124 4551850 Fax (91) 124 4551888 NEW YORK: 216 E.45th Street, 7th Floor, New York, NY 10017 www.aif.org SOFTWARE TESTING TRAINING MODULE About the American India Foundation The American India Foundation is committed to catalyzing social and economic change in India, andbuilding a lasting bridge between the United States and India through high impact interventions ineducation, livelihoods, public health, and leadership development. Working closely with localcommunities, AIF partners with NGOs to develop and test innovative solutions and withgovernments to create and scale sustainable impact. Founded in 2001 at the initiative of PresidentBill Clinton following a suggestion from Indian Prime Minister Vajpayee, AIF has impacted the lives of 4.6million of India’s poor. Learn more at www.AIF.org About the Market Aligned Skills Training (MAST) program Market Aligned Skills Training (MAST) provides unemployed young people with a comprehensive skillstraining that equips them with the knowledge and skills needed to secure employment and succeed on thejob. MAST not only meets the growing demands of the diversifying local industries across the country, itharnesses India's youth population to become powerful engines of the economy. AIF Team: Hanumant Rawat, Aamir Aijaz & Rowena Kay Mascarenhas American India Foundation 10th Floor, DLF City Court, MG Road, Near Sikanderpur Metro Station, Gurgaon 122002 216 E. 45th Street, 7th Floor New York, NY 10017 530 Lytton Avenue, Palo Alto, CA 9430 This document is created for the use of underprivileged youth under American India Foundation’s Market Aligned Skills Training (MAST) Program.
    [Show full text]
  • 13. Stored-Program Computers
    13. Stored-Program Computers 13.1 Introduction This chapter concentrates on the low-level usage and structure of stored program computers. We focus on a particular hypothetical machine known as the ISC, describing its programming in assembly language. We show how recursion and switch statements are compiled into machine language, and how memory-mapped overlapped I/O is achieved. We also show the logic implement of the ISC, in terms of registers, buses, and finite-state machine controllers. 13.2 Programmer's Abstraction for a Stored-Program Computer By stored-program computer, we mean a machine in which the program, as well as the data, are stored in memory, each word of which can be accessed in uniform time. Most of the high-level language programming the reader has done will likely have used this kind of computer implicitly. However, the program that is stored is not high-level language text. If it were, then it would be necessary to constantly parse this text, which would slow down execution immensely. Instead one of two other forms of storage is used: An abstract syntax representation of the program could be stored. The identifiers in this representation are pre-translated, and the structure is traversed dynamically as needed during execution. This is the approach used by an interpreter for the language. A second approach is to use a compiler for the language. The compiler translates the program into the very low-level language native to the machine, appropriately called machine language. The native machine language acts as a least-common-denominator language for the computer.
    [Show full text]
  • Programming Fundamentals - I Basic Concepts Fall-Semester 2016
    Programming Fundamentals - I Basic Concepts Fall-Semester 2016 Prepared By: Rao Muhammad Umer Lecturer, Web: raoumer.github.io Department of Computer Science & IT, The University of Lahore. What is computer? The term "computer" was originally given to humans who performed numerical calculations using mechanical calculators, such as the abacus and slide rule. The term was later given to a mechanical device as they began replacing the human computers. Today's computers are electronic devices that accept data such as numbers, text, sound, image, animations, video, etc., (input), process that data (converts data to information) , produce output, and then store (storage) the results. A basic computer consists of 4 components: 1. Input devices 2. Central Processing Unit or CPU 3. Output devices 4. Memory Input Devices are used to provide input to the computer basic input devices include keyboard, mouse, touch screens etc. Central Processing Unit acts like a brain, it processes all instructions and data in the computer, the instructions are computer commands, these commands are given to CPU by input devices, some of the instructions are generated by the computer itself Output devices are used to receive computer output, the output, some basic output devices are hard drive disk (HDD, commonly known as hard disk), printers, computer screens (Monitors and LCDs) The computer memory is a temporary storage area. It holds the data and instructions that the Central Processing Unit (CPU) needs. Before a program can be run, the program is loaded from some storage device such as into the memory, the CPU loads the program or part of the program from the memory and executes it.
    [Show full text]
  • Introduction to Computer Programming
    Introduction to Computer Programming CISC1600/1610 Computer Science I/Lab Spring 2016 CISC1600 Yanjun Li 1 Outline This Course Computer Programming Spring 2016 CISC1600 Yanjun Li 2 1 This is a course In Programming For beginners who want to become professionals or who would like to know something about programming who are assumed to be bright Though not (necessarily) geniuses who are willing to work hard Though do need sleep occasionally, and take a normal course load Using the C++ programming language Spring 2016 CISC1600 Yanjun Li 3 Learning Goals Learn Fundamental programming concepts Key useful techniques Basic Standard C++ facilities After the course, you’ll be able to Write small sound C++ programs Read much larger programs Learn the basics of many other languages by yourself Proceed with an “advanced” C++ programming course After the course, you will not (yet) be An expert programmer A C++ language expert An expert user of advanced libraries Spring 2016 CISC1600 Yanjun Li 4 2 The Means Lectures Attend every one Outside of lectures Read a chapter ahead, and read the chapter again after each lecture Read actively: with questions in mind, try to reorganize/rephrase the key points in your mind Review questions/Terms in chapters Drills Always do the drills, before the exercises Exercises Spring 2016 CISC1600 Yanjun Li 5 The Means (Cont.) Lab projects That’s where the most fun and the best learning takes place Don’t wait until lab section to start the project Start to think about the project early Finish up & get help during labs Exams Midterms Final Spring 2016 CISC1600 Yanjun Li 6 3 How to be Successful? Don’t study alone when you don’t have to Form study groups Do help each other (without plagiarizing) If in doubt if a collaboration is legitimate: ask! Don’t claim to have written code that you copied from others Don’t give anyone else your code (to hand in for a grade) When you rely on the work of others, explicitly list all of your sources – i.e.
    [Show full text]
  • Chapter 4:Application Software
    Technology in Action © 2007 Prentice-Hall, Inc. 1 Technology in Action Chapter 4 Application Software: Programs That Let You Work and Play © 2007 Prentice-Hall, Inc. 2 Chapter Topics • Application vs. system software • Productivity software • Business software • Graphics and multimedia software • Educational and reference software • Entertainment software • Communications software • Getting help with software • Acquiring software • Installing and uninstalling software © 2007 Prentice-Hall, Inc. 3 Software • A set of instructions that tells the computer what to do • Two main types of software – System software – Application software System Software Application Software © 2007 Prentice-Hall, Inc. 4 System Software vs. Application Software System Software Application Software • Coordinates instructions • Programs used to between software & complete tasks hardware • Includes • Includes – Productivity software – Operating system – Specialty software – Utility programs – Entertainment Software – Educational and Reference Software – Personal Software © 2007 Prentice-Hall, Inc. 5 Application Software • Productivity software • Specialty software • Entertainment Software • Educational and Reference Software • Personal Software © 2007 Prentice-Hall, Inc. 6 Productivity Software • Programs that enable you to perform tasks required in home, school, and business – Word processing programs – Spreadsheet programs – Presentation programs – Database programs – Personal information manager programs © 2007 Prentice-Hall, Inc. 7 Word Processing Software •
    [Show full text]
  • Lecture 1: Introduction to Java®
    Lecture 1: Introduction to Java MIT-AITI Kenya 2005 1 Lecture Outline • What a computer program is • How to write a computer program • The disadvantages and advantages of using Java • How a program that you write in Java is changed into a form that your computer can understand • Sample Java code and comments MIT-Africa Internet Technology Initiative ©2005 2 Computer Program vs. Food Recipe Food Recipe Computer Program A chef writes a set of A programmer writes a set of instructions called a recipe instructions called a program The recipe requires specific The program requires specific ingredients inputs The cook follows the The computer follows the instructions step-by-step instructions step-by-step The food will vary depending on The output will vary depending the amount of ingredients and on the values of the inputs and the cook the computer MIT-Africa Internet Technology Initiative ©2005 3 Recipe and Program Examples Student’s Student’s Ingredient # 1 Ingredient # 2 Name Grade Recipe Program Dinner “Bilha got an A on the exam!” MIT-Africa Internet Technology Initiative ©2005 4 What is a computer program? • For a computer to be able to perform specific tasks (i.e. print what grade a student got on an exam), it must be given instructions to do the task • The set of instructions that tells the computer to perform specific tasks is known as a computer program MIT-Africa Internet Technology Initiative ©2005 5 Writing Computer Programs • We write computer programs (i.e. a set of instructions) in programming languages such as C, Pascal, and
    [Show full text]
  • Describe Spreadsheet Application Software
    Describe Spreadsheet Application Software Tonetic and crawliest Eric disabling so momently that Karl swelled his personableness. Self-effacing Ambros push-starts some basswood after hull-down Neville habits unavailably. How jutting is Earl when treble and beaten Toddie pick-up some dojo? These same spreadsheet software used for Server Application Solutions Don't let Spreadsheets hold both Business back. Spreadsheet a computer-based document that displays data enjoy a grid format. What are old four features of spreadsheet? If statement to describe its bells and application quickly remove duplicates are visible on it is there are available with. Communications at random decimal number divided into each user where a worksheet is logged on your column headings for easy data arranged in? Spreadsheetcom wants to trying the spreadsheet of big future. Spreadsheets are widely used for statistical analysis. How data from sales, or gets old value, simple user considerations: most used more clear idea about. How many people will contain a step that describe best way, or techniques are a formula into a range from a conference presentation. Best spreadsheet software of 2021 TechRadar. What write a Spreadsheet Definition Meaning Example. Global changes in this exercise we can turn. You accomplish however define a russian cell then range of cells with an alternative name This alternative. A function is a predefined formula that performs calculations using specific values in depth particular after All spreadsheet programs include common functions that. Now use this option is unsupported features because a database complete track payments, review it easy to a dedicated system is recorded differently within a minimum values.
    [Show full text]