intro to it (chapter 4 software )

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

• Why can't we use human languages for programming?

Ambiguity Can mean different things in different contexts Lack of all details Context dependent

Why Programming?

Expand your thinking skills Makes you more productive, efficient and effective It is useful, e.g. write a small script to automate tasks on your computer It is fun

Creating Software If we give the below command to the computer "Get the input from the user and store it" What do you think would happen?

"Input" is ambiguous to the computer It can mean text, number, audio, etc.. The command lacks details From where to get the input? Keyboard, microphone, touch screen, etc.. Where to store it? Main memory, hard disk, etc..

Types of Software :

.Applications 1-Desktop Apps 2-Web Apps 3-Mobile Apps .System Software 1-Operating Systems 2-Utility Software 3-Programming Tools

• iOS Jailbreaking Is the process of removing software restrictions imposed by iOS; on devices running it through the use of software exploits It permits root access to the iOS file system and manager, allowing the download of additional applications, extensions, and themes that are unavailable through the official Apple App Stores Jailbreaking not only violates your End User License Agreement ;it also exposes your phone to security vulnerabilities and puts your personal data at risk. • Rooting Android Is the process of allowing users running the Android mobile operating system to attain privileged control (known as root access)

Mobile Apps Permissions

After OS is loaded what next?

OS(Windows) controls screen- User selects Word -OS loads Word (Appl Prg) -Word cotrols screen-Word Process ends-OS(Windows) controls screen

How does the Computer Start

Some Computing devices have full OS in ROM • Others have only a part in ROM and the core in the Hard Drive • Booting Process Loads OS from the Hard Drive into memory (RAM)

Software Revenue Models

What is the cost Behind your software? Applications are either free of charge or at a cost. A new concept of free apps (Freemiums) or in-app purchases which makes lots of money through them: Candy Crush Saga Many free applications use advertisements Flappy Birds Other applications could have subscription based services, such as news apps Financial Times

Application Permissions

• A way to limit applications' access to sensitive information, for example sound recorded by microphone, and valuable resources, like the battery, etc.. • Usually these are associated with smart devices

Algorithms

• Algorithms are a unified common language that can be understood by all programmers. • Programmers convert algorithms to software using different programming languages.

Application Software

• Any software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user. • Examples of an application include a word processor, a spreadsheet, an accounting application, a web browser, a media player, a console game or a photo editor.

Operating Systems

• Apple iOS: Used for iPhone, iPad, and iPod Was introduced with the introduction of iPhone in 2007, it revolutionized the smartphone market • Google Android: Designed for smart phones Android OS, developed by Google followed suit to lead in the smartphone OS market • Chrome OS: Designed by Google to work with Google Web Apps, based on Linux

Web Applications

• Are not real applications; they are really websites that, in many ways, look and feel like native applications. • They are run by a browser and typically written in HTML5. • Common features: Easy access as long as you have internet Doesn't need to use CPU power from your machine Enables online collaboration Updates usually done on the server side Accessible on a wide range of devices

Old Interfaces

• Command Line Interface Limited only to text commands • Menu Driven Interface Use keyboard to open menus Supports shortcuts

Software Issues

• Compatibility Software's are designed to run on specific OS If a software can run on more than one OS it is labeled as cross platform • Minimum Requirements Software will not be installed or won't work properly, if minimum requirements are not met CD labels include info such as Requires Windows 7 with 2GB of RAM to run • Recommended Requirements Allows you to enjoy the full capabilities of your software, e.g. play game with decent graphical settings, better resolution and no lagging

Software Copyrights

• Copyright Is the legal right to copy, distribute, modify and sell an original work Copy rights to protect Software owner rights • Types Proprietary (Closed Source Code) Doesn't have the right to modify the code Open source code Has the right to use, modify and redistribute • Regardless of the copyright type both could be either purchased or for free; depends on the software developer.

Computer Language

• Every computer process instructions in machine language. These are numeric codes used to represent basic operations: Adding and subtracting numbers Comparing numbers Moving numbers Repeating instructions

UAE Copyright Law

• Example of hefty fines Article 38 Link 5. The downloading or storing in the computer any copy of the computer program or applications thereof or databases, without obtaining a license from the author or right holder or successors thereof is penalized by the law with an imprisonment for a minimum period of three months and a fine amounting to a minimum of fifty thousand dirhams (AED 50,000) to a maximum of five hundred thousand dirhams (AED 500,000). In case of repetition of the offence, the increased penalty is imprisonment for a minimum period of nine months and a fine amounting to a minimum amount of two hundred thousand dirhams (AED 200,000).

Software Distribution

• From where do you get your application? Applications could be pre-installed in the operating system of your device. You can download and install it from any digital distribution platforms, e.g. Google Play App Store Windows Store Acquire the software on a CD/DVD or a flash memory Applications could be delivered as web applications using server-side software. (Software as a service)

Application software

• Generally classified to: Desktop Application: An application that runs stand-alone in a desktop or laptop computer. Web Application: Applications that are accessible on the Web via web browsers. Mobile Application: Application software designed to run on smartphones, tablet computers and other mobile devices

SILK Interfaces

• Gesture Based Interfaces: A gesture is a form of non-verbal communication in which visible bodily actions communicate particular messages. A simple gesture recognition algorithm can detect hand location and movement • Examples: Smartphone, tablets touch screens XBOX 360 - Kinect uses multiple cameras to detect motion Nintendo - Wii uses controllers to detect gestures

WIMP Interfaces

• Graphical User Interfaces GUI Sample Mac Interface

Software Future

• Iron Man technology will be reality in the future

