basics1

advertisement
Some Basics
See Chapters 1 & 2






Describe the basic features of an algorithm
Explain how hardware and software collaborate in a
computer’s architecture
Give a brief history of computing
Run a simple Python program
Strings, integers and floating point numbers
Initialize and use variables with appropriate names
1
IPO Model
Processing
Inputs
Outputs
2
Fundamentals of Computer Science:
Algorithms and Information Processing
 Computer
science focuses on a broad set of
interrelated ideas
– Two of the most fundamental ones are:
» Information processing
In carrying out the instructions of an algorithm, “computing
agent” manipulates data (or information)
Starts with input -> produces output
» Algorithms
3
Algorithms
 Steps
for determining change when paying for
something (i.e., subtracting two numbers):
– Step 1: Write down the numbers, with larger number above
smaller one, digits column-aligned from right
– Step 2: Start with rightmost column of digits and work your way
left through the various columns
– Step 3: Write down difference between the digits in the current
column of digits, borrowing a 1 from the top number’s next
column to the left if necessary
– Step 4: If there is no next column to the left, stop
» Otherwise, move to column to the left; go to Step 3

The computing agent is a human being
4
Algorithms (continued)
 Sequence
of steps that describes each of these
computational processes is called an algorithm
 Features of an algorithm:
– Consists of a finite number of instructions
– Each individual instruction is well defined
– Describes a process that eventually halts after arriving
at a solution to a problem (or so we hope :-D )
– Solves a general class of problems
5
The Structure of a Modern Computer
System
A
modern computer system consists of
hardware and software
– Hardware: physical devices required to execute
algorithms
– Software: set of these algorithms, represented as
programs in particular programming languages
6
Computer Hardware

Computers can also communicate with the external world
through various ports that connect them to networks
and to other devices
7
Computer Hardware (continued)


Random access memory (RAM) is also called internal
or primary
External or secondary memory can be magnetic,
semiconductor, or optical
8
Computer Software
A
program stored in computer memory must be
represented in binary digits, or machine code
 A loader takes a set of machine language
instructions as input and loads them into the
appropriate memory locations
 The most important example of system
software is a computer’s operating system
– Some important parts: file system, user interfaces
(terminal-based or GUIs)

Applications include Web browsers, games,
etc.
9
Computer Software (continued)
10
Genealogy of Common Languages
11
Getting Started with Python
Programming
 Early
1990s: Guido van Rossum
– invented the Python programming language
 Python
is a high-level, general-purpose
programming language for solving problems on
modern computer systems
 Useful resources at www.python.org
 Extensive Python documentation at python.org/doc/
 Python 3.2:
www.python.org/download/releases/3.2.3
The programming language for this course.
Note that we are using Python 3, not Python 2.
12
Running Code in the Interactive Shell
 Python
is an interpreted language
 Simple Python expressions and statements can
be run in the shell
– Easiest way to open a Python shell is to launch the
IDLE or WING
– Shell is useful for:
» Experimenting with short expressions or statements

Do this! You can’t break the computer by doing so!
» Consulting the documentation
13
Running Code in the Interactive Shell
(continued)
14
Input, Processing, and Output
 Programs
usually accept inputs from a source,
process them, and output results to a destination
– In terminal-based interactive programs, these are the
keyboard and terminal display
15
Behind the Scenes:
How Python Works
 We
will talk more about this next class!
16
Data Types & Assignments

Text processing is by far the most common
application of computing
– E-mail, text messaging, Web pages, and word
processing all rely on and manipulate data consisting
of strings of characters
Although the first applications of computers
were to crunch numbers
 The use of numbers in many applications is still
very important

17
Data Types & Assignments (cont’d)

A data type consists of a set of values and a
set of operations that can be performed on
those values
18
Integers
 In
real life, the range of integers is infinite
 A computer’s memory places a limit on
magnitude of the largest positive and negative
integers
– Python’s int typical range: –231 to 231 – 1

Integer literals are written without commas
19
Floating-Point Numbers
 Python
uses floating-point numbers to
represent real numbers
 Python’s float typical range: –10308 to 10308
and
 Typical precision: 16 digits
20
Floating-Point Numbers (continued)
21
Variables and the Assignment
Statement
A
variable refers to a value in the memory
– Makes it easy to remember and use later in program

Variable naming rules:
– Reserved words cannot be used as variable names
» Examples: if, def, and import
– Name must begin with a letter or _ (underscore)
– Name can contain any number of letters, digits, or _
– Names are case sensitive
» Example: WEIGHT is different from weight
22
Variables and the Assignment
Statement (continued)
 Programmers
use all uppercase letters for
symbolic constants
– Examples: TAX_RATE and STANDARD_DEDUCTION

Variables receive initial values and can be reset
to new values with an assignment statement
<variable name> = <expression>
23
Required Readings
 Fundamentals
of Python
Sections 1.4, 1.4.1, 1.4.2, 2.3.1, 2.3.5, 2.4.1,
2.4.2.
24
Download