Back to Modules
COR-IS1704

Computational Thinking and Programming

1 CreditsBoth

Description

This course equips students with both foundational computer programming skills and computational thinking skills, through the use of Python, a widely-used programming language. Upon successful completion of this course, students will understand and be able to appropriately apply fundamental programming concepts including variables, functions, parameters, loops and conditions to solve computational problems. The students will also be introduced to basic data structures including arrays (lists in Python) and hash tables (dictionaries in Python). In addition, students will receive a gentle introduction to computational complexity and apply the notion of complexity to analyse simple algorithms.

Requisites

Prerequisites: None

Co-requisites: None

Anti-requisites: COR-IS1704/IS111/CS101/COR-IS1702 - Mutually Exclusive

Attributes

Department: SCIS

Course Level: Undergraduate

Tracks: N/A

Areas: Accounting Data and Analytics Electives Accounting Electives Accounting Options Business Options Capabilities - Modes of Thinking Computing & Law Core (Intake 2024 onwards) Computing Studies Core Data Science and Analytics Core Digital Business Core Financial Forensics Electives Grad Req - Dig Tech/Data Ana (Intake 2024 onwards) Information Systems Core (Intake 2024 onwards) Law Related Electives Software Engineering Core (Intake 2024 onwards) Tech for Business Core (Intake 2024 onwards) Technology Studies Cluster

Learning Outcomes

1. Understand what variables, operators and data types are in programming languages 2. Choose appropriate data types to store data 3. Understand the purpose of defining and calling functions 4. Implement a function based on its description 5. Understand how conditional statements work, identify scenarios when conditional statements are needed, and correctly express the conditions using Python language 6. Understand how loops work, identify scenarios when loops are needed, the stopping conditions of such loops and the actions to be repeated, and correctly express them using Python language 7. Understand the usage of lists and apply the appropriate syntax to manipulate a list 8. Identify scenarios when lists are needed to solve a problem and correctly construct lists to suit the needs 9. Understand the usage of dictionaries and apply the appropriate syntax to manipulate a dictionary 10. Identify scenarios when dictionaries are needed to solve a problem and correctly construct dictionaries to suit the needs 11. Apply the appropriate syntax to read and write text files in Python 12. Divide a complex problem into smaller sub-problems and conquer them one by one with the help of loops, conditions, functions, etc. 13. Understand the notion of computational complexity and how the number of operations is related to the size of the input 14. Understand the time complexity of simple and typical code snippets such as loops and dictionary lookups 15. Apply the notion of computational complexity to analyse simple programs

Graduate Learning Outcomes

Disciplinary Knowledge, Critical thinking & problem solving, Understanding of sustainability issues, Self-directed learning

Competencies

Algorithm Analysis