Lessons Lesson 0 Lesson 1 Lesson 2 Lesson 3 Lesson 4
Executive Summary
Executive Summary:
- Self Grade: 0.89, because of contributions to the lesson in terms of content created (python lessons for sections 1-5 of 3.2), helped with creation of codepen and quiz modal. Lastly work in terms of other adjacent tasks, such as grading, integration with new dropdown systems, trouble shooting, etc.
What I Learned from the Lesson:
-
Collaboration & Debugging: After the introduction of the initial sub-menu me and Yash spent almost the entirety class of that troubleshooting because our file structure for the project was different from the new system introduced. Afterwards, I realized that was foolish of us as if we just asked the team that introduced the actual system we would have been able to identify the actual problem much faster. Specifically, they could have pointed out the differences between our structure and there structure leading to us finding the solution faster and saving us time to work on the project itself.
-
Technical Skills: I learned a lot about the actual details of abstractions, prior to the lesson had I had a general understanding of the concept. However, after the lesson and trying to understand how abstraction can be used in specific cases it gave me ideas and overarching principles I can apply to make my programming more efficient. For example, now I learnt to save unnecessary computations as they utilize memory and computational power (e.g avoid iteration or other similar operations and abstract with various other concepts instead). Also I now have more appreciation for builtin function as they save time and abstract away the complexity allowing me to focus on other aspects of the project or application.
Summary of Relevancy Checklist:
-
Individual Contribution: Created Homework Hack and drop down menu for the hacks, last two popcorn hacks, python section with comments for section 1-5, modal for the quiz on main page, and codepen for first lesson to show visual aspect.
-
Personal Notebooks: Answered homework hacks on time except for first two, as my VS Code kept crashing due to a corrupted file. I made each homework hack unique to me and changed all the content to better understand the function of the homework and popcorn hacks. For Manas’s lesson since I didn’t know much about what they did I did the extra credit opportunity researching De Morgan’s law (added pictures and written explanation as well).
-
Grading/Feedback: Gave detailed feedback and comments to indicate reason for grade and if points were lost why they were lost and how to improve in the future. Furthermore added a numeric breakdown for each part of the grade (e.g completion, homework hack quality, popcorn hack quality, etc.)
-
Everything Else: From this I think me and my group were above perfunctory, and I also believe we had a strong presentation while definitely not perfect effectively communicated the topic we were trying to teach. We also planned each task for the group members with an Issue that we made on our group repository, and each of use contributed equally.
Variables
- store data
- camel case and pascal case are used for variables and classes respectively
- fundamental component in all forms of programming since they allow for data manipulation and efficiency
Data Abstraction
- simplify creation of code by creating functions, classes, etc for programmer
- increase computational efficiency through methods that abstract unnecessary looping and/or operation
- examples include: string operations, list operations, etc.
Mathematical operations
- used to perform math of course which is used in numerous algorithms
- manipulate data and perform calculations
- can also be used as condition to check against in loops or other conditional based operations
Strings
- store words and sentences in data types to be manipulated and used
- strings also allow for user input and interaction
Booleans
- can be used to control loops and evaluate conditions (logical operators and relational operators)
- can be used for error checking
Conditionals
- allow for logical operations based on certain cases
- allow for decision making and controlling the flow of the program
- nested conditionals allow for more specific control for more specific cases
Loops & List Operations
- Loops can be used to reduce repetitive tasks
- List operations can be used for data manipulation like: indexing, assigning, deleting, adding, etc.