You must’ve always wondered how Google, Facebook, Youtube or your favourite android game was built and needless to say, you’ve had better ideas than those. But you thought ‘oh that’s programmers work’ and ended the thought right there because you didn’t know how to code. Whether you want to learn to code for serious work or just as a hobby, the Internet is your best teacher. A programming language can be a boon that gives rise to a new hobby. Here, we hope to help you out with a beginners guide to learn how to code online.
Before you start programming keep in mind the final goal you are into, either you are learning to code for passion or profession. Do not limit yourself to a particular language, be flexible and try your hand on different languages. What programmers will not tell you is that learning a programming language is very easy once you get to know the basics of the particular language.
Starting – The Hardest Part
Programming is basically commanding your computer to do specific tasks through a language that the computer understands. Learning a programming language is an easy task, what matters is your problem-solving capabilities and how creative you are with your approach towards solving problems. Selecting particular tasks, with which you want code makes a difference here. So before choosing a language, select a project that interests you and then accordingly opt for a language best suited for it.
Gone are those days where you would have to enrol for a Computer Science course in order to learn programming. Apart from college degrees, students would avail the services of a private tutor or join private coaching classes for mastering their programming skills and thus, gain advantage over their peers. The Internet then comes into the picture, after all, why confine yourself to the restricted timing of your coaching class or private tutor. Instead, learn and master your skills online according to your convenience, here we have some websites that you should consider if you are starting off witha new programming language.
2. Code school
Code School offers the basic lectures for free followed by the advanced lectures being part of a paid service. But it provides video tutorials with even for the most basic terminology. You can execute your code in the browser itself and along with the video tutorials you have occasional quizzes thrown in.
3. Khan academy
Khan academy is a no-brainer when it comes to learning online and it has an excellent set of lectures for programming. There are machine-graded assignments and video tutorials to help you get started and provide help if you are struck. Khan academy does not offer a set of programming languages, but it deals with programming basics and approaches to coding that could be applied to a vast array of languages.
Udacity provides video tutorials along with quizzes interspersed to make you think about the code. Video tutorials are 2-3 minutes long and that is a good thing because short lectures don’t bore you. Courses offered are Web Development, HTML5, Python, Java, Computer Science, Algorithm, AI.
5. Tutorials Point
Tutorials Point has on offer free beginner level educational resources for almost all major programming languages used today. Their catalogue for tutorials and courses is very vast with languages segregated to the projects. In the ‘Coding Ground’ section of the website you can practice, edit, run, compile and share your results.
Get a better idea of overview of programming languages from this Lifehacker article
Basic Web Development Languages
If you wish to work over web development building interactive websites or even a simple website page, you need to have knowledge about the programming languages that are used to code for web development. You also need to decide whether you want to work on front-end or server side development. Basically, it means if you want work on how a website would look to users(front-end) or managing the database(server side). Here some languages you can learn to give a start to your web development dream.
PHP is a free server-side programming language that is used for not only web development but also as a general purpose programming platform. It is one of the easiest programming language s because of its simple and clear syntaxes and for having few keywords. Facebook uses a lot of PHP and WordPress, the popular CMS is also programmed using PHP.
HTML/CSS are not programming languages but are markup languages that are used to design web pages. HTML is used to design a static pages and CSS is used to style your page. If want to work in front-end development then you should familiarise yourself with these languages.
Languages that let you code across platforms
If you want start developing apps that can run across multiple platforms like iOS and Android, you would need to code in a language that isn’t native and has little overhead. iOS uses Swift and Objective-C while Android uses Java. So you need a language that can work on both platforms.
RoboVm enables programmers to code iOS apps using Java language. So you can code once and get your app working on both platforms. The folks behind RoboVm came under the scanner when they said they’ll be moving away from the open-source philosophy for all future versions.
RubyMotion is an established tool used by thousands of businesses to create iOS, Mac OS X and Android apps using the Ruby programming language. RubyMotion claims to be essentially the same as native languages since they run atop the same runtime technologies.
Xamarin is another big name in the cross-platform app development business. It comes with a good feature set to test your apps across 2,000 real devices on their cloud. Xamarin acquired RoboVm in late 2015.
After you get used to the programming language that you’ve opted for, you need to practice and hone your skills and what better way to do that than to sign-up for a competitive service like the ones we are going to be speaking of.
CodeChef is global is competitive programming platform that hosts competition in 35 programming languages for students and software developers. If you feel that you are not yet ready to compete, go through the Practice section and brush up your skills. Like all other platforms, they have problems across varying difficulty levels.
TopCoder holds an array of competitions for coders which are actually real world problems faced by Topcoder’s clients. You can get individual attention of the TopCoder review board for every submission. Their annual tournament – TopCoder Open – is quite popular and is conducted in multiple stages across multiple countries because of its massive scale. Did we mention that you can make a lot of money also?
Learn code while gaming?
Some services have done a pretty good job of gamifying the entire learning process. Here are some good services that have caught our eye.
There is nothing in this world that cannot be made into a game, and CodeCombat is one such service which has made it really easy to learn programming through playing a game. CodeCombat is essentially a role playing game in which you control your character by typing in code. Each stage teaches you a new aspect of whatever language you’re currently learning. As the game progresses, newer elements are introduced and the complexity scales accordingly. All basic beginner level syntaxes and algorithms are covered.
CodeWars differs from CodeCombat as users are given different tasks with some reference or the other to a Japanese martial art called Kata. Tasks include determining the output of a code, entering the right input code to get a certain output result, creating a function to get desired output and some more. This approach is more challenging and all the more fun since it makes you think of multiple ways towards solving a problem. Even when you Sign Up for the first time, you’ll be tested.
Simple projects to practice
So what should you do after learning a new language? Why practise more by making some cool project. Start working on your ‘ideas’ which are much better than currently existing solutions. Here are some basic projects that are not only easy to implement and debug but will help you strengthen your concepts as well. You should definitely work towards implementing sorting algorithms since they end up being used a lot. Start with simple sorting programs and scale the amount of data you are working with.
You should even go ahead and try creating a personal website and squeeze in as much of your newly acquired programming skills into bringing the site to life. If at all things don’t go your way, you can always drop in on of the many programming-centric forums and initiate a conversation. There you go, you’ve taken your first step into the programming world, Bleed Binary! Check out what is the best programming language in the world here.