Arduino Forum

Community => Bar Sport => Topic started by: westfw on Jan 31, 2012, 02:44 am

Title: Schools in session; help carefully...
Post by: westfw on Jan 31, 2012, 02:44 am
From questions appearing in the forums, it looks like classes have started up again, and some people are looking for help with their homework assignments and/or projects.  (Or, some people are looking to get "the internet" to do their homework for them.)

I've always found this a bit ambiguous.  Practices considered "cheating" in school are "preferred" in industry (find code, rather than writing it from scratch.)  But equally, you don't learn what you're supposed to be learning if you get correct code from someone on the net without doing any struggling on your own.  And some of the questions look like the person didn't bother to even go to the class...

So it's up to you, but if you see a particularly contrived question from a newbie, you may want to temper your response to something more "educational" than an exact answer.

"Nicely", of course.  This isn't AVRFreaks... (or don't respond at all.)
Title: Re: Schools in session; help carefully...
Post by: Chuckz on Jan 31, 2012, 07:10 am
I think that companies prefer that candidates have a college degree.

As for ethics, people get sued for subterfuge.

Cheating or not learning correct code means that something doesn't work efficiently or optimally.  It means that someone could get hurt because someone doesn't understand electronics or code.  It means that you can't add a feature for a customer because you don't know enough.  I was reading an article that being average isn't good enough because your competitor is going to offer something that you can't and they will get the customer and not you.  It means using an Arduino mega instead of an Arduino Uno because you couldn't compress the code enough to use a cheaper part costing your employer big bucks.

Its like people who code badly.  They write code that looks like sphaghetti so the next person that has to fix it spends hours which costs the employer hours and pays employees $$$ for which employer can't afford.

You were thought to be smart until the customer saw the code...  It was sort of like the fool was thought to be smart until he opened his mouth...


Title: Re: Schools in session; help carefully...
Post by: Benji on Jan 31, 2012, 10:00 am
Answering questions is fine but giving people a piece of code doesn't help anyone.
Giving them an explanation of what they seek is much better.
However, if someone asks 'I have this and that part, please tell me how to connect it and make it work' they get a polite rejection from me.
When I don't see any initiative from someone, I don't give them anything.
I'm always willing to help but I'm not giving them anything if they don't want to do anything for it.
Title: Re: Schools in session; help carefully...
Post by: retrolefty on Jan 31, 2012, 03:38 pm
Yes,  it's a judgment call, of who I try and help or not. The ones I tend to ignore or chastise are the ones that say "I need this help ugently, it's due tomorrow". I guess I'm punishing them for being too honest, how strange is that?  ;)
Title: Re: Schools in session; help carefully...
Post by: Chuckz on Jan 31, 2012, 06:44 pm

Yes,  it's a judgment call, of who I try and help or not. The ones I tend to ignore or chastise are the ones that say "I need this help ugently, it's due tomorrow". I guess I'm punishing them for being too honest, how strange is that?  ;)


There wasn't a person in school that I helped programming in college that didn't learn from copying me and most people copy the crystal on the microcontroller board when they go to build their own instead of trying to find the right one for their project.

I have spent two to three years reading about microcontrollers and I still haven't given up but I've yet to program one.  I see tutorials on the internet that are incomplete because they are to teach only someone who is experienced.  In other words, the tutorials don't show how to wire something or which version of the hardware to get.  The problem is that most people don't have experience knowing how to teach anyone to do anything.
Title: Re: Schools in session; help carefully...
Post by: retrolefty on Jan 31, 2012, 06:57 pm
Quote
The problem is that most people don't have experience knowing how to teach anyone to do anything.
What this forum is best at is answering specific questions to the questions that are clearly stated. We are a forum of individuals and we don't even always agree with each other on the 'best' or 'correct' answers to some questions. If some users have expectations that this forum is the best and only resource for learning fundamental electronics and programming then they are bound to go away disappointed.

Lefty


