COMPSCI 107 Computer Science Fundamentals

Slides:



Advertisements
Similar presentations
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Advertisements

Introduction to C Programming
Fundamentals of Python: From First Programs Through Data Structures
Lecture 2 - Variables, program execution, calculations, print() COMPSCI 101 Principles of Programming.
CC0002NI – Computer Programming Computer Programming Er. Saroj Sharan Regmi Week 7.
Fundamentals of Python: First Programs
CIS Computer Programming Logic
Introduction to Python
General Computer Science for Engineers CISC 106 Lecture 02 Dr. John Cavazos Computer and Information Sciences 09/03/2010.
Introduction. 2COMPSCI Computer Science Fundamentals.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 2 Input,
Input, Output, and Processing
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before you program Rule 2: A program is a human-readable set.
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
Part:2.  Keywords are words with special meaning in JavaScript  Keyword var ◦ Used to declare the names of variables ◦ A variable is a location in the.
Introduction to Programming Python Lab 7: if Statement 19 February PythonLab7 lecture slides.ppt Ping Brennan
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
Bill Tucker Austin Community College COSC 1315
TK1913 C++ Programming Basic Elements of C++.
Chapter Topics The Basics of a C++ Program Data Types
Topics Designing a Program Input, Processing, and Output
Chapter 6 JavaScript: Introduction to Scripting
Python: Experiencing IDLE, writing simple programs
Topic: Python’s building blocks -> Statements
Chapter 2 - Introduction to C Programming
Python: Control Structures
Computing Fundamentals
2.5 Another Java Application: Adding Integers
Basic Elements of C++.
Revision Lecture
Introduction to Programming
The Selection Structure
Variables, Expressions, and IO
Introduction to Scripting
Chapter 2 - Introduction to C Programming
CMSC201 Computer Science I for Majors Lecture 03 – Operators
Java Programming: From Problem Analysis to Program Design, 4e
Basic Elements of C++ Chapter 2.
Designing and Debugging Batch and Interactive COBOL Programs
IDENTIFIERS CSC 111.
Imperative Programming
Introduction to Programming
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Topics Introduction to File Input and Output
Introduction to C++ Programming
Chapter 2: Basic Elements of Java
Chapter 2 - Introduction to C Programming
Introduction to Programming
3. Decision Structures Rocky K. C. Chang 19 September 2018
Chapter 2 - Introduction to C Programming
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
elementary programming
Boolean Expressions to Make Comparisons
Flowcharts and Pseudo Code
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Chapter 2 - Introduction to C Programming
Unit 3: Variables in Java
Chopin’s Nocturne.
Introduction to Programming
Topics Introduction to File Input and Output
Introduction to C Programming
Imperative Programming
Data Types and Expressions
PYTHON - VARIABLES AND OPERATORS
Presentation transcript:

COMPSCI 107 Computer Science Fundamentals Lecture 02 – Python syntax variables types expressions selection iteration

All students are welcome here Māori and Pacific students, you are welcome here. Students of colour, you are welcome here. Students of all faiths and beliefs, you are welcome here. Queer students, you are welcome here. Female, genderqueer and transgender students, you are welcome here. Students with disabilities and non-neurotypical students, you are welcome here. Students from low socio-economic backgrounds, you are welcome here. Students from refugee backgrounds, you are welcome here. All students are welcome here. You are an invaluable part of our community. I make a commitment to building an inclusive, supportive space where you can thrive. We will not tolerate harassment of any student or staff in any form. More information can be found at: www.auckland.ac.nz/equity COMPSCI 107 - Computer Science Fundamentals

Philosophy COMPSCI 107 - Computer Science Fundamentals

Research Interests ACM Special Interest Group in Computer Science Education COMPSCI 107 - Computer Science Fundamentals

Research on lectures An efficient way to teach – not an effective way to learn Research on learning: Actively doing something is effective Learning from peers is effective Critically evaluating your own performance is essential COMPSCI 107 - Computer Science Fundamentals

Research on learning What is effective? Actively doing something (bring laptop to class if possible) Critically evaluating yourselves Learning from peers COMPSCI 107 - Computer Science Fundamentals

