Author Topic: Teaching an 8yr old to code - Arduino & Notepad ++  (Read 4716 times)

0 Members and 1 Guest are viewing this topic.

Offline StormJunkie

  • Contributor
  • Posts: 9
  • Country: us
Teaching an 8yr old to code - Arduino & Notepad ++
« on: March 11, 2017, 11:17:39 am »
So am I starting to teach my 8yr old the basics of electronics & the basics of coding.  The main teaching tools are Snap Circuits & an Arduino Uno.  Also teaching him to use multimeter, bench power supply, and DSO to analyze circuits.  Anyway, I would really like to move him from the Arduino IDE to Notepad++.  I've found the sourceforge library https://sourceforge.net/projects/narduinoplugin/ and this instruction for mating Notepad++ with the Arduino IDE  http://blarbl.blogspot.com/2016/07/how-to-compile-and-upload-arduino.html.  The main point of wanting to use a different editor is not to get away from the Arduino compiler, at least not at this point (I don't even know much about the compile process at this point as I'm learning the ins and outs of micro-controllers as well), but just to have him working in an environment that will be more universal.  A little background on where my education and skills are...  Acquired my basic electronic skill while getting an avionics degree, but my primary experience is with industrial electronics.  Machining centers, VFD's, PLC's (Siemens, Allen-Bradley, Rexroth, etc).

Some of my questions....

Does creating the scripting make it much easier to use N++?

Will the "Use external editor" in the Arduino IDE suffice with the sourceforge library?

Any major problems with using N++ and the Arduino line?

All advice on this is much appreciated.
 

Offline JoeO

  • Frequent Contributor
  • **
  • Posts: 525
  • Country: us
  • I admit to being deplorable
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #1 on: March 11, 2017, 03:11:12 pm »
Make sure that you get the latest Notepad++.  You don't want the CIA spying on your 8yr old son or your family.  (I am not kidding)

https://notepad-plus-plus.org/news/notepad-7.3.3-fix-cia-hacking-issue.html
The day Al Gore was born there were 7,000 polar bears on Earth.
Today, only 26,000 remain.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 7416
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #2 on: March 11, 2017, 03:43:57 pm »
You can download Microsoft Visual Studio Community Edition including everything and then add in a hook for the Arduino:
http://www.visualmicro.com/

Now you have a professional environment capable of uploading sketches.  You still need the Arduino software on the machine to have access to the toolchain.
 

Offline obiwanjacobi

  • Frequent Contributor
  • **
  • Posts: 985
  • Country: nl
  • What's this yippee-yayoh pin you talk about!?
    • Marctronix Blog
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #3 on: March 11, 2017, 04:07:51 pm »
Tell us how he does in VS...

 :popcorn:
Arduino Template Library | Zalt Z80 Computer
Wrong code should not compile!
 

Offline StormJunkie

  • Contributor
  • Posts: 9
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #4 on: March 11, 2017, 04:23:23 pm »
I've looked at Atmel Studio, but not VS yet.  There's so much for him to learn, I wanted a fairly basic text editor.  Y'all don't think VS on top of learning basic electronic theory is too much?  Need to preface that with I don't know enough about Atmel Studio or VS to judge it yet, but I am familiar with N++.  I'm having to relearn a lot of the basic theory myself so I teach him as accurately as possible, so another factor is that I don't want to spend a lot of learning new software when what I really need to be able to explain is how a N channel enhancement mode Mosfet works and how to look at the datasheet and find the critical data.

"Baby steps Sparks"....
 

Online janoc

  • Super Contributor
  • ***
  • Posts: 3142
  • Country: fr
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #5 on: March 11, 2017, 07:00:03 pm »
I would rather suggest to use PlatformIO http://platformio.org/ instead. It comes with the Atom editor (very comparable or better than Notepad++)  and has the Arduino stuff (but not only Arduino) integrated, along with serial terminal and flashing support. Saves you the hassle having to switch between the editor and command line or the Arduino IDE or having to rely on some unsupported Notepad++ plugin.

Visual Studio is a horrible idea for a beginner. I hope that was a joke.
« Last Edit: March 11, 2017, 07:01:49 pm by janoc »
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 7416
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #6 on: March 11, 2017, 07:23:42 pm »
What's hard about VS?  File -> New -> Arduino Project -> <name the project> and up comes a new document with setup() and loop() predefined.  Click on the green ball icon to compile and upload the sketch.

Exactly the same process as the Arduino IDE.

There are probably some issues to work through but it shouldn't be all that difficult.