Title: Re: Schools in session; help carefully...
Post by: Chuckz on Jan 31, 2012, 09:02 pm
Arduino has a bootloader.  It is sort of like the language "Basic" for the Apple IIe or Commodore 64.  People spent 8 months to two years learning Basic but fewer learned machine code.  The fact that people are asking for a sketch means they aren't learning to program.

I'm sure there are people who can cut and paste a program into Arduino but how many of them know electronics and how many are expert at electronics?

How many Arduino users know how to program another microcontroller?  How many users that have Arduino could learn another microprocessor?

And how many of you are certified teachers?
Title: Re: Schools in session; help carefully...
Post by: robtillaart on Jan 31, 2012, 10:25 pm

During my schooldays people who could not explain their (copied) code got bad grades from most teachers - no negotiation.

They prefered "bad" code that we could explain above a 100% lean and mean code that you only could explain by "I got it from a book, Dijkstra wrote it himself ,so it must be good". (OK we got some points for reading a good book :)  E.g. bubblesort was as good as quicksort if you could explain HOW it worked and WHY you choose it.

Furthermore if teachers use Arduino in class today, shouldn't they check this forum?  And google just a line or two of the code within "quotes" would reveal copied work quite fast !!




Title: Re: Schools in session; help carefully...
Post by: retrolefty on Feb 01, 2012, 12:22 am

Arduino has a bootloader.  It is sort of like the language "Basic" for the Apple IIe or Commodore 64.  People spent 8 months to two years learning Basic but fewer learned machine code.  The fact that people are asking for a sketch means they aren't learning to program.

I don't think that is true. Sketch is the formal name that the Processing and arduino projects choose to call the source document one types into the IDE. Arduino clearly explains in documentation that one is using plain old gcc C/C++ language and arduino supplied libraries to compile and load the 'sketch' onto a arduino board.
I'm sure there are people who can cut and paste a program into Arduino but how many of them know electronics and how many are expert at electronics?

Many members on this board are professional programmers and electrical engineers. Trying to generalize about the wide diversity of arduino users and members of this forum is a very silly and foolish endever.

How many Arduino users know how to program another microcontroller?

Again many many user here have that experience. I'm not even near the top of food chain here and I've used Picaxe, Pic and now arduino.

 How many users that have Arduino could learn another microprocessor?

Any that really wished to do so and are willing to do the work needed. I believe you underrate peoples desires, iniative, and ablility to learn.
And how many of you are certified teachers?

A few post here that do real teaching in classes using the arduino, don't have a count for you but they are around, trust me.
Title: Re: Schools in session; help carefully...
Post by: Techone on Feb 01, 2012, 01:57 am
Quote
Many members on this board are professional programmers and electrical engineers. Trying to generalize about the wide diversity of arduino users and members of this forum is a very silly and foolish endever.


I am not a "pro" EE or programer. I am just an hobbyist with an EET, and 3 years experience in Electronic Bench Tech in the 90's. I just "revived" my interested in electronics, doing a few projects there and there. Heh, I am just a School Bus Driver. And a lay-off Electronics Technician since 1998.
Title: Re: Schools in session; help carefully...
Post by: westfw on Feb 01, 2012, 02:14 am
I'll stick by my "Help Carefully" topic title.  You can usually tell the people who really want help vs those who just want the work done for them, if you're paying attention.  There are enough beginners in the former category that it can get to be a habit of just "write the code" (which is sometimes easier than helping.)

My daughter is a HS senior, so we're getting to hear all sorts of stories about college applications and such, including the app that showed up in the admissions department with a line "[Billy, you write something here.]"  Bad student.  Bad parent.  No cookies!
Title: Re: Schools in session; help carefully...
Post by: Chuckz on Feb 01, 2012, 03:58 am

I'm sure there are people who can cut and paste a program into Arduino but how many of them know electronics and how many are expert at electronics?

