Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
idea for file exchange

Subject: idea for file exchange

From: dave

Date: 21 Jun, 2007 06:44:15

Message: 1 of 12

I know what file exchange needs... a top level index of homework
solutions! This would be a place for all those scripts for 'how to
add binary numbers', 'how to convert to roman numerals', etc could be
posted. Or maybe they could be collected in an faq somewhere that we
could just refer all those last minute homework procrastinators to.

Subject: idea for file exchange

From: Ned Gulley

Date: 28 Jun, 2007 17:24:26

Message: 2 of 12

Hi Dave:

Thanks for the suggestion about the File Exchange. We're working on a redesign of the File Exchange right now, and we are moving toward letting people who use the File Exchange help create the categorization. One result of this might very well be a Homework category.

We're also on the lookout for other suggestions. So more generally: what features and functionality would you like to see in the File Exchange?

Ned Gulley.
MATLAB Central Team

Subject: idea for file exchange

From: John D'Errico

Date: 28 Jun, 2007 14:29:58

Message: 3 of 12

Ned Gulley wrote:
>
>
> Hi Dave:
>
> Thanks for the suggestion about the File Exchange. We're working on
> a redesign of the File Exchange right now, and we are moving toward
> letting people who use the File Exchange help create the
> categorization. One result of this might very well be a Homework
> category.
>
> We're also on the lookout for other suggestions. So more generally:
> what features and functionality would you like to see in the File
> Exchange?
>
> Ned Gulley.
> MATLAB Central Team

Assuming a tag scheme is in the works...

Members need to be able to apply tags of
their own. A homework tag is nice, but then
you need to have a facility to filter OUT
those tagged as such.

John

(By the way, I've noticed the newsreader
occasionally has had a new look. Typically
it appears about 5 or 6 am Eastern time.)

Subject: idea for file exchange

From: J. Luis

Date: 28 Jun, 2007 14:51:59

Message: 4 of 12

Ned Gulley wrote:
>
>
> Hi Dave:
>
> Thanks for the suggestion about the File Exchange. We're working on
> a redesign of the File Exchange right now, and we are moving toward
> letting people who use the File Exchange help create the
> categorization. One result of this might very well be a Homework
> category.

 
And the idea of a homework section would be ...

help students to find a ready-made solution to their assignments?

Subject: idea for file exchange

From: roberson@ibd.nrc-cnrc.gc.ca (Walter Roberson)

Date: 28 Jun, 2007 19:11:28

Message: 5 of 12

In article <ef5b4bd.2@webcrossing.raydaftYaTP>, J. Luis <jluis@ualg.pt> wrote:
>Ned Gulley wrote:

>And the idea of a homework section would be ...

>help students to find a ready-made solution to their assignments?

Yup. Just formalizing what's already happening. ;-(


Perhaps Mathworks could assist with some kind of "signing" function
for the code, so that code so protected only ran unmodified,
copyrights and all. Maybe something on the order of replacing constants
or function calls with decopyprotect('somestring') where decopyprotect
did a decryption based upon the file MD5 hash, so it would stop
working if modified. Or perhaps something on the order of
replacing the functional code with eval_decrypt('somestring')
based on the file hash, leaving only a non-executable skeletal pseudo-code
as the human-readable parts.
--
   I was very young in those days, but I was also rather dim.
   -- Christopher Priest

Subject: idea for file exchange

From: Duane Hanselman

Date: 28 Jun, 2007 15:14:51

Message: 6 of 12

J. Luis wrote:

> And the idea of a homework section would be ...
>
> help students to find a ready-made solution to their assignments?

Sure. Everyone knows that students are too busy with other more
important things than doing something as mundane and time consuming
as homework. Besides it doesn't do anybody any harm and everyone does
it.

At least that is their perspective.

Being a college professor, part of my job is to convince them
otherwise!

Duane

p.s., I assume that's why there are so many homework solutions
currently in the FEX. For example, why do we need Gaussian
elimination with pivoting or the fft as M-files in the FEX?

Subject: idea for file exchange

From: Ned Gulley

Date: 11 Jul, 2007 21:37:02

Message: 7 of 12

Now that the new Newsreader interface is live, you can get an idea of how we might use tags to help organize the File Exchange in the future. If you choose to tag a particular File Exchange submission as "homework", that's up to you.

Let us know how you think tagging is working in the newsreader, and tell us how we might best use it in an updated File Exchange (or anywhere else on the site).

Ned Gulley.
MATLAB Central Team

Subject: idea for file exchange

From: Yair Altman

Date: 12 Jul, 2007 07:39:49

Message: 8 of 12

I would like to be able to undo my tags. Sometimes I make a typo (or a logical mistake) and submit, and then this mis-tag remains in there forever... I'm not saying everyone should be able to untag, but at least the original tagger.

Yair Altman
http://www.ymasoftware.com

Subject: idea for file exchange

