SEC-S20W2 - How to Prepare Yourself for Programming?

in #sec20w2sergeyk2 days ago

How to Prepare Yourself for Programming.png

Edited by Canva

Hello steemians,

I am excited to announce my participation in the Season 20, Week 2 contest of the Steemit Engagement Challenge, hosted by @sergeyk. This week's theme is "How to Prepare for Programming", a topic that I am passionate about as a computer science teacher.

In my contribution, I will share practical tips and steps you can take to prepare yourself to enter the fascinating world of programming. Whether you are a beginner or already have some experience, I am sure you will find something to inspire you in your programming journey.

"What should you have done before to become a programmer in the future?"

To effectively answer this question, it is essential to structure my answer around the key steps I should have taken to become a programmer. First, I would start by explaining the importance of acquiring a solid foundation in logic and problem solving. These skills are fundamental to programming and I would have developed them through activities such as mathematics or puzzles.

Next, I would mention the importance of understanding how computers and operating systems work , as a computer science teacher I know that this knowledge would have helped me better understand how my code interacts with the machine. I could also emphasize learning a programming language like Python or Scratch because they are easy to access and allow you to become familiar with the basic concepts quickly.

I would continue by explaining that to progress, it would have been important for me to become familiar with programming tools such as Visual Studio Code and version control systems such as Git. This would have made my work in collaboration and project management easier.

I must also emphasize the need to master data structures and algorithms, as they are crucial to solving complex problems. As a programmer, practicing these concepts regularly would have allowed me to integrate them more effectively into my projects.

I would conclude by emphasizing the importance of constant practice and continuous learning. With technology evolving rapidly, it is essential to stay up to date, take online courses and participate in developer communities. This would have allowed me to constantly improve and remain competitive in software development.

Name a known before or find some simple online game (logic or puzzle). Using her example, explain how she can help a future programmer.

I choose Sudoku as an example of a simple but very instructive online game. In Sudoku, I must fill a 9x9 grid with numbers from 1 to 9, respecting the rule that each row, column, and 3x3 subgrid must contain all the numbers from 1 to 9 without repetition.

For a future programmer, Sudoku offers several valuable lessons. When I play Sudoku, I must use strategies to solve the grid. For example, I found the solution at the beginner level in almost 5 minutes. I often start with the easiest squares to fill and use techniques like elimination and analogy to place the remaining numbers. This process of breaking down a complex problem into simpler subproblems is directly transposable to programming. When programming, I often break a project into smaller, more manageable modules.

Picture1Picture2Picture3
1.jfif3.jfif5.jfif

Sudoku also requires me to think logically and systematically. Each number placement must follow the rules of the game and influence the other possible choices. This ability to follow precise rules and make inferences is crucial to writing correct and efficient code. In programming, I must apply syntactic and logical rules to ensure that my code works as expected.

Playing Sudoku also helps me develop sustained concentration and attention to detail. Each mistake can affect multiple parts of the puzzle. Similarly, in programming, a small mistake can lead to major bugs. Playing Sudoku helps me improve my ability to carefully check my work and spot potential errors in the code.

Finally, Sudoku requires me to anticipate the consequences of each move and adjust my strategy accordingly. This form of analytical thinking is essential in programming, where I must plan the structure of my code and anticipate the interactions between different parts of the program.

By integrating these principles, Sudoku becomes more than just a hobby. It becomes a valuable tool for developing skills that are directly applicable to programming. By practicing regularly, I strengthen my abilities to solve complex problems, to think logically, and to maintain rigorous concentration, all essential qualities for a future programmer.

The classic puzzle of the wolf, the goat, and the cabbage solution

The way the man safely transports the wolf, the goat, and the cabbage to the second bank depends on a specific order to ensure that no harm occurs between them. Here are the details of the steps the man follows:

1- Firstly the man transports the goat to the second bank. This means that he leaves the wolf and the cabbage on the first bank but he makes sure that the wolf and the goat do not stay together without supervision because the wolf might eat the goat.

2- After the man reaches the second bank with the goat he returns to the first bank alone. This step is necessary because he cannot carry more than one thing in the boat so he returns empty to take something else.