Many members on this board are professional programmers and electrical engineers. Trying to generalize about the wide diversity of arduino users and members of this forum is a very silly and foolish endever.



I was asking a question and not making a statement unless you consider the question rhetorical.  Just because many members are professional programmers and electrical engineers doesn't mean that this board will only attract engineers and professional programmers.  That is like saying that this board has no appeal to high school students or young people because only professional people will sign up.

What is the difference between telling someone how to do something vs telling someone to do something?  Expecting someone to learn something on their own before helping them negates telling someone how to do something so we're left with telling someone to do something which isn't teaching.  I had a math teacher that use to say that if she taught us, we wouldn't learn.  In other words, she wasn't going to do her job which is to teach.  Then why go to school?

If you want people to learn, you can't expect them to do it all by themselves or it will take them a very long time.

Title: Re: Schools in session; help carefully...
Post by: liuzengqiang on Feb 01, 2012, 05:22 am
Some answer seekers are more prone to learning than others. It's fact. My goal as helper here is to help newbies and teach those that are ready to learn and never imagine in a million years to change anyone's bad learning habit. It's just too much for a teacher to ask for. As a learner, I'm half as good as a teacher so I'll leech sometimes and ask few questions. That reminds me to ask a question on arduino IDE, which I forgot.
Title: Re: Schools in session; help carefully...
Post by: retrolefty on Feb 01, 2012, 06:13 am


I'm sure there are people who can cut and paste a program into Arduino but how many of them know electronics and how many are expert at electronics?

Many members on this board are professional programmers and electrical engineers. Trying to generalize about the wide diversity of arduino users and members of this forum is a very silly and foolish endever.



I was asking a question and not making a statement unless you consider the question rhetorical.  Just because many members are professional programmers and electrical engineers doesn't mean that this board will only attract engineers and professional programmers.  That is like saying that this board has no appeal to high school students or young people because only professional people will sign up.

What is the difference between telling someone how to do something vs telling someone to do something?  Expecting someone to learn something on their own before helping them negates telling someone how to do something so we're left with telling someone to do something which isn't teaching.  I had a math teacher that use to say that if she taught us, we wouldn't learn.  In other words, she wasn't going to do her job which is to teach.  Then why go to school?

If you want people to learn, you can't expect them to do it all by themselves or it will take them a very long time.




There are sites where a typical and frequent answer to most any technical questions is "have you RTFM?" (read the freakin manual), which can be very unsettling and discouraging to beginners at best. Those kinds of forums tend to be occupied by a small group of elitist which do not really seek to help anyone other then each other. The Arduino forum is the most opposite of that type of forum behaviour of any technical forum I've come across, but of course your mileage, experience, and opinion may vary.

There are also users that have come on this board virtually demanding help. that when boiled down to the root of their questions, they have an expectation that someone here will write a complete sketch for them that meets their requirement, and have no real interest in wanting to learn how to program on their own. The 'homework' questions often fall into that last example. Often we get questions like "my sketch does not work, what am I doing wrong?" with no code posted, no description of the problem symptoms or even what the sketch is supposed to accomplish. That kind of question doesn't make a good first impression nor often result in much helpful responses, although some do take the time and try and pry out the information needed to help.

I sense a frustration in your statements that I don't know how best to help with, if I could or can at all. I suspect your expectations of what a user forum can provide and what you require may not be a good match. So instead of talking in generalities, what specific help is it that you need? I know that many here will attempt to go the extra mile to help you as long as you maintain a good attitude and open mind.

Lefty
Title: Re: Schools in session; help carefully...
Post by: graynomad on Feb 01, 2012, 08:43 am
Quote
The Arduino forum is the most opposite of that type of forum behaviour of any technical forum I've come across,

I would agree, and add that I think the Picaxe forum is the same in this regard.

_____
Rob
Title: Re: Schools in session; help carefully...
Post by: retrolefty on Feb 01, 2012, 09:08 am

Quote
The Arduino forum is the most opposite of that type of forum behaviour of any technical forum I've come across,