From: Ned Gulley

Date: 12 Jul, 2007 23:12:21

Message: 9 of 12

Hi Yair:

You can undo your tags by scrolling up to the "Tags for this Thread" box on the top right of the page. Look for the "Tags I've Applied" heading and click on the little minus box next to the tag you want to forget. This removes it from the database.

-Ned.

Subject: idea for file exchange

From: David Sedarsky

Date: 13 Jul, 2007 02:29:40

Message: 10 of 12

Duane wrote:
<snip>
p.s., I assume that's why there are so many homework solutions
currently in the FEX. For example, why do we need Gaussian
elimination with pivoting or the fft as M-files in the FEX?
</snip>


I guess this conversation was over a month ago, but I want to throw my $.02 in anyway. What's wrong with high quality solutions to things that are homework problems? From my perspective, FEX submissions in that line are very helpful for people getting into Matlab. All the fancy, optimized (and consequently obfuscated in many cases) code is pretty dense stuff for new users. I don't think it's so hard to believe there are a fair number of enthusiastic students that are trying to learn because they are interested.

Subject: idea for file exchange

From: John D'Errico

Date: 14 Jul, 2007 11:29:15

Message: 11 of 12

Duane wrote:
<snip>
p.s., I assume that's why there are so many homework solutions
currently in the FEX. For example, why do we need Gaussian
elimination with pivoting or the fft as M-files in the FEX?
</snip>

David wrote:
> I guess this conversation was over a month ago, but I want to throw my $.02 in anyway. What's wrong with high quality solutions to things that are homework problems? From my perspective, FEX submissions in that line are very helpful for people getting into Matlab. All the fancy, optimized (and consequently obfuscated in many cases) code is pretty dense stuff for new users. I don't think it's so hard to believe there are a fair number of enthusiastic students that are trying to learn because they are interested.
<Snip>

Because things that students think are high quality
often are not. Yes, they got a good grade for a highly
looped matrix inverse, written as script file, complete
with clear statements at the beginning. It solved their
homework assignment, which was to write a matrix
inverse solution, so the grade refelected that fact.
A teacher grading a homework assignment will
expect to see deeply nested loops.

These are poor things to be teaching others to use
in the real world. The fact is, many people use inv
because they find some formula in a book. They
use the normal equations to solve a least squares
problem BECAUSE THEY FOUND IT IN A BOOK. Sadly,
the author of that book did not know any better,
and included it in their text.

Students tend not to use good programming practices.
They tend to use scripts, not functions. They use clear
statements at the beginning of those scripts, even at
the start of their functions. Little documentation is
provided.

Suppose the linear algebra area in the file exchange
ends up with 200 useful tools, plus 2000 versions of
matrix inverse, unpivoted gaussian eliminations,
etc. Of course, other students see this bounty of poor
work, and since they don't know any better, replicate
it themselves. They see crappy code that is no better
than their own code, so they assume this is the norm.
Its on the file exchange, so this is how to write good
code. Plus, they probably give is a good review, since
they don't know any better. Crap promotes more crap.
Eventually, nobody can find the useful tools, completely
hidden, overwhelmed by the noise.

The file exchange is a place to put high quality code
that extends Matlab beyond where TMW can take it.

John

Subject: idea for file exchange

From: John D'Errico

Date: 14 Jul, 2007 12:12:34

Message: 12 of 12

Let me expand on my last response.

The file exchange is a place to obtain high quality software that extends Matlab. It is also a place to learn programming patterns. But things learned early in your career are not always easy to unlearn.

Students who start out in their Matlab careers writing (to put it bluntly) crap, will continue to do so, when they start on their thesis, or go into the workforce. I learned to write Fortran, mentored by a writer of pure, unmitigated crap. So this is the style I wrote in. For example:

One of my first mentors at Eastman Kodak wrote pure spaghetti code. He only had one program. He just used it for everything. He once balanced his checkbook by adding a branch at the beginning of the code to a routine at the end of this 2000 line box of cards. He then read in, and compiled all 2000 lines of code, just so he could add up some numbers. All this to avoid copying a few JCL cards at the beginning of the deck. This same fellow had a tendency to use uninteresting variable names. For example: i, ii iii, j, jj , jjj, iij, etc.

The first example I ever saw of a least squares spline code was some hundreds of lines of almost totally uncommented fortran crapola. I say almost uncommented, because in the entire file, there was ONE comment. It was:

"build c matrix here"

Then the author proceeded to build a matrix with the name "c".

Yes. This is how I learned to write code. I then spent the next 30 years unlearning those patterns, by seeing what others wrote that I liked, by seeing what I liked in my own codes as I tried out different styles, by seeing what it was like to come back to a piece of code I'd written years ago and trying to debug it. Its something I still am learning. I'd like to make that learning process faster for others than it was for me. And, it is easier to learn something once than it is to unlearn and learn anew.

John

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us