Utility Programs

• Is system software designed to help analyze, configure, optimize or maintain a computer that are not automatically done by OS • Examples: Copy files Compress files (eg. zip) Virus protection Disk Cleanup Backup

Software Piracy

• Is the illegal copying, distribution, or use of software. Billions of Dollars Lost 1/3 of Software's are illegally copied

Operating System

• Is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer. • It carries multiple functions: Memory Management File Management CPU Management Security

User Interface

• It is the space where interaction between the user and the machine It should be simple, effective and user friendly • Types of user interfaces: Old interfaces: Command Line Menu Driven Current interfaces: WIMP (windows, icons, menus, pointing devices) SILK (Speech, Image, Language, Knowledge)

Programming Languages

• Low Level Languages Machine Languages Lang. of 0s and 1s Assembly Languages Very Basic Instructions • High Level Languages C++, java, VB, Python, etc..

Operating Systems

• Mac OS X: Standard for the Mac • Unix OS Used by Internet servers Used to be Command line, but new versions includes GUI. Menus like windows also exist • Linux OS Open source Allow users to customize for their special purposes

GUI features

• Menu Based • Submenus • Pop up Menus • Context sensitive menus (Right Click) Task Bar Any Icon Start Menu • Tiles on the Start Screen • Windows Icon Shortcuts • Mac Icon Dock

Operating Systems

• Microsoft OS Family Microsoft Windows 10: Introduced in 2015 is latest version for desktop/laptop computers Microsoft Windows Server: Runs on small servers to the mightiest hardware Windows Embedded: Designed for devices such as robots, voting machines, music players, etc. Windows 10 Mobile: New OS for mobile phones

SILK Interfaces

• Mixed Reality (3D Interactive Holograms) A live presentation of physical real-world elements is incorporated with that of virtual elements such that they are perceived to exist together in a shared environment. • Voice Commands: It uses advanced speech recognition algorithms Ability to recognize multiple languages and tones E.g. Siri, S Voice, Cortana virtual assistant

Performance Issues

• Network Issues Slow Internet connection can drag down your app's performance. Back-end systems on the developer's servers If the server is down web based apps can't run Assuming always-on data connection Issues when you are far from a network coverage • Smartphone Issues Poor Battery Low RAM/Storage Multiple Apps running in the background

Programming

• Programmers/Developers People who write software using a programming language • Programmers use high-level languages. C++, Java, Python and Visual Basic • Use Compilers to build and compile code Detecting and correcting errors Debugging Convert from High-level to low level code E.g. Visual Studio, Eclipse, etc...

How to fix software problems

• Restart the software. • Shut down and restart your computer. • Uninstall the software, then reinstall it. • Free up RAM by closing other open programs. • Use the Internet to find help . • Undo any recent hardware or software changes . • Look for software patches. • Scan for viruses and malware.

Device Drivers

• Small Programs that enable communication with devices Keyboard Printers Flash memory etc.. • Most OS's try to recognize and install the correct driver, this is called Plug and Play • If OS can't find driver, either it is downloaded from the internet or installed via a CD

Mobile Applications

• Smartphone and tablet applications developed precisely for a specific mobile operating system. A native app developed for iOS won't work on Android devices, and vis-versa.

What is Software?

• Software enables people to communicate certain types of problems to the computer. • A set of instructions that tells a computer what to do, how to do it, and where to send the results to.

What is System Software?

• System software is a type of computer program that is designed to run a computer's hardware and application programs. • It is the interface between the hardware and applications. • It includes the operating system and utility software

Common Software Issues

• There are multiple issues you need to be aware of when dealing with software's: From where to get the software? What is the cost of the software? Is it compatible with system? Are there any extra requirements you need to maintain? How to maintain the software? How to fix software errors or problems? Understanding privacy and security issues. Are there any copyrights associated with your software?

UAE Copyrights Law

• UAE Federal Law No. 7 of the Year 2002 Hefty fines for copyright Infringements from as minimum as 10,000 AED to 500,000 AED

Software Maintenance

• Updating Usually free minor enhancements & bug fixes; e.g. Software 1.0 to Software 1.1 Done frequently • Upgrading Significant new features or improvements e.g. Win XP Win Vista Win 7 Win 8.1 Win 10 Every year or two e.g. Software 1.0 to Software 2.0 Usually not free • Service Packs Bundled updates, e.g. Windows 7 SP1

SILK Interfaces

• Virtual Reality An interactive computer-generated experience taking place within a simulated environment. It incorporates mainly auditory and visual feedback, but may also allow other types of sensory feedback like haptic. • Augmented Reality Is a live direct or indirect view of a physical, real-world environment whose elements are augmented (or supplemented) by computer-generated sensory input such as sound, video, graphics E.g. Ikea Catalog App, Pokémon Go

Security & privacy

• Ways to protect yourself against harmful apps Only download apps from official app distributers Check suspicious app permissions Beware of app advertisements Switch off permissions for apps you don't use Update your device firmware

Why Smartphones?

• What did the smartphone replace? • Supports Multiple Sensors: Accelerometer: Measuring Speed Gyroscope: Measuring Orientation Magnetometer: Detecting North Directions Barometer: Measuring atmospheric pressure; detecting altitudes Proximity: Detect the presence of nearby objects without any physical contact NFC Near field communication Light Sensor Etc...


Kaugnay na mga set ng pag-aaral

Series 66 Uniform and Securities Act (1 and 2)

View Set

Chapter 2 - Basic Financial Statements

View Set

Chapter 12: Binary trees and hash tables

View Set

Microbiology ch 22 Skin Infections

View Set