SEC-S20W2 - How to Prepare Yourself for Programming?

in hive-120823 •  5 months ago 

Good night friends, how are you all, hope everyone is well and having a very nice day, I'm thrilled to announce that I'll be taking part in the Steemit Engagement Challenge, Season 20, Week 2, organized by @sergeyk and I have a strong interest in the theme for this week, "How to Prepare for Programming".

How to Prepare Yourself for Programming.jpg

Image designed in canva

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

Learn to code and become a good programmer leads to deep technical education, not professionalism given that the profession part is build based on knowledge — practice makes perfect. With the changing nature of technology, a firm grounding in programming will grant numerous possibilities and help us find our way around complex problems. Important Programming Skills we Should Work On:

Mathematics and Logic: A solid grasp of math and logical reasoning is essential for problem-solving in programming. Focus on basic algebra and analytical skills, as these will help us understand algorithms, data structures, and computational complexity. Practicing logical puzzles and math problems can sharpen our critical thinking, making it easier to break down complex programming challenges.

Basic Computer Science Knowledge: Understanding how computers work is fundamental to programming. Familiarize ourself with operating systems, programming software, and essential concepts like networking, data storage, and how databases interact with applications. This foundational knowledge will help us understand the environment where our code runs and the principles behind software development.

Choose a Programming Language: Begin with a language which we find appealing e.g. python, java, javascript. This period of the shift in our perspectives on language is followed by a second phase, which contributes to rough edges: When one invests some time to learn a single tongue properly, picking other future languages come more naturally. All of the languages, depending on the context, is unique in terms of their strengths and application, so choose one that best suits our interest, whether we would like to specialize with Web Development or Data Science or Mobile App Development. Learning the syntax and best practices of the language we choose to work with will make us more secure when working on bigger projects.

Explore Simple Programs: Cultivate our interest by experimenting with simple programs. Begin by writing basic scripts or applications to perform small tasks, gradually increasing complexity as we become more comfortable. This hands-on approach will deepen our understanding of programming logic, syntax, and how functions interact. Don’t hesitate to break existing code and see how changes affect outcomes; this trial-and-error process is a powerful learning tool.

Curiosity About Technology: Let our curiosity drive our learning. Explore how different programs and software are built, and experiment with modifying existing projects. Reading articles, watching videos, and following industry trends will keep us engaged and informed. Engaging with technology beyond programming—like learning about hardware or user experience design—can also provide valuable perspectives that enhance our coding skills.

Utilize Learning Resources: Go through online courses and tutorials and build a proper grounding. We can choose from structured learning paths like those offered by Coursera, Udemy, or Codecademy as well as free resources such as Khan Academy and YouTube. As an alternative, we can attend coding bootcamps or meet in study group; where we exchange ideas with instructor and peer, making it the most immersive study experience. Remember, practice and practising what we learn on real projects are essential.

Network with Programmers: Surround ourself with experienced programmers by joining coding communities, online forums, or local meetups. Engaging with mentors or peers can provide invaluable insights and guidance that enhance our learning process. Participate in hackathons or collaborative projects to gain practical experience and learn from others’ approaches. Building a network can also open doors to job opportunities and collaborations in the future.

By focusing on these key areas, we can develop a strong foundation and propel ourself toward becoming a proficient programmer. Stay determined and open to learning, and we will make significant progress on our journey!

Name a famous one before or find some simple online game (logic or puzzle).

Problem solving and logical reasoning are fundamental skills that you need to develop in the ever so fast digital world today! Logic and puzzle games are a great way to kill the time, but they're also perfect when you want to improve your mind and take up an analytical hobby. They force you to critically think, form strategies, and to tackle a problem from alternate angles. From beginner puzzles to expert and from relaxing games to those that will take more of your time, there is a game for every one of you. And when you will play online logic and puzzle games, then it helps in improving your skills more than other games.部-paginationHere are a few of the familiar online logic and puzzle games to have fun with! There is a plethora of popular online logical reasoning and puzzle games that can increase your level of problem solving such as:

2048 : The sliding puzzle game where you Combine numbered tiles moving them in any direction to get the 2048 tile. Oranges replicate by drawing more oranges to match, while every time you slide a tile complementary numbers merge and increase in value. The trick is to think your moves well otherwise the game ends when no more moves are available. The one way to improve your foresight and critical thinking skills.

Sudoku: One of those time-honored number puzzles that have fascinated players for eons. The goal is to fill a 9×9 grid with numbers in between 1 and 9 such that each row, column and 3*3 area contain every one of these numbers as soon as (just one time). Sudoku: Problems begotten of using your logic and to likewise reason as you logically inferring the place where each number should be placed according to the tailing hint. There are difficulty settings and custom levels available for all skill level of players.

Flow Free: Played out on a 2D grid, you simply connect matching colors using pipes; the catch is that your pipeline couldn't cross any lines (which would also be flashing by) and no space on the board could remain empty. The puzzles get larger and more challenging as you advance through levels, requiring lateral thinking and spatial awareness. Stylish and Compliant: The game looks great, really makes you think of the plans not to make an obstacle for yourself.

How These Games Can Help a Future Programmer

There are several key reasons why playing logic and puzzle games can greatly improve the skills and, above all, the mindset of a future programmer and they are given below,

Improved Problem-Solving Skills: Programming is about problem-solving and fixing bugs in code. Puzzles test critical thinking, solving for a known — but not yet reached — solution​ (e.g. Sudoku or 2048). This way of practicing teaches you to work in a systematic manner on problems which is what takes the most time while solving problems.