Learning outcomes At the end of this lecture, you should be able to: Use variables to store values Read from standard input and write to standard output Convert variables from one type to another Perform simple calculations using standard arithmetic operations Use conditional statements to make decisions within a program Use for and while loops to perform iteration COMPSCI 107 - Computer Science Fundamentals

Programs Programs consist of one or more instructions Instructions are executed in a sequence COMPSCI 107 - Computer Science Fundamentals

Code Style Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do. Knuth – Literate Programming, 1984 Programs must be written for people to read, and only incidentally for machines to execute. Abelson & Sussman (1996) COMPSCI 107 - Computer Science Fundamentals

Variables A simple storage box Information in a variable has a type name of the box is the identifier stores only one thing at a time Information in a variable has a type boolean, integer, float, string Values are stored in variables using an assignment statement Note: Python variables do not need to be declared before use 25 age name = "Andrew" age = 25 COMPSCI 107 - Computer Science Fundamentals

Identifier names All lower case Use underscore to separate words Start with a letter or underscore May use numbers, but not as the first character May not use a reserved word COMPSCI 107 - Computer Science Fundamentals

Tracing code Keep track of the contents of variables Write down the name of each variable Change the value when (and only when) an assignment occurs When you change a value, cross out the old one and write a new one length_in_inches: 50 100 length_in_cms: 254.0 COMPSCI 107 - Computer Science Fundamentals

Exercise What values are stored in a, b and temp after executing the following code? Perform a code trace. Explain the purpose of the code shown above. What does it do? a = 7 b = 3 temp = a a = b b = temp COMPSCI 107 - Computer Science Fundamentals

Exercise Suppose that there are 4 variables names x0, x1, x2 and x3. Write the code to move the values stored in those variables to the left, with the leftmost value ending up in the rightmost variable, as shown in the diagram below. You may use a temporary variable. COMPSCI 107 - Computer Science Fundamentals

Data Types All data is ultimately stored as numbers We can interpret the numbers in different ways Type determines how to interpret the numbers Type determines which operations are permitted Static type checking Type errors are detected at compile time Automatically checked Dynamic type checking Type errors are detected at run time Manually debugged COMPSCI 107 - Computer Science Fundamentals

Types Python variables are dynamically typed Checking the type x = 3 a variable can hold any type of value int float string bool Checking the type type() function x = 3 print(x) x = 'Hello' 3 Hello x = 3 print(type(x)) x = 'Hello' <class 'int'> <class 'str'> COMPSCI 107 - Computer Science Fundamentals

Exercise Why is the idea of a type useful to us? In other words, why do languages have the notion of type? What is the advantage of static type checking compared with dynamic type checking? COMPSCI 107 - Computer Science Fundamentals

Type casting Changing the way data is interpreted (changing the type) Use the name of the type as a function int( x ) float( x ) str( x ) x = input('Enter a number: ') print(type(x)) y = int(x) print(type(y)) z = float(x) print(type(z)) Enter a number: 56 <class 'str'> <class 'int'> <class 'float'> COMPSCI 107 - Computer Science Fundamentals

Python input and output Python provides simple functions for reading and writing text input([arg]) function returns a string containing text entered from keyboard removes the newline terminator at the end of the string optional argument is used as a prompt print([args]) function prints the argument to the standard output (screen) multiple arguments will be printed with a space separating each argument name = input('Enter your name: ') print('Hello', name) COMPSCI 107 - Computer Science Fundamentals

Exercise Write code that reads an integer value from standard input, and prints that value to standard output. Note: The function to read from standard input is: input([prompt]) Note: The input() function returns a string COMPSCI 107 - Computer Science Fundamentals

Arithmetic operations Mathematical operators Addition + Subtraction - Multiplication * Division / Exponentiation ** Floor division // Modulus % “In place” operators alter the value of the variable x += 1 x -= 1 x *= 2 … COMPSCI 107 - Computer Science Fundamentals

