Sei sulla pagina 1di 18

Programming

Hardware &
Software
P102 Prog. Fundamentals I: Software / Slide 2

Hardware
 Four components of a computer system:
 CPU - central processing unit
– Makes decisions, performs computations, and
delegates input/output requests
 Memory: Disk Drives, CD drives, Tape drives, USB
flash drives.
– Stores information
 Input devices: Keyboard, Mouse,
– Gets information from the user to the computer
 Output devices: monitor
– Sends information from computer to the user
P102 Prog. Fundamentals I: Software / Slide 3

Hardware

Memory

Input Output
Devices Devices

CPU
P102 Prog. Fundamentals I: Software / Slide 4

S o ftw a re

S y s te m A p p lic a tio n
S o ftw a re S o ftw a re
P102 Prog. Fundamentals I: Software / Slide 5

Software
 Application software
 Easy-to-use programs designed to perform
specific tasks
 System software
 Programs that support the execution and
development of other programs
 Two major types
– Operating systems
– Translation systems (compilers & linkers)
P102 Prog. Fundamentals I: Software / Slide 6

  
Copyright © 2000 by Brooks/Cole Publishing Company 
A division of International Thomson Publishing Inc.
P102 Prog. Fundamentals I: Software / Slide 7

Computer Software Relationships

User Interface Application Programs

User Interface Operating System

User Basic Input and Output Services (BIOS)


Interface • needed for a computer to boot up

Computer Hardware
P102 Prog. Fundamentals I: Software / Slide 8

Application Software
 Application software makes computer popular and
easy to use
 Common application software:
 Microsoft Word, WordPerfect
 PowerPoint
 Netscape, Internet Explorer
 PhotoShop, Photo-Paint
 Quick Time
 Dreamweaver
P102 Prog. Fundamentals I: Software / Slide 9

Operating System
 Controls and manages the computing resources
 Examples
 Windows, Unix, MSDOS,
 Important services that an operating system
provides:
 Security: prevent unauthorized users from accessing
the system
 Commands to manipulate the file system
 Input and output on a variety of devices
 Window management
102 Prog. Fundamentals I: Software / Slide 10

What is a (programming) language?

A sequence of instructions

An algorthm A program
(in human language) (in computer language)

 A program needs to be written in a language


 There are many programming languages
 Low-level, understandable by a computer
 High-level, needs a translator!
 C++ is a high level programming language
P102 Prog. Fundamentals I: Software / Slide 11

Levels of programming language


 Machine binary language: unintelligible
 Low-level assembly language
 Mnemonic names for machine operations
 Explicit manipulation of memory addresses
 Machine-dependent
 High-level language
 Readable
 Machine-independent
102 Prog. Fundamentals I: Software / Slide 12

An example:
Machine binary language Low-level assembly High-level
102 Prog. Fundamentals I: Software / Slide 13

How to translate?
A program written in high-level programming language
(for example, C++ program)

COMPILER (for example, Visual C++)

A low-level (machine language) program that is


understandable by a computer (for example, a PC)

Examples of compilers:
 Microsoft Visual C++, Eclipse, g++
102 Prog. Fundamentals I: Software / Slide 14

Translation System

 Set of programs used to develop software


 Types of translators:
 Compiler
 Linker
 Examples
 Microsoft Visual C++, Eclipse, g++
102 Prog. Fundamentals I: Software / Slide 15

Software Development
 Major activities
 Editing (writing the program)
 Compiling (creates .obj file)
 Linking with compiled files (creates .exe file)
– Object files Source Program

– Library modules
Compile
 Loading and executing
Library routines
 Testing the program Edit Link
Other object files
Think Load

Execute
102 Prog. Fundamentals I: Software / Slide 16

Integrated
Development Environments
 Combine all of the capabilities that a programmer
would want while developing software (VC++ 2008,
Eclipse)
 Editor
 Compiler
 Linker
 Loader
 Debugger
 Viewer
102 Prog. Fundamentals I: Software / Slide 17

Our First Program


// a simple program
#include <iostream> Comments
using namespace std;
Function int main() {
named cout << "Hello world!" << endl;
main() return 0;
indicates }
start of
program

Ends execution Print


of main() which ends statement
program
102 Prog. Fundamentals I: Software / Slide 18

Summary