Introduction to Computers
Download
Report
Transcript Introduction to Computers
MIS 131
Introduction to Algorithms
and Programming
2015/2016 Fall
- Chapter 1 1
Computers and C++
Programming
Outline
1.1
1.2
1.3
1.6
1.7
1.8
1.13
1.14
Introduction
What Is a Computer?
Computer Organization
Machine Languages, Assembly Languages and High-level
Languages
The History of C
The C Standard Library
Structured Programming
The Basics of a typical C Program Development Environment
2
Outline
Outline
Introduction
What Is a Computer?
Computer Organization
Machine Languages, Assembly Languages
and High-level
Languages
3
What is a Computer?
Computer
Device capable of performing computations
and making logical decisions
Computers process data under the control of
sets of instructions called computer programs
Hardware
Various devices comprising a computer
Keyboard, screen, mouse, disks, memory, CDROM, and processing units
Software
Programs that run on a computer
4
Software
System programs
Operating systems
Utility programs - Compilers and interpreters
Microsoft 7,10, Unix, Unix, Android
C,C++,Java compilers
QBasic interpreter
Application Programs
LOGO accounting
SPSS statistics
5
Six logical units in every computer:
Input unit
Obtains information from input devices (keyboard, mouse)
Output unit
Outputs information (to screen, to printer, to control other
devices)
Memory unit
Rapid access, low capacity, stores input information
Arithmetic and logic unit (ALU)
Performs arithmetic calculations and logic decisions
Central processing unit (CPU)
Supervises and coordinates the other sections of the computer
Secondary storage unit
Cheap, long-term, high-capacity storage
Stores inactive programs
6
Three types of programming languages
Machine languages
Assembly languages
High-level languages
7
Machine languages
•
Strings of numbers giving machine specific
instructions
• Natural language of the computer
•
•
•
0-1 corresponding to high or low voltage
Instructions and data are encoded into binary
numbers
Example:
•
•
•
100111001011
110010100110
001011100101
8
Assembly languages
English-like abbreviations representing
elementary computer operations (translated via
assemblers)
Example:
LOAD
ADD
STORE
BASEPA
OVERPAY
GROSSPAY
9
High-level languages
Codes similar to everyday English
Use mathematical notations (translated via
compilers)
Example:
grossPay = basePay + overTimePay
10
grossPay = basePay + overTimePay
one line of a programm
Variables
grossPay
basePay
overTimePay
Onces compiled turn into machine code
after loading each has an adress in main
memory of the computer
executing the sum instruction
basePay and overTimePay has values they
are summed and assigned to grossPay
11
Meaning of computer programming
Problem solving
Problem
programmer
12
machine language
compiler
interpreter
high level languages
QBasic, C,C++,Java,VB.NET
programmer
natural languages
Turkish English
13
What CPU does
Reading data or instructions from main memory
Performing aritmetic operations
Addition, multiplication , division,…
Performing logical opertations
Comparing numbers
They are equal, one is lsss then the other
Moving results of operation back to main
memory
14
Steps of Software Development
Problem definition
Analysing the problem
Development of algorithm, pseudocode and flow
chart
Programming
Testing the program
Implementing
15
The text books
Java How to Program, 8th or higher Editions
Late Object Version
by Deitel & Deitel
Pearson
Starting out with Programming Logic and Design
2ed Eddition
by Tony Gaddis
Pearson
16
Version of Java
Java 2 Enterprise Edition (J2EE)
Java 2 Micro Edition (J2ME)
J2SE Development Kit (JDK)
17
Two Styles of Programming
Structured programming MIS 131
Introduce structured programming with a pure object
oriented language Lava
Object oriended programing MIS 132
Basic object oriented programming
Object oriented capabilities of Java
18
History of Java
Java
by Sun Microsystems in 1991
team leader: James Gosling
Originally for intelligent consumer-electronic
devices
Then used for creating Web pages with
dynamic content
Now also used for:
Develop large-scale enterprise applications
Enhance WWW server functionality
Provide applications for consumer devices (cell
19