Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   FRC Primer for Programmers (http://www.chiefdelphi.com/forums/showthread.php?t=147995)

jweston 28-05-2016 11:31

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by rich2202 (Post 1581136)
As my summer project, I am going to create a power point presentation to train new programmers. Note: I am not trying to teach them Java or C++.

May I suggest a slightly differnet approach in order to avoid information overload? Start with a simple code exercise that gives an immediate result, such as making a tank drive train move forward. Let the new students create the project, write/copy the code, and deploy it themselves to see it run. Let the students make simple modifications to the code, such time or distance constants.

As you walk through this simple exercise, you can use additional power point slides to discuss some of the basics like init vs periodic and what the various modes mean. You can also use it to intro tools like the debugger. Having students engaged in a concrete example gives much richer context to what you're saying than having it in power point by itself. This is definitely a time to keep it simple.

Once you've covered what you can through that exercise, decide what you want to illustrate next and design another interactive exercise. The important parts are keep it focused and keep it interactive.

The outline you have strikes me as being great for a reference. A reference provides great value in case someone wants to do some more in-depth reading on a particular topic.

It's tempting to try to ground new students thoroughly in How It All Works. But it's so much more important to not make new students drink from the firehose of information. They will learn through guided doing.

Quote:

Originally Posted by rich2202 (Post 1589987)
Sitting around watching the experienced programmers is no fun if you have no idea what they are doing.

Sitting around watching the experienced programmers is never fun. Listening to lectures is not fun. Writing code and watching it work is fun.

Ether 29-05-2016 08:45

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by jweston (Post 1589997)
Listening to lectures is not fun.

Not true as an unqualified general proposition. Some students enjoy and thrive on lectures.

But you're probably correct that most new programmers will thrive better with hands-on simple exercises to get them started and pique their interest.



jtrv 29-05-2016 10:57

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by rich2202 (Post 1589988)
Deploying code is at the end because that is the last thing you do.

I'm not sure if this is a perfect idea. I understand where you're coming from- but personally, if I sat through a lecture on a library and I wasn't shown how it deployed until the end, I would be constantly wondering and trying to figure out how it all works together until the lecturer finally shows it at the end. I'd wind up distracting myself from the more important content at hand. I think showing that it is as simple as hitting Build on whatever development setup you have going is a good thing to show at the start. Say that for now, it just sends the code to the router and compiles it or what have you, and that you'll address it more in-depth later.

Just my $0.02 as a student in the middle of many years of lectures.

jweston 29-05-2016 17:21

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by Ether (Post 1590072)
Not true as an unqualified general proposition. Some students enjoy and thrive on lectures.

Fair enough. :) I've been known to enjoy a lecture on the likes of ancient Crete or partical physics. No reason someone shouldn't enjoy an engaging lecture on the finer points on, say, control system programming theory.

I think we can agree that competitve coding as a spectator sport is not likely to take off any time soon. ;)

Monochron 29-05-2016 19:15

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by rich2202 (Post 1589988)
It is an overview, not in depth. It is a one session overview, not a summer long class.

It still sounds like "one session" is going to take quite a while. If your goal is get students interesting in working on the robot programming, you may want to give higher priority to piquing that interest.

Quote:

Deploying code is at the end because that is the last thing you do.
Are they not going to deploy any code until the very end? I guess it depends what your goals are for this class. If you have students who are already programmers or who are already certain that they like programming, then you don't need to get them hooked first. And the topics you have planned are all definitely necessary if you want to build a strong programming team. But if you are hoping to grow your programming team with this lesson plan, I'm not so sure.

rich2202 29-05-2016 20:01

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by Monochron (Post 1590135)
It still sounds like "one session" is going to take quite a while.

Maybe 2. But definitely not an entire semester.

Quote:

If your goal is get students interesting in working on the robot programming, you may want to give higher priority to piquing that interest.
Oddly enough, piquing their interest is not the goal. Over the last few years, the team has grown from 30 to 70+ students, with 15 of them programmers this year. In the past 2 years, the programmers have been pretty autonomous of the Mentors - we pointed them in the right direction, and they did it all themselves. Unfortunately, the 2 strongest programmers graduated this year.

The goal is to make sure everyone has a high level overview of how the robot works (code wise).

Quote:

Are they not going to deploy any code until the very end? I guess it depends what your goals are for this class.
For the 1 or 2 (or whatever) number of sessions, it is purely lecture. No coding. Once everyone has a foundation of the basics, then the programmers can have at it - "Hello World" exercise, or whatever they want to do.

Quote:

If you have students who are already programmers or who are already certain that they like programming, then you don't need to get them hooked first. And the topics you have planned are all definitely necessary if you want to build a strong programming team.
That's the plan.

Quote:

But if you are hoping to grow your programming team with this lesson plan, I'm not so sure.
At this time, growing the programming team is not a priority. This year, we had too many. It was challenging keeping them all involved. I was trying to get the 2 lead programmers to become more Project Managers and divide up the tasks, but that didn't work so well. Fortunately, one is hopefully coming back next year as a Mentor. Definitely needs to be more hands off as a mentor. It will be interesting watching a College Freshmen develop management skills.

AlexanderTheOK 30-05-2016 02:36

Re: FRC Primer for Programmers
 
Quote:

Originally Posted by rich2202 (Post 1590142)
with 15 of them programmers this year.

Oof. Well there's your problem. Thankfully (or oftentimes not), on both teams I've participated on, programming hasn't been the greatest interest, so for teaching I've generally got one robot/roborio per student/2 students.

I do have to say though that a lecture on basic FRC programming would bore the crap out rookie student me. I would have remembered very little, and decided I wanted to build stuff, taken the more tangible safety certifications, and started machining/designing parts.

Thankfully, instead of a lecture, we got to write some code for an old robot and make it run. I've found that this strategy works rather well in general. It means the student is more willing to read documentation on their own with the idea ahead that it will lead to more of the robot functioning. I say this having both trained my successors for two years as a student and mentoring a team through it's switch from LabView to Java.

Of course, I doubt many teams have ceil(15/2) = 8 mostly identical robots to program on, so you're in a bit of a pickle. If I was in your situation I might have broken up the students into several sessions so they could all take a crack at making a robot work.

However I am not in your situation. Best of luck.


All times are GMT -5. The time now is 13:06.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi