6 Indigenous Pedagogy: File I/O (part 1)
Lanz Angeles; Moeez Omair; and Rutwa Engineer
If you would like to try out the optional experiments included, please download and open the required files in your IDE: [Download Here]
Disclaimer
The content of this module heavily relies on the translations and alphabets provided by FirstVoices, a website that provides resources for multiple different First Nations languages. As a result, we cannot guarantee the accuracy of all linguistic information shown throughout this module. Furthermore, localized communities concerning the nations discussed in this module were not consulted. Nevertheless, we believe that using these resources and starting a discussion about First Nations peoples can still give us some insight into their experiences as well as their culture and language for the future and beyond.
Learning Objectives
In this module, you will:
- Learn about two language systems of the First Nations peoples and their differences and similarities to English
- Practice file I/O by reading and writing from files that use a different language
- Practice using for loops, lists and dictionaries for various functions
- Generate non-English sentences using concepts from Lazy Literature
Introduction
What is Indigenous Pedagogy About?
Indigenous pedagogy aims to give insight into the experiences and cultures of First Nations people, the original settlers of Canada. It’s easy to forget their influence and impact on us, especially how they’ve helped shape Canada into what it is today. In this respect, Indigenous pedagogy serves to amplify the voices of First Nations peoples, inspiring a more inclusive and diverse environment.
What can you Expect From This Module?
This module incorporates the various languages of the First Nations peoples into two computing topics: File I/O and Lazy Literature. In these topics, you’ll answer coding and open-ended questions based on translations between English and another Indigenous language. This approach allows us to refocus our attention back to the First Nations perspective, reminding ourselves of Canada’s cultures that have nearly become extinct.
Sub-Module 1: Anishinaabemowin Syllabic Translator (AST)
Learning Objectives
In this first sub-module, you will:
- Understand the differences and similarities between English and Anishinaabemowin syllabics
- Study how files are named and the solutions surrounding file names
- Practice how to read and write from CSV files containing Anishinaabemowin syllabics
- Learn more about how lists and dictionaries can be used in a translation context
You can also follow this sub-module by using these slides [PDF]. They cover the same content and are added for your convenience.
Anishinaabemowin Syllabic Translator – An Introduction
Though much attention is given to English in our programs, our code can also accommodate other languages!
In particular, this sub-module will focus on the writing system used by the “Anishinaabe” people, using its alphabet and phrase translations found here and here respectively.
The ”Anishinaabe”
The ”Anishinaabe” is a group of First Nations peoples that resides around the Great Lakes region of Canada and the United States. They use a unique writing system, called ”Anishinaabemowin syllabics.” Here’s an example of these syllabics in practice:
“ᐃᓇᑯᔑᓐ.”
The above syllabary is pronounced as ”inagoshin” and translates to ”It is evening” in English.
What are your thoughts about this new writing system?
Examples
Let’s look at some more examples of Anishinaabemowin syllabics and English!
Example 1
In English, the phrase
“It is 1 o’clock.”
can be expressed in Anishinaabemowin syllabics by writing
“ᐯᔑᒃ ᐃᔑᓭ.”
This Anishinaabemowin phrase is pronounced as ”bezhik izhise”.
Example 2
To say the English phrase
“It is 10 o’clock.”
we can write the following in Anishinaabemowin syllabics
“ᒻᑖᓱ ᐃᔑᓭ.”
The above syllabary is pronounced as ”madaaso izhise”.
What do you notice from these examples?
Optional Experiment: Translating Between English and Anishinaabemowin Syllabics
Noticeably, translating between English and Anishinaabemowin syllabics can be difficult, especially since Anishinaabemowin syllabics are very different from English.
For these exercises, we’ve provided you a CSV file, ani_eng_phrases.csv
, designated by the constant “CSV_LOC” in our starter code. Using this CSV, let’s create a program to make this translation process easier!
Here’s the first six lines of what this file looks like:
ani_eng_phrases.csv
To facilitate the learning process, the lines of code have already been provided in the starting code. You must simply uncomment and replace each None
with the respective code.
Task 1
Fill in the appropriate lines in the function:
find_phrase(eng_search: str, ani_search: str) -> Dict[str, str]
, which returns a dictionary where the keys are English phrases and the value of a key is an English phrase’s Anishinaabemowin syllabic translation. Ensure your function works for both English and Anishinaabemowin options.
Task 2
Fill in the appropriate lines in the function:
write_results(translation_dict: Dict[str, str], eng_translation: bool, phrase_to_find: str) -> None
, which writes your translation results to a new file.
The contents written by write_results
should be identical to what is printed by print_results
, excluding the "End of
results.
” line.
References
- First Peoples’ Cultural Foundation. (n.d.-a). FirstVoices.com. FirstVoices. https://www.firstvoices.com/pafnw-anihsinapemowin/alphabet
- First Peoples’ Cultural Foundation. (n.d.-b). FirstVoices.com. FirstVoices. https://www.firstvoices.com/pafnw-anihsinapemowin/phrases