I am an student learning web development by my own, I am very interested in back end development where can i start to learn?
closed as not a real question by Jonathan Khoo, ChrisF♦ Feb 14 '12 at 8:39
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.
Try this: Go ahead and create a simple database about students and the courses they've enrolled.
|Student|-*----- Enrolls -----*-|Courses|
Now, what you need to do is create a simple 'web page' for starters - where you can view any/all of the following:
Now, read what @Pablo has posted in his answer. Remember the keywords.
Now, go ahead and program your application to query the database (Data Access Layer). You'll land up with a 'Data Access Object' (DAO) for each table i.e. 3 objects in this case - their job is to query the corresponding table and return the results (roughly speaking).
The 'data' got by these DAOs is put into another object that will be transferred (to the caller) or returned with populated data - Data Transfer Object (DTO).
You'll use the DTO's to show the content on the views (part of front-end development, as per your terminology).
Where/what is the business logic, I hear you say? Well the business rules is the bulleted list above of 'what all to show' - the business logic is that layer above the data access layer that has asked for the corresponding data :)
Once you write this simple application and read through Pablo's links and my answer - the world will be a better place :D (at least from the point of view of writing backend software :)
Best of luck!
PS: If you are getting stuck at any stage, it means you need to learn how to do it or just ask for help :)
You can start where I did, with "Agile Web Development with Ruby on Rails." It's fast and fun. This is an excellent way to get some exposure to relational databases and an MVC web architecture.
Pablo gave some good suggestions.
I would also hop into IRC: webchat.freenode.net in case you need more experienced resources. People love to hack around on individual topics.
Also codecademy.com can teach you some fundamentals about client side coding.
Right now - with the way the industry is going, I would not label yourself as a "back end" developer.
Get a firm grasp of data structures, logic, design patterns, syntax and for the love of god learn to do research and get familiar with scientific methods.
Get those down and it won't matter what roll you're going to be thrown into - you'll have good foundations.
Try these links as starting points