CSE FINAL
What are software licenses?
-is a legal contract that defines the ways in which a computer program may be used. Purchasing software is not the same as buying tangible goods, such as mittens, chairs, and shoes, that can be bought outright by consumers. Once they've been purchased, tangible goods can be used, altered, loaned to friends, resold, or given away. In contrast, a software purchase is actually a license agreement that may include certain restrictions. Some licenses are less restrictive than others, so their terms are factors to consider when selecting software.
What is a VDE?
A VDE (visual development environment) provides programmers with tools to build substantial sections of a program by pointing and clicking rather than typing lines of code. VDEs for mobile devices are based on a storyboard that a programmer manipulates to design the user interface for an app.
What are Web apps?
A Web application (or Web app) is software that is accessed with a Web browser. Instead of running program files that are stored locally, the code for Web applications is downloaded along with HTML pages and is executed client-side by the browser. Program code for some Web applications may also run on a remote server. Web apps are examples of cloud computing. You might be familiar with some frequently used Web apps, such as Gmail, Google Docs, and Turnitin, but there are thousands more. Many Web apps are associated with consumer sites, such as the Color Visualizer at the Sherwin-Williams Web site that uses a photo of your house to help you select paint colors. Other Web apps, such as the XE Currency Converter, have dedicated sites.
How does a compiler work?
A compiler converts all the statements in a program in a single batch, and the resulting collection of instructions, called object code, is placed in a new file. Software supplied at download sites and apps distributed for mobile devices are files containing object code that is ready for the processor to execute. Figure 11-18 illustrates how a compiler works.
How about entering numbers?
A customer or data-entry operator might enter a telephone number as 555-555-7777, (555) 555-7777, or 1-555-555-7777. When numbers are entered in different formats, it becomes difficult to produce properly formatted reports or locate a particular telephone number. To prevent inconsistent formatting, a database designer can specify a field format. A field format is a template that adds the correct formatting as data is entered. If someone attempts to enter data in the wrong format, the database can be set up to reject that entry or correct it. For example, a telephone number field might use a field format
How is indexing different form sorting?
A database index can be used to organize data in alphabetical or numerical order. It is very similar to an index in a book that contains a list of keywords and pointers to the pages where they can be found. A database index contains a list of keys, and each key provides a pointer to the record that contains the rest of the fields related to that key. Unlike a sort order, an index has no bearing on the physical sequence of records on a storage device. An index simply points to the record where the data can be found. The advantage of an index over a sort is that a table can have multiple indexes but only one sort order. For example, the Albums table could be indexed by AlbumTitle to facilitate searches for specific albums. The same table could also be indexed by Artist to facilitate searches using artist names. Database tables should be indexed by any fields that are commonly used to organize or locate data. The database designer normally creates indexes at the time the database structure is designed. Indexes can also be created at a later date, as needed. Figure 10-37 illustrates how an index works.
What is a disk partition?
A disk partition is a section of a hard disk drive that is treated as a separate storage unit. Most hard drives are configured with a single partition that contains the operating system, programs, and data. However, it is possible to create more than one hard disk partition, each with a separate name and device letter. Partitions are created, modified, and deleted using Disk Utility on Macs and Disk Management on PCs. Based on the screenshot in Figure 6-49, the computer might appear to have two hard disk drives: C: and D:. However, in reality, it has one drive divided into two partitions. In such an arrangement, backing up files from C: to D: wouldn't offer protection in case of a hard disk failure because C: and D: are the same physical storage device. Disk partitions help to separate programs from data files. For example, a PC might have one partition for operating system files and another partition for programs and data. This arrangement can speed up the process of disinfecting a computer that has been attacked by malicious software.
What are the basic elements of a flat file?
A field contains the smallest unit of meaningful information, so you might call it the basic building block for a structured file or database. Each field has a unique field name that describes its contents. For example, in an iTunes playlist, the field called Name holds the name of a song, the Time field holds the song length, the Artist field holds the name of the performer, the Album field holds the name of the album that the song came from, and the Genre field holds the type of song. A field can be variable length or fixed length. A variable-length field is like an accordion—it expands to fit the data you enter, up to some maximum number of characters. A fixed-length field contains a predetermined number of characters (bytes). The data you enter in a fixed-length field cannot exceed the allocated field length. Moreover, if the data you enter is shorter than the allocated length, blank spaces are automatically added to fill the field. The fields in Figure 10-7 are fixed length. The underscores indicate the number of characters allocated for each field.
What is a high-level language?
A high-level language uses command words and grammar based on human languages to provide a level of abstraction that hides the underlying low-level assembly or machine language. High-level languages are used to develop applications, games, and most other software. High-level languages, such as BASIC, Python, Java, Prolog, and C++, make the programming process easier by replacing unintelligible strings of 1s and 0s or cryptic assembly commands with understandable commands, such as PRINT and WRITE. Using a high-level language simplifies the coding process and produces programs that are easier to debug and maintain than programs written in low-level languages.
What is a local application?
A local application is installed on a computer's hard disk. When it runs, the program code is copied into RAM, where it can be accessed by the microprocessor. Office suites, games, and professional software tools are common examples of local applications for desktop and laptop computers. Local applications do not require an Internet connection to run.
What are mobile apps?
A mobile app is designed for a handheld device, such as a smartphone, tablet computer, or enhanced media player. They are generally small, focused applications sold through an online app store.
How does a database designer determine the best data groupings?
A process called normalization helps database designers create a database structure that minimizes storage space and increases processing efficiency. The goal of normalization is to minimize data redundancy—the amount of data that is duplicated in a database. Groupings usually correspond to the physical items or entities that are tracked in the database. Each normalized group becomes a table in the final database design. An initial examination of Vintage Music data reveals two groups: albums and customers. The albums group contains data about album titles, artists, and tracks. The customers group contains data about each customer and the orders they place. But is this the best grouping? To answer this question, first take a look at a sample customer order in
What is a relational database?
A relational database stores data in a collection of related tables. Each table is a sequence of records, similar to a flat file. All the records in a table are of the same record type. Each row of a table is equivalent to a record. Each column of a table is equivalent to a field. Most relational databases contain several tables. For example, suppose a store called Vintage Music sells vinyl records both from a mall-based store and online. The store might use five tables to store data
How does a sort work?
A sort rearranges information in a specified order, numerically or alphabetically. Sorts can be in ascending order (beginning with 1 or a) or in descending order. Multi-level sorts may also be possible. A single-level sort uses only one field to arrange records. A multi-level sort arranges information by more than one field. For example, suppose that baseball player statistics are arranged in a tabular format with columns for players, teams, and batting statistics. A single-level sort can arrange the athletes by team, but a multi-level sort is required to arrange the data alphabetically so that within each team, the athlete's names are in alphabetical order. Figure 10-21 illustrates how to carry out a multi-level sort in Microsoft Word.
What happens when the data in a table is sorted?
A table's physical sort order is the order in which records are arranged on storage devices. A sort key is the column of data that is used as the basis for rearranging the data. Sorted tables produce faster queries and updates because they take advantage of clever algorithms that quickly pinpoint records. In a sorted table, new records are inserted to maintain the order. When no sort order is specified, new records are appended to the end of the file, resulting in a file that is not arranged in any particular order. Queries and updates within an unsorted database are slow because the only algorithm for searching an unsorted table requires a sequential look at each record. Some DBMSs store records on a physical storage medium according to a predetermined sort order. The database designer usually specifies this order for each table at the time the database structure is created. Each table can have only one sort order at a time, but the order can be changed. However, changing the sort order can take a long time because the process physically rearranges records. In Figure 10-36, you can see how records might be arranged sequentially on a storage device.
What is a virtual machine?
A virtual machine (VM) allows one computer to simulate the hardware and software of another. Each virtual machine has its own simulated processor, RAM, video card, input and output ports, and operating system. Each machine can run most software that's compatible with the virtual OS platform. Popular virtual machine software such as VMware and Parallels Desktop can run on most computers with Intel microprocessors, including Intel Macs, PCs, and generic Linux computers. The computer boots into its native OS such as OS X, but users can then launch a virtual machine running guest operating systems, such as Windows. The virtual machine's desktop appears in a window on the host desktop
How can a problem statement specify when a problem is solved?
After identifying the known information, a programmer must specify how to determine when the problem has been solved. Usually this step means specifying the output that is expected. Of course, you cannot specify the actual solution in the problem statement. You won't know, for example, whether VanGo's Pizzeria or The Venice has the best deal before you run the program, but you can specify that the computer should output which pizza is the best deal. Suppose we assume that the best deal is the pizza with the lowest price per square inch. For example, a pizza that costs 5¢ per square inch is a better deal than a pizza that costs 7¢ per square inch. The problem is solved, therefore, when the computer has calculated the price per square inch for both pizzas, compared the prices, and printed a message indicating which one has the lower price per square inch. You could write this part of the problem statement as "The computer will calculate each pizza's price per square inch, compare the prices, and then print a message indicating which pizza has the lower price per square inch."
What makes each record unique?
Although two people might have the same name, or two paychecks might contain the same amount, a computer must have some way to differentiate between records. A primary key is a field that contains data unique to a record.
What does an operating system do?
An operating system interacts with application software, device drivers, and hardware to manage a set of resources. In the context of digital devices, the term resource refers to any component that is required to perform work. The processor is a device's main resource. RAM, storage space, and peripheral devices are also resources. While you interact with application software, the operating system is busy behind the scenes performing resource management tasks
What are the main activities associated with analytical databases?
Analytical databases store data that is used by corporate executives, strategic planners, and other workers to examine sales performance, inventory levels, and other business metrics. Although it is possible to extract analytical data from operational databases, analytical databases are structured to provide analytics more efficiently and flexibly. Decision makers can access analytical databases using an executive dashboard, provided by software such as iDashboards, which includes tools for visually displaying query results.
What is Android?
Android is a mobile operating system that is a popular platform for tablet computers, smartphones, and ebook readers. Android was developed by a consortium of technology companies and unveiled in 2007. It is an open source operating system under the project leadership of Google. As with other popular mobile operating systems, Android is designed for ARM processors.
Do computer programs contain any special documentation?
Anyone who uses computers is familiar with program documentation in the form of user manuals and help files. Programmers also insert documentation called remarks (or comments) into the program code. Remarks are identified by language-specific symbols, such as # in Python, or keywords, such as REM in BASIC. Remarks are useful for programmers who want to understand how a program works before modifying it. For example, suppose you are assigned to make some modifications to a 50,000-line program that calculates income tax. Your task would be simplified if the original programmer included remarks that identify the purpose of each section of the program and explain the basis for any formulas used to perform tax calculations. A well-documented program contains initial remarks that explain its purpose and additional remarks in any sections of a program where the purpose of the code is not immediately clear. For example, in the pizza program, the purpose of the expression 3.142 * (radius * radius) might not be immediately obvious. Therefore, it would be helpful to have a remark preceding the expression,
Unit 6. What are the main software categories?
Application software, Development software, system software
What is application-based file management?
Applications include menu options for opening and saving files. In fact, applications call the operating system's file management routines to get the job done. That is the reason the Save window provided by an application looks so similar to the file management utility window.
Are there rules for naming files?
As you learned in Unit 1, a computer file—or simply a file—is defined as a named collection of data that exists on a storage medium, such as a hard disk, cloud drive, or USB flash drive. When saving a file, you must provide a valid file name that adheres to specific rules, referred to as file-naming conventions. The conventions vary slightly from one operating system to another. However, because file sharing is so prevalent, the conventions in Figure 6-48 represent best practices for naming files on any platform.
What is program code?
As you learned in earlier units, a computer program is a set of step-by-step instructions that tell a computer how to carry out a task. The instructions that make up a computer program are sometimes referred to as code, probably because program instructions for first-generation computers were entered as binary codes. Today, program code contains familiar English-like words. Figure 11-1 illustrates the code for a short program that converts inches into centimeters.
Is it easy to retrieve data form files?
Back when information systems emerged as important business tools, data was stored in ASCII files and programmers created custom software modules to access that data. It is still possible to create custom software to accommodate flat files and other database models. Today, however, custom software is rarely created to manage databases because a good variety of off-the-shelf tools are available. These tools are professionally designed to be efficient and avoid problems produced by data dependence. Data dependence is a term that refers to data and program modules being so tightly interrelated that they become difficult to modify. Imagine a database in which program modules and data all exist in one large file! It would be impossible to access the data while editing any of the program modules. Furthermore, changing the file structure in any way might make the modules unusable.
How does the operating system keep track of a file's location?
Before a computer can store a file, the storage medium must be formatted. The formatting process creates the equivalent of electronic storage bins. Magnetic and optical media are divided into circular tracks and then further divided into pie-shaped sectors. Solid state storage media are divided into units. How Does the Operating System Keep Track of a File's Location? Terminology In NTFS, the index file containing metadata for all files is stored in the Master File Table (MFT). The operating system uses a file system to keep track of the names and locations of files that reside on a storage medium, such as a hard disk. Different operating systems use different file systems. For example, OS X uses the Macintosh Hierarchical File System Plus (HFS+). Microsoft Windows uses a file system called NTFS (New Technology File System). To speed up the process of storing and retrieving data, a disk drive usually works with a group of sectors called a cluster or a block. A file system's primary task is to maintain a list of clusters and keep track of which are empty and which hold data. This information is stored in an index file. When you save a file, the operating system looks at the index file to see which clusters are empty. It selects one of these empty clusters, records the file data there, and then revises the index file to include the new file name and its location. A file that does not fit into a single cluster spills over into an adjacent cluster unless that cluster already contains data. When an adjacent cluster is not available, the operating system stores parts of a file in nonadjacent clusters. Figure 6-57 helps you visualize how an index file keeps track of file names and locations.
What are the pros and cons of Chrome OS?
Chrome OS is an example of a thin client because it depends substantially on processing and storage provided by a remote computer—in this case, cloud-based servers. To get a sense of the Chrome OS world, visualize a browser as your desktop and imagine that your digital world is limited to only those online applications, communications, and storage locations that the browser can access. As cloud services become more extensive, Chrome OS becomes less and less limiting. Unlike iPads, Chromebooks support multiple users. They provide very limited local storage space, however, and do not offer connections to wired printers or scanners. Google claims that Chrome OS is very secure, but consumers understand that the security is equivalent to that provided by a browser and by cloud storage services.
What is commercial software?
Commercial software is usually sold in retail stores or on Web sites. Most licenses for commercial software adhere closely to the limitations provided by copyright law, although they might permit the software to be installed on multiple devices. A further restriction could permit the software to be used on only one device at a time. Most commercial software is distributed under a single-user license that limits use to one person at a time. However, some software publishers offer volume licenses, such as site licenses and multiple-user licenses, to schools, organizations, and businesses. A site license is generally priced at a flat rate and allows software to be used on all computers at a specific location. A multiple-user license is priced per copy and allows the allocated number of copies to be used simultaneously.
What is the underlying structure of a database?
Computer databases evolved from manual filing systems. A filing cabinet full of folders and papers would be classified as an unstructured file because every document has a unique structure and contains different kinds of data. In a box of unstructured documents, you could find old receipts, photos, product brochures, and handwritten letters. The electronic equivalent to this jumble of information might be the collection of documents and graphics stored at a social media Web site. In contrast to a collection of dissimilar information, library card catalogs and Rolodexes would be classified as structured files. A structured file uses a uniform format to store data for each person or thing in the file. Many of the databases used in business, ecommerce, and government are stored as structured files. The underlying structure of a database is referred to as a database model. There are several types of database models, each with a unique way of storing data. Database models such as flat files and relational tables are commonly used today, whereas hierarchical models are becoming obsolete. Other models such as graph and multidimensional databases are just beginning to develop a track record. Let's see what these models are all about.
Unit 11. What is the scope of computer programming?
Computer programming encompasses a broad set of activities that include planning, coding, testing, and documenting. Most computer programmers participate to some extent in all of these phases of program development, but they focus on writing instructions that computers follow to perform tasks. A related activity, software engineering, is a development process that uses mathematical, engineering, and management techniques to reduce the cost and complexity of a computer program while increasing its reliability and modifiability. Software engineering can be characterized as more formalized and rigorous than computer programming. It is used on large software projects where cost overruns and software errors might have disastrous consequences.
Are there different classifications of programs?
Computer programs can be classified in many ways, but programmers typically specialize in either application programming or system development. Application programmers create productivity applications such as Microsoft Office, as well as enterprise applications such as CRM and ERP. They also create apps for mobile phones and develop Web applications that run in the cloud. Systems programmers specialize in developing system software such as operating systems, device drivers, security modules, and communications software. Some systems programmers work on a team to create new system software. Other systems programmers may be responsible for ensuring that mainframes and servers perform at peak efficiency by adjusting various operating system and communications settings and writing small custom utilities to monitor performance.
How does a DBMS handle multiple users?
Consider this scenario. Paul, a landscaper, is on the job site and talking to the client, who wants to change the lawn care day from Thursday to Friday. Paul attempts to enter this change into the database on his iPad. At the same time, Beth in the corporate office is on the phone with the client's partner, who wants to change the lawn care day to Monday. If both Paul and Beth attempt to enter this change into the system at the same time, what will happen? Or, suppose that a Zappos.com customer places a pair of to-die-for shoes in her shopping cart. It is the last pair in her size. If she continues to shop, can another customer swoop in, choose the same pair of shoes, and purchase them before the first customer checks out?
Are there many different categories of operating systems?
Consumers are familiar with operating systems such as Windows and iOS, but there are several others in widespread use. Characteristics: Accommodate one user at a time, but allow multiple accounts Provide local area networking capability Include file management tools Run more than one application at a time Offer a graphical user interface designed for keyboard and mouse input
Is there any data that should be left out?
DBMSs and associated applications may be able to generate some data on the fly, and that data would not need to be stored in the database. For example, suppose Vintage Music has a VIP program that gives members a 10% discount. When VIP customers shop for albums at Vintage Music's Web site, they see the regular price and the discounted price. The database, however, contains only one piece of pricing information: Price. The discounted price is not stored in the database. Instead, it is a computed field.
What kind of security does a DBMS provide?
DBMSs require security features to ensure data confidentiality, protect against insider threats, and block unauthorized access. Such features may be included in DBMS products, or they may be available as add-on modules.
How are databases classified?
Databases are classified in several ways. They can be classified based on whether they are maintained by individuals or organizations. They can also be classified by their structure, which is a topic covered later in this section. One of the most basic ways to classify databases distinguishes whether they are used for everyday business operations or for analytical purposes.
What are the most essential applications?
Desktop and laptop computers require an operating system with a file management system that allows users to view and manipulate data files. A basic set of system utilities includes security and antivirus software, network management tools, a browser, and device drivers for the mouse, keyboard, display device, printer, and other peripheral devices. For application software, most desktop and laptop owners require an office suite containing productivity software for word processing, spreadsheet manipulation, slide show presentations, and scheduling.
How do operating systems handle so many processes?
During a typical session, a laptop computer might run an average of 50 processes. Ideally, the operating system should be able to help the microprocessor switch seamlessly from one process to another. Depending on the capabilities of the operating system and computer hardware, processes can be managed by multitasking, multithreading, and multiprocessing. Multitasking. Most of today's popular operating systems offer multitasking services. Multitasking provides process and memory management services that allow two or more tasks, jobs, or programs to run simultaneously. Multithreading. Within a single program, multithreading allows multiple commands, or threads, to run simultaneously. For example, one thread for a spreadsheet program might be waiting for input from the user while other threads perform a long calculation in the background. Multithreading can speed up performance on single- or multiple-processor devices. Multiprocessing. Many digital devices include multi-core processors or multiple processors. An operating system's multiprocessing capability supports a division of labor among all the processing units.
Why would databases need to keep track of relationships?
Each record in a flat file is an independent entity, and no relationships can be established between records. For example, you can't set up links between all of The Beatles' songs in your iTunes playlist. If you are listening to A Hard Day's Night, you can't automatically link to The Beatles' next-most-popular song. In database jargon, a relationship is an association between data that's stored in different record types. Relationships are important because there are associations among the real-life things that database records represent. The iTunes Store maintains a database with information about albums, tracks, and recording artists. Its database also contains information about customers. There are several important relationships within the database, such as the tracks that are related to each album and the customers related to albums they have purchased. An important aspect of the relationship between record types is cardinality. Cardinality refers to the number of associations that can exist between two record types. For example, many albums can be classified as being part of the Rap genre. The reverse is not true, however. An iTunes album can have only one genre; it can't be classified as both Rap and Classical.
Why does the operating system get involved with peripheral devices?
Every peripheral device connected to a computer is regarded as an input or output resource. Your computer's operating system communicates with device driver software so that data can travel smoothly between the computer and peripheral resources. If a peripheral device or driver is not performing correctly, the operating system makes a decision about what to do—usually it displays an on-screen message to warn you of the problem.
What is a folder?
Every storage device has a directory containing a list of its files. The main directory is referred to as the root directory. A root directory can be subdivided into smaller lists. Each list is called a subdirectory. Each subdirectory is depicted as a folder. Folders help you envision files as if they were stored in a filing cabinet. Each folder can hold related items—for example, a set of documents, sound clips, financial data, or photos for a school project. Windows provides a folder called Documents that you might use to hold reports, letters, and so on. You can also create and name folders to meet your needs, such as a folder called QuickBooks to hold personal finance data. Folders can be created within other folders. You might, for example, create a Jazz folder within your Music folder to hold a collection of jazz tracks and another folder named Reggae to hold your reggae music collection. A folder name is separated from a drive letter and other folder names by a special symbol. In Microsoft Windows, this symbol is the backslash (\). For example, the folder for your reggae music (within the Music folder on drive C) would be written as C:\Music\Reggae. Other operating systems use a forward slash (/) to separate folders.
How do programmers use variables?
Factors, such as price, shape, and size, are often treated as variables in computer programs. A variable represents a value that can change. For example, the price of a pizza can vary or change depending on the pizza shop from which it is purchased, so pizzaPrice could become a variable in the pizza program.
Which DBMS tools are easiest to use?
FileMaker Pro and Microsoft Access are easy-to-use DBMSs that are a good fit for small businesses and individuals whose data can't be efficiently handled as a flat file spreadsheet. These DBMSs include all the tools necessary to manipulate data in a database, specify relationships, create data entry forms, query the database, and generate reports. They also have customizable starter templates for common types of databases
What are storage device designations?
Files can be saved on internal storage devices as well as on external devices and in the cloud. Knowing the location of a file is the key to retrieving it. Every storage location has a name, such as C:, JacksHD, DropBox, Macintosh HD, or SanDiskUSB. The storage location name may identify the location of the device, its type, or its owner. When working with Windows, storage devices can also be identified by a device letter. The main hard disk drive is referred to as drive C. A device letter is usually followed by a colon, so C: is typically the designation for a hard disk drive. Removable storage devices are assigned drive letters when they are inserted. For example, Removable Disk (E:) might be the designation for a USB drive. Drive letters are a legacy of DOS, which is why they remain in use in Windows but not on Macs. Macs do not use drive letters. Every storage device on Macs has a name. The main hard disk is called Macintosh HD. Figure 6-49 illustrates how devices might be designated on a PC.
Does the problem statement provide sufficient planning to begin coding?
Formulating a problem statement provides a minimal amount of planning, which is sufficient for only the simplest programs. A typical commercial application or a non-MVP app requires far more extensive planning, which includes detailed program outlines, job assignments, and schedules. Several software development methodologies exist to help program designers and coders plan, execute, and test software. Methodologies can be classified as predictive or agile. Predictive methodology. A predictive methodology requires extensive planning and documentation up front. It is the type of methodology used to construct buildings and assemble cars—tasks that are well defined and predictable. Predictive methodologies work well for software development projects that are well defined and can be patterned after other similar projects. Predictive methodologies tend to be used for large software development projects involving more than ten developers, geographically dispersed development teams, and life-critical applications. Creating the software for air traffic control or a point-of-sale system might be successfully approached by using predictive methodology. Agile methodology. Many software development projects are unique, however, and are not well defined. In contrast to predictive methodologies, an agile methodology focuses on flexible development and specifications that evolve as a project progresses. Agile methods seem best for projects with a small core of developers working at a single location. In an agile-driven project, for example, programmers might produce a subset of the entire project, show it to users, and then plan the next phase of development based on the feedback received. Unlike predictive methodologies, agile development expects and welcomes feature creep, which pushes developers to produce a final product that better meets user needs. Within the agile development framework, the process of developing each iteration of a program is called a sprint. Each sprint produces a fully functional and tested program. Subsequent sprints produce enhanced versions based on user feedback that may modify features or even expand the project's scope. The pizza project is a small app being built by a small team, so it lends itself well to agile methodology. The first sprint as defined by the problem statement is to build an MVP app that asks for pizza prices, sizes, and shapes, and then calculates which pizza has the lowest price per square inch.
What about fifth-generation languages?
In 1982, a group of Japanese researchers began work on a fifth-generation computer project that used Prolog—a computer programming language based on a declarative programming paradigm, which is described in detail in Section E. Prolog and other declarative languages became closely identified with the fifth-generation project and were classified as fifth-generation languages. Some experts disagree with this classification, however, and instead define fifth-generation languages as those that allow programmers to use graphical or visual tools to construct programs rather than typing lines of code.
What is an assumption?
In a problem statement, an assumption is something you accept as true in order to proceed with program planning. Assumptions can be used to define the scope of a problem so that it does not become too complex. Programmers sometimes start with a set of assumptions that simplify a problem. After a simplified version of the problem is solved, subsequent versions can tackle more complex aspects of the problem. For example, with the pizza problem, you can limit its complexity by making the assumptions
What is unique about Android?
In addition to touchscreen input, the Android OS supports voice input for Google searching, voice dialing, navigation, and other applications. The Android OS contains basic network and routing routines that allow Android devices to become Wi-Fi hotspots. For example, activating the Network utility on an Android-based smartphone transforms the phone into a router, and the phone's data connection can be used by a nearby desktop, laptop, or tablet computer to access the Internet. Android provides access to the file system and provides a utility for viewing files stored internally or on external SD cards. A third-party file manager utility is required to manipulate files.
Unit 10. What is a database?
In its broadest definition, a database is a collection of information. Today, most databases are stored as computer files. A database can be a simple list of names and email addresses, or it can be a much more extensive compilation of data, such as Google's collection of user queries. Databases can even incorporate several lists. For example, the database for an ecommerce site, such as Amazon.com, includes inventory lists and customer lists. Databases are created and managed by individuals and organizations. The tasks associated with creating, maintaining, and accessing the information in databases are referred to as data management, file management, or database management.
What is a resource fork?
In most operating systems, a file is a single unit that contains data or program code. Files maintained by OS X, however, can have two parts, called forks. The data fork is similar to files in other operating systems. It contains data, such as the text for a document, the graphics for a photo, or the commands for a program. The resource fork is a companion file that stores information about the data in the data fork, such as the file type and the application that created it.
Where is the operating system?
In some digital devices, such as smartphones and ebook readers, the entire operating system is small enough to be stored in ROM. For most other computers, the operating system program is quite large, so most of it is stored on a hard disk or SSD. During the boot process, the operating system kernel is loaded into RAM. A kernel provides essential operating system services, such as memory management and file access. The kernel stays in RAM the entire time your computer is on. Other parts of the operating system, such as customization utilities, are loaded into RAM as they are needed.
What is a problem statement?
In the context of programming, a problem statement defines certain elements that must be manipulated to achieve a result or goal. A good problem statement for a computer program has three characteristics: It specifies any assumptions that define the scope of the problem. It clearly specifies the known information. It specifies when the problem has been solved.
What was the first-generation of programming languages?
Initially, programmers used machine languages for programming computers, and these languages are sometimes referred to as first-generation languages. In Unit 2, you learned that a machine language consists of a set of commands, represented as a series of 1s and 0s, corresponding to the instruction set that is hard-wired into the circuitry of a microprocessor. Machine language programming is prone to errors. A zero out of place can cause a fatal error that is difficult to debug. Programmers quickly realized that alternative programming tools were essential, which led to the development of second-generation languages.
What do you need to know about the evolution of OS X?
Like Windows, OS X has been through a number of revisions. The original Classic Mac OS was introduced in 1984 and designed for a line of Macintosh computers based on the Motorola 68000 microprocessor. In 2001, Classic Mac OS was rewritten to run on Macintosh computers containing PowerPC microprocessors produced by IBM. The new Mac OS was designated Mac OS X. It was commonly called Cheetah, starting a tradition for easy-to-remember nicknames that continues today.
How much flexibility do enterprise tools offer?
Like dedicated applications for managing personal databases, enterprise applications offer limited flexibility. The field types are predefined to coincide with the application. For example, an inventory application will have predefined fields such as Item Number, Description, Quantity on Hand, Reorder Level, Supplier, and Cost. In contrast, an SCM application might have fields such as CustomerID, MaterialsBill, CarrierID, Route, ArrivalTime, and TrackingNumber. Clearly, the database tables set up for an inventory system are not suitable for SCM, so a unique data structure is required for each. Enterprise applications tend to have some flexibility for customization, which allows field names to be modified to reflect business practices. For example, changing the MaterialsBill field name to OrderNumber might make more sense to workers. Such changes, however, are typically made only to the forms that are displayed on screens or printed.
Can a DBMS support multiple devices and operating systems?
Managers, workers, customers, and clients that access databases use a wide array of devices, including mainframes, laptops, tablets, smartphones, and data collection devices such as point-of-sale scanners. These devices may use consumer operating systems such as Windows, Android, OS X, and iOS, or enterprise operating systems such as Linux, UNIX, Solaris, and BSD.
What is a fourth-generation language?
Many computer scientists believed that third-generation languages would eliminate programming errors. Programmers using third-generation languages still made a variety of errors, however, so computer language development continued to progress. In 1969, computer scientists began to develop high-level languages, called fourth-generation languages, which more closely resembled human languages than did third-generation languages. Fourth-generation languages, such as SQL and RPG, eliminate many of the strict punctuation and grammar rules that complicate third-generation languages. Today, fourth-generation languages are primarily used for database applications. A single SQL command, such as SORT TABLE Kids on Lastname, can replace many lines of third-generation code, as shown in Figure 11-17.
What kinds of databases tract relationships?
Many database models keep track of relationships among data, but there are different techniques for doing so. For example, a hierarchical database allows one-to-one and one-to-many relationships, which are linked in a hierarchical structure
How do programmers chose which to use (compiler or interpreter)?
Many programming languages have both compilers and interpreters. Programmers may choose to use an interpreter for the initial phases of coding and testing, and then use a compiler to create the object code for distribution.
Can a processor directly execute assembly language?
Microprocessors only understand machine language, so there has to be some way to convert assembly language instructions into 1s and 0s. That task is performed by a utility program called an assembler. An assembler typically reads a program written in an assembly language, translates the program into machine language, and then submits the machine language program to the processor for execution. Programs written in assembly languages cannot run until they are translated. This extra step is the cost of abstraction. But as computer capacity and speed increased, this cost became less and less significant. In a moment you'll discover how assemblers paved the way for compilers and interpreters that emerged with third-generation programming languages.
What is Microsoft Windows?
Microsoft Windows is installed on more than 80% of the world's personal computers. Its screen-based desktop is populated with colorful icons used to launch applications, connect to Web sites, and organize files. Each window can display a different document or application, which provides a visual model of the operating system's multitasking capabilities.
Does Windows run on tablets and phones, too?
Microsoft offers several editions of Windows designed for desktop and laptop computers. In addition to basic Windows, consumers can purchase Windows Pro and Windows Enterprise editions, which are designed for power users and businesses. Microsoft also offers mobile operating systems for tablets and smartphones. For example, Microsoft designed an operating system called Windows RT as a mobile operating system for tablet devices with ARM processors. It does not include a full-featured desktop and will not run Windows desktop applications. Like other mobile operating systems, Windows RT limits software to apps obtained through an authorized online store.
How are reports created?
Most DBMSs include a report generator, which is a software tool for specifying the content and format for a database report. Reports are based on report templates. A report template contains the outline or general specifications for a report, including such elements as the report title, fields to include, fields to subtotal or total, and report format specifications. The template does not, however, contain data from the database. Data is merged into the template when the report is generated. As an example, suppose that a manager at Vintage Music wants to create a report that lists albums arranged by price. The manager can create a report template called AlbumPriceGroup that specifies the following: * The title of the report is Vintage Music Albums by Price. * Te report contains data from the Albums table, arranged in four columns, with data from the Price, AlbumTitle, Artist, and InStock fields. * The headings for the columns are Price, Album Title, Artist, and Qty in Stock. * The report is grouped by price.
How do mobile apps differ from Web apps?
Most handheld devices can use both Web apps and mobile apps. The difference between the two is that the program code for Web apps arrives only when you use the app, whereas mobile apps are stored on the handheld device, so they have to be downloaded and installed. Some mobile apps, such as Yelp and Pandora, are hybrids. A thin client is downloaded from an app store, but during use, data is accessed from the Web. These hybrid apps can only function correctly when the device is connected to the Internet, and their use can rack up megabytes on your mobile plan.
Can you use spreadsheet software for databases?
Most spreadsheet software also includes basic data management features. It's quite easy to create simple flat files using a spreadsheet. Depending on the spreadsheet software, it may be possible to sort records, validate data, search for records, perform simple statistical functions, and generate graphs based on the data. Figure 10-23 illustrates Microsoft Excel data management functions applied to a family's health records.
Are software categories universal?
No. There is no universal standard for categorizing software, but various categorization schemes have many similarities. For example, Google Play uses a different set of categories from Apple's App Store and Amazon, and yet there are similarities.
What are the strengths of OS X?
OS X has a reputation for being an easy-to-use, reliable, and secure operating system. According to industry observers, Macintosh developers have always been in the lead when it comes to intuitive user interface design. The operating system kernel of OS X is based on UNIX, a server operating system that includes industrial-strength memory protection features that contribute to a low incidence of errors and glitches. OS X inherited a strong security foundation from UNIX that tends to limit the number of security holes and the damage that can be done by hackers who manage to slip in. Another factor that contributes to the security of computers running OS X is that fewer viruses are designed to target Macs because the user base is smaller than the Windows user base. Regardless of the relative security of computers running OS X, Macintosh owners should practice safe computing by applying software updates and OS patches as they become available, activating wireless network encryption, not opening suspicious email attachments, and not clicking links embedded in email messages. What Are the Weaknesses of OS X?
What is iOS?
OS X is for desktop and laptop computers, but its cousin, iOS, powers mobile devices, such as iPhones, iPads, and iPods.
What is open source software?
Open source software makes uncompiled (produce something by bringing information from other sources together) program instructions—the source code—available to programmers who want to modify (make small changes) and improve the software. Open source software may be sold or distributed free of charge in a compiled form, but it must, in every case, also include the source code. Linux is an example of open source software, as are programs such as Blender and FileZilla. LibreOffice—a full-featured productivity suite—is another popular example of open source software. You can search for open source applications at the SourceForge Web site. open source software is copyrighted and is not in the public domain.
What are file management tools?
Operating systems provide file organization tools called file management utilities. Windows offers a utility called File Explorer, which is launched from the When can Software be legally copied? icon on the taskbar. OS X offers a utility called Finder, which is launched from the When can Software be legally copied? icon on the dock.
What are the main activities associated with operational databases?
Operational databases collect and store data so that it can be viewed, updated, organized, and distributed. These activities are generally carried out by the organization that operates the database. Depending on the purpose of the information system that the database supports, consumers may also participate in these activities. In the following list of activities, the examples illustrate various entities that may have access to the data in an operational database. Collect and store data. A database is a collection of data that grows as additional data is obtained. Data can be gathered by devices that process transactions and information systems that generate digital records to track inventory and similar physical objects. Consumers add data to databases when they carry out activities such as making purchases and subscribing to social media sites. View data. Access to databases is usually limited to authorized users. Those users may be employees of the organization that maintains the database, but third parties may also be granted access. Usually, access rights include limitations. For example, consumers may be able to access their own bank account data, but they are not allowed to access data in other accounts. Even in-house workers may have limited access, as when a customer support technician is allowed access to information about a customer's device that is malfunctioning, but the technician is not allowed access to the customer's payment data.
Do uppercase characters make a difference?
People who enter data into a database sometimes have difficulty deciding whether to use uppercase or lowercase characters. In a case-sensitive database, uppercase letters are not equivalent to their lowercase counterparts. For example, in a case-sensitive database, the artist name Elvis is not equivalent to elvis. Inconsistent use of case can lead to several problems. A search for elvis will not produce records for Elvis or ELVIS. Furthermore, in a sorted or indexed list, elvis and ELVIS might not be grouped together.
Can a database prevent typos?
People who enter data sometimes make a mistake and press the wrong keys. Preventing every typographical error is not possible. However, it is possible to catch some of these errors by using field validation rules, list boxes, or lookups.
What are updates and upgrades?
Periodically, software publishers release a new version or edition of a software product that is sometimes referred to as a software upgrade. Each release carries a version number, such as 1.0 or 2.0. Upgrading to a new version usually involves a fee, but it is typically less costly than purchasing the new version off the shelf. A software update (sometimes called a software patch) is a small section of program code that replaces part of the software currently installed. The term service pack, which usually applies to operating system updates, refers to a set of updates. Updates and service packs are designed to correct problems and address security vulnerabilities. They are distinguished by revision numbers such as 2.101. Software updates and service packs are usually free.
What is portable software?
Portable software is designed for PCs and it runs from removable storage, such as a USB flash drive. Program files are not installed on the hard disk, no configuration data is stored on a local device, and no entries need to be made in the Windows Registry. When the device containing the portable software is removed from the computer, no trace of it is left there. Carrying apps and data on a flash drive makes it possible to use just about any public or private computer without leaving a data trail on the local device or in the cloud. There are a limited number of portable apps, but the available selection covers most essential tasks. Examples of portable applications include LibreOffice Portable, Thunderbird (email), Firefox (browser), and FileZilla
How do you install portable software?
Portable software is so simple to install that it is sometimes referred to as install-free software. Installation is simply a matter of getting program files to the media on which they are supposed to run. For example, suppose that you want to run LibreOffice Portable from a USB flash drive. You can download the LibreOffice Portable ZIP file and then simply unzip it so that the files end up on the USB flash drive
What can cause program errors?
Programs that don't work correctly might crash, run forever, or provide inaccurate results. When a program doesn't work correctly, it is usually the result of a runtime, logic, or syntax error. Runtime errors. A runtime error occurs when a program runs. Some runtime errors result from instructions that the computer can't execute. The instruction discountPrice = regularPrice/0 produces a runtime error because dividing by 0 is a mathematically impossible operation that the computer cannot perform. Logic errors. A logic error is a type of runtime error in the logic or design of a program, such as using the wrong formula to calculate the area of a round pizza. Logic errors can be caused by an inadequate definition of the problem or an incorrect formula for a calculation, and they are usually more difficult to identify than syntax errors. Syntax errors. A syntax error occurs when an instruction does not follow the syntax rules, or grammar, of the programming language. For example, the instruction print "A " price "pizza is cheap." produces a syntax error because it is missing some punctuation. The correct version of the instruction is print ("A ", price, " pizza is cheap."). Syntax errors are easy to make, but they are usually also easy to detect and correct. Figure 11-10 lists some common syntax errors.
What are the most common types of software licenses?
Public domain software is not protected by copyright because the copyright has expired or the author has placed the program in the public domain, making it available without restriction. Public domain software may be freely copied, distributed, and even resold. The primary restriction on public domain software is that you are not allowed to apply for a copyright on it Proprietary software has restrictions on its use that are delineated by copyright, patents, or license agreements. Some proprietary software is distributed commercially, whereas some of it is free. Based on licensing rights, proprietary software is distributed as commercial software, freeware, demoware, or open source software.
Why is software licensed?
Purchasing software is not the same as buying tangible goods, such as mittens, chairs, and shoes, that can be bought outright by consumers. Once they've been purchased, tangible goods can be used, altered, loaned to friends, resold, or given away. In contrast, a software purchase is actually a license agreement that may include certain restrictions. Some licenses are less restrictive than others, so their terms are factors to consider when selecting software. Software copyrights protect the rights of the person or corporation that developed the intellectual property. Most software displays a copyright notice, such as © 2016 eCourse Corporation, on one of its screens. This notice is not required by law, however, so programs without a copyright notice are still protected by copyright law.Without copyright protection, software would be copied and distributed by unauthorized parties without compensation to its authors. Copyright protects a software product by imposing a set of restrictions on its use. The copyright holder may want to add or remove some of those restrictions, and a software license provides the means to do so.
What is a second-generation language?
Second-generation languages added a level of abstraction to machine languages by substituting abbreviated command words for the strings of 1s and 0s used in machine languages. Languages in this new generation were called assembly languages. Like a machine language, an assembly language is classified as a low-level language because it is machine specific—each assembly language command corresponds on a one-to-one basis to a machine language instruction.
What are the limitations of using spreadsheets and word processors to manage data?
Simple file management tools provided by word processing and spreadsheet software are popular for individuals who want to maintain flat files that contain hundreds, not thousands, of records. These tools work well for a simple address book, an inventory of household goods, a record of health care costs, and a variety of other simple lists.
What are the best sources for software?
Software download sites, such as CNET and Tucows, offer applications from multiple developers. The focus of these software outlets is applications for desktop and laptop computers. A Google search for free software yields many sites, but be careful. Some of these sites are riddled with ads and spyware that will infect your device even if you do not download anything comments and ratings at these sites is always a good practice that can help consumers avoid downloading risky apps and those that are not well designed. Well-established developers tend to offer trustworthy products.Always confirm that payment transactions are processed over a secure HTTPS connection, and consider using PayPal rather than a credit card if you doubt the integrity of the site operators.
What's included in a typical software package?
Software for Macs is usually stored in a single executable file with an .app extension. That file, however, is actually a package that contains other files and folders. The contents of an application's package can be viewed by right-clicking the .app file and selecting Show Package Contents. Software designed for computers that run Microsoft Windows is commonly composed of multiple files. The main executable file has an .exe extension—for example, Inkscape.exe. Additional files required for Windows application software contain support modules called application extensions with file names that end in .dll,
What is the process for installing software on PCs?
Software for PCs contains a setup program that guides you through the installation process. The setup program makes installation easy because it handles a variety of behind-the-scenes technical details. During the installation process, the setup program usually performs the following activities: Copy files. Copies application files from distribution media (CDs or DVDs) or downloads files to specified folders on the hard disk Unzip files. Reconstitutes files that have been distributed in compressed format Check resources. Analyzes the computer's resources, such as processor speed, RAM capacity, and hard disk capacity, to verify that they meet or exceed the minimum system requirements Select device drivers. Analyzes hardware components and peripheral devices to select appropriate device drivers Find players. Looks for any system files and players, such as Internet Explorer or Windows Media Player, that are required to run the program but are not supplied on the distribution media or download Update the Registry. Updates necessary system files, such as the Windows Registry and the Start menu, with information about the new software Update the desktop. Places an icon or tile for the new software on the Windows desktop, Start screen, or Start menu
How are some programming language more sophisticated than others?
Sophistication is not a technical term. Computer scientists instead use the term abstraction, which in a broad sense removes detail and theoretically reduces complexity. When applied to programming languages, abstraction inserts a buffer between programmers and the chip-level details of instruction sets and binary data representation. As an analogy, think about driving a car with a manual transmission that requires you to shift gears using a clutch and a stick shift. Compare that to a car with an automatic transmission that does not require the driver to deal with shifting gears. The car with an automatic transmission has a higher level of abstraction because the driver does not need to be concerned with the mechanics and gears of the car's hardware. For programming languages, abstraction automates hardware-level details, such as how to move data from memory to the processor or how to determine which button a user selects on a touchscreen. Programming languages evolved from low-level languages to languages with increasingly higher levels of abstraction (Figure 11-14).
How do you code a computer program?
The core of a computer program is a sequence of instructions. Just as an English sentence is constructed from various words and punctuation marks that follow a set of grammar rules, each instruction for a computer program consists of keywords and parameters that are held together by a set of rules. For example, suppose you would like the pizza program to conclude with a message such as "Pizza at VanGo's Pizzeria is the best deal!" The instruction to display that message looks like this when written in the Python programming language: print ("Pizza at ", restaurant, " is the best deal!")
How does a database designer know what data types to use?
The data that can be entered into a field depends on the field's data type. From a technical perspective, a data type specifies the way data is represented on physical storage media and in RAM. From a user perspective, the data type determines the way data can be manipulated. When designing a database, each field is assigned a data type. Most database management systems support a variety of data types, though some DBMSs may not support all of them. Real. There are several numeric data types, including real, integer, and date. Database designers assign the real data type to fields that contain numbers with decimal places, such as prices and percentages. Integer. The integer data type is used for fields that contain whole numbers— quantities, repetitions, rankings, and so on. Database designers use the integer data type unless the data requires decimal places because real numbers require more storage space. Date. As you might expect, the date data type is used to store dates in a format that allows them to be manipulated, such as when you want to calculate the number of days between two dates. Text. The text data type is normally assigned to fixed-length fields that hold character data—people's names, album titles, and so on. Text fields sometimes hold data that looks like numbers but won't be mathematically manipulated. Telephone numbers, Social Security numbers, ZIP codes, and item numbers are examples of data that looks numeric but is normally stored in text fields. Memo. A memo data type usually provides a variable-length field into which users can enter comments. For example, the Vintage Music database might contain a memo field for storing comments about a particular album, such as "Where Did Our Love Go was The Supremes' first hit album." Logical. The logical data type (sometimes called a Boolean or yes/no data type) is used for true/false and yes/no data, which requires minimal storage space. For example, a database designer might define a logical field called VIP, which would contain a Y if a customer has attained VIP status and is entitled to discounts.
What is source code?
The human-readable version of a program created in a high-level language by a programmer is called source code. Just as with an assembly language program, source code cannot be directly executed by a microprocessor. It must first be translated into machine language. This translation can be accomplished by a compiler or an interpreter.
How does information apply to a problem statement?
The known information in a problem statement is the information that is supplied to the computer to help it solve a problem. For the pizza problem, the known information includes the prices, shapes, and sizes of pizzas from two pizzerias. The known information is often included in the problem statement as givens. For example, a problem statement might include the phrase, "given the prices, shapes, and sizes of two pizzas...."
How big are we talking?
The statement that the digital universe generates 44 zettabytes of data each year is interesting—but only to those people who understand the magnitude of a zettabyte. It is easy to toss around terms like petabyte, exabyte, and zettabyte, but they are just words with little meaning unless compared to things we deal with every day. A few comparisons in Figure 10-53 can help convey the enormous size of these numbers.
What is a DBMS?
The term DBMS (database management system) refers to software that manages data stored in a database. It includes routines to define the structure of a database, including its fields and relationships. A DBMS allows developers to set up applications that collect and process data from point-of-sale terminals, ecommerce Web sites, handheld data gathering devices, or the Internet of Things. It also offers routines for defining how data is displayed on the screen and in printed reports. Developers can use a DBMS to create almost any application that revolves around a collection of data. It can be used for consumer-level applications, such as tracking player statistics for a local sports league or managing a nonprofit organization's fund-raising campaigns. Small businesses might use a DBMS to manage client billing or for scheduling projects. At the enterprise level, DBMSs are used to keep records pertaining to employees and compliance, sales leads, inventories, job costs, and just about every other aspect of business operations.
What is big data?
The term big data seems oddly non-technical, but it has a specific meaning in the world of databases. Big data refers to huge collections of data that are difficult to process, analyze, and manage using conventional database tools. An example of big data is the 1 million transactions generated by Walmart sales registers every hour. Other examples of big data include user profiles stored on social network sites, the archive of Google searches, medical records, astronomical data, and military surveillance data.
How does a database designer know what data to store?
The term database structure refers to the arrangement of fields, tables, and relationships in a database. The first step in structuring a relational database is to determine what data should be collected and stored. To do so, a database designer might begin by consulting users and studying the current system to compile a list of available data as well as any additional data necessary to produce screen-based output or printed reports. Suppose that you are designing the database structure for Vintage Music, the business used in earlier examples. Initially, you would probably recognize that data, such as album titles and artist names, should be collected for each of the vinyl records in the store's inventory. Also, names, addresses, and order information should be collected for each customer.
What are the weaknesses of IOS X?
The weaknesses of OS X include a somewhat limited selection of software and its use of resource forks. A decent collection of software is available for computers that run OS X, although the selection is not as vast as the Windows collection. Many of the most prolific software publishers produce one version of their software for Windows and another, similar version for OS X. Macintosh computer owners might find that some popular software titles are not available for OS X. The selection of games, for example, is much sparser than for Windows, although it should be noted that the selection of graphics software for OS X is as good as or better than the selection available for Windows.
What is a third-generation language?
When high-level languages were originally conceived in the 1950s, they were dubbed third-generation languages because they seemed to be a major improvement over machine and assembly languages. Third-generation languages used easy-to-remember command words, such as PRINT and INPUT, to take the place of several lines of assembly language op codes or lengthy strings of machine language 0s and 1s. Third-generation languages, such as COBOL and Fortran, were used extensively for business and scientific applications. Pascal and BASIC were popular teaching languages. C and C++ remain popular today for system and application software development—for example, to develop Microsoft Windows and Linux. Recently developed third-generation languages are important for modern apps. Objective-C and Swift are programming languages used to develop iPhone and iPad apps. Java is used for Android apps. An important characteristic of third-generation programming languages is that the source code can be written with simple tools, such as a text editor, and this code can be easily understood by programmers. Read through the program in Figure 11-16. Can you guess what it does?
How does iOS work?
iOS displays a home screen containing application icons. At the bottom of the screen, a dock holds icons for frequently used apps. Touching an app launches it. Pressing the physical Home button located on the device returns the user to the home screen. The Settings icon leads to a variety of system utilities
What is jailbreaking?
iPads, iPhones, and iPods are only allowed to download apps from the official iTunes App Store. Apps are available from other sources, but using them requires an unauthorized change to the device's software called a jailbreak. After downloading and installing the jailbreak software, your device will be able to install apps from a variety of sources other than the iTunes App Store. The jailbreak lasts until you accept a software update from Apple. Updates wipe out the jailbreak software, forcing you to reinstall it.
Who uses Web apps?
just about everyone. Web apps are particularly suited for consumer-level activities, such as basic word processing, spreadsheet creation, photo editing, audio recording, video editing, presentation design, and personal finance management. Although they may not yet provide features required by professionals, the sophistication of Web apps continues to increase. As an extra bonus, many Web apps allow several people to collaborate on projects because the project files are stored on the Web and can be easily shared