The Arduino IDE is less than optimal but it does get the job done.

 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 1925
  • Country: fr
    • kripton2035 schematics repository
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #7 on: March 11, 2017, 07:49:21 pm »
for simple projects, the arduino IDE is really more than enough.
 
The following users thanked this post: 3db

Offline westfw

  • Super Contributor
  • ***
  • Posts: 3251
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #8 on: March 11, 2017, 08:59:08 pm »
Quote
The main point of wanting to use a different editor is not to get away from the Arduino compiler, ... but just to have him working in an environment that will be more universal
Ok.  I'll step out and say that I think this is a mistake.  The Arduino editor is a fine example of a generic "universal" mouse-and-cursor-key based editor.  Horribly primitive, but ... universal.  (And Notepad++ doesn't run on Mac or Linux, so it's NOT very universal afterall.)  Little of the "community" on the net will be using notepad++ for Arduino stuff, so you'll cut down on the available help.  And you'll create the impression that things are more complicated than they really are (unless your child is already proficient with notepad++...)
I did this with my kids: "yeah, let's not follow the instructions that came with this kit for this part, because there's a better way to do it that I learned ...."  And they got the impression that the instructions weren't useful, and that you had to have all this arcane knowledge to accomplish anything.   So that was a mistake too...
 
The following users thanked this post: 3db, StormJunkie

Offline timb

  • Super Contributor
  • ***
  • Posts: 2528
  • Country: us
  • Pretentiously Posting Polysyllabic Prose
    • timb.us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #9 on: March 11, 2017, 11:47:50 pm »
Quote
The main point of wanting to use a different editor is not to get away from the Arduino compiler, ... but just to have him working in an environment that will be more universal
Ok.  I'll step out and say that I think this is a mistake.  The Arduino editor is a fine example of a generic "universal" mouse-and-cursor-key based editor.  Horribly primitive, but ... universal.  (And Notepad++ doesn't run on Mac or Linux, so it's NOT very universal afterall.)  Little of the "community" on the net will be using notepad++ for Arduino stuff, so you'll cut down on the available help.  And you'll create the impression that things are more complicated than they really are (unless your child is already proficient with notepad++...)
I did this with my kids: "yeah, let's not follow the instructions that came with this kit for this part, because there's a better way to do it that I learned ...."  And they got the impression that the instructions weren't useful, and that you had to have all this arcane knowledge to accomplish anything.   So that was a mistake too...

I concur. The kid is 8! The OP needs to remember this: KISS

The Arduino IDE will do fine.
Any sufficiently advanced technology is indistinguishable from magic; e.g., Cheez Whiz, Hot Dogs and RF.
 
The following users thanked this post: StormJunkie

Offline StormJunkie

  • Contributor
  • Posts: 9
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #10 on: March 12, 2017, 02:02:55 am »


I concur. The kid is 8! The OP needs to remember this: KISS

The Arduino IDE will do fine.

Good points and I tend to agree with both of you.  One of the really big things I liked about N++ and other editors is the auto complete/drop down list option.  Just for the fact that it helps keep the attention span of an 8yr old flowing.  That isn't enough of a reason to add the extra complication of a different editor though.

Thanks all for the input.  I'll likely start toying around with VS when not working with the boy and maybe in 6 months or so we will switch over...After I have a bit of an understanding of VS.
 

Online janoc

  • Super Contributor
  • ***
  • Posts: 3142
  • Country: fr
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #11 on: March 12, 2017, 12:34:36 pm »
What's hard about VS?  File -> New -> Arduino Project -> <name the project> and up comes a new document with setup() and loop() predefined.  Click on the green ball icon to compile and upload the sketch.

Exactly the same process as the Arduino IDE.

There are probably some issues to work through but it shouldn't be all that difficult.

The Arduino IDE is less than optimal but it does get the job done.



You do realize the kid is 8, right? You know how to  use this, I know how to use it, but someone who has never seen VS is going to be utterly lost in the maze of menus and irrelevant crap that is in it.
Also installing the damn thing takes a few hours if you are unlucky, plus several gigs of download.

I concur with @Timb - if the primitive (and honestly infuriating) editor  is not an issue, then the Arduino IDE is the best choice. All the tutorials are written with it in mind too.

If one wants something better (which I assumed since use of external editor was mentioned) then I would go for that PlatformIO (no need to fiddle with the integration like for Notepad++).