I would agree, and add that I think the Picaxe forum is the same in this regard.

_____
Rob


Yes, very friendly, knowledgeable, and helpful group. Although they do tend to po po the drastic advantages of open source hardware/software over the proprietary platform they are tied and dependent to. I did enjoy my time at the picaxe forum and it is a very useable hardware/software platform for beginners at very affordable prices, but when I saw all the advantages that the arduino platform offered I jumped ship quick. But then again I've always had the morals of an alley cat.  ;)
Title: Re: Schools in session; help carefully...
Post by: cyclegadget on Feb 01, 2012, 03:23 pm

  I am have plenty of electrical experience but, I am still a novice programmer. I hope to help those that have shown thought and effort. Even if they are way off track as long as it looks like they have made an attempt, I don't mind helping.

I can say that reading AVR Freaks forum posts, has made me shy to post anything there. They appear to insult people that appear to be putting in a solid effort. AVR Freaks seems to be way more technical but, I think you have to learn by yourself a little too much.

This forum has inspired me many times, and has kept me interested because, I know there is hope when I start a project.
Title: Re: Schools in session; help carefully...
Post by: hardcore on Feb 03, 2012, 10:20 am

On Homework
I have absolutely no problem helping people with the schoolwork/homework assignments.

As long as:
1. They pull their weight.
2. They cite and quote correctly and do not try to plagiarize.

It is the same system that the Universities use, having said that, these forums do indeed seem to be fairly free of abuse (you aught to see some of the linux kernel forums, where some students seem to think that because they are learning C++, that the Arm embedded developers can help them, its also got a lot worse since Google and that damned Android)

On abuse
Yep its not right but even in the last 30 odd years the world has become a lot more abusive at a personal level.
If you cannot handle abuse, don't become a programmer, some of the oddest, narcissistic and egotistical people on the planet are programmers.(something to do with programming being considered 'arty'), so if a little abuse gets you crying in your beer, best not consider programming, plus it does not pay that well any more (HK for example pays 'programmers' less than cleaners)
Title: Re: Schools in session; help carefully...
Post by: westfw on Feb 03, 2012, 10:29 am
Quote
I have no problem helping people with the schoolwork/homework.

ditto.  Though I don't wish to do it FOR them, whereas I might do something FOR a struggling artist type who is up against a wall.  I want it to feel like they learned something from me, not just got their work done for them...
Title: Re: Schools in session; help carefully...
Post by: graynomad on Feb 03, 2012, 12:52 pm
Quote
plus it does not pay that well any more (HK for example pays 'programmers' less than cleaners)

Ain't that the truth, I was getting the same hourly contract rate in the 80s as you get these days, and the money was worth a heck of a lot more then as well.

______
Rob
Title: Re: Schools in session; help carefully...
Post by: liuzengqiang on Feb 04, 2012, 12:34 am
Aren't programmers prone to controlling things since they create their own rules? That's what I thought.  ]:D
Title: Re: Schools in session; help carefully...
Post by: Nishant_Sood on Mar 13, 2012, 07:46 am
Quote
some of the oddest, narcissistic and egotistical people on the planet are programmers.


Ya i have experienced that, it happen's , However it's because its a power akin to a power enjoyed by Sorcerer in the past that he used to empower the king by making Magical stuff but many fail to realize that with power comes the responsibility to act in a manner that is OK if not polite.

I think the help goes in Stages like:

1) Someone comes with an idea in the first place in the Project Guidance

then,

2) He is guided at stage 1 accordingly he brings desired items/ingredients to make it happen.

then,

3) He is allowed to work his mind with the ingredients bought at second stage.

then,

4) Real help comes here(or should come here!) as here he faces the main problem , if the candidate has made his way here at this 4th stage from the 1st one he is a original candidate and must be helped further, However the ones who drop - in straight at this stage their concern seems ambiguous as whether they want to learn or are just there to get things done for themselves by other's.


