Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange
8

Microcontrollers can address two important aspects. The first is bridging the gap between the code, and the real world. Particularly if you have sensors (accelerometer, buttons) and outputs (an LED array, sound, motors). Not just to address the robotics aspect (which can rapidly get complex), but some simple game concepts (patterns, reactions). Nothing ...


5

To add some context from the chat room conversation: This is part of a larger course that introduces technology in an applied fashion. The segment with the robot is 10 days and the students have not necessarily programmed elsewhere. Empty while loops I would recommend against beginning with any empty loops for your students. All the looping constructs are ...


5

If the goal is to create more interest in learning programming (as you state above), then Arduinos are not the strongest vehicles for reaching that end. The logic of void setup() and void loop() are not immediately accessible nor intuitive to a student brand new to programming. For one who is experienced and/or is inclined toward mechanical/electrical ...


4

Based on my two years of involvement with FIRST, I have a few suggestions: Teach students to read the documentation. This site covers Java programming for the 2017 FRC Control System. FIRST programming, while requiring general programming skills, is specialized for the roboRIO and for the competition as a whole. We ran into a couple issues this year whose ...


2

tl;dr Make the mapping between the software and the hardware explicit at the start and then show the code, rather than the other way round. Draw pictures. Give them a mental overall image, not just detail. Detail with no context is hard to follow, and hard to learn. In many ways this question is like another here in that you have a complex system that must ...


2

This answer will be a bit different, I hope, and more general. Programming physical robots is inherently different from simple procedural test and command driven programming. It is essentially event driven with events happening outside the program but needing to be handled by it. Some of this sort of thing occurs in, say, Java when you write GUI code that ...


1

On a different note, it is much more effective to use simulated robot environments when first introducing programming to students. The addition of the H/W elements in physical robots (along with more complicated software environments) make the combination more difficult. This would only be exacerbated with a short time line. You could even replicate the ...


1

What you are looking for is "old style" macintosh like event driven programming. It's still there under the covers in Windows, but the high level libraries tend to hide the implementation. Your main event loop: quit = false; while (!quit) { event = getNextEvent(); dispatchEvent (event); } An event is a data structure that contains what, where, and ...


1

What I like to do is to first teach them the code that will actually make the robot move/do whatever it's supposed to do, then from that point I'd teach them the structures that can be used to make it more interesting. For example, if the motor is represented by the DcMotor myMotor, I'd first go with the simple myMotor.setPower(1), just to get them to have ...


1

Advantages compared to what? I will assume compared to programming abstract applications on a desktop. Programming abstract applications on a microcontroller does not provide any obvious advantages, beyond teaching students what a microcontroller is. You get advantages when it comes to what I call "Applied Programming". On a desktop, it's difficult (but ...


Only top voted, non community-wiki answers of a minimum length are eligible