Go to Post EVERYONE on the team is offered the same opportunities to be a team player, it is up to each person to step up and play the game. - MariaCastro [more]
Home
Go Back   Chief Delphi > Technical > Programming > C/C++
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 20-06-2012, 20:54
aeniug2's Avatar
aeniug2 aeniug2 is offline
Registered User
AKA: Joseph
FRC #2879 ("Orange Thunder")
Team Role: Mentor
 
Join Date: Apr 2010
Rookie Year: 2010
Location: St. Louis park
Posts: 150
aeniug2 will become famous soon enoughaeniug2 will become famous soon enough
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...
__________________
Reply With Quote
  #17   Spotlight this post!  
Unread 20-06-2012, 22:42
mmavipc mmavipc is offline
Registered User
FRC #1622
 
Join Date: Jan 2012
Location: California
Posts: 6
mmavipc is an unknown quantity at this point
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.
Reply With Quote
  #18   Spotlight this post!  
Unread 21-06-2012, 11:36
mjcoss mjcoss is offline
Registered User
FRC #0303
 
Join Date: Jan 2009
Location: Bridgewater,NJ
Posts: 70
mjcoss is a jewel in the roughmjcoss is a jewel in the roughmjcoss is a jewel in the roughmjcoss is a jewel in the rough
Re: Teaching C++

Quote:
Originally Posted by mmavipc View Post
I've found that just teaching people the language isn't good enough. You have to teach them how to think like a programmer.
Exactly. The other issue is that it's not sufficient to think like a programmer, and know the language. You need to have some understanding of mechanical, and electrical systems. Coding up a motor to run is all well and good, but understanding that the motor needs to be driven to hold an arm in position against an opposing force (gravity ) 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
Reply With Quote
  #19   Spotlight this post!  
Unread 21-06-2012, 12:56
aeniug2's Avatar
aeniug2 aeniug2 is offline
Registered User
AKA: Joseph
FRC #2879 ("Orange Thunder")
Team Role: Mentor
 
Join Date: Apr 2010
Rookie Year: 2010
Location: St. Louis park
Posts: 150
aeniug2 will become famous soon enoughaeniug2 will become famous soon enough
Re: Teaching C++

Quote:
Originally Posted by mjcoss View Post
The other issue is that it's not sufficient to think like a programmer, and know the language. You need to have some understanding of mechanical, and electrical systems.
This is probably one of the only reasons that I am able to program my team's robot as well as I am, despite my extremely limited knowledge of C++.

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.
__________________
Reply With Quote
  #20   Spotlight this post!  
Unread 19-11-2012, 07:33
mprasolov's Avatar
mprasolov mprasolov is offline
Jack of all trades
AKA: Misha Prasolov
FRC #2823 (The Automatons)
Team Role: Student
 
Join Date: Nov 2012
Rookie Year: 2012
Location: Saint Paul, MN
Posts: 36
mprasolov is an unknown quantity at this point
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?
Reply With Quote
  #21   Spotlight this post!  
Unread 25-11-2012, 20:56
mythbusterma mythbusterma is offline
Registered User
no team
 
Join Date: Nov 2012
Rookie Year: 2009
Location: ----
Posts: 10
mythbusterma is an unknown quantity at this point
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.
Reply With Quote
  #22   Spotlight this post!  
Unread 05-12-2012, 12:02
Toa Circuit's Avatar
Toa Circuit Toa Circuit is offline
Thaddeus Maximus
AKA: Thad Hughes
FRC #4213 (MetalCow Robotics)
Team Role: Leadership
 
Join Date: Nov 2012
Rookie Year: 2012
Location: Shirley, IL
Posts: 131
Toa Circuit is an unknown quantity at this point
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.
Reply With Quote
  #23   Spotlight this post!  
Unread 03-01-2013, 12:01
Gadeer Zbedat Gadeer Zbedat is offline
Registered User
FRC #1946 (Mishka Monster)
Team Role: Programmer
 
Join Date: Nov 2012
Rookie Year: 2012
Location: Israel-Tamra
Posts: 37
Gadeer Zbedat is an unknown quantity at this point
Smile Re: Teaching C++

Can anyone help me in programing the Jumper ??!! in order to see the battery voltage in the computer drivers??!!
Reply With Quote
  #24   Spotlight this post!  
Unread 03-01-2013, 12:26
nathan_hui nathan_hui is offline
Registered User
AKA: Nathan Hui
FRC #2473 (CHS Robotics)
Team Role: Alumni
 
Join Date: Feb 2012
Rookie Year: 2009
Location: Cupertino, CA
Posts: 228
nathan_hui will become famous soon enoughnathan_hui will become famous soon enough
Send a message via AIM to nathan_hui
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.
Reply With Quote
  #25   Spotlight this post!  
Unread 05-01-2013, 19:50
aeniug2's Avatar
aeniug2 aeniug2 is offline
Registered User
AKA: Joseph
FRC #2879 ("Orange Thunder")
Team Role: Mentor
 
Join Date: Apr 2010
Rookie Year: 2010
Location: St. Louis park
Posts: 150
aeniug2 will become famous soon enoughaeniug2 will become famous soon enough
Re: Teaching C++

Quote:
Originally Posted by Gadeer Zbedat View Post
Can anyone help me in programing the Jumper ??!! in order to see the battery voltage in the computer drivers??!!
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?
__________________
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


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

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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