Owner and president of electronic assembly service. Prior work was computer software and data communications for 34 years. Amature radio since 1955, approximately. Live in Central Oregon desert.
I have had several reasons in the past to have computer con

Does anyone know of a course specifically for programming C/C++ for Arduino.

It just seems like the courses focus on C/C++ have a ton of stuff in them that is completely irrelevant to the arduino.

It also seems like arduino-focused courses start with a few of the programming basics and then jump right into focusing on relays and LEDs and completely ignore the fundamental programming part of it.

Considering these boards are sold by the millions, there HAS to be someone out there teaching a C for Arduino course, right?

How have you determined your statements? Have you taken the courses you disparage? Did you begin reading world history books in the first grade? All the C/C++ stuff is relevant to programming the Arduino. Perhaps you need to do more Arduino programming to discover the connection to all C/C++.

How have you determined your statements? Have you taken the courses you disparage? Did you begin reading world history books in the first grade? All the C/C++ stuff is relevant to programming the Arduino. Perhaps you need to do more Arduino programming to discover the connection to all C/C++.

Paul

I didn't disparage anyone or anything. I just keep getting answers like "well it's a subset of c or c++."

Does anyone know of a course specifically for programming C/C++ for Arduino.

I think a distinction can be made between learning C/C++ and learning to program an Arduino. All of the Arduino code is C/C++ but not all of the full scope of C/C++ is relevant to an Arduino. The amount of C/C++ that is essential for Arduino programming is probably quite small.

You have not told us what style of learning works for you - whether you prefer a text-book style or a "suck-it-and-see" style.

I like to look at examples (and there are plenty with the Arduino IDE) and then if I see something I don't understand I can spend some time with Google, etc. learning about it.

I suspect there is no shortage of online tutorials for Arduino programming and for C/C++ programming.

The advantage of the examples is that it brings you in contact with the things that are specific to the Arduino at an early stage. And (for obvious reasons) they do not involve irrelevant C/C++ stuff. However I am not saying that the examples illustrate best-practice C/C++ coding. Many of them fall short of that. But they get the job done.

...R

Two or three hours spent thinking and reading documentation solves most programming problems.

I suspect there is no shortage of online tutorials for Arduino programming and for C/C++ programming.

The advantage of the examples is that it brings you in contact with the things that are specific to the Arduino at an early stage. And (for obvious reasons) they do not involve irrelevant C/C++ stuff.

I appreciate the idea of the examples. That's what I generally wind up doing. It usually winds up that I'm trying to extend the example and I'm having issues with the data not being in the variable type/format that the next thing I'm trying to do needs.

I will say that this thread is a pretty typical example of the frustration of the arduino community. Other than you, I just get lots of "there's plenty of them." Tons of books. Tons of courses. Yet not a link or even the name of one when that's clearly what I'm asking for.

I truly appreciate everyone's time...I just think that this is a huge thing that's lacking in the arduino community.

I will say that this thread is a pretty typical example of the frustration of the arduino community. Other than you, I just get lots of "there's plenty of them." Tons of books. Tons of courses. Yet not a link or even the name of one when that's clearly what I'm asking for.

I don't know whether I am typical of the more frequent posters here but I have read none of the books and I don't think I went through any of the tutorials.

I have been doing hobby programming for 35 years or so and I knew enough when I got my first Arduino so that I did not need them. I do have books on Ruby, Javascript, HTML and CSS. But I guess if I was starting those things now I probably would not buy them - just learn from the internet. For example when I switched (reluctantly) from Ruby to Python I did not buy a Python book.

Strange as it may seem you are more likely to get good advice about learning materials from other beginners. But, as far as I can see, they don't bother using the Forum once their own question has been answered.

...R

Two or three hours spent thinking and reading documentation solves most programming problems.

I have noticed the same thing as OP regarding Arduino-centric resources. They usually stick to code that's very simple from the C/C++ perspective, and focus on interacting with hardware and using libraries to do stuff - all very practical information, but you're not going to learn anything other than basic c/c++ from those sort of resources. They always seem more focused on the hardware than the software.

Meanwhile, books dedicated to C/C++ assume you're programming on a desktop PC, so the sort of patterns they use as examples aren't always good ideas when programming in an embedded environment, and they don't emphasize the parts of the language most relevant to embedded programming.

I tried to find a resource that bridged the gap last year and wasn't happy with anything I found... I frankly haven't been able to find any resources printed on dead trees that I found particularly useful for arduino programming.

Terry has designed broadcast stations, recording studios, broadcast equipment, intelligent machines and special computer languages for IBM, and has worked as a broadcast journalist covering elections, fires, riots and Woodstock.
He has taught electronics

I have noticed the same thing as OP regarding Arduino-centric resources. They usually stick to code that's very simple from the C/C++ perspective, and focus on interacting with hardware and using libraries to do stuff - all very practical information, but you're not going to learn anything other than basic c/c++ from those sort of resources. They always seem more focused on the hardware than the software.

Meanwhile, books dedicated to C/C++ assume you're programming on a desktop PC, so the sort of patterns they use as examples aren't always good ideas when programming in an embedded environment, and they don't emphasize the parts of the language most relevant to embedded programming.

I tried to find a resource that bridged the gap last year and wasn't happy with anything I found... I frankly haven't been able to find any resources printed on dead trees that I found particularly useful for arduino programming.

Meanwhile, books dedicated to C/C++ assume you're programming on a desktop PC, so the sort of patterns they use as examples aren't always good ideas when programming in an embedded environment, and they don't emphasize the parts of the language most relevant to embedded programming.

I tried to find a resource that bridged the gap last year and wasn't happy with anything I found... I frankly haven't been able to find any resources printed on dead trees that I found particularly useful for arduino programming.

This is EXACTLY what I'm saying. Maybe I'll learn this stuff and then do an online course. I'm getting there. It's just way harder than I think it should be.