I feel like this must be missing a "no", but also I'm bad at math, so maybe not.
FTA: "Elements of so-called equitable grading, which is supposed to be more resistant to bias than traditional grading, have taken off in American schools. Roughly 40 percent of middle-school teachers work in schools where there are no late penalties for coursework, no zeroes for missing coursework, and unlimited redos of tests."
> It would remove the stigma of "being held back", as there are no levels in a strict sense, just cumulative progress
These students do worse. Absent a challenge, you get the pedagogical equivalent of button mashing. Evaluation is a necessary component of progress. It seems that if the evaluation is stripped of consequence, it ceases to evaluate.
Let's not even get into how kneecapped teachers are in classroom management. A student reported him for pointing at them and touching them when he was never fewer than 3 feet away pointing away from them. The students know they have the power now, and they're definitely not going to be told what to do.
Some schools like MIT might have required more, but on average what I wrote was about it. Has it increased since then? Based on the new hires I've seen the last decade I'd have guessed the math requirements were mostly the same.
Yeah, I never thought this made sense, but so many people did; and, I always hear people on Slashdot talking about how programming IS math. None of that has been my personal experience, and I'm coming up on 21 years as software engineer. Discrete was the ONLY math course that I really enjoyed and did well in the first time around. For me, this always made sense.
Which makes a million times more sense to me, because realistically when do you ever have a structure that usefully implements an interface without being aware of it?? The common use-case is to implement an existing interface (in which case might as well enforce adherence to the interface at declaration point), not to plug an implementation into an unrelated functionality that happens to expect the right interface.
If "Two" didn't have a "name: string" member, then the error would be on the call to "test".
interface Foo {
name: string
}
class One implements Foo {
constructor(public name: string) {}
}
class Two {
constructor(public name: string) {}
}
function test(thing: Foo): void {
//...
}
test(new One('joe'));
test(new Two('jane'));
- `_*` = any string