Getting familiar with Drupal code

Ready for review -- AWAITING PEER REVIEW
Description: 
In this lesson we'll talk about Drupal code
Overview: 

It seems that you are interested in Drupal. In this lesson we'll talk about Drupal code, where can you find it, some standards and various other things.

Drupal Core

Drupal core contains some of the basic features of Drupal. It also comes with some modules and themes. You can try extending Drupal by installing more modules, themes or distributions. As of 1st Jan 2014, the most stable version of Drupal is 7.24 while Drupal 8 has a work in progress status. Drupal's official project page is available at this link and you can view the repository here. If you click on 'Version Control' on any project, Drupal would give you the git code to clone the project in your system. So clone Drupal in your system, go through the installation(in case you need help) and have a in depth look at your site and Drupal code.

(Drupal ladder has a complete ladder which covers some Git basics. Drupal's git documentation is a thorough source of information related to git covering all the topics. This page is for people new to development and git. This webpage contains some of the most used git commands in an easy to read manner. Learn more about Git here, here and here.)

How can I contribute to Drupal?

Following languages are used in Drupal code:

1) PHP
2) Javascript
3) CSS
4) HTML
5) XML

and some more..

There are many tasks available for new contributors. But here we'll cover some topics which are important for Google Code-In.
You can

  • improve drupal documentation
  • create screencasts about some drupal related thing
  • create you own drupal 8 module
  • try to fix bugs, review patches, test patches, report bugs, update tickets
  • create themes for Drupal
  • Add/edit lessons/ladders for this website

and much more..
(You can also read the Getting Involved guide)

Interested in learning about these things? So it is now time to learn about some important resources and links that would help you to get started with contributing Drupal.