Self Reflection
In this sprint, I learnt many key basic concepts in programming, such as variables, strings, data types, mathematical operators and operations, list operations, if/else statements, try/except statements, and much more. A highlight of my contribution from my group’s team teach was the example string analyzer hack, in which I defined many functions to perform different operations on two strings, such as average word length, the number of vowels in the string, and testing if the string was a palindrome or not. This is seen in the tangibles below. From other lessons, one specific concept that I learned was how to use mathematical operators and perform operations on integer and float variables. This is seen in the hacks for 3.3 listed in the tangibles below. As seen in all of the hacks that I did in the tangibles below, I demonstrated mastery of all the key concepts of Big Idea 3, because I tried to go above the requirements for most hacks if it wasn’t too specific of a prompt. Because of these tangibles, I feel I am ready for Project Based Learning because I can individually do programming such as the hacks in this sprint.
Tangibles
3.1.1 Team Teach
3.1.2 Team Teach
3.1.3 Team Teach
3.1.4 Team Teach
3.1.5 Team Teach
3.4.1 Team Teach
3.4.2 Team Teach
3.4.3 Team Teach
3.2 Hacks
3.3 Hacks
3.5 Hacks
3.6 Hacks
3.7 Hacks
3.8 Hacks
3.10 Hacks
Team Reflection
Through our learning of topics 3.1, and 3.4, we were able to create a team repo with all the info on the subsections of each topic. In this team teach, we:
- Learned and taught other students to use variables, data types, and in-depth strings
- Learned to use a group repository and handle forked repositories and merges
- Learned how to resolve merge conflicts and fetch push requests from a master branch
- Learned and taught how to use mathematical operations in Python
- Learned and taught how to effectively perform conditional statements
- Learned and taught about data types, and the properties of each one
- Learned and taught in-depth string manipulation and use cases
- Made mini projects, “hacks,” such as string analyzers and password - strength validators
By teaching the class about our topics, variables and strings, we were able to deepen our own understanding. We presented a comprehensive, engaging lesson with breakpoints, interactive elements, and snippets of genuine code with in-depth explanations embedded throughout the notebooks. In the process of creating these lessons, we were able to gain a better understanding of the topics and their use cases beyond the simplicity of many of the other hacks presented, such that we’d be able to apply the knowledge to a genuine project at some point in the future. We also designed hacks that reflected real-world use cases, such as our password validator, something seen everywhere, on any website. We also designed a hack around the storage of user info in a database, and the creation of a unique ID designed specifically for each user. These hacks, while simple in theory, reflect concepts seen anywhere in the world of programming, and have applications and implications beyond these mini-lessons. The creation of the hacks and solutions to them displayed our understanding of the concepts and readiness to progress to the next sprint. Overall, the team teaching served as a stepping stone for our improvement and understanding in programming, and our tangibles, as seen above, served as testaments of our readiness for the next stage of the class.
In lesson 3.1.1, we taught how to define variables in python and print them.
In lesson 3.1.2, we taught how to perform operations using variables that are integers.
In lesson 3.1.3, we taught how to define a variable through user input, therefore printing an output from this user input.
In lesson 3.1.4, we taught how to define and print strings in python.
In lesson 3.1.5, we taught how to perform operations with strings using string concatenation.
In lesson 3.4.1, we taught the basics of string analysis including creating substrings and case conversion in python. We also provided a sample string analyzer.
In lesson 3.4.2, we taught the basics of string analysis including creating substrings and case conversion in javascript. We also provided a sample string analyzer.
In lesson 3.4.3, we did a walkthrough of a password validator and examples how we used string manipulation to make it work.