|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
||||
|
||||
|
Re: Teaching C++
Thanks. From what I've read so far those books seem like they'll help quite a bit. Older sources seem to have much more straightforward explanations than many newer ones...
|
|
#17
|
|||
|
|||
|
Re: Teaching C++
This book does a very good job of teaching programming. It uses python because it's a simple language to pickup, but once they've finished it you can teach them C++ and they'll have a much higher success rate than just going straight into C++.
I've found that just teaching people the language isn't good enough. You have to teach them how to think like a programmer. |
|
#18
|
|||
|
|||
|
Re: Teaching C++
Quote:
) is another thing.A number of the items I mentioned are functions of the operating system that is being used, and the hardware. There are books on VxWorks that explain how the OS works, and what features are available. There are books on control theory but most of the ones that I have are not really for novices. For more info than you'll ever want to know about C++, you can use Bjarne Stroustrup's book. I always believe in going straight to the source, but for a novice programmer it can be a daunting book. Also, I agree that Python is another viable language for teaching how to program. The hello world program is probably the easiest and clearest of any language ![]() |
|
#19
|
||||
|
||||
|
Re: Teaching C++
Quote:
One year our team had a programmer who was practically a java god. They knew java inside out, it was crazy. But they had little to no understanding of any of the mechanical or electrical systems on the bot... Our robot didn't have working code until I took it home and learned enough java to fix it. This is one of the reasons that we are now making sure that anyone involved in programming is also heavily involved with other things as well. This is also the main reason that I am planning to use the arduino to teach programming, so that kids can learn how programming can be used to interact with physical things. |
|
#20
|
||||
|
||||
|
Re: Teaching C++
Already knowing Java and VB.NET, It was very easy for me to pick up C++. I learned all of the basics in a month. I used learncpp.com. They have great explanations and structured lessons with quizzes at the end. Did I mention it's free?
|
|
#21
|
|||
|
|||
|
Re: Teaching C++
If you guys are looking for a good IDE to get started developing in outside of robotics, I'd recommend Qt. It has libraries for nearly everything you could ever need to develop a desktop application, along with a great community to support it, also it simplifies coding GUIs and cross-platform applications greatly, as you can code once, and use it on any platform. When I program things for my team, it's what I use.
Just my two cents. |
|
#22
|
|||||
|
|||||
|
Re: Teaching C++
Well from my experience, I learned 50% of my programming knowledge in the 6-week build. Prior to that, I had dabbled in C++ and NXC ( http://bricxcc.sourceforge.net/ ) a bit but never fully understood it. (I could do basic variable manipulation, loops and if/else statements but thats about it)
I was able to program our robot rather effectively using all the builtin libraries in WPILib without understanding what OOP was, or how to implement it. Just seeing what worked and what didn't was enough to make some rough Teleop and a brief autonomous code with smartdashboard logging and some drive mode switching. (The code can be found at https://bitbucket.org/teammetalcow/r...cpp?at=default ) I will note that I learned none of this from books, just experimenting with the language and looking up references from the WPILib documentation. I did go on to learn OOP in the off season, so thats what https://bitbucket.org/teammetalcow/2012offseason/src is. It really depends on the person though, Ive found. We all think differently, but C++ thinks in basically one way. Like one person here said, If you think extremely logically if can be 2.5 months, but if not it can be 6. |
|
#23
|
|||
|
|||
|
Can anyone help me in programing the Jumper ??!! in order to see the battery voltage in the computer drivers??!!
|
|
#24
|
|||
|
|||
|
Re: Teaching C++
Gadeer, you don't need to (at least not at the DS). There's a particular call to get the value in your code, but I don't know what that is.
As to the OP's question, 2473 starts their students off learning RobotC and programming basic NXT robots to do basic tasks. We've started pursuing the philosophy of teaching students extremely basic tasks, and as they become proficient at those, take the students through an experience curve tying together those basic tasks into more complex tasks. Remember that at the very bottom of things, the robot is just a big frame with motors attached that have got things on the end of those motors that need to go places. It's just a matter of when and how much to spin those motors. Now, our team has two years to train our students before they get to FRC. We are looking to create programmers, not just software guys for the team. Way back when we didn't have the FTC feeder team, we simply pulled the entire software team together every day for a month and learned RobotC to start off with, then taught them C++ lecture style (syntax only, since they learned the logic via RobotC). Everything else they learned was through experience, which, unfortunately, we weren't able to give them. While all of the resources you've been given are great, nothing beats experience as a teacher. You just have to go out, take a stab at a problem, fail (not miserably) at it, pick yourself up, figure out what went wrong, and succeed at it to learn a lot. It's that courage to keep going that will keep you learning. |
|
#25
|
||||
|
||||
|
Re: Teaching C++
Not sure exactly what you mean, but ima ask anyways: Are you talking about physically installing a jumper on the analogue breakout in order to see battery voltage in the DS?
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|