SlideShare a Scribd company logo
CS303E: Elements of Computers and Programming
Python
Mike Scott
Department of Computer Science
University of Texas at Austin
Adapted from Dr. Bill Young's Slides
Last updated: May 23, 2023
CS303E Slideset 1: 2 Python
Some Thoughts about Programming
“The only way to learn a new programming language is by writing
programs in it.” –B. Kernighan and D. Ritchie
"Computers are good at following instructions, but not at reading
your mind." –D. Knuth
"Programming is not a spectator sport." - Bill Young
Program:
n. A magic spell cast over a computer allowing it to turn
one’s input into error messages.
tr. v. To engage in a pastime similar to banging one’s head
against a wall, but with fewer opportunities for reward.
CS303E Slideset 1: 3 Python
What is Python?
Python is a high-level programming language developed by
Guido van Rossum in the Netherlands in the late 1980s. It
was released in 1991.
Python has twice
received recognition
as the language with
the largest growth
in popularity for the
year (2007, 2010).
It’s named after the
British comedy
troupe Monty
Python.
CS303E Slideset 1: 4 Python
What is Python?
Python is a simple but powerful scripting language. It has
features that make it an excellent first programming language.
• Easy and intuitive mode of interacting with the system.
• Clean syntax that is concise. You can say/do a lot with
few words.
• Design is compact. You can carry the most
important language constructs in your head.
• There is a very powerful library of useful functions
available.
You can be productive quite quickly. You will be spending more
time solving problems and writing code, and less time grappling
with the idiosyncrasies of the language.
CS303E Slideset 1: 5 Python
What is Python?
Python is a general purpose programming language.
That means you can use Python to write code for any
programming tasks.
• Python was used to write code
for: the Google search engine
• mission critical projects at NASA
• programs for exchanging financial transactions at
the NY Stock Exchange
• the grading scripts for this class
CS303E Slideset 1: 6 Python
What is Python?
Python can be an object-oriented programming language.
Object-oriented programming is a powerful approach to
developing reusable software. More on that later!
Python is interpreted, which means that Python
code is translated and executed one statement at a
time.
This is different from other languages such as C which are
compiled, the code is converted to machine code and
then the program can be run after the compilation is
finished.
CS303E Slideset 1: 7 Python
The Interpreter
Actually, Python is always translated into byte code, a lower level
representation.
The byte code is then interpreted by the Python Virtual Machine.
CS303E Slideset 1: 8 Python
Getting Python
To install Python on your personal computer / laptop, you can
download it for free at: www.python.org/downloads
There are two major versions: Python 2 and Python 3.
Python 3 is newer and is not backward compatible with
Python 2. Make sure you’re running Python 3.8.
It’s available for Windows, Mac OS, Linux.
If you have a Mac, it may already be pre-installed.
It should already be available on most computers on campus.
It comes with an editor and user interface called IDLE.
I strongly recommend downloading and installing the
PyCharm, Educational version, IDE.
CS303E Slideset 1: 9 Python
A Simple Python Program: Interactive Mode
This illustrates using Python in interactive mode from the
command line. Your command to start Python may be different.
Here you see the prompt for the OS/command loop for the
Python interpreter read, eval, print loop.
CS303E Slideset 1: 10 Python
A Simple Python Program: Script Mode
Here’s the “same” program as I’d be more likely to write it. Enter
the following text using a text editor into a file called, say,
MyFirstProgram.py. This is called script mode.
In file my_first_program.py:
CS303E Slideset 1: 11 Python
A Simple Python Program
This submits the program in file my_first_program.py to
the Python interpreter to execute.
This is better, because you have a file containing your program and
you can fix errors and resubmit without retyping a bunch of stuff.
CS303E Slideset 1: 12 Python
Aside: About Print
If you do a computation and want to display the result use the
print function.
You can print multiple values with one print statement:
Notice that if you’re computing an expression in interactive mode,
it will display the value without an explicit print.
Python will figure out the type of the value and print it
appropriately. This is very handy when learning the basics
of computations in Python.
CS303E Slideset 1: 13 Python
Another aside: Binary Numbers, Base 2 Numbers
 The vast majority of computer systems use