3- When the man returns to the first bank he transports the cabbage to the second bank. He places the cabbage on the second bank and takes the goat back to the first bank. This way the man ensures that the cabbage and the goat do not stay together without supervision because the goat might eat the cabbage.

4- Then, the man returns to the first bank alone again to take the wolf to the second bank. When he reaches the second bank he leaves the wolf with the cabbage. At this point, the wolf and the cabbage are on the other bank together but without the goat which means the wolf will not eat the cabbage.

5- Finally, the man returns to the first bank one last time to take the goat to the second bank. This way, he has safely transported all three parties to the second bank without any harm to them successfully solving the problem.

The second puzzle

To solve the problem of getting the two men across the river with a boat that can only carry either two boys or one adult at a time :

1- I would start by having the two boys cross the river in the boat leaving them on the far side.

2- One of the boys would then return to the original side with the boat. Next, one of the men would cross the river in the boat while the remaining boy stayed on the far side.

3- After that, the boy who stayed on the far side would return with the boat to the original side. Both boys would then cross the river again in the boat leaving the boat on the far side.

4- One of the boys would return to the original side with the boat and the second man would cross the river in the boat while the remaining boy stayed on the far side.

5- Finally, the boy who stayed on the far side would return to the original side with the boat and both boys would cross the river one last time. This ensures that both men and the two boys are safely transported across the river.

The Maze : solve the last three and share in your post. If 8, 9, 10 do not work, solve 7, 8, 9. But the score will be less by (0.1) with each level.

  • 8th level

8.PNG
Solution link

  • 9th level

9.PNG
Solution link

  • 10th level

10.PNG
Solution link

Hour of Code - Minecraft Voyage Aquatic: solve the last four stage and share in your post.

  • 9th level
ScreenshotCode
9 minecraft.PNGcode9.PNG
  • 10th level
ScreenshotCode
10 minecraft.PNGcode10.PNG
  • 11th level
ScreenshotCode
11 minecraft.PNGcode11.PNG
  • 12th level: I chose to draw the first letter of our platform, which is S.
ScreenshotCode
12 minecraft.PNGcode12.PNG

When I finished the 12 tasks I got my certificate

certificat.jpg

Did you learn to code?

1 - To get 100 on the scoreboard, starting from 0 with only the '+1' operation, I would need to perform the '+1' operation 100 times. Each time I press '+1', the number on the scoreboard increases by 1. So, after pressing '+1' 100 times, the scoreboard will display 100.

In other words, I would press '+1' repeatedly, counting the number of presses until I reach 100, ensuring that each press brings me one step closer to the target number.

2- To reach 100 as quickly as possible, start at 0 and press '+1' to reach 1. Then, use 'x2' to double the number to 2, and continue doubling to 4, 8, 16 and 32. Once at 32, press '+1' 18 times to reach 50. Finally, use 'x2' once more to reach 100.

Find something similar to code.org and blockly.games Write about it, solve three problems from there (similarly to p.3 and p.4)

I chose Rodocodo because it’s a fun and interactive way to learn programming. In the game, I guide characters through different levels using coding commands. By doing this, I’m learning important programming concepts like sequencing, loops, and problem-solving.

image.png

As I progress through the levels, I get to practice thinking like a programmer, figuring out the best way to complete tasks efficiently. Rodocodo makes learning coding logic feel natural and engaging, which I think will be very helpful for my future as a programmer.

- Level2

image.png

- Level3

image.png

- Level4

image.png


Thank you very much for reading, it's time to invite my friends @cruzamilcar63, @mvchacin, @adeljose to participate in this contest.

Best Regards,
@kouba01

Sort:  

Congratulations, your post has been upvoted by @scilwa, which is a curating account for @R2cornell's Discord Community. We can also be found on our hive community & peakd as well as on my Discord Server

Manually curated by @ abiga554
r2cornell_curation_banner.png

Felicitaciones, su publication ha sido votado por @scilwa. También puedo ser encontrado en nuestra comunidad de colmena y Peakd así como en mi servidor de discordia

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63470.48
ETH 2544.22
USDT 1.00
SBD 2.72