To answer your question I will have to explain a bit about learning methods best suited for C and then suggest resources and technology learning platforms which are dedicated to accelerate this learning process.
First let us talk about the types of learning models out there. For programming and technology based learning, you have three models of instruction:
this is the oldest and most common form. Here an instructor interacts directly in a classroom with physical resources and assets to aid your learning experience.
- Pros: Direct engagement with instructor, More hands on, tailored content delivery, More emphasis on your end goal and instructor will be accountable in aiding you in reaching it.
- Cons: Physical presence, time bound, usually are conducted as workshops and hence may be too intensive
Self paced Learning:
best example for this are Udemy, coursera and even youtube. These are prerecorded videos which need to be consumed by end users with no interaction with instructor in real time.
- Pros: Convenience in terms of time and logistics (you can take the course from your home and at your leisure), cheaper and even free as these courses are meant to be consumed as products off the shelf (similar to chocolates, soaps etc. )
- Cons: Not customized or tailored, very little hands on, Not suited for technology courses as there is no direct accountability of trainer and very little scope for mentoring and acquiring a skill set.
Instructor led online training:
This is a model directed towards individual technology training online. Here an instructor takes a course in real time in a virtual classroom environment. Hands on is executed and monitored via virtual boxes.
- Pros: All pros of classroom training and the advantage of having the convenience of your house to boot, credibility of certificate due to immersive nature of course and accountability of trainer in you reaching your goal.
- Cons: None except maybe the need to turn up at the scheduled time for your course
This sums up the type of learning models out there.
Now comes recommendations of resources and platforms out there that can help you after your choice of instruction.
There are a couple of proven resources that are useful and can play a vital role in enhancing your learning curve.
- Tiobe (TIOBE – The Software Quality Company) a unique company focused on technology indexing, tiobe is extremely vital. Here indexing of technologies and industries helps in planning your career path according to forecasts that are legitimate.
- Stack overflow (Stack Overflow – Where Developers Learn, Share, & Build Careers) Everyone in the tech space knows this forum by now but I still would stress its importance nonetheless. The most interactive online forum dedicated to technology, Stack overflow is the place to network, participate in exciting discussions and even find new career opportunities.
- Eclipse platforms (The Platform for Open Innovation and Collaboration | The Eclipse Foundation ) : the most proven open coding platform out there eclipse is free, robust and extremely user friendly. I would recommend it over borland (a statement in itself!)
In this last but most important section I will cover learning platforms that are recognized in online space and how they differentiate themselves.
Self paced learning:
Well for technology this model is not the greatest but if you must then i suggest platforms like AcademicEarth.org – Free Online Courses From Top Colleges . They aggregate all available options in self paced learning and you can always make an educated choice from there on.
Classroom training institutes are difficult to list in this discussion but choosing a good training institute would help. I would refrain from larger volume based outlets like NIIT and Jetking given their generalized course curriculum.
Instructor led Online training:
As this is the most commendable option available I would suggest only companies that have a huge offline footprint. This means companies that also have corporate training programs that are robust and recognized.
The reason I recommend this is the significance a certificate coming from their end will have on your resume/CV. If you apply for companies that undertake their training programs you have an inherent chance of clearing the screening process.
One very good option is eAgeIT (Online courses and certifications in technology)
who provide IT training and project consulting services for companies
like Intel, Honeywell, Juniper Networks etc. Taking online courses from
such vendors definitely adds value. They will not advertise their
programs as the target is niche and professionals serious about
technology.This sums up best practices to ensure you are in the best position to make a career in programming.
All the best and Cheers!