Embedded Programming MOOC to be re-offered... - Page 1
Forum section: electronics / general

author: westfw
author_rank: Super Contributor
timestamp: October 23, 2014, 03:32:41 am
content: Jon Valvano at the University of Texas will be repeating his "Massive Open Online Classware" version of his "Embedded Systems - Shape the World", which is an intro to embedded programming using a TI Tiva (ARM) Launchpad. Unlike most online classes, they've figured out a way to incorporate labs on live hardware (which you purchase), which considerably extends the usefulness of the class (IMO.)https://www.edx.org/course/utaustinx/utaustinx-ut-6-02x-embedded-systems-4806I took the first version of this class, and found it useful on several counts (even though I'm nominally already an experienced embedded programmer):1) This was the appropriate-sized "nudge" to get me to actually DO stuff with 32bit microcontrollers.2) It's interesting to me to see what and how students are being taught these days.3) It's interesting to interact with other students (via class forums), to see what "students these days" lack in the way of background and understanding.It would be helpful if you were somewhat familiar with C before taking this class; the people who were struggling with the basics of C syntax were really at a disadvantage. Other than that, I think the class is would be pretty useful for people who need a kick (from EE or CS) toward the ideas behind "embedded programming." (also, this was one of the best MOOC's I've taken...)

author: mtdoc
author_rank: Super Contributor
timestamp: October 23, 2014, 03:51:42 am
content: I can second this recomendation. I come from the other end of the spectrum, having very little programming experience - just Basic 30 years ago, LabView, and some recent playing around with Arduino. I found the teaching very good and was able to pick up the basic C pretty quickly.I got through about 3/4 of the course before other life duties (kids and SWMBO) forced me to step away. No biggie since i was doing it just for fun. I'll probably redo it and hopefully be able finish this time around.It's pretty remarkable the free education you can get with a MOOC like this.

author: DavidDLC
author_rank: Frequent Contributor
timestamp: October 23, 2014, 04:06:43 am
content: Do you need to pay for it ?

author: Kremmen
author_rank: Super Contributor
timestamp: October 23, 2014, 04:21:15 am
content: I took the first installment as well, but had to drop it halfway throuh due to other duties. Maybe this time i too have timet o finish.No the course is free so you don't pay anything for that. However there will be a small cost for the TI Launchpad and few other components you need to do the course properly. Those are of course yours to keep for subsequent projects so in that sense it is free.

author: westfw
author_rank: Super Contributor
timestamp: October 23, 2014, 08:27:11 am
content: The class is free, though you have to buy your own set of lab equipment (about $30, if you don't have anything. Less if you've got a protoboard and some basic components lying around.)You can pay (a small fee) for a "certificate", I think. Such things are not of interest to me.Being able to do as much or as little as you want in these free MOOCs is a big advantage, IMO. "Knowledge is Good" and any gain is worthwhile.

author: glatocha
author_rank: Regular Contributor
timestamp: October 23, 2014, 09:36:35 am
content: I took it also last semester. It was interesting. Some good general knowledge for beginners, how to connect LED and so on.But from the software point of view?I think it is reusing a lot of given code, given subroutines. That you just need to modify something in it.At the end of the course, I still don't know if it is so much easier to do something with this uC from the very beginning.Anyway, I will not say it was a waste of time.

author: mtdoc
author_rank: Super Contributor
timestamp: October 23, 2014, 04:16:18 pm
content: Quote from: glatocha on October 23, 2014, 09:36:35 amAre you sure you're talking about the same course? It was not about connecting LEDs...QuoteNot my experience at all. I went from knowing nothing about C to being able to do some basic projects, from scratch, with a 32 bit ARM processor. And I didn't even finish the course.

author: glatocha
author_rank: Regular Contributor
timestamp: October 23, 2014, 07:03:42 pm
content: Quote from: mtdoc on October 23, 2014, 04:16:18 pmDon't insult me, as I didn't insult you. Chapter 8.3 LED interfaces. Even with the resistor calculation equation.QuoteApparently you are smarter than me. As I have said. I definitely will not discourage anybody from taking this course.

author: mtdoc
author_rank: Super Contributor
timestamp: October 23, 2014, 07:18:22 pm
content: Quote from: glatocha on October 23, 2014, 07:03:42 pmNo insult intended just WTF since I didn't and still don't understand. Not trying to be argumentative but I have a hard time understanding how someone can take away from Chapter 8 that it was about "how to connect an LED". Sorry if that offends you. Of course for the hardware naive, it does explain how to do that, but only as a prelude to teaching you how write a program in C to control the port which the LED is connected to.FWIW -Here's a link to the course materials

author: westfw
author_rank: Super Contributor
timestamp: October 24, 2014, 07:59:42 am
content: QuoteSort of. Each lab consists of adding code to a "starter project" that does some stuff like set up the grader, initialize things you haven't learned about yet, and so on. But the code you have to add is very bare-metal code, so it's quite different from the Arduino or Tivaware approach where what you're supposed to do is CALL functions that have already been written. It's a sort-of bottom-up approach, rather than top-down, and I approve.A weakness of this approach is that you never set up a Keil (did I mention that they use Keil for compiler/IDE?) project from scratch. And in fact, people who tried to do this (like me) wound up having assorted problems. I think that the version of Keil used has somewhat incomplete support for the newer TI chips; basics are there, but some of the features that I later found worked fine (for STM32) had to be done manually for the Tiva (like defining the memory space regions occupied by peripherals as existing in the simulation memory map. Grr.)I think it would be a poorer class if it were all about invoking TivaWare functions using Keil, but it might be more immediately useful that way...