digital storage
 Some physical phenomena that is interpreted
to be a 0 or 1
 abstraction, pretending something is different,
simpler, than it really is
 also known as binary representations
 1 bit -> 1 binary digit, a 0 or a 1
 1 byte -> 8 bits
 binary numbers, base 2 numbers
CS303E Slideset 1: 14 Python
Base 2 Numbers
 537210
 = (5 * 1,000) + (3 * 100) + (7 * 10) + (2 * 1)
 = (5 * 103)+ (3 * 102)+ (7 * 101)+ (2 * 100)
 Why do we use base 10? 10 fingers?
 Choice of base is somewhat arbitrary
 In computing we also use base 2, base 8, and
base 16 depending on the situation
 In base 10, 10 digits, 0 - 9
 In base 2, 2 digits, 0 and 1
CS303E Slideset 1: 15 Python
Base 2 Numbers
 10110112
 = (1 * 64) + (0 * 32) + (1 * 16) + (1 * 8) +
(0 * 4) + (1 * 2) + (1 * 1) = 91
 = (1 * 26) + (0 * 25) + (1 * 24) + (1 * 23) +
(0 * 22) + (1 * 21) + (1 * 20) = 91
 Negative numbers and real numbers are
typically stored in a non-obvious way
 If the computer systems only stores 0s and 1s
how do we get digital images, characters,
colors, sound, …
 Encoding
CS303E Slideset 1: 16 Python
Encoding
 Encoding is a system or standard that dictates
what "thing" is representing by what number
 Example ASCII or UTF-8
 This number represents this character
 First 128 numbers of ASCII and UTF-8 same
 32 -> space character
 65 -> capital A
 97 -> lower case a
 48 -> digit 0
CS303E Slideset 1: 17 Python
Computer Memory
 Recall, 1 bit -> a single 0 or 1
 1 byte = 8 bits
 A typical laptop or desktop circa 2023
 … has 4 to 32 Gigabytes of RAM, also known
as main memory.
 1 Gigabyte -> 1 billion bytes
 The programs that are running store their
instructions and data (typically) in the RAM
 … have 100s of Gigabytes up to several
Terabytes (trillions of bytes) in secondary
storage. Long term storage of data, files
 Typically spinning disks or solid state drives.