--
Nishant

 
Title: Re: Schools in session; help carefully...
Post by: nickgammon on Mar 13, 2012, 11:51 pm
I find the hardest questions to answer are from someone who has found two sketches by searching (so far so good). But they want help "combining" them. On the face of it, that should be easy, but combining two loops into one (especially if one has a delay in it, and worse if they both have) can involve major redesign. Or the two sketches might both use the same interrupt (or pin change interrupt).

It's hard to explain what sounds like it should be easy, can actually be quite hard.
Title: Re: Schools in session; help carefully...
Post by: Nishant_Sood on Mar 14, 2012, 04:25 am
@ Mr. Nick , That is Advent and becomes a problem.
Title: Re: Schools in session; help carefully...
Post by: kf2qd on Mar 15, 2012, 03:20 pm
The problem with a lot of students is that the "system" really doesn't reward effort, it tends to reward results. Students are not encouraged to do the work, it's only the results that matter. When I was in school (GRADUATED IN 1976) we were always admonished to "SHOW THE WORK" and always had the the idea reinforced that the process was important because the teachers always graded based on the work done.(Partial credit if you were doing the correct process)

Programming is a talent. Not all folks have that talent. I am not a whiz-bang programmer, but I have programmed Z80 in assembler, I learned TurboPascal many years ago (and can still use it when necesary), Programmed a number of different PLC's in industry, Program in Visual Basic 6 on PC's and have picked up both Arduino (C, C++) and converted a project from Arduino to AVRStudio4 Assembler.

Number one problem most of those "program this for me" type posts have is that they seem to have never been taught how to define a problem. The fancy term from computer classes was "SYSTEM ANALYSIS" which really means - define what you want to do, and then start to develop the steps to do it. Without a problem definition the project looks (and is ) impossible.

Another problem appears to be that many of these "DO the project for me" types have never played with the simple little example programs. Look over a few of the examples that come with Arduino. Change some values, change the sequence. Take blink and add 5 or 6 LEDS to the project. Figure out how to turn them on in sequence, make the Knight Rider sequence, make them function like the Mustang turn signals. You will gain experience with the various control structures and become familiar with how the language looks. And you will also have an idea where to look for an example of how to use the various commands instead of having to memorize all the language.
Title: Re: Schools in session; help carefully...
Post by: nickgammon on Mar 15, 2012, 08:21 pm
The thing I just don't understand is this sort of question:

Quote
If I add "x = x + 3;" to my program, what will happen?


I think, well why don't you try it and see!

I think some people are just conditioned to be frightened of technology, they are afraid they will break something if they do it wrongly, so they compensate by doing nothing at all, unless they get advice from a number of different sources. Of course, always seeking advice, for even trivial things, means you never learn how to do anything for yourself.
Title: Re: Schools in session; help carefully...
Post by: Grumpy_Mike on Mar 16, 2012, 10:57 am
Quote
But they want help "combining" them.

That is why I wrote this:-
http://www.thebox.myzen.co.uk/Tutorial/Merging_Code.html (http://www.thebox.myzen.co.uk/Tutorial/Merging_Code.html)

However, I think it would be good if we could write a task swapping delay function. Unfortunately this requires access to the stack pointer and an alternative stack. I could do this in machine code but I don't seem to be able to do it in C. There must be a way but I am not programmer enough to sort it out.
Title: Re: Schools in session; help carefully...
Post by: Nishant_Sood on Mar 16, 2012, 02:23 pm
Quote
they are afraid they will break something if they do it wrongly


One day they will confirm themselves that breaking things is actually more of a knowledge provider and lesson teacher.
Title: Re: Schools in session; help carefully...
Post by: Grumpy_Mike on Mar 16, 2012, 10:54 pm
Quote
breaking things is actually more of a knowledge provider and lesson teacher.

