Getting started with coding

Getting into programming world was never so easy but the humongous scale of the Internet enables you to do so.

By Pavan Mhaske Published Date
02 - Feb - 2016
| Last Updated
05 - Feb - 2016
Getting started with coding

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.

To start with, you have to know the syntaxes, operators, and functions. So starting with an ancient but powerful language like C++ will give a better idea of these factors. Then once you get a hang of the concepts you can tackle the more recent languages easily. Now as said previously, first choose a project and then a language that serves the purpose of the project. If you wish to improve a website’s looks or want to build a website of your own from the ground up you definitely should learn HTML/CSS and then move on to JavaScript, PHP, etc. to add functionality. If you wish to create software for computers or build apps and games for mobile then C++,Java, Python and Swift for iOS are the languages you’d want to consider. There many sites that can give you an overview of these objectives and help you learn these languages efficiently. Here are some sites you can try out to learn the basics of programming.

Learning resources 

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.

1. Codeacademy
Codeacademy provides a free learning platform to beginners by presenting a variety of courses on their site. There is a dedicated forum with specialised threads where you can seek help if are stuck  on a certain project. So you can easily get help from members of the forum. At the end, you can build a website of your own. However, there are no video instructions provided, so users have to solve all queries on the forums. Courses offered are HTML, CSS, JavaScript, jQuery, PHP, Ruby, Python, API.

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. 

4. Udacity 
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. 

6. W3Schools
W3Schools is a free tutorial website that offers tutorials for web development and design to beginners. It has neatly segregated sections according to the tasks for which particular programming languages are used. Courses offered are HTML/CSS, XML, JavaScript, SQL, PHP, ASP.NET.
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.

JavaScript is one of the most popular and dynamic programming languages used for creating and developing websites. This language is capable of achieving several things including controlling the browser, editing content on a document that has been displayed, allowing client-side scripts to communicate with users and also asynchronous communication. It is one of the languages that is accepted by all major browsers.

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. 

Practice Resources

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.

1. CodeChef
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.

2.   TopCoder
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.

1. CodeCombat
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. 

2. CodeWars
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