### Introduction to Computer Science and Programming

An elementary introduction to computing science and computer programming, suitable for students with little or no programming background. Students will learn … more

### Course Topics

- General introduction
- Algorithms, flow charts and pseudocode
- Procedural programming in Python
- Data types and control structures
- Fundamental algorithms
- Basics of binary encodings
- Subject to time availability:
- Basics of computability and complexity

- Basics of Recursion
- Basics of Data File management

### Summary of Learning Outcomes

Associated to the course topics, at the end of this course, a student is expected to:

- Describe fundamental concepts pertaining to computing science: algorithms, programming, etc.
- Describe and apply fundamental concepts and terminology of Python: variables, types, functions, execution flow, etc.
- Create, analyze, and explain the behaviour of simple algorithms.
- Design, create, and test small to medium size programs in Python.
- Decompose a solution to a problem in modules; decompose a Python program logic into functions.
- Use Python’s data types (including objects) appropriately.
- Use predefined classes within Python coding.
- Manipulate binary encodings of simple data types.
- Describe fundamental concepts of time complexity. Identify the order of basic algorithms.
- Subject to time availability:
- Describe the concept of recursive definitions and recursive functions
- Analyze, design and implement simple recursive functions.
- Use data files