- Description
- Learning Outcomes
- Assignments
- Module Contacts
- Delivery of Module
- Schedule
- Requirements
- Resources
- Folder Structure
This module introduces learners to the fundamentals of programming using Python. Learners will be introduced to programming concepts such as functions and object-oriented programming to make use of reusable blocks of code and models respectively. We also introduce numPy
, an important library in data science and machine learning. By the end of this module, learners will be able to write reusable code to analyze data.
No coding experience is needed to take this module.
By the end of the module, learners will:
Week 1:
- Write block of code in Python using variables and conditionals
- Identify the differences between different data types
- Use a loop to go over elements of an array
- Identify and resolve errors
Week 2:
- Describe the benefits of Object Oriented programming
- Write a block of code as a reuseable function
- Use manual and automated testing to ensure block of code works as expected
- Use the numPy to perform mathematical operations on arrays and datasets
There are two assignments (one per week) in this module:
Questions can be submitted to the #questions channel on Slack
- Technical Facilitator:
- name and pronouns:
<Name>
,<Pronouns>
- email:
<[email protected]>
- name and pronouns:
- Learning Support Staff:
- name and pronouns:
<Name>
,<Pronouns>
- email:
<[email protected]>
- name and pronouns:
The module will run sychronously up twice a week on Zoom. The first two days are used as "lectures" and will last a maximum of 3 hours. During this time, the technical facilitator will introduce the concepts for the week. The last two days are used for as optional, asychronous work periods. The work periods will also last for up to 3 hours. During these two days, an technical facilitator or learning support will be present on Zoom to assist learners reach the intended learning outcomes.
The technical facilitator will introduce the concepts through a collaborative live coding session usiing the Python notebooks found under /01_slides
. The technical facilitator will also upload any live coding files to this repository for any learners to revisit under /live_code
.
Learners are encouraged to be active participants while coding and are encouraged to ask questions throughout the module.
The schedule is tentative and may be modified as needed. Learners will be notified of schedule changes.
Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | |
---|---|---|---|---|---|
Week 1 | Lecture 1 (Data Types and Control Flow, Errors) | Lecture 2 (Inputs and Strings, Type Conversion) | Case Study | Work Period 1 | Work Period 2 |
Week 2 | Lecture 3 (Functions, Testing) | Lecture 4 (Object Oriented Programming, numPy) | Case Study | Work Period 1 | Work Period 2 |
- Learners are not expected to have any coding experience, we designed the learning contents for beginners.
- Learners are encouraged to ask questions, and collaborate with others to enhance learning.
- Learners must have a computer and an internet connection to participate in online activities.
- Learners must have VSCode installed with the following extensions:
- Learners must not use generative AI such as ChatGPT to generate code in order to complete assignments. It should be use as a supportive tool to seek out answers to questions you may have.
- We expect learners to have completed the onboarding repo.
- Camera is optional although highly encouraged. We understand that not everyone may have the space at home to have the camera on.
Feel free to use the following as resources:
.
├── 01_slides
├── 02_assignments
├── 03_homework
├── 04_instructors
├── 05_data
├── README.md
└── steps_to_ask_for_help.png
- slides: Module slides as interactive notebooks (.ipynb files)
- assignments: Graded assignments
- homework: Optional homework to practice concepts covered in class
- instructors: Instructions for the Technical Facilitator on what to teach
- data: Contains all data associated with the module
- README: This file!
- .gitignore: Files to exclude from this folder, specified by the Technical Facilitator