I didn't give Visual Studio even to my university students when they were learning to program in C - it is just an enormous distraction and I wouldn't have been doing anything else than troubleshooting VS issues instead of actually teaching. Basic editor is just fine for that and they were free to "upgrade" to a full IDE later when they actually knew what they were doing in  terms of compilation, linking, finding libraries, etc.

If I have done it in reverse (aka started with a full IDE), they would have learned that if the thing complains about a missing header they have to click here there and there to fix it - and would have been lost because XCode on their laptop or Eclipse later doesn't call the things the same nor are they in the same place. Many (not all) Eclipse "haters" are the product of this approach - all they have ever learned is how to use VS or XCode or whatever and when suddenly faced with another IDE with a different design philosophy they struggle to adapt. Which sucks for an engineer, IMO.
 
The following users thanked this post: 3db, StormJunkie

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 7416
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #12 on: March 12, 2017, 05:46:31 pm »
It is true that VS could be overwhelming if an 8 year old was left to himself.  Clearly, it would be installed by others because no kid has enough patience to install VS.  The thing is ginormous!

But, in actual use, compiling and uploading code, I don't see much of a difference.  I also don't see much of a gain for having done it.  The Arduino IDE is the 'standard' and without some justification, I don't see the benefit of changing.

I would also expect any of the projects to be supervised.  I just can't imagine turning an 8 YO loose with C or C++ and no guidance.  I would consider the programming aspects to be much more complicated than clicking buttons on an IDE.



 
The following users thanked this post: StormJunkie

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2875
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #13 on: March 13, 2017, 05:18:30 am »
For an 8 year old kid, any IDE/editor considered universal today would be horribly out of date or in the museum by the time this kid finishes high school.

In my view, learning the "environment" or the IDE is of little value.  It is the analytical skills with programming, the organization, the math, the logic-driven decisions making in program design, program design techniques, and most important, the division of responsibility and the interplay between CPU hardware and the software...  Those are in my view far more important and useful to learn.  Not the IDE.  The importance of IDE choice is to make sure the IDE doesn't get in the way.

The more basic the tool, the more likely it is that it would still be in use.  My guess is, mouse would be history while the qwert keyboards will face extinction shortly after.  Just my guess work that keysets will last a bit longer than the mouse.
 

Offline Nusa

  • Super Contributor
  • ***
  • Posts: 1827
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #14 on: March 13, 2017, 06:31:41 am »
I disagree...you're only talking about 10 years in the future, and looking at the past 10 years, the mainstream IDEs have not changed THAT much. Sure there have been some new offerings, but even then many of the concepts remain the same. People tend to stick with what works, so long as it's working.

As the most obvious example, the VI editor is still relevant today, 40 years after its introduction. It's practically guaranteed to exist by default on any unix/linix derived system in existance (and windows versions are easily found), so it absolutely qualifies as one of the most universal editors in existance.
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 1925
  • Country: fr
    • kripton2035 schematics repository
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #15 on: March 13, 2017, 06:55:17 am »
VI exists, yes, but I don't think any system administrator uses it daily, and prefers it to some notepad ...

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 1974
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #16 on: March 13, 2017, 07:59:15 am »
gedit is kind of cute...
The easiest person to fool is yourself. -- Richard Feynman
 

Offline apelly

  • Supporter
  • ****
  • Posts: 1039
  • Country: nz
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #17 on: March 13, 2017, 08:10:42 am »
VI exists, yes, but I don't think any system administrator uses it daily, and prefers it to some notepad ...
TROLL!

 :)
I'd rather a Google clue, link, or some theory than "do this" (generally)
 

Online janoc

  • Super Contributor
  • ***
  • Posts: 3142
  • Country: fr
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #18 on: March 13, 2017, 09:57:46 am »
VI exists, yes, but I don't think any system administrator uses it daily, and prefers it to some notepad ...

You couldn't be more wrong on that one ...

Even among Windows admins vi (or more likely GVIM) has quite a religious following, because few OPs people today have to deal with only Windows or only Unix servers, even in pure Windows shops. And if they come from Unix backgrounds then many actually prefer this editor for its speed (if you are opening and closing the editor hundreds of times a day to modify config files, you do want it to start quickly) and features.