Enhanced Analytical Thinking: Most programming demands we walk through larger issues by splitting them into digestible pieces. Kakuro or Flow FreeThese games help you to approach a solution in-analytic way where you start doing pattern analysis, draw the links and deduct what are your next steps based on the patterns which is similar logical thinking as coding.

Increased Patience and Persistence: Programming can be frustrating, especially when debugging or troubleshooting issues. Engaging with challenging puzzles teaches patience and the importance of persistence. You learn to experiment with different approaches and stay committed to finding a solution, qualities that are vital for a successful programmer.

Boosted Creativity: Many puzzles require creative thinking to find unconventional solutions. This creativity is crucial in programming, where thinking outside the box can lead to innovative features or efficient algorithms. Games that encourage lateral thinking, like Zuzu's Puzzle, help develop this mindset.

Familiarity with Algorithms: Some games involve algorithmic thinking, such as determining the best path in Flow Free or finding the most efficient combination of moves in 2048. Understanding these concepts can help you grasp fundamental programming principles, such as optimization and efficiency.

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

The Problem

A man needs to transport a wolf, a goat, and a cabbage across a river in a boat that can only carry him and one of the three items at a time. He cannot leave the wolf alone with the goat or the goat alone with the cabbage.

Solution

The man takes the goat across the river first, leaving the wolf and cabbage on the original side. Then, he goes back alone to the original side. After that, the man takes the wolf across the river. Again, he leaves the wolf on the other side but takes the goat back with him to the original side. In next step, he leaves the goat and takes the cabbage across the river. Then, he leaves the cabbage with the wolf on the other side and goes back alone. After that, the man takes the goat across one last time.

Two Men and Two Boys with a Boat

The Problem

A couple of men who wanted to cross to the other side of the river approached the bank. They saw two boys nearby who were happily swimming in a boat. The men decided to ask the boys to help them cross, but it turned out that the boat was very small. He could handle either two boys at once, or just one adult. The adults wondered how they would get to the other shore if the boat was so small. The boys agreed to help and began to reason with them.

Solution

At first, The two boys row across the river together. Then, one boy returns with the boat to the original side. After that, one adult rows across the river alone. Again, the second boy returns with the boat to the original side. In next step, both boys row across the river again together. At last, one boy returns to the original side one last time to get the remaining adult if necessary (in this case, they have crossed).

Two Men and One Boat

The Problem

Two men approached the river. A lonely boat stood near the deserted shore, in which only one man could fit. There were no people and boys nearby, as in the previous task. Nevertheless, both travelers crossed the river in this boat without any help and continued on their way. How did they do it? Think carefully!

Solution

This one gets its survival from the way it disguises itself within linguistic play, forcing one to think very laterally. I believe they are from across the river. A man from one side of the river used boat n crossed to the other side, while another person used the same boat and came back.

The Maze and Blockly Section

Blockly Section

Level 8

image.png

Link of solution

Level 9

image.png

Link of solution

Level 9

image.png

Link of solution

Did you learn to code?

Using the '+1' operation, you will have to keep adding 1 successively until you reach 100 on the scoreboard. Here's how it works:

  • First one at 0 on the scoreboard.

  • Click the +1 button once to give 1 point.

  • Tap '+1' once more to give a score of 2.

  • When asked for confirm, press keep on +1 so that the score increases by 1 each time

  • When the '+1' button is pressed 100 times, the score board will show 100 as the output.

Now we have added one more operation 'x2': With the added operation x2, you can reach 100 much faster than just using +1. Here's an optimal way to get to 100 using both +1 and x2:

Steps:

  • Start with 0 on the scoreboard.
  • Press +1 to make the score 1.
  • Press x2 to double the score to 2.
  • Press x2 again to double the score to 4.
  • Press x2 again to double the score to 8.
  • Press x2 again to double the score to 16.
  • Press x2 again to double the score to 32.
  • Press x2 again to double the score to 64.
  • Press +1 to make the score 65.
  • Press x2 to double the score to 130.
  • Press -1 thirty times 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)

Screenshot_1.png

Source

I finally found a game akin to Blockly and Carbon. org called RunMarco!. It is a game where you are supposed to move a character through different paths by coding, very much of visual programming. While I wouldn't label myself as someone who plays games, I certainly got a kick out of it purely because it's really more about solving puzzles.

I had just started from the beginning, level 1 and I made my way up to level 7 in one go! I found that my ability to solve the puzzles developed over time, with each successive level presenting more difficulty unto me without gradually losing interest. Using pieces of code, I was able to move my character step by step and solve each puzzle in order to progress.

One of the things that I truly enjoyed about this game was it promotes critical thinking. This is an ideal book for beginners who are looking to write good code, using this door to practice building their logic. The game acquaints you with the idea of programming and loops, yes I saw some sentiment RSI come on in the later levels but I enjoyed that a lot.

SL No.I would like to invite
1@sduttaskitchen
2@sampabiswas
3@isha.ish
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

from Monday 16 Sep 24 to Sunday 22 Sep 24

Hello dear @sergeyk sir, this time follows the utc time standards. I spend about more than 8 hours on this post. So though i started writing it in time but i finished and post about 2 hours late according to utc time standard. So, i hope you will consider my hardwork and consider this 2 hours late for this time.

of course, the fact that you are a little late does not matter at all, I will check now. I was tired yesterday and just didn't have time.

Thank you so much for your kindness.

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

Loading...

@tipu curate

;) Holisss...

--
This is a manual curation from the @tipU Curation Project.