Expression An expression is part of the program that can be evaluated (i.e. when the computer follows the rules that define the instructions, an expression turns into a value). An expression can be used anywhere that a value is used x = 3 + 4 3 + 4 is an expression COMPSCI 107 - Computer Science Fundamentals

Example Convert a length from inches to centimetres length_in_inches = 100 length_in_cm = length_in_inches * 2.54 print(length_in_cm) COMPSCI 107 - Computer Science Fundamentals

Exercise Floor division and modulus Integer part of a division, and remainder after division What do each of the following expressions evaluate to? 10 + 4 10 - 4 10 * 4 10 / 4 10 ** 4 10 // 4 10 % 4 COMPSCI 107 - Computer Science Fundamentals

Boolean values and related operators True False Relational operators >, >=, <, <=, == Boolean operators and, or, not >>> 2 == 3 False >>> 2 == 3 or 4 < 5 True COMPSCI 107 - Computer Science Fundamentals

Exercise What is the output of the following code? a = 0.3 b = 0.9 print(a == b) print(a * 3 == b) COMPSCI 107 - Computer Science Fundamentals

Exercise How should we compare floating point numbers? Illustrate your approach using Python syntax. COMPSCI 107 - Computer Science Fundamentals

Selection Conditional statements Used to make decisions Change the flow of control Conditions must evaluate to True or False (boolean) Execute additional statements if condition is True Used to make decisions discount = 0.0 age = int(input("Enter your age: ")) if age >= 65: discount = 0.10 print("You get a discount of {:.0%}".format(discount)) price = 35 * (1.0 - discount) print("Your tickets cost: ${:.2f}".format(price)) COMPSCI 107 - Computer Science Fundamentals

Conditionals Code is executed if the condition is true if name == "Andrew": print("Hi Andrew") if n % 2 == 0: print("Even number") else: print("Odd number") if n < 0: print("Negative number") elif n > 0: print("Positive number") else: print("Zero") COMPSCI 107 - Computer Science Fundamentals

Exercise Write a program that asks the user to enter a number of hours and a number of minutes. The program should check if the input is a valid time in the 24 hour clock. A message with the current time and whether or not it is valid should be displayed to standard output. Example: >> Enter the hours: 15 >> Enter the minutes: 27 >> The time 15:27 is valid >> Enter the hours: 25 >> Enter the minutes: 13 >> The time 25:13 is not valid COMPSCI 107 - Computer Science Fundamentals

Iteration Loops Similar to a conditional Change the flow of control Execute a set of statements multiple times Branch when the condition is false Similar to a conditional but repeats the statements Python hides some of the details tables = int(input("Enter the times tables: ")) print("===============") for i in range(1, 11): print("{} x {} = {}".format(i, tables, i * tables)) COMPSCI 107 - Computer Science Fundamentals

Loops For loops While loops Used to iterate through a sequence of values While loops Used to repeat statements when the end condition is unknown for count in range(0, 100): print(count) goal = 'catfish' password = '' while password != goal: password = input('Enter the password: ') print('Correct') COMPSCI 107 - Computer Science Fundamentals

Exercise Modify the previous program to repeatedly ask the user to enter the hours and the minutes until the values are valid. The valid time should be printed. Example: >> Enter the hours: 25 >> Enter the hours: 22 >> Enter the minutes: 60 >> Enter the minutes: 59 >> The time is 22:59 COMPSCI 107 - Computer Science Fundamentals

Range Used to generate integer numbers within a range of values Includes the start value, but excludes the stop value range(stop) range of values from 0 to stop value range(start, stop) range of values from start to stop value range(start, stop, step) range of values from start to stop value, increasing by step each time range(10) 0 1 2 3 … 8 9 range(3, 8) 3 4 5 6 7 range(4, 10, 2) 4 6 8 range(10, 4, -2) 10 8 6 COMPSCI 107 - Computer Science Fundamentals

Summary Variables in Python are dynamically typed and do not need to be declared before using them Floating point numbers have limited precision Conditional statements have optional else and elif clauses For loops are used to iterate through a sequence of values While loops are used when the end condition is unknown COMPSCI 107 - Computer Science Fundamentals