I took a programming class in which we used the Board of Education. I really enjoyed the challenge of programming & would like to continue learning it. My instructor mentioned many times that he preferred programming in C+ so I thought I might take a shot at it – see if I can learn the basics. I’m looking for suggestions on the basics of C+ programming, where to start, what type of board to start with, ect. Anyone have some recommendations? Thanks
UC Berkely offers an on-line course in C++ programming - but it costs $715.
MIT has on-line training and I think it is free.
Practical Programming in C course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and lingua franca of embedded processors and micro-controllers. Introduction to C++ course is designed for undergraduate and graduate students in science, social science and engineering programs who need to learn fundamental programming skills quickly but not in great depth.
When we used to have good book stores, you could find a bunch of good C self teaching books. It's harder to figure them out online.
I'm sure our readers can reccommend a few good books. I haven't looked at that for a while.
I have 'C++ Programming: From problem analysis to program design'. by D.S. Malik. It's pretty good as a C++ intro. I have another book called 'C for Engineers and Scientists' that's also pretty good. These are both software focused, not hardware, so if you're looking for tips on hardware interfacing you'll have to get some other books.
I've been training corporate programmers in C++ for about 22 years now. I think taking a good course will get you up to speed faster, but it is expensive.
I second the suggestion on getting some good books (sorry, I don't have any recommendations - we don't use them in our courses). I just want to caution you it will take time, and don't get frustrated. There's a lot more to learn than in many other languages; for instance you have to constantly be aware of memory allocations.
Another thing which is a big cause of frustration is object oriented programming. I've found many programmers just use C++ as an extension of C, and write in a procedural style, using a few C++ features. Doing so ignores some of the most powerful features of the language. Even professional programmers have trouble making the jump from functional to object oriented techniques. The more experienced the programmer, the longer it takes (six months to a year is very typical).
I'm telling you all this not to scare you away, but to encourage you to work on it and not give up. Yes, it takes a while, and it is frustrating. But done right, C++ is a great language. It works well for small projects, and even better for big ones.
In my opinion, the best way for learning programming is to have a good reference (book). Programming is very interesting and challenging but without practice you will forget it, so it is important to keep an eye on a valuable reference.
I suggest this book: "The 8051 Micrcontroller and Embedded Systems Using Assembly and C".
If you are not familiar with electronics and microcontrollers and you want to take forward steps in embedded programming, you can begin using "Arduino Uno" board.
www.mikroe.com is presenting all the needed information, details, compilers and boards to begin progamming and using Microcontrollers.
Except that he was asking about C++ - which is NOT C (nor is it assembly). He would be much better off learning C++ from the start than learning C then trying to convert to C++.
I don't disagree about books being a good way to learn. They certainly are cheaper by a large factor. However, our C++ course will take a programmer from knowing nothing about C or C++ to being a capable (not expert - that comes with time) C++ programmer in a week. The same is true for any of the similar courses from our competitors. Corporations want programmers up and running quickly, and are willing to pay for it. And you can't do that in a week out of a book.
I also agree with the "use it or lose it". I've learned probably 20 languages in my years of programmand, but now I can only program in about 5. And even though I use those 5 regularly, I can't say I can maintain the fluency I would like in all 5. I have to spend too much time in the books.
I took a class in Microcontroller Programming and C-Programming. This is the software that we used and I'm comfortable with:
For Microcontrollers, we used MPLAB IDE, it's free from Microchip's website.
Here's the link:
I also enjoy using Microsoft Visual C# 2005. It tends to predict what commands you're going to put in.
The website CodeProject also had C-Programming examples.