How to start learning programming tips and resources

Programming, once again, as a tool that helps to structure the mind, to consider new ways to solve problems of daily life and, why not teach your son take their first steps in this world. The programming it can also be an excellent topic to learn this summer, and today we are going to give some tips and tricks to get with it.

We do not want you to become professional

We must first make a small disclaimernot seek to become professional programmers, ever, under any circumstances. Whoever wants to find their career path as a programmer you will not find here the final post.

Today we delve into how to take the first steps in programming as a hobby, using the point having fun and consequences of the learning phase that are shared with those already mentioned when we talked about educational programming. Certain skills such as problem solving, logical-mathematical thinking and, more generally, everything about computational thinking are improved.

Start learning programing

Image Source: Google Image

All we ask is that an adult need not socialize, share and dialogue with other peers, but of course this can be useful in certain specific cases. An adult can learn more individually and independently of the group, and this is the approach that we will raise with the following tips…

Start like children

We are talking about programs and Methodology Scratch as the main tool that will provide a basis on what is an algorithm and how “thinking” computers. If you have any knowledge of programming, you should start first tutorials in order to learn the basics.

Once you have obtained the Scratch is a very good second choice, given the variety of programs and projects that allow us to create. Here we must turn our mind to start new ideas we have in the head and, if possible, add iterative increments. For example, a simple Pong we can add markers, time duration of the game, ranking, statistics, new special moves, objects will be a bonus … and Pong steroid, perfect for learning.

If you have mastered Scratch with some ease, you can give languages ‘toy’ and step on to more serious and formal languages, text type. Options like Python that is for many the great ‘real’ environment after the visual languages and colors, or Arduino, about which we will speak later specifically to be a great option.

You may also like to read another article on Lab-Soft: DriveDroid: Boot distro GNU / Linux PC to Android devices

Arduino: Looking for the ‘real’ utility robotics

We are used to set in front of a screen, and that the results of this program appear in the terminal. With Arduino things change and indeed one of its attractions is to take ‘real’ results from on-screen programming.

Create robots with Arduino is more complex to do with LEGO Mindstorms (if I had to recommend a robotics kit that was not related to Arduino that would undoubtedly Mindstorms), but also much cheaper and along the way learn more. Arduino we restart our head and set the counter to zero, since it is a separate world that require us informed about the world of electronics, motors, sensors and possibilities.

Arduino can be the best option where you spend several months learning, pulling the thread and evolving our ideas. A simple wheeled robot can move to crawlers, and then spiders. As we move forward, it will open the way to the next step to be performed.

The horizon, farther

It is obvious but often can pass unnoticed. Set yourself goals, and these goals should be much farther than a child / a is set when learning this field.

For example create a 3D printer with Arduino can be an interesting long-term project, and with it you can both learn issues of hardware (components, drivers, support) and software (all the necessary programming surrounding the hardware). Arduino also are extraordinarily complex robots…

Obviously before you get to have a spider robot that interprets voice commands our need ‘approve’ all previous phases: the crawlers can be an interesting first step, and then to grow from them.

You may also like to read another article on Lab-Soft: Unity 3D is available for Ubuntu

With the more traditional programming, something similar happens: an adult could create more complex than those made by a child, but also must be programs evolve gradually, step by step. Start with the basics of a language and evolve, creating your own software. An interesting approach is to create management software for their own use, such as address books, cookbooks, etc. They are relatively simple to implement, complete and have a clear and specific utility.

Once you have obtained a certain base programming you can go for options whose results are much more attractive than direct code. For example, Unity is a free tool for personal use that there are dozens of simple tutorials to follow and the results are great, allowing take advantage of the creative side in addition to the logical-mathematical.

Any ideas? Books? Tutorials?

Internet is a great partner for learning to program you has the old you. For example, with lot of programming projects you can start making from basic exercises like reverse a string, counting vowels, check if a word is a palindrome; to more complex things like management systems, discharge systems, managers Telnet, ‘white’ … slates and more.

There is much literature on programming. Hundreds and hundreds of books and manuals, specialized publishers like O’Reilly and their essential Head First. They are typically expensive textbooks, but usually are essential tools if we are looking for a physical book. O’Reilly also has Cookbooks covering much more knowledge, also divided into languages.

Free resources can also be very important, and there are many examples: Learn Python, Codecademy, Khan Academy, CodeSchool…

You may also like to read another article on Lab-Soft: All you need to know to create a website with CMS

Free resources can also be important in many better chances than any physical book but it will cost us to find the key right. We speak of guides and tutorials such as Learn Python, those Codecademy (Python, JavaScript, HTML, CSS, PHP, Ruby) or excellent course of Khan Academy on computer science. There are also specialized websites that offer some free courses and other pay, but very worthwhile: CodeSchool (Ruby, iOS, HTML + CSS) is necessary. If you want, more choices in Quora have a thread with dozens of these other options.

If we go for something visual, we can choose video tutorials on YouTube, which can serve well in the early stages of learning. Tutorials, videos and first steps in a language or a technology that we can move quickly; for example one for Scratch, a few to Python or how to build your first robot in Arduino.

In the end, as almost all, learning to program is a matter of practice. To try, fail, redirect, solve, learn and repeat the above. Therefore, it goes.

Setting goals is essential to go to go to grow and evolve, and not stay anchored. Internet is an essential support where we can find virtually any answers we seek. Google will bring us a lot of trouble with a correct search; if for example we have a question about strings in Python we can find excellent guides quickly and painlessly.

Finally, although initially we had set an individual learning communities ‘friends’ of programming there both in the physical world, with groups that regularly implement initiatives such as lectures or classes on certain specific languages or technologies, as of course in the digital world.

Internet finds forums, social networks, newsgroups, specialized websites and everything. Essential community StackOverflown for questions and problems; if you want to start from scratch on Reddit we found the / r / learnprogramming, where even have a comprehensive Wiki with a section of ‘getting started’. As always, comments are open so you can add and recommend any community that can be helpful to learn programming. here you can find more tech news and reviews.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.