SlideShare a Scribd company logo
1 of 35
Download to read offline
Software Basics
Introduction to Computer Science
            2007-2008
Aims
• Describing main sw categories and their
  relationship
• Explaining relationship between algorithms
  and programs
• Discussing factors that make apps useful
• Describing the role of operative systems
• Outlining the evolution of interfaces
                 4626. Introd to Computer Science
How the sw works?

                  thinks


                                            algorithm

           Problem:
natural language is ambiguous
         4626. Introd to Computer Science
How the sw works?
algorithm
                                               program
                … but
            computers
                  can’t
            understand
 thinks            that

             writes


            4626. Introd to Computer Science
How the sw works?
                                              program
                                              (source code)


                                                            executable
algorithm                writes
                                                           (binary code)

            thinks                             generates

                     4626. Introd to Computer Science
Example
Algorithm



1. Ask the user for a number
2. Multiply it by 2
3. Show the result on the screen




                4626. Introd to Computer Science
Example
                  Source code
#include <stdio.h>

void main()
{
    int num, double;

    printf( “Enter a number: “ );
    scanf( “%d”, &num );
    double = num * 2;
    printf(“Twice %d is %dn”, num, double );
}

                4626. Introd to Computer Science
Example
                           Binary code
010110011101110000001000001111010001
111011111000101111100010001001001111
001001101011100001111001001101011000
110111001001100111100010110011100010
001011011011011010111010010100011111
000011001000111000100011101111000101
010010100100110011111110011100111000
111110111110110100011100001110000100
101111010011110110010011100001101110

           4626. Introd to Computer Science
Development software




                 Software
Application
 software      classification                        System
                                                   software




                4626. Introd to Computer Science
Development software
  • Assisting programmers to write software
  • Typical tools
                                     Compiler

                                                   IDE
Text editor
                  Debugger

                4626. Introd to Computer Science
Application software
• Why do we use application sw?
 • visual metaphors of the real world
 • extend human capabilities



           4626. Introd to Computer Science   (pictures from tecnomarketer)
Application software
                Vertical market

• Examples: accounting, library cataloguing or
  restaurant management
• limited market (high cost)
• sometimes developed for just one
  customer


Specific software for a sector
               4626. Introd to Computer Science
Application software
                Suites
• Common applications
• Used in many fields
  (home, office, education,
  administration….)
• Sold separately or in a
  package (suite)

Apps that “work well together”
               4626. Introd to Computer Science
Application software
            Integrated packages
• Set of applications sold in a block
• Easy earning
• Limited functionality (but enough)
• Cheaper

 Share the same environment
               4626. Introd to Computer Science
System software

                                           •    Manages communications
                                                between hw & sw

                                           •    Abstraction from hw details
                                                (virtual machine)