CS303E Slideset 1: 18 Python
The Framework of a Simple Python Program
Define your program in file
Filename.py:
def main ( ) :
Python statement
Python statement
Python statement
. . .
Python statement
Python statement
Python statement
main ( )
To run it:
> python file_name.py
Defining a function called main.
These are the instructions that make up
your program. Indent all of them the
same amount (usually 4 spaces).
This says to execute the function main.
This submits your program in
file_name.py to the Python
interpreter.
CS303E Slideset 1: 19 Python
Aside: Running Python From a File
Typically, if your program is in file hello.py, you can run your
program by typing at the command line:
> python hello.py
You can also create a stand alone script. On a Unix / Linux
machine you can create a script called hello.py containing the
first line below (assuming that’s where your Python
implementation lives):
# ! / l us r / bi n/ pyt hon3
# The line above may vary based on your system
pr i nt ('Hello World!')
CS303E Slideset 1: 20 Python
Program Documentation
Documentation refers to comments included within a source code
file that explain what the code does.
Include a file header: a summary at the beginning of each file
explaining what the file contains, what the code does, and
what key feature or techniques appear.
You shall always include your name, email, grader, and
a brief description of the program.
# File: <NAME OF FILE>
# Description: <A DESCRIPTION OF YOUR PROGRAM>
# Assignment Number: <Assignment Number, 1 - 13>
#
# Name: <YOUR NAME>
# EID: <YOUR EID>
# Email: <YOUR EMAIL>
# Grader: <YOUR GRADER'S NAME Carolyn OR Emma or Ahmad>
#
# On my honor, <YOUR NAME>, this programming assignment is my own work
# and I have not provided this code to any other student.
CS303E Slideset 1: 21 Python
Program Documentation
Comments shall also be interspersed in your code:
Before each function or class definition (i.e., program
subdivision);
Before each major code block that performs a significant task;
Before or next to any line of code that may be hard to
understand.
sum = 0
# s um t he i nt eger s [ s t ar t . . . end]
f or i i n r ange ( s t ar t , end + 1) :
sum += i
CS303E Slideset 1: 22 Python
Don’t Over Comment
Comments are useful so that you and others can understand your
code. Useless comments just clutter things up:
x = 1
y = 2
# assign 1 to x
# assign 2 to y
CS303E Slideset 1: 23 Python
Programming Style
Every language has
its own unique
syntax and style.
This is a C
program.
Good programmers
follow certain
conventions to
make programs
clear and easy to
read, understand,
debug, and
maintain. We have
conventions in
303e. Check the
assignment page.
# i nc l ude <s t di o. h>
/ * p r i n t t a b l e of Fahrenheit to Celsius
[ C = 5/ 9( F- 32) ] f or f ahr = 0, 20, . . . ,
300 * /
m
ai n( )
{
i nt f ahr , c el s i us ;
i nt l ow
er , upper , s t ep;
lower = 0 ; / * low l i m i t of t a b l e * /
upper = 3 0 0 ; / * high l i m i t of t a b l e * /
step = 2 0 ; / * step s i z e * /
fahr = lower;
w
hi l e ( f ahr <= upper ) {
c el s i us = 5 * ( f ahr - 32) / 9;
pr i nt f ( " %
dt %
dn" , f ahr , c el s i us ) ;
f ahr = f ahr + s t ep;
}
}
CS303E Slideset 1: 24 Python
Programming Style
Some important Python programming conventions:
Follow variable and function naming conventions.
Use meaningful variable/function names.
Document your code effectively.
Each level indented the same (4 spaces).
Use blank lines to separate segments of code inside functions.
2 blank lines before the first line of function (the function header) and
after the last line of code of the function
We’ll learn more elements of style as we go.
Check the assignments page for more details.
CS303E Slideset 1: 25 Python
Errors:
Syntax
Remember: “Program: n. A magic spell cast over a computer allowing it
to turn one’s input into error messages.”
We will encounter three types of errors when developing
our Python program.
syntax errors: these are ill-formed Python and caught by the interpreter
prior to executing your code.
>>> 3 = x
Fi l e " <s t di n>" , l i ne 1
Synt axEr r or : can’ t as s i gn t o
l i t er al
These are typically the easiest to find and fix.
CS303E Slideset 1: 26 Python
Errors: Runtime
runtime errors: you try something illegal while your code is
executing
>>> x = 0
>>> y = 3
>>> y / x
Tr ac ebac k ( m
os t r ec ent c al l l as t ) :
Fi l e " <s t di n>" , l i ne 1, i n <m
odul e >
Zer oDi vi s i onEr r or : di vi s i on by zer o
CS303E Slideset 1: 27 Python
Errors: Logic
logic errors: C a l c u a l t e 6 !
your program runs but returns an incorrect result.
>>> prod = 0
>>> for x in r a n g e [ 1 , 6 ] :
. . . prod *= x
>>> pr i nt ( pr od)
0
This program is syntactically fine and runs without error. But it
probably doesn’t do what the programmer intended; it always
returns 0 no matter the values in range. How would you fix it?
Logic errors are often the hardest errors to find and fix.
CS303E Slideset 1: 28 Python
Almost Certainly It’s Our Fault!
At some point we all say: “My program is obviously right. The
interpreter / Python must be incorrect / flaky / and it hates me.”
"As soon as we started programming, we found out
to our surprise that it wasn't as easy to get programs
right as we had thought. Debugging had to be
discovered. I can remember the exact instant when
I realized that a large part of my life from
then on was going to be spent in finding
mistakes in my own programs."
-Sir Maurice V Wilkes
CS303E Slideset 1: 29 Python
Try It!
“The only way to learn a new programming language is by writing
programs in it.” –B. Kernighan and D. Ritchie
Python is wonderfully accessible. If you
wonder whether something works or is legal,
just try it out.
Programming is not a spectator sport!
Write programs! Do exercises!

More Related Content

PPTX
Python programming language presentation
PDF
Free Python Notes PDF - Python Crash Course
PPTX
Chapter 1-Introduction and syntax of python programming.pptx
PPTX
Introduction to Python Programming .pptx
PPT
iNTRODUCATION TO PYTHON IN PROGRAMMING LANGUAGE
PPTX
Introduction to Python Basics for PSSE Integration
PPTX
Introduction to python
PPTX
Introduction to python.pptx
Python programming language presentation
Free Python Notes PDF - Python Crash Course
Chapter 1-Introduction and syntax of python programming.pptx
Introduction to Python Programming .pptx
iNTRODUCATION TO PYTHON IN PROGRAMMING LANGUAGE
Introduction to Python Basics for PSSE Integration
Introduction to python
Introduction to python.pptx

Similar to slides1-introduction to python-programming.pptx (20)

PPT
Introduction to python
PDF
Introduction-to-Python-print-datatype.pdf
PPTX
Lacture 1- Programming using python.pptx
PDF
Python for Physical Science.pdf
PPT
Introduction to Python For Diploma Students
PPTX
Python PPT.pptx
PPTX
4_Introduction to Python Programming.pptx
PPTX
Python_Unit1_Introduction.pptx
PDF
Lecture1_cis4930.pdf
PPT
Python_intro.ppt
PPTX
MODULE 1.pptx
PDF
GE3151_PSPP_UNIT_2_Notes
PPTX
Introduction-to-Python.pptx
PPTX
ITC 110 Week 10 Introdution to Python .pptx
PDF
Learn Python 3 for absolute beginners
PPTX
Python in 30 minutes!
PPTX
cupdf.com_python-seminar-ppt.pptx.........
PDF
05 python.pdf
PPTX
Introduction-to-Python-Programming1.pptx
PPTX
python presntation 2.pptx
Introduction to python
Introduction-to-Python-print-datatype.pdf
Lacture 1- Programming using python.pptx
Python for Physical Science.pdf
Introduction to Python For Diploma Students
Python PPT.pptx
4_Introduction to Python Programming.pptx
Python_Unit1_Introduction.pptx
Lecture1_cis4930.pdf
Python_intro.ppt
MODULE 1.pptx
GE3151_PSPP_UNIT_2_Notes
Introduction-to-Python.pptx
ITC 110 Week 10 Introdution to Python .pptx
Learn Python 3 for absolute beginners
Python in 30 minutes!
cupdf.com_python-seminar-ppt.pptx.........
05 python.pdf
Introduction-to-Python-Programming1.pptx
python presntation 2.pptx
Ad

Recently uploaded (20)

PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
Construction Project Organization Group 2.pptx
PPTX
Geodesy 1.pptx...............................................
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
PPT on Performance Review to get promotions
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
UNIT 4 Total Quality Management .pptx
Operating System & Kernel Study Guide-1 - converted.pdf
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
R24 SURVEYING LAB MANUAL for civil enggi
Construction Project Organization Group 2.pptx
Geodesy 1.pptx...............................................
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CH1 Production IntroductoryConcepts.pptx
OOP with Java - Java Introduction (Basics)
PPT on Performance Review to get promotions
Ad

slides1-introduction to python-programming.pptx

  • 1. CS303E: Elements of Computers and Programming Python Mike Scott Department of Computer Science University of Texas at Austin Adapted from Dr. Bill Young's Slides Last updated: May 23, 2023
  • 2. CS303E Slideset 1: 2 Python Some Thoughts about Programming “The only way to learn a new programming language is by writing programs in it.” –B. Kernighan and D. Ritchie "Computers are good at following instructions, but not at reading your mind." –D. Knuth "Programming is not a spectator sport." - Bill Young Program: n. A magic spell cast over a computer allowing it to turn one’s input into error messages. tr. v. To engage in a pastime similar to banging one’s head against a wall, but with fewer opportunities for reward.
  • 3. CS303E Slideset 1: 3 Python What is Python? Python is a high-level programming language developed by Guido van Rossum in the Netherlands in the late 1980s. It was released in 1991. Python has twice received recognition as the language with the largest growth in popularity for the year (2007, 2010). It’s named after the British comedy troupe Monty Python.
  • 4. CS303E Slideset 1: 4 Python What is Python? Python is a simple but powerful scripting language. It has features that make it an excellent first programming language. • Easy and intuitive mode of interacting with the system. • Clean syntax that is concise. You can say/do a lot with few words. • Design is compact. You can carry the most important language constructs in your head. • There is a very powerful library of useful functions available. You can be productive quite quickly. You will be spending more time solving problems and writing code, and less time grappling with the idiosyncrasies of the language.
  • 5. CS303E Slideset 1: 5 Python What is Python? Python is a general purpose programming language. That means you can use Python to write code for any programming tasks. • Python was used to write code for: the Google search engine • mission critical projects at NASA • programs for exchanging financial transactions at the NY Stock Exchange • the grading scripts for this class
  • 6. CS303E Slideset 1: 6 Python What is Python? Python can be an object-oriented programming language. Object-oriented programming is a powerful approach to developing reusable software. More on that later! Python is interpreted, which means that Python code is translated and executed one statement at a time. This is different from other languages such as C which are compiled, the code is converted to machine code and then the program can be run after the compilation is finished.
  • 7. CS303E Slideset 1: 7 Python The Interpreter Actually, Python is always translated into byte code, a lower level representation. The byte code is then interpreted by the Python Virtual Machine.
  • 8. CS303E Slideset 1: 8 Python Getting Python To install Python on your personal computer / laptop, you can download it for free at: www.python.org/downloads There are two major versions: Python 2 and Python 3. Python 3 is newer and is not backward compatible with Python 2. Make sure you’re running Python 3.8. It’s available for Windows, Mac OS, Linux. If you have a Mac, it may already be pre-installed. It should already be available on most computers on campus. It comes with an editor and user interface called IDLE. I strongly recommend downloading and installing the PyCharm, Educational version, IDE.
  • 9. CS303E Slideset 1: 9 Python A Simple Python Program: Interactive Mode This illustrates using Python in interactive mode from the command line. Your command to start Python may be different. Here you see the prompt for the OS/command loop for the Python interpreter read, eval, print loop.
  • 10. CS303E Slideset 1: 10 Python A Simple Python Program: Script Mode Here’s the “same” program as I’d be more likely to write it. Enter the following text using a text editor into a file called, say, MyFirstProgram.py. This is called script mode. In file my_first_program.py:
  • 11. CS303E Slideset 1: 11 Python A Simple Python Program This submits the program in file my_first_program.py to the Python interpreter to execute. This is better, because you have a file containing your program and you can fix errors and resubmit without retyping a bunch of stuff.
  • 12. CS303E Slideset 1: 12 Python Aside: About Print If you do a computation and want to display the result use the print function. You can print multiple values with one print statement: Notice that if you’re computing an expression in interactive mode, it will display the value without an explicit print. Python will figure out the type of the value and print it appropriately. This is very handy when learning the basics of computations in Python.
  • 13. CS303E Slideset 1: 13 Python Another aside: Binary Numbers, Base 2 Numbers  The vast majority of computer systems use digital storage  Some physical phenomena that is interpreted to be a 0 or 1  abstraction, pretending something is different, simpler, than it really is  also known as binary representations  1 bit -> 1 binary digit, a 0 or a 1  1 byte -> 8 bits  binary numbers, base 2 numbers
  • 14. CS303E Slideset 1: 14 Python Base 2 Numbers  537210  = (5 * 1,000) + (3 * 100) + (7 * 10) + (2 * 1)  = (5 * 103)+ (3 * 102)+ (7 * 101)+ (2 * 100)  Why do we use base 10? 10 fingers?  Choice of base is somewhat arbitrary  In computing we also use base 2, base 8, and base 16 depending on the situation  In base 10, 10 digits, 0 - 9  In base 2, 2 digits, 0 and 1
  • 15. CS303E Slideset 1: 15 Python Base 2 Numbers  10110112  = (1 * 64) + (0 * 32) + (1 * 16) + (1 * 8) + (0 * 4) + (1 * 2) + (1 * 1) = 91  = (1 * 26) + (0 * 25) + (1 * 24) + (1 * 23) + (0 * 22) + (1 * 21) + (1 * 20) = 91  Negative numbers and real numbers are typically stored in a non-obvious way  If the computer systems only stores 0s and 1s how do we get digital images, characters, colors, sound, …  Encoding
  • 16. CS303E Slideset 1: 16 Python Encoding  Encoding is a system or standard that dictates what "thing" is representing by what number  Example ASCII or UTF-8  This number represents this character  First 128 numbers of ASCII and UTF-8 same  32 -> space character  65 -> capital A  97 -> lower case a  48 -> digit 0
  • 17. CS303E Slideset 1: 17 Python Computer Memory  Recall, 1 bit -> a single 0 or 1  1 byte = 8 bits  A typical laptop or desktop circa 2023  … has 4 to 32 Gigabytes of RAM, also known as main memory.  1 Gigabyte -> 1 billion bytes  The programs that are running store their instructions and data (typically) in the RAM  … have 100s of Gigabytes up to several Terabytes (trillions of bytes) in secondary storage. Long term storage of data, files  Typically spinning disks or solid state drives.
  • 18. CS303E Slideset 1: 18 Python The Framework of a Simple Python Program Define your program in file Filename.py: def main ( ) : Python statement Python statement Python statement . . . Python statement Python statement Python statement main ( ) To run it: > python file_name.py Defining a function called main. These are the instructions that make up your program. Indent all of them the same amount (usually 4 spaces). This says to execute the function main. This submits your program in file_name.py to the Python interpreter.
  • 19. CS303E Slideset 1: 19 Python Aside: Running Python From a File Typically, if your program is in file hello.py, you can run your program by typing at the command line: > python hello.py You can also create a stand alone script. On a Unix / Linux machine you can create a script called hello.py containing the first line below (assuming that’s where your Python implementation lives): # ! / l us r / bi n/ pyt hon3 # The line above may vary based on your system pr i nt ('Hello World!')
  • 20. CS303E Slideset 1: 20 Python Program Documentation Documentation refers to comments included within a source code file that explain what the code does. Include a file header: a summary at the beginning of each file explaining what the file contains, what the code does, and what key feature or techniques appear. You shall always include your name, email, grader, and a brief description of the program. # File: <NAME OF FILE> # Description: <A DESCRIPTION OF YOUR PROGRAM> # Assignment Number: <Assignment Number, 1 - 13> # # Name: <YOUR NAME> # EID: <YOUR EID> # Email: <YOUR EMAIL> # Grader: <YOUR GRADER'S NAME Carolyn OR Emma or Ahmad> # # On my honor, <YOUR NAME>, this programming assignment is my own work # and I have not provided this code to any other student.
  • 21. CS303E Slideset 1: 21 Python Program Documentation Comments shall also be interspersed in your code: Before each function or class definition (i.e., program subdivision); Before each major code block that performs a significant task; Before or next to any line of code that may be hard to understand. sum = 0 # s um t he i nt eger s [ s t ar t . . . end] f or i i n r ange ( s t ar t , end + 1) : sum += i
  • 22. CS303E Slideset 1: 22 Python Don’t Over Comment Comments are useful so that you and others can understand your code. Useless comments just clutter things up: x = 1 y = 2 # assign 1 to x # assign 2 to y
  • 23. CS303E Slideset 1: 23 Python Programming Style Every language has its own unique syntax and style. This is a C program. Good programmers follow certain conventions to make programs clear and easy to read, understand, debug, and maintain. We have conventions in 303e. Check the assignment page. # i nc l ude <s t di o. h> / * p r i n t t a b l e of Fahrenheit to Celsius [ C = 5/ 9( F- 32) ] f or f ahr = 0, 20, . . . , 300 * / m ai n( ) { i nt f ahr , c el s i us ; i nt l ow er , upper , s t ep; lower = 0 ; / * low l i m i t of t a b l e * / upper = 3 0 0 ; / * high l i m i t of t a b l e * / step = 2 0 ; / * step s i z e * / fahr = lower; w hi l e ( f ahr <= upper ) { c el s i us = 5 * ( f ahr - 32) / 9; pr i nt f ( " % dt % dn" , f ahr , c el s i us ) ; f ahr = f ahr + s t ep; } }
  • 24. CS303E Slideset 1: 24 Python Programming Style Some important Python programming conventions: Follow variable and function naming conventions. Use meaningful variable/function names. Document your code effectively. Each level indented the same (4 spaces). Use blank lines to separate segments of code inside functions. 2 blank lines before the first line of function (the function header) and after the last line of code of the function We’ll learn more elements of style as we go. Check the assignments page for more details.
  • 25. CS303E Slideset 1: 25 Python Errors: Syntax Remember: “Program: n. A magic spell cast over a computer allowing it to turn one’s input into error messages.” We will encounter three types of errors when developing our Python program. syntax errors: these are ill-formed Python and caught by the interpreter prior to executing your code. >>> 3 = x Fi l e " <s t di n>" , l i ne 1 Synt axEr r or : can’ t as s i gn t o l i t er al These are typically the easiest to find and fix.
  • 26. CS303E Slideset 1: 26 Python Errors: Runtime runtime errors: you try something illegal while your code is executing >>> x = 0 >>> y = 3 >>> y / x Tr ac ebac k ( m os t r ec ent c al l l as t ) : Fi l e " <s t di n>" , l i ne 1, i n <m odul e > Zer oDi vi s i onEr r or : di vi s i on by zer o
  • 27. CS303E Slideset 1: 27 Python Errors: Logic logic errors: C a l c u a l t e 6 ! your program runs but returns an incorrect result. >>> prod = 0 >>> for x in r a n g e [ 1 , 6 ] : . . . prod *= x >>> pr i nt ( pr od) 0 This program is syntactically fine and runs without error. But it probably doesn’t do what the programmer intended; it always returns 0 no matter the values in range. How would you fix it? Logic errors are often the hardest errors to find and fix.
  • 28. CS303E Slideset 1: 28 Python Almost Certainly It’s Our Fault! At some point we all say: “My program is obviously right. The interpreter / Python must be incorrect / flaky / and it hates me.” "As soon as we started programming, we found out to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs." -Sir Maurice V Wilkes
  • 29. CS303E Slideset 1: 29 Python Try It! “The only way to learn a new programming language is by writing programs in it.” –B. Kernighan and D. Ritchie Python is wonderfully accessible. If you wonder whether something works or is legal, just try it out. Programming is not a spectator sport! Write programs! Do exercises!