I think you are being too optimistic. Most students break things, don't know why and don't care.
Because it is only $20 to get a new one.
Title: Re: Schools in session; help carefully...
Post by: Nishant_Sood on Mar 17, 2012, 04:53 am
Quote
Most students break things, don't know why and don't care.


That happens but when people are there for learning then they know they have to ask someone with experience but its a fact also that numerous places are there where a beginner can be lost and burns their system and not always those numerous places can be pointed by a expert.
Title: Re: Schools in session; help carefully...
Post by: GoForSmoke on Mar 19, 2012, 12:04 am

There are sites where a typical and frequent answer to most any technical questions is "have you RTFM?"


Maybe because the manual already has the explanation. After typing the same basic thing again and again it makes sense to point to the manual instead. To be fair about it there usually is a stickied post up top or actual text right up front saying to look in the manual and search the site before asking the question as the answer has probably been discussed and posted already. In some cases there are even compilations of answers with links and often they are called FAQ.
After all that, how do you treat the person who skips "all that reading" and demands answers? On a good day, I am still nice but usually I just shake my head and move on.

Quote
Those kinds of forums tend to be occupied by a small group of elitist which do not really seek to help anyone other then each other.


Si! The learning level is pro and they get the most when "the talk" is at their level. If the forum admin wants new people in then a new beginner's section to that forum should be made.

Sometimes there's a big people table separate from the little people's table in different rooms. It's because the big people want to be able to talk big people talk. It's a PITA when you're little but tell me, have you ever coded in a team where when you want to make real decisions the first thing you do is ditch the managers?
Title: Re: Schools in session; help carefully...
Post by: GoForSmoke on Mar 19, 2012, 12:14 am

Aren't programmers prone to controlling things since they create their own rules? That's what I thought.  ]:D


Tell that to my compilers.
Title: Re: Schools in session; help carefully...
Post by: GoForSmoke on Mar 19, 2012, 12:32 am
I really do wonder if there are not Business Admin courses where the assignment is "get others to do work for free".

-- it really fits with what I have experienced and see

-- if there ain't then the BusAd profs aren't thinking

Someone posted about good code and bad code as if coding ability is the key to rising in companies. What I have seen is that schmoozing and BS is often the faster track for those with 2 out of 3; looks, style, money. The ones who are the worst at it, they make into better-paid managers. That rise to the level of your incometence principle has been an industry-driver since long before I was born. That's part of why things are so good today!

Title: Re: Schools in session; help carefully...
Post by: kf2qd on Mar 19, 2012, 05:49 pm



Someone posted about good code and bad code as if coding ability is the key to rising in companies.



Sometimes it isn't Good/Bad code that is the decider, but its working and on to the next fire started by someone with little knowledge of the process.

There are many in management that think that everything is done by voice command (the more creative the worse it gets) and can never figure out why it take 8 weeks to get a project done (and why you need 6 of those 8 weeks) when it just took them 5 minutes to come up with the idea. I have also had t deal with those who see the deadline of 12 weeks for delivery and they use 11 of those weeks trying to get the design changes done and wonder why you can't do 6 weeks of manufacturing in 1 week and figure it must be incompetent people in the shop who can never get anything shipped on time...
Title: Re: Schools in session; help carefully...
Post by: liuzengqiang on Mar 19, 2012, 06:46 pm
My brother is a professional software developer. He wants all the nice testing and else for his projects but the management only cares about rolling out projects ASAP. Not all business value quality as they do quantity. If you do it right (code well), you can do it again easier and make changes easier. If you just barely get by (code badly), you need more time to make changes and maybe redo a lot what you did before. It's like building a house with good or bad foundations. Construction companies could build a few good houses and sell them for good price, or they can build crappy houses and sell a lot of them at low price and they are hard to fix.
Title: Re: Schools in session; help carefully...
Post by: GoForSmoke on Mar 20, 2012, 01:14 am
Ancient programmer saying: write code twice, throw first away.

Also, it's far far easier to write code that's already been done than to break new, unknown ground.