# Bad homework problems

8 visualizzazioni (ultimi 30 giorni)

Mostra commenti meno recenti

### Risposte (7)

John D'Errico
il 28 Set 2011

##### 5 Commenti

Walter Roberson
il 28 Set 2011

Who expects that sorting and summing would be understood by the time MATLAB is started? It might be the case in some establishments, but it is not the case in other establishments. I have seen more than one student indicate that in their degree, using MATLAB was their first programming course; those were primarily engineering students, as I recall.

If people already understood sorting and summing by the time they started using MATLAB, we would not have so many students encountering basic difficulties in implementing these things. We can pontificate that the students "should" already have dealt with such matters in previous courses, but it is clear from the questions that we get that many many students have not had that previous instruction. I don't recall any students yet indicating that they had taken sorts in a previous course but hadn't understood them in that course. It is not our place to tell universities how to run their degree programs. We can grumble, and we can individually choose not to respond, but solving the problems of educational systems in other countries is beyond the influence of anyone I have seen post here.

In some countries, especially those with many more people than available jobs, it is policy in the upper-echelon universities to "throw students off of the deep end" -- to deliberately push students beyond "reasonable" limits and without "reasonable" background, with some courses designed to fail most students. This selects for the "cream" of the students, the ones who do not give in to pressure, who get the tasks done and on time (whether through technical ability or by "learning how to work the system", such as learning who to bribe, or how to cheat without getting caught.) The system is somewhat similar to that used for medical students in Canada and the USA, with their very strenuous "residencies", which at least has the excuse of selecting students who will be able to work through hardships disasters.

I know of at least one well-known US university that uses (or used) this kind of technique for Computer Science, with the first and second year courses explicitly designed to impersonally weed large classes down to much much smaller numbers, with the real teaching reserved for third and fourth year students. (But even that university was no-where near as harsh as what I observe in some countries.)

Yes, "Each problem/class/unit will have a set of aims and objectives". Unfortunately a lot of the time, the instructor fails to make those aims and objectives clear... or even to mention them at all. I know someone who has been researching these issues, and who teaches workshops to university classes to make students aware of these issues, to help the student recognize the need for clarifications and to "negotiate" with the instructor about the requirements. This person spends part of their time operating a research help desk at a university; they have indicated to me that first and second year students almost never have any idea what the purposes of any given assignment are, and that third year students are usually fairly weak in this area, with it being uncommon (but not unknown) for anyone below masters level to ask a "good" question.

It could be that perhaps the "best" question I asked in university was "Why is learning COBOL mandatory for first term computer students? Since the first language they learn is going to provide the foundation for all future learning, why would you want to weigh them down with so many decades of bad programming?". (Unfortunately, the answer was "So that they can get summer jobs with industry.")

##### 1 Commento

Andreas Goser
il 30 Set 2011

I have made very similar and terrible observations about "design to fail", "weeding out", etc. One theorry I have is, that there may be a connection between how the studies are paid. If the tax payers finance the system, there might be a lower motivation to treat students as customers, compared to systems where the students directly pay for their education.

Certainly, there are good reasons to avoid only kids of wealthy parents can study. It is actually a pitty that in some coutries like currently Germany, some aspects of the US system are implemented (like student fees), but on the other hand large scale scholarship programs are not implemented.

Fangjun Jiang
il 28 Set 2011

##### 8 Commenti

Bjorn Gustavsson
il 30 Set 2011

Jan
il 30 Set 2011

I'm going to plug some clay in my DVD burner and see, if I can create a long-term backup for thousands of years. What a great combination of the technologies of different ages!

I picture the commercials: "Floppy disk -> Zip -> CD -> DVD -> BD -> CoC (Clumb of Clay)... the evolution cannot be stopped".

Oleg Komarov
il 28 Set 2011

I think that the instructor asks to accomplish a task but leaves the student the choice of the language to use.

However, if the instructor asks the student to implement e.g. a sorting algorithm, MATLAB will impede the student from learning the concept if the sort function is used. Thus, the need for the limitations.

UJJWAL
il 28 Set 2011

Hey Come on

It is correct that you need to know the internal multiplication and division . But by the time you start using MATLAB, it is expected that you have an idea of sorting and summing so that you do not need to take a course in them.

Moreover MATLAB is built for analysis and not for hardcore C/C++ type programming. though both of them are programming languages but still, the purposes are very different and hence it is bullshit to place such restrictions.

There are a whole lot of MATRIX Computations that the teachers can teach a student , like efficient ways to store matrices and manipulate them etc.. But This kind of attitude taken by teachers destroys one's perspective of using MATLAB properly and instead of enjoying it , people start looking upon it as a painful programming language

##### 2 Commenti

Fangjun Jiang
il 28 Set 2011

Andrew Newell
il 28 Set 2011

Malcolm Lidierth
il 28 Set 2011

Each problem/class/unit will have a set of aims and objectives. Those will be tailored to the audience, as will the choice of programming language. Most students do not list the objectives for the problem on these posts. If they did, the instructor's logic would, hopefully, be apparent.

My first serious programming as a student was done on a DEC PDP11/34 minicomputer. It had FORTRAN and MACRO-11 assembler available and 32 kB of memory. Everything had to be coded from scratch. That experience remains useful today. One advantage was that it was ~7kW and fan-cooled - ideal for drying laundry on a student budget.

##### 0 Commenti

Jan
il 28 Set 2011

I'm supposed to write a code that will round any values to a specified

numeric placement, such as the tens, hundredths, etc.

...

3. At any point in this code you shouldn’t use any built-in functions

(such as: round, ceil, floor, fix, max, min, etc.).

4. You can ONLY use (length, size, relational operators {< > ~=},

logical operators {|, &}, if, for, while and switch).

Of course this was ridiculous, because the teacher had obvioulsy no deeper insight in MATLAB: E.g. FOR is useless without HORZCAT or COLON, which are both built-in operators...

Anhow, it is very easy to create a homework question for teaching standard algorithms by using elementary and MATLAB functions:

a) Do it by elementary functions

b) Do it with MATLAB's builtin/toolbox functions

c) Use TIC/TOC to compare the results

d) For advanced users: estimate the memory consumption

Then the pupils learn something about fundamental numerics and the about the usage of high level languages.

But as long, as the questions stay at a) only, I ignore the important and usually best strategy not to answer homework questions. I post working, but goofy solutions. I was enlightened by a an answer (I do not know the author anymore) to the question "Find max(x) without using MAX" => "-min(-x)".

##### 0 Commenti

### Vedere anche

### Categorie

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!