(source: FFP Basic http://iaf-bs.de)




                            4626. Introd to Computer Science
Device drivers
• Communicates computer and I/O devices
• Extends computer (open architecture)
• Brokers to access the device
• You can get them
 • included in the OS
 • provided with the device (install CD)
 • owned by a third company (buy it)
             4626. Introd to Computer Science
Operative systems
• brokers between users/programs & Hw
 • isolations layer
 • programs compatibility
• main tasks
 • ease the use of the computer
 • use the software efficiently
             4626. Introd to Computer Science
OS functions
• communications with peripherals (I/O)
• process management (multitasking)
• memory management (protection & virtual mem)
• resource monitoring for accounting and safety
• file system management
• network communication coordination
                4626. Introd to Computer Science
Utility programs

• System maintenance tools
• Executed apart from OS
• We can find them…
 • incorporated into the OS (disk defrag)
 • provided by others (antivirus)

              4626. Introd to Computer Science
Additional considerations
               Documentation

 • instructions about how to install them
 • tutorials
 • reference manuals
 • help files
 • on line help systems
 • support services, FAQ
               4626. Introd to Computer Science
Additional considerations
             Upgrading




        4626. Introd to Computer Science
Additional considerations
                     Upgrading

 • periodically, companies sell new versions
 • reasons: improvements, bugs, adaptation to
   other SW (OS)
 • versions identified by numbers
   (decimals for minor changes)
 • right to free updates during a period
                4626. Introd to Computer Science
Additional considerations
                     Compatibility


 •   constraints about                   •    operative systems
     computer and resources                   (Windows, MacOS,
                                              Linux)
 •   examples: CPU,
     memory, free HD space               •    sometimes, version:
                                              Windows 95, 98, NT,
                                              Me, 2000, XP,Vista..


        Hardware                                       Software

                    4626. Introd to Computer Science
Additional considerations
                     Licensing

 • you don’t buy sw, you buy a license
 • individual and corporative licenses
 • main limitation: number of computers and
   right to copy (backup)
 • EULA (End User License Agreement)
  • license terms
  • disclaimer terms (limited liability)
               4626. Introd to Computer Science
Additional considerations
                    Distribution


•   proprieraty                                      •   freeware

•   shareware                                        •   open source /
                                                         free software
•   demo
                                                     •   semi free
•   adware
                                                     •   public domain




                  4626. Introd to Computer Science
User interface
•   character console:                                            •   metaphors. desktop,
    command line (MSDOS)                                              folders, documents…

•   graphical user interface                                      •   active elements:
    (GUI)
                                                                      •   icons
    •   visual concepts
                                                                      •   buttons
    •   controls individual
        points on the screen                                          •   windows

    •   Apple MacOS (1984)                                            •   scrolling bars


                               4626. Introd to Computer Science
MS-DOS
4626. Introd to Computer Science
Windows 3.11
  4626. Introd to Computer Science
Windows 95
  4626. Introd to Computer Science
Windows XP
  4626. Introd to Computer Science
Windows Vista
   4626. Introd to Computer Science
Linux
4626. Introd to Computer Science
Mac OS X (Leopard)
     4626. Introd to Computer Science
File system management

•   specific folders for user’s
    documents

•   search tools by name or
    content
    (Google Desktop)

•   Specific tools for special
    files (iTunes)




                     4626. Introd to Computer Science
Multi-user OS
UNIX
• preferred OS for mainframes &
  workstations
• versions: Solaris (Sun), HP-UX (HP),
  Aix (IBM) IRIX (Silicon Graphics)
Linux
• Unix versions for PCs
• Distributions: Ubuntu, Suse, RedHat…
            4626. Introd to Computer Science

More Related Content

Viewers also liked

Big data ecosystem
Big data ecosystemBig data ecosystem
Big data ecosystem
magda3695
 
Engineering kpi examples
Engineering kpi examplesEngineering kpi examples
Engineering kpi examples
gallaravumartin
 

Viewers also liked (17)

Introduction to Computer Softwares
Introduction to Computer SoftwaresIntroduction to Computer Softwares
Introduction to Computer Softwares
 
Computer languages
Computer languagesComputer languages
Computer languages
 
Oop Introduction
Oop IntroductionOop Introduction
Oop Introduction
 
Programming languages of computer
Programming languages of computerProgramming languages of computer
Programming languages of computer
 
Chapter 4 computer language
Chapter 4 computer languageChapter 4 computer language
Chapter 4 computer language
 
Hardware and Software Basics With Dr. Poirot
Hardware and Software Basics With Dr. PoirotHardware and Software Basics With Dr. Poirot
Hardware and Software Basics With Dr. Poirot
 
Datawarehouse & bi introduction
Datawarehouse & bi introductionDatawarehouse & bi introduction
Datawarehouse & bi introduction
 
Lec 01 basic concepts
Lec 01 basic conceptsLec 01 basic concepts
Lec 01 basic concepts
 
Computer Applications- Computer Software
Computer Applications- Computer SoftwareComputer Applications- Computer Software
Computer Applications- Computer Software
 
Big data ecosystem
Big data ecosystemBig data ecosystem
Big data ecosystem
 
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
NoSQL Databases - Lecture 12 - Introduction to Databases (1007156ANR)
 
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & TalendIntroducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
 
Engineering kpi examples
Engineering kpi examplesEngineering kpi examples
Engineering kpi examples
 
Bi Dw Presentation
Bi Dw PresentationBi Dw Presentation
Bi Dw Presentation
 
The opportunity in computer science
The opportunity in computer scienceThe opportunity in computer science
The opportunity in computer science
 
10 Myths for Computer Science
10 Myths for Computer Science10 Myths for Computer Science
10 Myths for Computer Science
 
Presentation on computer language
Presentation on computer languagePresentation on computer language
Presentation on computer language
 

Similar to Software Basics

Computer Security and Risks
Computer Security and RisksComputer Security and Risks
Computer Security and Risks
Miguel Rebollo
 
Hardware basics: peripherals
Hardware basics: peripheralsHardware basics: peripherals
Hardware basics: peripherals
Miguel Rebollo
 
E-Commerce and E-Business
E-Commerce and E-BusinessE-Commerce and E-Business
E-Commerce and E-Business
Miguel Rebollo
 
ZMPCZM019000.12.07 NeuroGraph User's manual
ZMPCZM019000.12.07 NeuroGraph User's manualZMPCZM019000.12.07 NeuroGraph User's manual
ZMPCZM019000.12.07 NeuroGraph User's manual
Painezee Specialist
 
PICDriverResearch
PICDriverResearchPICDriverResearch
PICDriverResearch
John Dunbar
 

Similar to Software Basics (20)

Computer Security and Risks
Computer Security and RisksComputer Security and Risks
Computer Security and Risks
 
Hardware basics: peripherals
Hardware basics: peripheralsHardware basics: peripherals
Hardware basics: peripherals
 
E-Commerce and E-Business
E-Commerce and E-BusinessE-Commerce and E-Business
E-Commerce and E-Business
 
Computer Currents
Computer CurrentsComputer Currents
Computer Currents
 
Trends towards the merge of HPC + Big Data systems
Trends towards the merge of HPC + Big Data systemsTrends towards the merge of HPC + Big Data systems
Trends towards the merge of HPC + Big Data systems
 
unit09-1212598883113378-9.pdf
unit09-1212598883113378-9.pdfunit09-1212598883113378-9.pdf
unit09-1212598883113378-9.pdf
 
unit09-1212598883113378-9.pdf
unit09-1212598883113378-9.pdfunit09-1212598883113378-9.pdf
unit09-1212598883113378-9.pdf
 
Eclipse NeoSCADA 0.3
Eclipse NeoSCADA 0.3Eclipse NeoSCADA 0.3
Eclipse NeoSCADA 0.3
 
Open Hardware GNU/Linux PPC64 Laptop Potential
 Open Hardware GNU/Linux PPC64 Laptop Potential  Open Hardware GNU/Linux PPC64 Laptop Potential
Open Hardware GNU/Linux PPC64 Laptop Potential
 
ZMPCZM019000.12.07 NeuroGraph User's manual
ZMPCZM019000.12.07 NeuroGraph User's manualZMPCZM019000.12.07 NeuroGraph User's manual
ZMPCZM019000.12.07 NeuroGraph User's manual
 
Windows XP
Windows XPWindows XP
Windows XP
 
digitaldesign-s20-lecture3b-fpga-afterlecture.pdf
digitaldesign-s20-lecture3b-fpga-afterlecture.pdfdigitaldesign-s20-lecture3b-fpga-afterlecture.pdf
digitaldesign-s20-lecture3b-fpga-afterlecture.pdf
 
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
 
PICDriverResearch
PICDriverResearchPICDriverResearch
PICDriverResearch
 
Cuda
CudaCuda
Cuda
 
Review of QNX
Review of QNXReview of QNX
Review of QNX
 
Challenges In Managing Embedded Product Development
Challenges In Managing Embedded Product DevelopmentChallenges In Managing Embedded Product Development
Challenges In Managing Embedded Product Development
 
Operating Systems - Introduction
Operating Systems - IntroductionOperating Systems - Introduction
Operating Systems - Introduction
 
Mindstorms Arduino En Phidgets
Mindstorms Arduino En PhidgetsMindstorms Arduino En Phidgets
Mindstorms Arduino En Phidgets
 
Mindstorms Arduino En Phidgets
Mindstorms Arduino En PhidgetsMindstorms Arduino En Phidgets
Mindstorms Arduino En Phidgets
 

More from Miguel Rebollo

More from Miguel Rebollo (20)

GTG-CoL: A Decentralized Federated Learning Based on Consensus for Dynamic N...
 GTG-CoL: A Decentralized Federated Learning Based on Consensus for Dynamic N... GTG-CoL: A Decentralized Federated Learning Based on Consensus for Dynamic N...
GTG-CoL: A Decentralized Federated Learning Based on Consensus for Dynamic N...
 
Co-Learning: Consensus-based Learning for Multi-Agent Systems
 Co-Learning: Consensus-based Learning for Multi-Agent Systems Co-Learning: Consensus-based Learning for Multi-Agent Systems
Co-Learning: Consensus-based Learning for Multi-Agent Systems
 
Análisis de la red de autores de ciencia ficción de Clarkesworld
Análisis de la red de autores de ciencia ficción de ClarkesworldAnálisis de la red de autores de ciencia ficción de Clarkesworld
Análisis de la red de autores de ciencia ficción de Clarkesworld
 
Y sin embargo... se mueve. Dinámica de las redes complejas
Y sin embargo... se mueve. Dinámica de las redes complejasY sin embargo... se mueve. Dinámica de las redes complejas
Y sin embargo... se mueve. Dinámica de las redes complejas
 
Exámenes en grupo y pruebas de corrección como alternativas a la evaluación
Exámenes en grupo y pruebas de corrección como alternativas a la evaluaciónExámenes en grupo y pruebas de corrección como alternativas a la evaluación
Exámenes en grupo y pruebas de corrección como alternativas a la evaluación
 
Gamification. Key Concepts
Gamification. Key ConceptsGamification. Key Concepts
Gamification. Key Concepts
 
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing AppsUsing Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
Using Distributed Risk Maps by Consensus as a Complement to Contact Tracing Apps
 
Distributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for AgreementsDistributed Ledger and Robust Consensus for Agreements
Distributed Ledger and Robust Consensus for Agreements
 
Detección de nodos tramposos en procesos de consenso en redes
Detección de nodos tramposos en procesos de consenso en redesDetección de nodos tramposos en procesos de consenso en redes
Detección de nodos tramposos en procesos de consenso en redes
 
La hora del código: ApS para fomentar el pensamiento computacional
La hora del código: ApS para fomentar el pensamiento computacionalLa hora del código: ApS para fomentar el pensamiento computacional
La hora del código: ApS para fomentar el pensamiento computacional
 
Procesos de enseñanza-aprendizaje en red
Procesos de enseñanza-aprendizaje en redProcesos de enseñanza-aprendizaje en red
Procesos de enseñanza-aprendizaje en red
 
desarrollo de competencias a través de narrativas transmedia
desarrollo de competencias a través de narrativas transmediadesarrollo de competencias a través de narrativas transmedia
desarrollo de competencias a través de narrativas transmedia
 
Distributed Group Analytical Hierarchical Process by Consensus
 Distributed Group Analytical Hierarchical Process by Consensus Distributed Group Analytical Hierarchical Process by Consensus
Distributed Group Analytical Hierarchical Process by Consensus
 
Análisis de ciudades a través de su actividad en redes sociales
Análisis de ciudades a través de su actividad en redes socialesAnálisis de ciudades a través de su actividad en redes sociales
Análisis de ciudades a través de su actividad en redes sociales
 
Análisis de datos en redes sociales
Análisis de datos en redes socialesAnálisis de datos en redes sociales
Análisis de datos en redes sociales
 
The multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURFThe multigent Layer for CALMeD SURF
The multigent Layer for CALMeD SURF
 
Narrativa transmedia en el aula
Narrativa transmedia en el aulaNarrativa transmedia en el aula
Narrativa transmedia en el aula
 
Using geo-tagged sentiment to better understand social interactions
 Using geo-tagged sentiment to better understand social interactions Using geo-tagged sentiment to better understand social interactions
Using geo-tagged sentiment to better understand social interactions
 
Transport Network Analysis for Smart Open Fleets
Transport Network Analysis for Smart Open FleetsTransport Network Analysis for Smart Open Fleets
Transport Network Analysis for Smart Open Fleets
 
Análisis de sentimientos en Twitter mediante HMM
Análisis de sentimientos en Twitter mediante HMMAnálisis de sentimientos en Twitter mediante HMM
Análisis de sentimientos en Twitter mediante HMM
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Navigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiNavigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi Daparthi
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 

Software Basics

  • 1. Software Basics Introduction to Computer Science 2007-2008
  • 2. Aims • Describing main sw categories and their relationship • Explaining relationship between algorithms and programs • Discussing factors that make apps useful • Describing the role of operative systems • Outlining the evolution of interfaces 4626. Introd to Computer Science
  • 3. How the sw works? thinks algorithm Problem: natural language is ambiguous 4626. Introd to Computer Science
  • 4. How the sw works? algorithm program … but computers can’t understand thinks that writes 4626. Introd to Computer Science
  • 5. How the sw works? program (source code) executable algorithm writes (binary code) thinks generates 4626. Introd to Computer Science
  • 6. Example Algorithm 1. Ask the user for a number 2. Multiply it by 2 3. Show the result on the screen 4626. Introd to Computer Science
  • 7. Example Source code #include <stdio.h> void main() { int num, double; printf( “Enter a number: “ ); scanf( “%d”, &num ); double = num * 2; printf(“Twice %d is %dn”, num, double ); } 4626. Introd to Computer Science
  • 8. Example Binary code 010110011101110000001000001111010001 111011111000101111100010001001001111 001001101011100001111001001101011000 110111001001100111100010110011100010 001011011011011010111010010100011111 000011001000111000100011101111000101 010010100100110011111110011100111000 111110111110110100011100001110000100 101111010011110110010011100001101110 4626. Introd to Computer Science
  • 9. Development software Software Application software classification System software 4626. Introd to Computer Science
  • 10. Development software • Assisting programmers to write software • Typical tools Compiler IDE Text editor Debugger 4626. Introd to Computer Science
  • 11. Application software • Why do we use application sw? • visual metaphors of the real world • extend human capabilities 4626. Introd to Computer Science (pictures from tecnomarketer)
  • 12. Application software Vertical market • Examples: accounting, library cataloguing or restaurant management • limited market (high cost) • sometimes developed for just one customer Specific software for a sector 4626. Introd to Computer Science
  • 13. Application software Suites • Common applications • Used in many fields (home, office, education, administration….) • Sold separately or in a package (suite) Apps that “work well together” 4626. Introd to Computer Science
  • 14. Application software Integrated packages • Set of applications sold in a block • Easy earning • Limited functionality (but enough) • Cheaper Share the same environment 4626. Introd to Computer Science
  • 15. System software • Manages communications between hw & sw • Abstraction from hw details (virtual machine) (source: FFP Basic http://iaf-bs.de) 4626. Introd to Computer Science
  • 16. Device drivers • Communicates computer and I/O devices • Extends computer (open architecture) • Brokers to access the device • You can get them • included in the OS • provided with the device (install CD) • owned by a third company (buy it) 4626. Introd to Computer Science
  • 17. Operative systems • brokers between users/programs & Hw • isolations layer • programs compatibility • main tasks • ease the use of the computer • use the software efficiently 4626. Introd to Computer Science
  • 18. OS functions • communications with peripherals (I/O) • process management (multitasking) • memory management (protection & virtual mem) • resource monitoring for accounting and safety • file system management • network communication coordination 4626. Introd to Computer Science
  • 19. Utility programs • System maintenance tools • Executed apart from OS • We can find them… • incorporated into the OS (disk defrag) • provided by others (antivirus) 4626. Introd to Computer Science
  • 20. Additional considerations Documentation • instructions about how to install them • tutorials • reference manuals • help files • on line help systems • support services, FAQ 4626. Introd to Computer Science
  • 21. Additional considerations Upgrading 4626. Introd to Computer Science
  • 22. Additional considerations Upgrading • periodically, companies sell new versions • reasons: improvements, bugs, adaptation to other SW (OS) • versions identified by numbers (decimals for minor changes) • right to free updates during a period 4626. Introd to Computer Science
  • 23. Additional considerations Compatibility • constraints about • operative systems computer and resources (Windows, MacOS, Linux) • examples: CPU, memory, free HD space • sometimes, version: Windows 95, 98, NT, Me, 2000, XP,Vista.. Hardware Software 4626. Introd to Computer Science
  • 24. Additional considerations Licensing • you don’t buy sw, you buy a license • individual and corporative licenses • main limitation: number of computers and right to copy (backup) • EULA (End User License Agreement) • license terms • disclaimer terms (limited liability) 4626. Introd to Computer Science
  • 25. Additional considerations Distribution • proprieraty • freeware • shareware • open source / free software • demo • semi free • adware • public domain 4626. Introd to Computer Science
  • 26. User interface • character console: • metaphors. desktop, command line (MSDOS) folders, documents… • graphical user interface • active elements: (GUI) • icons • visual concepts • buttons • controls individual points on the screen • windows • Apple MacOS (1984) • scrolling bars 4626. Introd to Computer Science
  • 27. MS-DOS 4626. Introd to Computer Science
  • 28. Windows 3.11 4626. Introd to Computer Science
  • 29. Windows 95 4626. Introd to Computer Science
  • 30. Windows XP 4626. Introd to Computer Science
  • 31. Windows Vista 4626. Introd to Computer Science
  • 32. Linux 4626. Introd to Computer Science
  • 33. Mac OS X (Leopard) 4626. Introd to Computer Science
  • 34. File system management • specific folders for user’s documents • search tools by name or content (Google Desktop) • Specific tools for special files (iTunes) 4626. Introd to Computer Science
  • 35. Multi-user OS UNIX • preferred OS for mainframes & workstations • versions: Solaris (Sun), HP-UX (HP), Aix (IBM) IRIX (Silicon Graphics) Linux • Unix versions for PCs • Distributions: Ubuntu, Suse, RedHat… 4626. Introd to Computer Science