Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 142 additions & 1 deletion curriculum/01-introduction/03-asking-for-help.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,146 @@ sidebar_position: 3
lesson: true
isDraft: true
---

# Asking For Help
## Work in progress
**INTRODUCTION**: Getting stuck in coding or even in your learning is normal, and that is the #1 why this lesson `ask for help` exists. Asking others for help is a must as the best devs do this almost everyday, but the most important case and question here is that, _how can someone ask for help effectively to get a quick and valuable response?_, you will know **how** as you go through this lesson carefully.

:::info[The Goal]

In this lesson you will learn how to ask for help _effectively_ to be attended to as soon as possible and-not the other way round. By the end of this lesson you should be familiar with getting stuck and know how to ask for help _effectively_.

:::


## Lesson outline
* How to Get Help
* Who to Ask for Help
* Where to Ask for Help

## How to Get Help
Steps to follow to get help:
* Before you ask, do some checks
* Use the question space
* format your code properly
* Know what to expect next

### 1. Before You Ask
Before you ask anything check if:
- your indentations are correct or valid
- your syntax are correct or valid
- your code is complete as you intended

**If** any of above is False, Fix them and re-run your code.

**Else**, if all of above is True and error still persist, proceed to the step 2(the question space) of this topic.


### 2. Use the Question space
Carefully study the `code` below: `code eg.1`

```python

var1 = "12"
var2 = 12

results = var1 + var2 #this raises an Error; why?—you will learn how to go about finding a soln—to the why, how, &what.

```
Your python `code` should follow the <a href="https://peps.python.org">pep8</a> style, as well as the `syntax` should be valid so you get an appropriate help response.

### 3. How to Format Your Code
- You are required to format your code (_python code_) using the markdown language in order to get a responses to your help requests.

Steps to follow to format your code:
- Type in three `` ` `` characters to open a codespace and close it with another three `` ` `` characters.
- In between the opening and closing character sets, type `python` and type in a `space` character. You should have something like this: ` ```python ``` ` .
- Press `Enter` to create a new line, now paste your `code` starting from the new to any follow up line which might be the end line—make sure the code syntax is valid, same as the one which raised the error; that is the `indentaions`, `spacing`, and `other` are all same.
- When encountering the issue raised during runtime there was/is an error message specifying the line which is root cause of th error, for the line that was mentioned, add a comment at the end, briefly explaining the error message--`code eg.1` is a better illustration for these steps combined.


### 4. What to Expect Next
Once you have submitted your help request, sit down tight and the appropriate help will be sent straight to you.

If unfortunately the help response delays or never comes, know `Who To Ask` as a secondary option.


## Who to Ask for Help
subs:
* Ask yourself
* Ask someone with experience
* Ask a learning community
* Ask an Ai agent

### 1. Ask Yourself Before Anyone
You may say—why myself? i don't know?—Ofcourse you know the answers to your questions. Every successful person today found `asking themselves` first as a skill not just an act. **Ask yourself why—why is this error raised?** after you have found out the _WHY_; **Ask yourself what—what caused the error?** you found the _WHAT_ too; Now **Ask yourself how—how do i handle/fix this error so i meet my expectations?** :(. You are not actually finding the correct reason/cause/solution to the error with these questions overnight (as if it was magic :)), **but** you are actually self-training your thinking, to become creative enough, which you may start to think creatively gradually as you practice this often. "Problem solving requires a creative and effective thinking"—Baldwin.J,. College Success(2020).

After you have had your answers to those `three questions`, write them down somewhere safe as you will learn how to use them soon.

### 2. Ask Someone with Experience
Why ask someone with experience?—An experienced person, specifically a programmer, knows how to solve/debug almost every error. Not that they know the exact answers, but they do know how to find them just by being `creative`. Therefore asking an experienced person means there is a higher probability you will get a solution to an/a error/bug, but is that all you needed, no, "Ask them how _why_ the error, _what_ caused the error and _how_ they handled the error". By doing these you will have the chance to compare to your _prior experience_ which may help you reshape your thinking to making it effective and creative.

:::tip

Get connected with experienced persons to learn enough to become dangerous!
:::

### 3. Ask a Learning Community
Though there isn't a full guarantee that a community will contain only experienced programmers—That is there would be beginners, intermediates and experts—but there are people with at least an experience if not much, these people might have already at least solved a bug which you just met, and could share with you how they handled it—which might be a fantastic approach you could learn also to build yourself.

Therefore asking verified communities like <a href="https://stackoverflow.com">stackoverflow</a>, <a href="https://github.com">github</a>, <a href="https://telegram.org">telegram</a>, <a href="https://reddit.com">reddit</a>, <a href="https://discord.com">discord</a> and others i could'nt mention is a must so far as you are learning python/programming.

### 4. Ask an AI Agent
AI tools/agents are a smart way to debug errors faster, but the question is—Does the AI agent actually help you think effectively your own?

This does not neccessarily mean using AI assistance for debugging errors is bad, but try to understand _why_ a fix worked by asking the Ai tool. Use AI tools to research deeper on ways you could debug `effectively` and `independently`.

:::tip

It is also a good thing to keep this in practice now—especially when you are learning.
:::

## Where to Ask for Help
Subs:
- Ask the social media

### 1. Ask the Social Media
At least anyone who owns a smart device has an account registered on a social media platform—Some popularly known ones are: _WhatsApp, Facebook, Twitter, TikTok, Reddit, Discord, etc._—and on these platform so might be as well all kinds of persons who do programming.

:::tip[Quick Tip]

In case it comes to pass that you are not registered on any of these platforms, just register on any of them to get started.

:::

**Don't just ASK** _"Hello everyone i need help with fixing a bug"_—without a link to code, media files, just a text or similar case— this will actually lead others to either just leave or do nothing. _What is the right way to ask the social media?_— **Ask** by including a clear title, clear content/message describing the error process and your expectations, a link to the code somewhere or a screenshot of the code, and optionally the methods you have used that never worked.

:::warning

Do not share screenshots when you can actually _copy_ the code!
:::



### Time to Practice
:::note[Assignment Activity]

Write any python code, run it, break it(If it run without error on the first time), copy the code and using _the guidelines on formatting your code_ you learnt earlier—format your code and paste it in any question space, then finally submit your code. - (Track the time-duration it took to receive your first response for the first time asking)

Example format:
```python

def add(a,b):
return a + b

add(1, "two") #error msg: cannot concat string to an integer
```
:::warning

This assignment is very crucial to your journey of becoming very good in asking questions effectively to be attended to!
:::

:::

### What is Next?
Now that you know enough to seek for help anytime and anywhere. See next, how to _join the community_.

Loading