I am also using it almost daily on Linux for all sorts of administration tasks, even though I prefer other tools for writing code. It is guaranteed to be present even on a tiny Raspberry Pi and available even in restricted environment (e.g. when doing maintenance), works the same on every system and starts instantly. I am certainly not a vi power user but one could do much worse than to learn a few basic keystrokes how to use it if dealing with Unix/Linux on a regular basis.
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 1925
  • Country: fr
    • kripton2035 schematics repository
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #19 on: March 13, 2017, 01:08:23 pm »
I do use VI when there is nothing else ... but if there is anything else I use this other thing...

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 1622
  • Country: us
  • Formerly SiFive, Samsung R&D
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #20 on: March 13, 2017, 01:36:39 pm »
The Arduino editor is reasonably OK. I just stick to it 98% of the time I'm doing Arduino programming. It annoys me a lot less than, say, Visual Studio or Eclipse!

From time to time if I want to do some heavy duty editing on an Arduino program I open it in emacs (which is always running anyway). But it's not even all that often.

Mostly I just want editors to show me the code, let me type and move stuff around, and stay out of my way. The Arduino editor mostly does that.
 

Offline Rick Law

  • Super Contributor
  • ***
  • Posts: 2875
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #21 on: March 13, 2017, 06:00:33 pm »
I disagree...you're only talking about 10 years in the future, and looking at the past 10 years, the mainstream IDEs have not changed THAT much. Sure there have been some new offerings, but even then many of the concepts remain the same. People tend to stick with what works, so long as it's working.

As the most obvious example, the VI editor is still relevant today, 40 years after its introduction. It's practically guaranteed to exist by default on any unix/linix derived system in existance (and windows versions are easily found), so it absolutely qualifies as one of the most universal editors in existance.

Two thing.  First, 10 years from now the 18 year old kid is going to college.  Colleges would be using typical (some what more up to date) tools.  What is around today would be "classic stuff" and probably not what they use.

Second, there is a sea change in progress.  Tablet/phone format is getting more dominant at the users' end.  Some kids don't even type and preferred to use the voice recondition thing.  I think the impact of the change at the users' end is not fully seen at the developer's end yet.  Most developers are still sitting on a PC with mouse+full size keyboard.  But I am not sure that will stay.
 

Offline Cupcakus

  • Contributor
  • Posts: 43
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #22 on: March 14, 2017, 06:49:25 am »
C programming is a bit esoteric for an 8yo isn't it? When I taught my kids, I noticed they could follow the examples for the C code just fine, and they could repurpose it in blocks to suit their needs.

I found that a BASIC Stamp was much better for them, can you still get those?  The linear syntax works well, and they were able to improvise better without having to worry so much about memory and strict types.  Around 12yo they took to C a lot better with the PBASIC background.

You can drive any SNAP circuit gizmo with one of those, something to look in to.

All that said, no respected programmer uses notepad++ as an IDE.  Something like VS or Eclipse will give you a bunch of nifty features like code complete and syntax highlighting, and is what we use day to day in the profession.  (Except that one guy at every company that uses Unix vim, I hate that guy)
 

Offline StormJunkie

  • Contributor
  • Posts: 9
  • Country: us
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #23 on: March 14, 2017, 09:21:14 am »
C programming is a bit esoteric for an 8yo isn't it? When I taught my kids, I noticed they could follow the examples for the C code just fine, and they could repurpose it in blocks to suit their needs.

I found that a BASIC Stamp was much better for them, can you still get those?  The linear syntax works well, and they were able to improvise better without having to worry so much about memory and strict types.  Around 12yo they took to C a lot better with the PBASIC background.

You can drive any SNAP circuit gizmo with one of those, something to look in to.

All that said, no respected programmer uses notepad++ as an IDE.  Something like VS or Eclipse will give you a bunch of nifty features like code complete and syntax highlighting, and is what we use day to day in the profession.  (Except that one guy at every company that uses Unix vim, I hate that guy)

I'm confused.  You said that your kids could follow C and re-purpose it when you started teaching them?  This is mostly what I am looking to accomplish since he is only 8 after all.  I just can't understand the benefit in teaching him BASIC syntax/language and then in a couple years have to explain that all that BASIC stuff was so yesterday?  I think the only difference in teaching him BASIC or C is the pace at which I can teach it.  Sure, could move through BASIC a lot faster, but at the cost of it being an outdated language that he'll likely never use again. 
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 5847
  • Country: nl
Re: Teaching an 8yr old to code - Arduino & Notepad ++
« Reply #24 on: March 14, 2017, 09:29:39 am »
On a sidenote, this is a nice way to teach kids how to start programming and directly seeing what happens and where it goes wrong.
It uses symbols and colors to program the behaviour of the robot that moves across the symbols and colour coded tracks.
http://ozobot.com/products/ozobot-bit
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf