| title | Introduction to Computational Thinking and Problem Solving Using Python - Learning Objectives | ||
|---|---|---|---|
| permalink | /lo/weekly | ||
| key | lo-weekly | ||
| layout | article | ||
| nav_key | Learning Objectives | ||
| license | false | ||
| aside |
|
||
| show_edit_on_github | false | ||
| show_date | false |
By the end of this lesson, students should be able to:
- State the various components of computational thinking, i.e. decomposition, abstraction, pattern recognition and algorithms
- identify the various skills needed in computing and specifically in programming
- state the PCDIT framework for problem solving
- state the difference between novice and expert programmers in solving problems
- explain the need for identifying patterns in problem solving
By the end of this lesson, students should be able to:
- explain how Python code is executed in sequence
- create and use a variable
- create basic data types such as integer, float and string
- display basic data types using print function
- explain the assignment operator
- draw the environment diagram after assignment
- check data type of a literal or variable
- identify input and output data type of a problem
By the end of this lesson, students should be able to:
- call built-in math functions
- explain the purpose of creating a user-defined function
- define a function with and without arguments
- define a function with and without return values
- define a function with multiple arguments
- create a tuple
- define a function that returns a tuple
- access an element of a tuple
- define a function with optional or keyword arguments
- specify data types in arguments and return value
- explain the difference between local and global variables
- choose whether to use local or global variables
- abstract a problem as a function
- identify input, output and process of a function use print function to debug a function
By the end of this lesson, students should be able to:
- use basic operators with basic data types
- predict the evaluated data types from an expression
- evaluate math expression with various precedence
- use compound operators
- state the three basic control structures, i.e. sequential, branch and iteration
- identify basic structures from a given problem
- state the Python keywords to be used for each basic control structures
- draw flow chart for sequential, branch and iterative structure
- Derive concrete cases given a problem statement
- Derive design of algorithm steps from some concrete cases
By the end of this lesson, students should be able to:
- create a boolean data type
- convert a variable into a boolean data type
- evaluate relational and logical operators
- specify the precedence of relational and logical operators
- implement branch structure using if-else statement
- implement branch structure using if-elif-else statement
- draw a flow chart for if-else and nested if-else
- explain the difference between if-elif and if-if codes
- use assert to create a test
- identify branch structure in a problem
- decompose a problem into multiple selections
- abstract selection process as a function
By the end of this lesson, students should be able to:
- create string using various methods
- create multi-line string
- use basic operations on string data type
- obtain the length of a string
- obtain a character of a string using the index
- create a new substring from a string using slice operator
- explain that string is immutable
- check if a substring is in a string
- Use formatted string literal to display formatted string with data
By the end of this lesson, students should be able to: traverse an iterable using for-loop
- enumerating a collection data to get the element and the index
- use range function to create an iterable
- traverse an iterable using its index
- use print to debug while loop and for-loop code
- identify iteration structure from a given problem
- decompose problem into iterative process of smaller problems
- implement simple iteration using while loop
- speciy and identify basic building blocks of a while loop statement
- traverse a string using while loop and counter
- traverse a string with sentinel value
- use a break statement to terminate a loop
By the end of this lesson, students should be able to:
- create a tuple
- explain what it means that tuple is immutable
- access an element in a tuple using index
- get the length of a tuple
- check if an item is an element in a tuple
- traverse a tuple
- create a list using square bracket operator
- access an element in a list using index
- get the length of a list
- check if an item is an element in a list
- concatenate a list
- obtain a sublist from a list using the slice operator
- modify an element in a list
- remove an element in a list
- find the position of an element in a list
- create an alias of a list
- clone a list into a new list
- add an element into a list
- pass a list as function arguments
- explain the effect of aliasing for list data type
- create list comprehension
- traverse a list using while loop and for-loop
- draw environment diagram of a list
- use print to display elements of a list
- identify when list or tuple is appropriate in a problem
By the end of this lesson, students should be able to:
- create a nested list
- access elements in a nested list
- traverse a nested list using both while loop and for-loop
- draw environment diagram of a nested list
- explain the effect of aliasing of a nested list
- explain the difference between shallow copy and deep copy
- use print to debug nested loop
- identify nested loop structure in a given problem
- decompose nested loop problem into multiple loops
By the end of this lesson, students should be able to:
- create a dictionary as key-value pairs
- access the value using the key
- add key-value pair into a dictionary
- use dictionary to implement branch structure
- remove a key-value pair from a dictionary
- check if a key is in a dictionary
- check if a value is in a dictionary
- traverse a dictionary
- compare dictionary with a list
- create a set
- use basic set operations
- add item into a set
- compare set and dictionary
- identify when dictionary or set is appropriate in a problem