Importance of computing:
- Forecasting natural disasters
- Computer Aided Tomography scans
- Finding and distributing information (internet)
- Entertainment (games, instant messaging)
- E-commerce (online shopping)
What is Computer Science?
The study of:
- Computer software
- Algorithms, abstraction & efficiency
- Theoretical foundations for computation
Problem solving
1. Understand the problem
2. Plan – how to solve the problem
3. Carry out the plan – write the program
4. Assess result
5. Describe what you have learnt
6. Document the solution
Algorithms
Algorithm: set of steps to accomplish a task
Must be precise so that they:
- Are repeatable
- Have a predictable outcome
- Can be executed by different people
,Elements of an algorithm:
- Sequence – each step is followed by another step
- Selection – a choice may be made among other alternatives
- Iteration – a set of steps may be repeatecd
Programming process
- Input – get information from the real world
- Process – process the data internally
- Output – send the computed data back to the real world
Python Basics
Definitions
Program: set of instructions given to a computer, corresponding to an algorithm to
solve a problem
Programming: the act of writing a program
Integrated Development Environment (IDE): graphical interface with menus and
windows
Literals: actual data values written into a program
Function: block of code
Syntax
- Every statement starts on a new line (generally)
- Statements are case sensitive (ie: STUFF vs stuff)
Comments
- Everything after a # is a comment (ie: for humans)
- Brief description: author & date at top of program
- Purpose of each function (if more than one function)
- Short explanation of non-obvious part of code
,Syntax Errors
Syntax error when the program does not conform to the structure required
Program will not run if there is a syntax error
Examples of syntax errors:
- print spelt incorrectly
Logic errors
Logic errors when the program runs but does not work as expected
You must test your program to make sure there are no logic errors
Escape sequences
Escape sequences: special characters that cannot be represented easily in the
program
\a : bell (beep)
\b : backspace
\n : newline
\t : tab
\' : single quote
\" : double quote
\\ : \ character
Numeric Data Types
Numbers have 2 primitive types:
- Integer
- Floating point number
,Integer: whole number with no fractional part
Floating point number: number with fraction part (stores only an approximation to
real number)
- Example: 0,5
Integer Operations
“+” (plus)
“-” (minus)
“/” (divide)
“*” (multiply)
“%” (mod – returns the remainder)
“//” (integer division)
“**” (a**b : a b)
Order of precedence of operations:
- High: ()
- Middle: * / %
- Low: + -
Identifiers
Identifier: used to name parts of the program
Examples: “celcius”, “temperature”, “Temperature”
Naming conventions:
- Start with a letter or underscore (_)
- Separate words with underscore
- Can’t have spaces
- Case sensitive
,Variables
Variables: sections of memory where data can be stored
Most variables have names (identifiers) by which they can be referred
Variables are defined by assigning an initial value to them
Assignment/Input & Output
Output variables just like you output literals
Can output both on one line
a = 1 # assigning the value of 1 to the variable “a”
print (“The value of a is ”, a)
Output: print
print: a built-in function with rules for how it works
General format:
- print(<expression1>, <expression2>, …, <expression_n>)
- print()
By default: print displays the value of each expression, separated by blank spaces,
followed by a carriage return (moving to the next line)
- Sep = “ ”
- End = “\n” (carriage return)
, Input
The input function always gives us a string
Used to get text/string from the user
- input(<prompt>)
If you are going to do math: you must convert the string to a number:
- eval()
eval(): a python function that converts a string into a number
- int() #truncates a float
- float()
Other useful numerical syntax
Increment/decrement operators
+= , -= , *= , /=
Implicit type conversions
Conversions/casting: when one type of value is converted to another
If there is a type mismatch: the narrower range value is prompted up
- Can’t automatically convert down
Explicit type conversions
Typecast methods: methods that cast (convert) a value to another type
Use typecast methods to convert strings to numbers
Use math.ceil, math.floor, round methods for greater control on floating-point
numbers
Use eval(), int(), float() to convert strings to numbers.
math Module
Module: a collection of useful functions