When I get around with my friends, and many peoples who are interested with programming, ask me how can they learn programming? I everytime say it is like maths which becomes fluent with lot of practice and still there is no such point, where you know everything. Well for that at least we need to know where to start and how to proceed. I will not be doing any code for this article but present a guideline that can lead to best programming learning experience.

Getting with you tube videos, books or college is one experience but I will explain how anyone can learn programming selecting right things at a right time.

 

First thing first, Programming is not a one day art. You need to build a patience in yourself and make a simple resolution( not a hard one). Define a time for yourself looking the timeline of learning programming that I suggest to you. I am expecting that you have very little or no programming knowledge. It is not mandatory to start programming with web but I am doing this as I feel this is more natural way of learning.

1. First Phase of Learning (Estimated Duration : 2 Months with 1 hours of daily learning and 1 hour practice) : Start with HTML and CSS only. HTML and CSS does not give a a real programming experiece but it is helpful as it provides you the way to see how can you write something and expect to see something. Once you are able to complete the checklist in the Basic Learner of First Phase you can move to next phase if you are not interested in learning web more.  For intermediate and advance learner Javascript is required. Javascript is the client side scripting language. It provides real programming experience. You need to learn Javascript variables, loops, function, etc. before being able to integrate JavaScript with HTML DOM(Document Object Model).

 

Assets Required : Text Editor (Sublime Text Editor, Notepad++) & Browser (Mozzila Firefox, Google Chrome)

Books : Any popular book from good writer will do great.

Other Reference Materials : www.w3schools.com is great website for learning web development, youtube channels or subscribe to online courses from Educators.com, Tutplus, Lynda etc.

Checklist: (Given below)

 

Basic Learner (Basic knowledge on HTML & CSS)

  • Basic Web page with HTML and CSS : Be able to create a basic pages like home, services, contact form, and some more pages as per your preference.

  • Be able to add pictures, create external and internal links, navigation bar(menu list) and many things as per preference.

  • Be able to design forms (By this time don't expect to manipulate forms input data. It will be done by other server side scripting which I will mention later)

 

Intermediate Learner (Additional knowledge in Photoshop design and Grid and basic JavaScript)

  • Able to design web layout in photoshop and breakdown design using Grid Design.

  • Integrate third party plugins for slider, crousel and form validation () using javascript.

Advance Learner (Responsive Design and Intermediate JavaScript)

  • You will need to know how to create responsive designs either coding directly or using responsive framework like bootstrap.

 

2. Second Phase of Learning (Estimated Duration : 4 Months with 1 hours of daily learning and 1 hour practice) : By this time you will be aware of the coding and how it works. You can start this phase if you at least have completed "Basic Learner" of phase one. This phase depends on two factors if you want to continue with web or go with desktop programming. If you want to go with web get with server side scripting like PHP, ASP.NET, Ruby on Rails etc. (select any one, but I recommend PHP for beginners as it is easy to learn). If you want to do desktop programming then go with Visual Basic. Other options for desktop programming are C#, Java, C++, Python etc.

 

A. Server Side Scripting (PHP)

 

Assets Required : Real Server or XAMPP/WAMP(for Microsoft Windows) or LAMP(for Linux), Text Editor (Sublime Text Editor, Notepad++) & Browser (Mozzila Firefox, Google Chrome). You will need to configure XAMPP/WAMP/LAMP. Check reference material sources given below.

 

Books : Any popular book from good writer will do great.

 

Other Reference Materials : www.w3schools.com is great website for learning web development, youtube channels or subscribe to online courses from Educators.com, Tutplus, Lynda etc.

 

Checklist: (Given below)

 

Basic Learner (Basic knowledge on PHP)

 

  • Learn all programming concepts starting from variable declaration to functions.

  • Develop a website using PHP (you need to figure out how html content are parsed using PHP for dynamic websites)

Intermediate Learner (Additional knowledge in PHP)

  • Create website with login system, Integrate with database, work with cookies and session.

  • Learn Object Oriented Programming in PHP (Namespace, Class, Object)

  • Learn AJAX and add build site using AJAX functionality

Advanced Learner (Knowledge in PHP Frameworks for advance application development)

  • Learn MVC(Model View Control) architecture in PHP

  • Create website using frameworks like Zend, Symphony, Laravel, CodeIgnitor etc.

  • Create one E-commerce site and integrate with payment gateway.

B. Desktop Programming (Visual Basic / Java / C++ / C#)

 

Learning Desktop programming becomes fluent with your practice. Try to develop application to show to others which will help you to gather suggestions. You can gradually progress learning and adding features on what you develop.

 

Assets Required : Text Editor (Sublime Text Editor, Notepad++) or SDK (Microsoft Visual Studio for Visual Basic or C++ or C#, Elipse or Net Beans for Java)

Books : Any popular book from good writer will do great

Other Reference Materials : various website, youtube channels or subscribe to online courses from Educators.com, Tutplus, Lynda etc.

Checklist: (Given below)

Basic Learner

  • Learn all programming concepts starting from variable declaration to functions.

  • Develop a simple program like calculator, media player or simple game.

Intermediate Learner (Developing Office Applications)

  • Learn Object Oriented Programming

  • Create Library Management System or similar kind of application integrating database.

Advanced Learner (Knowledge in MVC Patterns for advance application development)

  • Learn MVC(Model View Control) Patterns.

  • Develop a client-server application.

3. Third Phase of Learning (Estimated Duration : Unlimited) : There is always something to learn you will find when you will gradually progress with programming. Don't limit yourself.

You can learn do following things:

  • Learn other programming languages and database tools.

  • Take look at documentation of various programming languages, and try to improve the coding practice you do.

  • Try to answer questions in stackoverflow or ask questions that you want to know

  • Try learning ethical hacking if you want to build secure softwares.

  • If you are working as web programmer/developer SEO(Search Engine Optimization) is necessary to provide better search engine rankings.

This is not all the end. I will be adding more articles. My articles will be related to programming, web, database and more. Check on regular basis to find something new. Thank You.