Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 18, 2023 03:15 pm GMT

Continuing Hello World

I taught myself to code from scratch. I just started writing in Basic on my Sinclair when I was in kindergarten and got it. I later picked up the books and courses easily without that initial study period of formal training. When I got to advanced academic materials I already knew pretty much everything. As a matter of fact, I never learned much from teachers. I learned to read mostly on my own and followed through with most disciplines.

This isnt a brag because the reason for that is a learning disability. Its hard for me to understand teachers and communicate with them. This was a problem in my childhood but became a bigger problem when I started to teach programming in a local computer lab at 16. I was a terrible instructor. Typically we would mimic the skills of a good role model when performing a task, I didnt have any good teachers. At least not good for my learning disability.

I kept teaching on and off for over a decade. It wasnt because I was good (I wasnt), but you couldnt tell that from the feedback I received. Most students gave me high ratings, why did they?

The main reason was that I was knowledgeable and made an effort. The students who didnt get it would end up blaming themselves or making an extreme effort to understand. This dragged on for a while until I faced a class in which I got a bad review. It stung and I initially rejected the notion that I could be the one at fault. Eventually, it sunk in.

I took that to heart and improved, Im still not a great teacher. One of my shortcomings is my thought process isnt visual enough so I dont communicate as visually as most students need. Im working on that, its an ongoing process.

People like me who arent natural teachers need to overcompensate in other departments. One of the biggest tricks up my sleeve is my approach to learning. I teach theory in short bursts while focusing on building something cool.

Why do we Have Hello World?

As a teacher, I usually taught advanced classes. Those are the easy classes to teach. In these classes, the students already have a decent baseline. If they dont understand something they can check and they dont get intimidated or ashamed because they missed something the teacher mentioned.

A beginner class is an enormous challenge. If I explain something only once, or I forget to mention something, I might lose the entire class. People might be missing basic knowledge and if I explain it too much or too thoroughly some students might get bored and lose interest.

You lose if you do and you lose if you dont. Theres very little winning in this area.

Thats why we have the hello world. It isnt just to show how the language looks or how the tools function. Its a win. Once we compile and run a version of hello world we accomplish something and that is the most important part. It gives students the motivation to keep going and double down. Even if I missed something when teaching, they might make the extra effort to go back and learn or ask a question if they feel a sense of accomplishment.

A few years ago gamification was a hot trend. Thankfully its out of vogue, I never liked it. Stack overflow is great (that statement doesnt condone the actions of overzealous rogue moderators), but what I liked about stack overflow wasnt the gamification. Its the accomplishment that rewarded that. I enjoy the points or badges not because they are points or badges. I enjoy them because I earned them by giving a great answer. This is the core of the matter and what most learning experiences miss: winning.

In it to Win

I see a syllabus like this in practically every beginner oriented course:

  • Hello world

  • Variables

  • If statements

  • Loops

We accomplish one thing. Then its study, theres no reward for successful accomplishment or something measured that would trigger excitement. I get why we teach that way People need the theory. But is that theory sinking in if we learn it sequentially?

When we build an ongoing demo and constantly improve it; we learn the theory while continuously accomplishing such goals. Better yet, we can intertwine it with a narrative story of developing an application or a game that helps memorize and form a narrative trail. Theres one downside: the tutorial sucks as a reference since the ideas are mixed within an additional narrative.

But the advantage is the show dont tell approach. I love encapsulation. Its wonderful. Dont explain it. Show me why the code looks bad if I dont use it. Dont explain every type and waste my time, show me how to build stuff and then go back and refine it to explain the nuances involved in practical terms. This is the exact approach I tried to take with my Java Basics free course. The idea is that we can build a Wordle clone without knowing anything and slowly refine it into a real-world application.

Yes, we need to understand some basics before we can write something useful. But the bar is very low. Better yet, we need to make flawed and imperfect code so we can show how to improve and fix it.

Achievement Unlocked

When we say gamification this is what it really means; to achieve something meaningful and not merely satisfy a metric a company needs to further push a user through a funnel. This applies to teaching coding skills and to your SaaS.

Quite a few SaaS companies still show pointless awards and badges to get us engaged. Even kids dont buy that nonsense in their iPad games. A reward matters only when you made an actual effort and should signify something with meaning. Theres harm in those nonsense awards as they reduce your credibility. When you have an important milestone that award wont matter as much. In any product, we need to divide the steps into achievable hops where something meaningful is accomplished before moving to the next step.

An important aspect is milestone communication. A person needs to understand the goals, short and long-term. When I teach I start a lesson by discussing what they will know by the end of the lesson: why should you pay attention?

When I start the course I need to discuss the ending. What you will know and ideally show what we will build. I didnt do this for the videos in the Java Basics course since Im building them as I go along. That is not an ideal scenario. But I might revisit the first video in the series and redo it once Im done. This gives us the motivation to work towards a clear goal.


Original Link: https://dev.to/codenameone/continuing-hello-world-ck1

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To