Lecture 4 - Software (1).pdf
Document Details
Uploaded by HappierBaltimore
Related
- PCSII Depression/Anxiety/Strong Emotions 2024 Document
- A Concise History of the World: A New World of Connections (1500-1800)
- Human Bio Test PDF
- University of Santo Tomas Pre-Laboratory Discussion of LA No. 1 PDF
- Vertebrate Pest Management PDF
- Lg 5 International Environmental Laws, Treaties, Protocols, and Conventions
Full Transcript
Principles of Information Systems, Thirteenth Edition Chapter 4 Software © 2017 Cengage Learning. All Rights Reserved. May not be copied, s...
Principles of Information Systems, Thirteenth Edition Chapter 4 Software © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain 1 product or service or otherwise on a password-protected website for classroom use. Objectives After completing this chapter, you will be able to: 1. Define the term “sphere of influence,” and describe how it can be used to classify software 2. Define the basic functions performed by the operating system 3. Identify current operating systems that are used for personal, workgroup, and enterprise computing 4. Discuss how application software can support personal, workgroup, and enterprise business objectives 5. Identify programming languages in use today 6. Identify key software issues and trends that have an impact on several organizations and individuals © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. An Overview of Software Software Consists of computer programs that control the workings of computer hardware Software can be divided into two types: System software –coordinates the activities and functions of the hardware and other programs Application software – programs that help users solve particular computing problems © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 3 or otherwise on a password-protected website for classroom use. Software Sphere of Influence Personal sphere of influence Serves the needs of an individual user Workgroup sphere of influence Workgroup: two or more people working together to achieve a common goal Enterprise sphere of influence Serves the needs of the firm in its interaction with its environment © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 4 or otherwise on a password-protected website for classroom use. System Software Types of system software Operating systems Utility programs Virtualization software Middleware © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 5 or otherwise on a password-protected website for classroom use. Operating Systems A set of programs that controls computer hardware and acts as an interface with application programs © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 6 or otherwise on a password-protected website for classroom use. Operating Systems Combinations of OSs, computers, and users: Single computer with a single user - Examples: Microsoft Windows, Google Android, and certain distributions of Linux Single computer with multiple simultaneous users - Used in mainframe computers that support hundreds or thousands of people - Examples: IBM z/OS and certain distributions of Linux Multiple computers with multiple users - Can be seen in a homogeneous environment (e.g., a data center) where all servers run the same version of the operating system - Examples: Windows Server and certain distributions of Linux Special-purpose computers: - Controls computers with specialized functions such as sophisticated military aircraft, digital cameras, or home appliances - Examples: Windows IoT and certain distributions of Linux © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 7 or otherwise on a password-protected website for classroom use. Operating Systems Kernel The heart of the operating system Controls the most critical processes of the OS Ties all of the OS components together and regulates other programs Functions performed by the OS kernel Controls common computer hardware functions Provides a degree of hardware independence Manages system memory Manages processing tasks Provides networking capability Manages files © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 8 or otherwise on a password-protected website for classroom use. Operating Systems Common Hardware Functions Get input from keyboard or another input device Retrieve data from disks Store data on disks Display information on a monitor or printer © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 9 or otherwise on a password-protected website for classroom use. Operating Systems Hardware Independence OS provides a degree of hardware independence via APIs The API allows software developers to build applications without needing to understand the inner workings of the OS and hardware Application program interface (API): a set of programming instructions for one software program to access and use the services of another software program An API provides a software-to-software interface, not a user interface © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 10 or otherwise on a password-protected website for classroom use. Operating Systems Processing Tasks: five basic task management techniques 1. Multiuser: allows two or more users to run programs at the same time on one computer - Examples: Microsoft's Windows Server, Unix, and Linux distributions for enterprise 2. Multiprocessing: supports running a program on more than one CPU (or core) 3. Multitasking: allows more than one program to run concurrently - In a multitasking OS, you can have a web browser, a word processor, and a video player all running at the same time, and you can switch between them seamlessly 4. Multithreading: allows different threads (or parts) of a single program to run concurrently - Web browsers can use multithreading to manage multiple open tabs simultaneously. Each tab may be assigned its own thread, allowing for independent loading and interaction with web content without impacting the responsiveness of other tabs 5. Real time: responds to input instantly - Real-time operating systems are used to control the operation of jet engines, the deployment of air bags, and the operation of antilock braking systems—among other uses © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 11 or otherwise on a password-protected website for classroom use. Operating Systems Operating systems use multitasking, multiprocessing, and multithreading to increase the amount of processing that can be accomplished in a given amount of time Not all operating systems employ all these approaches to task management For example, Windows, macOS, and general-purpose Linux cannot support real- time processing © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 12 or otherwise on a password-protected website for classroom use. Operating Systems File Management The OS manages the storage of files and folders on the storage device using a method called the “file system” - It keeps track of where each file is stored and who is allowed to access them - How does the OS store files in secondary storage devices? (REQUIRED) [link] (4:48 to 9:18) Memory Management Manages the data stored on main memory - Swapping data between RAM and disk when needed - Ensuring each program gets the memory it needs without interfering with others Networking Capability Allows computers in a network to send and receive data and share computing resources Operating systems for larger server computers are designed specifically for computer networking environments © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 13 or otherwise on a password-protected website for classroom use. Operating Systems The OS also provide a user interface and input/output management User Interfaces (UIs): allows individuals to interact with the computer system 1. A command-line interface (CLI) - Requires memorizing text commands 2. A graphical user interface (GUI) - The user interacts with icons and menus to send commands to the computer system 3. Voice User Interface - To interact with computers and devices using spoken language - Virtual assistants like Siri, Amazon's Alexa, and Google Assistant are prominent examples 4. Brain-Computer Interfaces (BCI) - For people with disabilities [link1] [link2] Natural User Interface (NUI) Seamlessly integrates gestures (as seen in Xbox Kinect and Nintendo Wii), voice commands (like Siri), and touch to create an intuitive and natural way of interacting with computers © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 14 or otherwise on a password-protected website for classroom use. Operating Systems © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 15 or otherwise on a password-protected website for classroom use. Operating Systems There is a saying, “graphical user interfaces make easy tasks easier, while command line interfaces make difficult tasks possible” Some other advantages: Efficient remote access: CLI’s low-overhead interface allows fast access to remote computers Automate repetitive tasks: easily script tasks, saving time and reducing errors in routine operations Optional Why should you learn CLI? [link1] [link2] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 16 or otherwise on a password-protected website for classroom use. Current Operating Systems © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 17 or otherwise on a password-protected website for classroom use. Linux Open-source operating system, developed in 1991 by Linus Torvalds as a student in Finland Linus developed the kernel The kernel is enhanced over time through collaborative efforts from the community It’s heavily influenced by Unix and it’s often referred to as a "UNIX-like" OS Individuals and organizations can use the open-source Linux code (i.e., the kernel) to create their own distribution (flavour) of Linux A distribution is a complete operating system that consists of: 1. The Linux kernel (the core of the operating system)—which controls the hardware, manages files, separates processes, and performs other basic functions 2. Other software such as the terminal interface (CLI), the graphical user interface (GUI), and utility programs © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 18 or otherwise on a password-protected website for classroom use. Personal Computing Operating Systems Microsoft Windows Apple macOS A Unix-based OS Linux: distributions designed for individual users include: Ubuntu openSUSE © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 19 or otherwise on a password-protected website for classroom use. Personal Computing Operating Systems⁺ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 20 or otherwise on a password-protected website for classroom use. Personal Computing Operating Systems Google ChromeOS ChromeOS is built on the premise that most computing tasks and data storage can be done in the cloud, rather than on local devices Linux-based operating system Designed to run on inexpensive low-power computers (e.g., Chromebooks and Chromeboxes) ChromiumOS: An open-source version of ChromeOS © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 21 or otherwise on a password-protected website for classroom use. Mobile Operating Systems Android An open-source OS developed by Google The majorly of mobile phones worldwide use Android (70% - 80%) Apple iOS Microsoft Windows Phone (discontinued) But why did it fail? [link1] [link2] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 22 or otherwise on a password-protected website for classroom use. Enterprise Operating Systems Operating systems that typically offer Web server management Virtualization Advanced security features, and administrative support UNIX The original Unix developed at AT&T's Bell Labs in the late 1960s is not widely used today Some of Unix descendants (have some historical connection to the original Unix) remain in active use today: HP-UX from Hewlett-Packard, AIX from IBM, Solaris from Oracle, and BSD variants⁺ Only certain variants are open source (BSD variants) Linux Distributions that can manage a cluster of several servers - SUSE Linux Enterprise Server (SLES) - Red Hat Enterprise Linux Server - Ubuntu Server © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 23 or otherwise on a password-protected website for classroom use. Enterprise Operating Systems Windows Server Mainframe OSs z/OS: IBM’s first 64-bit enterprise OS Linux-based - Ubuntu Server for IBM Z - Red Hat Enterprise Linux for IBM Z - openSUSE for IBM Z © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 24 or otherwise on a password-protected website for classroom use. Enterprise Operating Systems: The Evolution of Unix Systems Photo: KommissärMatthäi Unix-like © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 25 or otherwise on a password-protected website for classroom use. Embedded Operating Systems Embedded system: a specialized computer system with a customized operating system, designed to perform specific tasks Types of embedded systems Real-time - Antilock brakes (ABS), air bag deployment, and blind-spot monitoring Standalone - Digital cameras, e-book readers, navigation devices (Garmin), and microwave ovens Usually they are Linux-based systems Networked - ATMs and point-of-sale (POS) systems Windows IoT - Routers (Cisco IOS) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 26 or otherwise on a password-protected website for classroom use. Utility Programs Utility program: A program that helps to perform maintenance or correct problems with a system © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 27 or otherwise on a password-protected website for classroom use. Utility Programs Hardware utilities Defragmentation software (a disk utility): a tool that organizes and optimizes the placement of fragmented files on a computer's storage, enhancing overall system performance by reducing file access times (See next slide) System cleaners and uninstallers Security utilities Antivirus and anti-malware utilities Firewall software File-compression utilities File-compression programs can reduce the amount of disk space required to store a file or reduce the time it takes to transfer a file over the Internet A Zip file has a.zip extension, and its contents can be unzipped to the original size MP3: a popular format for compressing a sound sequence into a very small file while preserving the original level of sound quality © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 28 or otherwise on a password-protected website for classroom use. File Defragmentation Software What causes file fragmentation? Why is it necessary to occasionally defragment files? Is defragmentation still relevant when using SSD as a permanent storage device? Why? Visualization of the process of fragmentation and defragmentation [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 29 or otherwise on a password-protected website for classroom use. Virtualization Software Software that allows the creation of virtual servers (virtualization), which separate a physical computing device into one or more “virtual” servers Companies use virtual servers to dramatically reduce the number of actual physical servers in use Save millions of dollars in capital and operating expenses (including energy costs) per year © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 30 or otherwise on a password-protected website for classroom use. Middleware Middleware is software that allows different systems to communicate and exchange data like a middleman basically Middleware has many uses, including: Integration (Bridging disparate applications) - It is implemented to address situations in which a company acquires different types of information systems—often through mergers, acquisitions, or expansion Interface between the internet and private enterprise systems - Authentication: Identity and access management (IAM) systems. - Load balancing: Distributing incoming requests across multiple servers or instances. [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 31 or otherwise on a password-protected website for classroom use. Application Software Application programs’ primary function is to perform specific tasks Application software Personal applications Enterprise applications © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 32 or otherwise on a password-protected website for classroom use. Personal Application Software Word Processing Create, edit, and print text documents Spreadsheet Analysis Perform statistical, financial, logical, graphics, and date and time calculations using a wide range of built-in functions Presentation Program Develop graphs, illustrations, drawings, and presentations © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 33 or otherwise on a password-protected website for classroom use. Personal Application Software Software Suites and Integrated Software Packages A collection of single programs packaged together in a bundle Suites can include: word processor, spreadsheet, database management, graphics, communications tools, and organizers © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 34 or otherwise on a password-protected website for classroom use. Personal Application Software Other Personal Application Software Software for creating web pages and sites and for editing photos and videos Educational and reference Entertainment and games Computer-assisted design (CAD) Statistical software: SPSS and SAS © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 35 or otherwise on a password-protected website for classroom use. Personal Application Software Mobile Application Software Google Play has 3.5 million apps Apple App Store has 1.6 million apps F-Droid - Free and open-source android apps - Has around 4,000 apps © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 36 or otherwise on a password-protected website for classroom use. Enterprise Application Software Enterprise application software Cost, installation and ability to integrate with other software are major considerations in selecting this software © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 38 or otherwise on a password-protected website for classroom use. Enterprise Application Software Two main types of software: Software development (i.e., building custom software in-house) - A one-of-a-kind program for a specific application - Owned by the company, organization, or person that uses it Software acquisition (i.e., buying off-the-shelf software) - Buying software mass-produced by software vendors - Ideal for software that addresses common needs across businesses, organizations, or individuals © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 39 or otherwise on a password-protected website for classroom use. Software Development vs. Software Acquisition © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 40 or otherwise on a password-protected website for classroom use. Application Software Cloud service providers Companies that provide software, data storage, and other services via the Internet Software as a service (SaaS) Businesses subscribe to web-delivered business application software Leading public cloud service providers: Amazon Web Services (AWS) Microsoft Azure Google Cloud © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 41 or otherwise on a password-protected website for classroom use. Programming Languages Programming languages Allow humans to communicate instructions to a computer Compiler: a special software program that converts the programmer’s source code into the machine-language instructions © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 42 or otherwise on a password-protected website for classroom use. Programming Languages e © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 43 or otherwise on a password-protected website for classroom use. Integrated Development Environments (IDEs) IDE combines all the tools required for software engineering into one package Code editor - AI-empowered [link] Compiler Debugger Version control integration (with Github, for example) - Recommended course [link] Examples of IDEs: Xcode, Visual Studio, and Eclipse IDEs for developing mobile applications offer a simulator/emulator: Android Studio has an emulator that enables developers to test their applications on virtual Android devices The Xcode Simulator for iOS allows developers to simulate and evaluate their apps on virtual iOS devices © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 44 or otherwise on a password-protected website for classroom use. Integrated Development Environments (IDEs) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 45 or otherwise on a password-protected website for classroom use. Software Development Kits (SDKs) SDK: a set of tools, libraries, and documentation that helps developers create applications for specific platforms (e.g., hardware platforms, OS, cloud services) SDKs are usually offered by hardware, software, and cloud companies Apple offers the following SDKs: macOS SDK, iOS SDK, and watchOS SDK Examples of SDKs for Java⁺: Android SDK Apache Tomcat - Hosting Java-based web applications she AWS SDK for Java Google Cloud SDK for Java Microsoft Azure SDK for Java © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 46 or otherwise on a password-protected website for classroom use. Programming Libraries Collections of prewritten code that provide reusable functions, classes, and data structures to simplify the development of new software applications Examples of libraries for Java developers⁺: Stanford CoreNLP: Natural (human) language processing WEKA: Machine learning Deeplearning4L (DL4J): Deep served learning JUnit: Software testing JDBC: Relational database © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 48 or otherwise on a password-protected website for classroom use. Web Development Hypertext Markup Language (HTML): The standard language for web pages Demo (REQUIRED): https://youtu.be/guvsH5OFizE?t=245 (4:05 to 5:54) Cascading Style Sheets (CSS): a file or portion of an HTML file that defines the visual appearance of content in a webpage The web without CSS: [link] © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 49 or otherwise on a password-protected website for classroom use. Web Programming Languages Server-side programming languages include: Java ASP.NET PHP Python Client-side programming/scripting languages include: HTML: for structuring web content. For example, which part is the headline, which part is a list, and so on CSS: for styling and formatting webpages JavaScript: used for creating responsive web pages that react to user interactions © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 50 or otherwise on a password-protected website for classroom use. How to Transport and Store Data on the Web Two widely used formats for representing data: XML and JSON Example of XML Example of JSON © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 51 or otherwise on a password-protected website for classroom use. How the Web Works © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 52 or otherwise on a password-protected website for classroom use. Software Issues and Trends Software bugs Freeware and open-source software Licensing © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 53 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Software Bugs Software bug: a defect in a program that keeps it from performing as it should Tips for reducing the impact of software bugs Check read-me files for solutions to known problems Access the support area of the manufacturer’s web site for patches Install the latest software updates Make sure you can recreate the bug and then call the manufacturer’s tech support line © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 54 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Freeware and Open-Source Software Freeware: software that is made available to the public for free © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 55 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Freeware and Open-Source Software Open-source software: distributed, typically for free, with the source code © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 56 or otherwise on a password-protected website for classroom use. Software Issues and Trends: Licenses Software is often legally protected by licensing Software licenses: Permissive Style (For open source) - Carries minimum restrictions - Example: Android Copyleft Style (For open source) - The same rights have to be maintained in derivative works - Example: Linux kernel Proprietary Licenses - Restrict the use, modification, and distribution of the software - Example: MS Windows © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 57 or otherwise on a password-protected website for classroom use. Open-Source Licenses © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 58 or otherwise on a password-protected website for classroom use. Cloud Computing Cloud computing: a computing environment in which software and storage are provided as an Internet service and accessed with a web browser Advantages to businesses: Businesses can save on system design, installation, and maintenance Increased efficiency and reduce the costs of new product and service launches Employees can access corporate systems from any Internet-connected computer © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 59 or otherwise on a password-protected website for classroom use. Public Cloud Computing A service provider owns and manages the infrastructure with cloud user organizations (tenants) accessing shared hardware resource via the Internet Data security is a key concern Because when using a public cloud computing service, you are relying on someone else to safeguard your data © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 60 or otherwise on a password-protected website for classroom use. Public Cloud Computing Cloud computing can be divided into three main types of services: Infrastructure as a service (IaaS) Software as a service (SaaS) Platform as a Service (PaaS) application software any system software hardware © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 61 or otherwise on a password-protected website for classroom use. Artificial Intelligence (AI) AI aims to perform tasks that typically require human intelligence It encompasses various fields like robotics, natural language processing, and computer vision Machine Learning (ML) is a subset of AI that allows computers to learn from data without being explicitly programmed For instance, instead of coding specific rules to detect spam emails, we train the system using examples of both spam and non-spam emails How ML works: Data: The foundation of ML; algorithms learn from data Algorithms: The set of rules or procedures the machine follows to learn from data Types of ML include: Supervised Learning Generative Learning (Generative AI) © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 62 or otherwise on a password-protected website for classroom use. Supervised Learning A type of ML where the model is trained on labeled data The goal is to learn a mapping from input to output Process: Training Data: Consists of input-output pairs Model Training: The algorithm learns to predict the output from the input Prediction: The model is used to predict outputs for new inputs Examples: Image classification (e.g., recognizing cats vs. dogs) Predicting house prices based on features like size, location, etc © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 63 or otherwise on a password-protected website for classroom use. Supervised Learning: Applications Source: https://www.deeplearning.ai/courses/ai-for-everyone/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 64 or otherwise on a password-protected website for classroom use. Supervised Learning: Example of Training Data Source: https://www.deeplearning.ai/courses/ai-for-everyone/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 65 or otherwise on a password-protected website for classroom use. Supervised Learning: Acquiring Data Manual labelling From observing user behaviours Download from the Internet https://huggingface.co/datasets Kaggle.com Examples are taken from https://www.deeplearning.ai/courses/ai-for-everyone/ © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 66 or otherwise on a password-protected website for classroom use. Summary The OS is called the “soul of the computer” because it controls how you enter data into your computer, perform meaningful work, and display results Organizations typically use off-the-shelf software to meet common business needs and build custom software to meet unique business needs Cloud computing has transformed the software landscape by offering unparalleled scalability, flexibility, and global access, empowering businesses to innovate and adapt quickly Machine learning expands the scope of software development by complementing traditional rule-based systems with adaptive, data-driven models that can learn and evolve over time © 2017 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a license distributed with a certain product or service 67 or otherwise on a password-protected website for classroom use.