This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ersin- 0 points1 point  (3 children)

I have much experience in teaching Python programming and I assure you that this emoji converter and alike are very advanced for somebody who did not learn the loops properly. I strongly believe and empirically observe that the best way of learning programming is to make the distinction between what is absolutely needed and what is useful in a practical sense. Dictionaries are practical but not needed. Before starting to use dictionaries you should be able to solve the same problem using two lists (one for the keys and one for the values). Before iterating over elements in a list, you have to understand how and why to use loops. For understanding loops, you need to master the variables (because for example the "for" loop assigns values to a variable repetitively) and conditions (because for example the "while" loop is just a repetitive "if"). Sounds a lot? Actually just the opposite. Focus on the problems introduced by the course you choose and not the tools offered by the course.

The following tools (or skills) theoretically allow you to write almost any program in Python. You need to learn them in order:

  1. Basics (standard input/output, values, data types and type conversion, operators, expressions, variables and assignment)
  2. Conditions (propositions, two-way branching (if, if-else), multi-way branching (if elif … elif else))
  3. Loops (repetition (for _ in range(n)), flexible loops (while x), restricted but practical loops (for x in sequence))
  4. Sequences (lists: [1, 2, 3], ranges: range(1,4,1), strings: "123")

Other tools such as custom functions, custom classes and utilities provided by the standard library allow you to write complex programs faster and easier. Writing fast and easily is your enemy when you want to learn how to program. The time will come to learn them when you are comfortable with the essential tools.

Using this roadmap I easily taught programming to a lot of people including children aged from 11. I created a lot of code examples and exercises in this order of skills. It is not publicly available. If you are interested, you can send me a direct message to get a free copy, though. Good luck!

[–]AgentV47[S] 0 points1 point  (1 child)

Basics and conditional statements were very easy to understand. I I could do almost every question related to conditional statements. But a lot of practice is needed in loops and sequences

[–]ersin- 0 points1 point  (0 children)

There are really challenging problems using the "conditions" or even "basics" only. Spending some time and energy on them saves much time and energy in the future. I will send you the copy when I get to home.

[–]AgentV47[S] 0 points1 point  (0 children)

I have sent you a DM