|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Advice for teaching new students
Our team has sustained major growth this year, up to around 40 students. A good percentage of them wish to learn programming, which is a huge load on our 2-man programming team.
Does anyone have any ideas on how to teach programming to such a large group during build season? |
|
#2
|
||||
|
||||
|
Re: Advice for teaching new students
Teach them before build season on the basics. This will also help filter out people who aren't 100% serious on joining the programming team. In the past our team has recoded our old robots so the new students can get the actual experience they need before build season.
|
|
#3
|
||||
|
||||
|
Re: Advice for teaching new students
Quote:
It is not an extensive class (like you would expect in a high school or college programming course) where I cover every aspect of the language and programming. Not sure what language you are using, we use C++ so I bring them up to speed on the language facilities we generally make use of especially classes and the implementation of things like state machines... and also the architecture our team uses in creating our code. It is fast-paced, intensive, hands-on class done in 6 weeks and it gives them a flavor of what is to come. And it gives me an idea of who is really interested and what their abilities are. Each student does the short exercises in C++ [using Visual Studio Express (which is free)] on a laptop during class time so that they are able to learn from their mistakes and get a general feel for how to use a debugger, compiler, etc. During our last class we review a few classes from the previous year's code so that they have some idea of what the actual robot code entails. I have a set of powerpoint presentations that I have developed over the years that I use to stay on track as well as providing a reference for them in the future. Last edited by MamaSpoldi : 13-10-2014 at 11:43. Reason: more info on class style |
|
#4
|
||||
|
||||
|
Re: Advice for teaching new students
If you're using Java, Codebat.com seems to have (read: I haven't used it, but looked at it) some good practice exercises that can help solidify concepts. LearnJavaOnline also seems to be a good walk-through website, but the "read this and go" method will most likely not go over well as its pretty boring.
If you have the resources, I high recommend doing some sort of class-room style teaching where you teach the basic ideas (variables, loops, syntax, etc) and then having a "lab" portion, where students are given tasks/goals and are able to code on their own or in pairs. You and your fellow programmer can oversee this portion and answer questions as they come up. You don't have to dive into robot-specific coding right away, but if you have a robot on hand that you can deploy code to, it would be most relevant/interesting for the newbies to have activities/tasks that are related to actual robot-coding. If you do multiple days of this, where each day is a lecture followed by a lab, you could, in the least, get students comfortable with basic programming. The most you could achieve really has no bounds. Its worth noting that the best way to learn programming is by programming. Last edited by Katie_UPS : 13-10-2014 at 13:17. |
|
#5
|
||||
|
||||
|
Re: Advice for teaching new students
Quote:
I hope this helps!!!! ![]() |
|
#6
|
|||
|
|||
|
Re: Advice for teaching new students
Make sure that your programmers don't only know programming. I've found that ensuring programmers have a healthy understanding of electronics and mechanics serves several purposes:
1) For those students who don't continue with programming (there will be many of them, trust me), it provides a much easier transition to productive work elsewhere on the robot 2) For those students who do continue with programming, it makes them far better at their job - you can't program all that well if you don't understand the mechanisms that you're trying to control. 3) In general, I think it is good pedagogy to have every student have some level of understanding of all that goes into making the robot function, even outside of their specialization. Last edited by Oblarg : 13-10-2014 at 15:55. |
|
#7
|
|||
|
|||
|
Re: Advice for teaching new students
We have a big team as well and lots of the new members want to program. We are running weekly programming classes now. We started in September - our 2 Lead Programming Mentors are teaching this class. This will also weed out any that decide they don't want to continue this sub-team later on.
Also, during the summer - our lead programmers take our robots home and hold programming classes during the summer for our up and coming programmers. This has been hugely successful!! Our past two years the top programmers attended the summer classes from the previous programmers and they were very grateful for the chance to see how their programming works with the actual robot. They had to learn to program the robot in multiple languages - we never know which one we will use -depends on the game, robot and the programmer. |
|
#8
|
|||
|
|||
|
Wow guys! Thanks for all the helpful responses! I will show this to my other programmer and we can decide how to move forward.
![]() |
|
#9
|
||||
|
||||
|
Re: Advice for teaching new students
So technically this is a CAD-related post, but if your team has grown recently like ours has, you might be training a bunch of new people in CAD as well as software.
Our team uses SolidWorks for CAD (we got 25 free seats from them last year - I'm not sure where you go, but it's possible), but I wasn't happy with the tutorials that come with SolidWorks (they're nice and all, but not very closely related to what we do in FRC), so I made two of my own. New students were able to get through each of them - with help getting unstuck from me and other experienced users - in about 2 hours each. Click "Download All" and look for the PDF, which walks you through the tutorial. https://grabcad.com/library/frc-soli...ox-and-motor-1 https://grabcad.com/library/solidwor...all-gatherer-1 Good luck with preseason training, Sincerely, Alec Muller Team 2342 Mechanical Engineering Mentor |
|
#10
|
|||
|
|||
|
That's awesome @alecmuller! We are interested in CAD.
|
|
#11
|
|||
|
|||
|
Re: Advice for teaching new students
For SOLIDWORKS
Software sponsorship now. Www.solidworks.com/First New 25 videos on making a competitive robot http://m.youtube.com/playlist?list=P...W-gEKDxfWgShwG |
|
#12
|
||||
|
||||
|
Re: Advice for teaching new students
Like the OP we have had massive team growth this year. This has been a great thread and I appreciate all the responses. I am a teacher in Texas and we have an official Robotics and Automation class offered under the CTE curriculum. In looking online at the posted lesson plans for the course it follows the FRC model. I am posting the link to the lesson plans below. I hope that it helps someone else as much as the posters her have helped me.
Have a great day! http://cte.unt.edu/stem/curriculum/robot-autom |
|
#13
|
||||
|
||||
|
Re: Advice for teaching new students
I've tried teaching students in a class-like setting, and I've found that I'm pretty bad at it, and they tend to forget what I've told them. Instead, I've found that 'learning by doing' is more effective.
What I did this year is create a repository that they can clone to their computer (link below -- we're using python), and they are instructed to solve various 'challenges', that bring them through the language's basic features as they move on. To check to see if they 'pass' the challenge, it runs a bunch of unit tests that check to see if they followed instructions. We did something similar last year with good results, but it wasn't as comprehensive. We've been doing it a few weeks, and I think the students have gained a greater understanding of the language. After we finish this, then we'll start using the pyfrc robot simulator to start creating code that could actually run on a robot, to solve similar types of challenges. https://github.com/frc1418/pybasictraining.git |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|