Lecture_Notes/imperfect_notes/Intro_to_Problem_Solving.md

90 lines
3.2 KiB
Markdown
Raw Normal View History

2020-11-19 14:19:17 +05:30
## Basic things for Motivation/ First Essential talk
**Importance of Small Difference**
- Example 1 :
- Ask about Breaking Bad
- discuss the importance of extra 3% clear crystals that walter white made
- Example 2 :
- show Pictures of fastest man in India , Asia , World
- discuss the impact of small millisec difference in timings
- Depict it with the equation - ``` (1.01)^365 = 37.78 ```
**Qualities Essential to be the Best**
- Ask about some essential qualities needed
- Discuss the importance of few -
- Consistency
- Persistance
- Hardwork in right direction
- The will power
**Performace Equation**
- Discuss about the Performace Equation - ``` Performance = Potential - interference ```
- why the potential should be increased and interference should be decreased
- How can the performance be enhanced
- Attend All Classes
- Be Mindful
- **Learning is important**
## Many technologies, Where to start from?
- discuss about multiple technologies available , maybe ask students about some names
- frontend - js,react , angular , vue etc
- backend - java , python , ruby etc
- Machine Learning
- introduce Data structures and Algorithms
- define and differentiate
- Data Structure - Something we need to organise data / keep data / Store data
= Algorithms - the process / the steps
- give an example of toothbrush being placed in kitchen
- discuss about the importance of Data structures and Algorithms
- Eventually reach to the conclusion that Data structure and Algorithms are important
## Building a site more important than learning about Data Structures and Algorithms ?**
- Ask the question and then discuss the result with examples
- Example 1 : **E-Commerce**
- Dicuss the flow from searching a product to buying it
- Discuss why we need Data structures and Algorithms in following functionalities
- Searching a Product - need to be fast
- Sorting - basis of price , category , reviews etc
- Search typeahead - throw the name of **trie** just to introduce a wow-factor
- Concurrency problem - 1 product , 2 buyers
- Eventually convince that DSA is more important than just building a site
- Example 2 : **Food Delivery**
- Finding nearest restaurant
- Sorting the list of restaurant - basis of name , reviews , location
- **Utilisation of resources** (Explain with the help of diagram)
- Shortest path of delivery
- Shortest time is another factor to consider
- more factors which finally helps in better utilisation of resources
- Ask if it's now clear that DSA is the basic building block
## How Problem Solving works?
- Dicuss about the computer and decision making
- How the computer doesn't have mind of its own
- How every step needed to be told to computer based on several decisions
- Example 1 : **ATM Machine**
- Discuss the process outline
- Discuss the process in detail using decision tree (Don't introduce the name yet)
- after drawing a basic decision tree - introduce with the name "Decision Tree"
- Keep on focusing on the importance of decisions in problem solving