9
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

Embed Size (px)

Citation preview

Page 1: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 1

CSC 110

Introduction to Python

[Reading: chapter 1]

Page 2: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 2

What to expect in this class

· Outcome: how to program in Python (algorithms, semantics/syntax, using objects, python modules, …)

· Class organization: · Lectures, practice with sample code,

homework assignments, tests and quizzes· class web site

seattlecentral.edu/~flepeint/pyclass

Page 3: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 3

What is a computer? (1)· Programmer's viewpoint

· CPU (central processing unit): the "brain" of the computer. It can perform simple tasks very fast (e.g. adding…)

· Memory: where the microprocessor stores data (results of computations,…). Memory comes in many types (RAM, ROM, …)

· Input/Output devices: e.g. keyboard, screen, … They allow the user to interact with the computer.

· Our goal: Make the computer perform complex tasks for us.

· How: Write programs.

Page 4: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 4

What is a computer? (2)

CPU

Memory

Network

Welcometo Python!

Page 5: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 5

Programming· Machine language· The CPU set of instructions: coded as a series

of 0's and 1's· Fast· Machine dependent (two different CPU don't

use the same machine language)· Time consuming to write programs

· Instead, use a high level language· Closer to plain English. Programming is easier.

(this doesn't mean easy!)· Machine independent · Can't be understood by the CPU. A translation

program is required (compiler, interpreter, …)

Page 6: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 6

Programming languages

· Thousands of programming languages (many are just for research purposes)

· Historically (with many omissions!)· FORTRAN (scientific) (50's)· COBOL (business) (60's)· PASCAL, BASIC, C (multi purposes) (70's)· C++ (OOP) (80's), Java (90’s)· Python (90’s, started by Guido Van Rossum,

community-backed development process, the catchy name is a reference to Monty Python)

Page 7: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 7

Why are we learning Python?

· A modern language· object oriented· dynamic semantics· built-in data structures· extensive libraries· available on all major platforms

· A good language to learn programming

Page 8: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 8

The present Python· Python 3.3 (2012)· Python 3: cleaned up version of Python 2 · not compatible with Python 2

· Software: many free products for all platforms (Unix, Mac, Windows…)· available at python.org· comes with a development environment (IDLE)· other IDE's available (e.g. PyDev in Eclipse)

Page 9: CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]

CSC 110 A 9

Resources· Text: “Python Programming" by J. Zelle

· http://mcsp.wartburg.edu/zelle/python/ppics2/index.html

· Another text: “How to think like a computer scientist”· http://www.greenteapress.com/thinkpython/

thinkCSpy.pdf· Huge amount of resources on the web· check python.org