I am currently learning C but I'm not at all happy with my teacher or the pace of the course so I am considering just dropping the class altogether and attempting to teach myself C using the text that I already have (C Programming by Larry Ullman and Marc Liyanage), and any others that look like they might be helpful, as well as online sources (this forum for example).
Before I burn any bridges though, I would be quite interested to hear from anyone who has taught themselves C without any formal courses. I'm a little concerned about how hard it might be to pick up C without the help of any face-to-face teaching.
I'd particularly like to know (feel free to skip any questions that don't apply to you or add any that you think are relevant)...
1) What was your background at the time (ie. How much programming/computer experience did you have at the time and in what languages/fields/platforms)?
2) How long did it take you to become competent (I realise that this is pretty subjective)?
3) What resources did you have at your disposal (ie. what books/advice/help/etc. did you have)?
4) What other languages (if any) have you learnt since learning C?
5) What do you know now that you wish you knew when you were learning C - please be specific. Saying "knowing how to program in C" is not helpful ;-)?
6) How hard (as a rating out of 10) would you say it was to learn C by yourself (again, highly subjective)?
7) What points in particular were hardest/easiest to learn or get your head around?
8) How did you learn? eg. Did you work through a reference book? Work through a set of tutorials? Just pick bits and pieces up as you went along?
9) If you worked from a text book, which texts did you use when you were at the beginner / intermediate / advanced stages and, looking back, were they suitable do you think?
10) Is there any advice you'd like to give someone considering independent study of C?
If you can think of anything else that you think would be helpful, I'd appreciate it if you would add that as well.