I am currently teaching an elective class using Lego Mindstorm NXT. I been thinking about purchasing a Classroom Lab Kit to use with some of the more advanced kids. Any suggestion in in whether to purchase the PIC controller vs the Cortex controller? I know I need the dual so I can run with the remote as well as autonomous.
Also is Programming for Vex only available on Windows? I only have mac laptops, so is the only option to run something like Parallel or BootCamp?
Thanks for the help.
For your application I would say you could go with either one, the PIC or the CORTEX. However the CORTEX is newer, and also the joysticks are a lot smaller, plus the communication system is Wi-Fi, and not through crystals. So I would say go with the CORTEX.
None of the programming languages I see on the VEX Product Page seem to be Mac OS compatible. So yes in order to run any of them you would have to run it on a virtual machine running Windows.
As for choosing a programming language, I would always push for kids to go straight into learning ROBOTC. easyC may be a little easier for kids to see and work with but I never found it as such. Plus, I’m assuming the more advanced kids you speak of have already been through your LEGO Mindstorms NXT class, and therefore would already have learned a graphical programming language, and having to learn another would be pointless, really. So since they understand programming at least somewhat I would have them move on to ROBOTC, so that they can be familiar with more advanced, C-based programming.
Those were my thought exactly about choosing Cortex over PIC, and the same can be said about the programming language. The kids that I was thinking have been in my class for a year and half so they have become very good programming the NXT-G including dealings with variables, data hubs, and some logic loops, so I guess RobotC would be the way to go, I was just a little unsure about the learning curve from NXTG to RobotC.
I will definitely have to look into that Open source.
Actually, EasyC Pro has a very nice interface that allows for both GUI based programming (drag and drop) as well as text editing (c-based language).
This would be an excellent opportunity for all types of students to learn programming, whether they are comfortable with writing lines of code or are beginners.
Although, I have always used RobotC, I recently played with EasyC and found it both easy to use as well as extremely capable. It is possible to do extremely complex programming in both environments. I believe that winners of the Worlds Programming skills challenge have used both, so there may not be a direct benefit using one as opposed to another.
EasyC is actually C (it uses GCC to compile), not “C-based”.
That said, I always hated the easyC text editor (it lacks Ctrl+G and Crtl+F go to line and find, respectively), so I never used easyC to do more than compile. The way it handles competition control in such a black box also bugged me, so I went to robotC, which is more open.
RobotC is C-based, as the code you write is compiled by the robotC compiler into robotC bytecode, then downloaded to the Cortex/PIC and run in an interpreter. While people think this might be slower, both processors can handle it, and the download time is like an order of magnitude faster. RobotC also lacks support for pointers and callbacks, and a few other odd C constructs.
I like RobotC. It’s not really hard to understand some of the basics of C (assignment, IF, while) and it’s quite powerful once you learn a lot more about it.