MS/Waterloo Curriculum Deal On Hold
Plummer writes "After announcing a recent deal with Microsoft that would see C# become a mandatory portion of first year electrical and computer engineering, the University of Waterloo has backed off and asked for a year to evaluate the proposal. The year will be used to evaluate the merits of the language and ensure that any curriculum changes made, will meet the standards UW engineering is known for. The full story here and here."
Whatever happened to keeping politics of all sorts out of school curriculum? I guess that went out the door when a Women's Studies course was instated at my local university, but a Men's Studies course was removed because it wasn't "politically correct."
Oh, well. It could be worse. This could degenerate into some sort of Bourne Shell vs. Bourne Again Shell argument.
RomSteady - I came, I saw, I tested. GamerTag: RomSteady / http://www.romsteady.net
The problem with C, C++, C#, Java, and a load of other languages that people are being taught is THIS:
/rant off
You cannot master the language in one semester!
Yes, you can learn the funtimentals, and techinqually, you can learn good programming structures through selective function teaching(i.e. glossing over Goto), but the complexites for most languages prevent mastery of them in only 4 months.
Pascal is B&D, it prevents bad coding techniques by elimating commands that call them. It breaks programmign down to its roots, and with its limited functionality, forces students to plan their code before coding it.
With these features, I'm unsure why people insist on using an industral tool to teach someone basics. I feel like I'm giving students a motorcycle without first giving them a two wheel bike, ahh
(note: all posts to "Why pascal is not my favorite language" will be concidered ~='s)
~~~
Click here, you know you wanna!
The problem isn't that a C# class would be offered, or even that a C# class would be part of the required curriculum.
The problem is that the school agreed to make a C# class part of the required curriculum in return for money.
Schools have no business selling access to their students' minds in this fashion.
At a forum organized by EngSoc, UW President Johnston said that mistakes were made in the announcement of a partnership with Microsoft Canada Co. "In retrospect, it was a mistake to announce an agreement in principle with respect to the curriculum initiatives, a mistake for which I take responsibility."...
Johnston described what will happen in the coming weeks. "What we will have to do over the next few weeks is ensure that the [sic] necessary for any curriculum change occurs, and that those committees, and, ultimately, the Senate that oversees them, are satisfied that the principles that we always must observe when external funding is involved in anything are followed in this case."
That looks like a few weeks, not a year, and it sounds like he wants a rubber stamp:
The MS-UW deal will be talked about at Monday's meeting of Senate, the the university's highest academic body. In early September, the President of UW's faculty association requested a "full airing" of the issue at Senate.
Additionally, MS Candada President Frank Clegg was specific about what the deal means to all 300 incoming freshmen:
The Microsoft Canada Co. sponsorship does require C# to be taught on a platform based on the Windows® operating system.
Replacing C++ for C# in freshmen courses should be worth the entire reputation of the school, far more than $5,000,000. My reputation is worth more than that!
DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
Because C/C++, despite their widespread use, are not all that great choices for application languages. The biggest thing they have going for them is that they're fast and have lots of libraries available. OTOH, they aren't the quickest language in the world to debug, they have a pretty weak type system, there are a lot of minor incompatibilities in compilers...
Perl/PHP are fine...but as you said, for web apps (or perl for scripts). Not well suited for general app dev.
A lot of people don't like python, and python is not what you'd call blazing fast.
Javascript is a joke. It's for annoying web page junk.
Java is the closest thing to a modern application language -- it's compiled, it does bounds checking and whatnot, but it has a few severe flaws. It's very memory-hungry. Despite years of improvements and promises, it's still awfully slow compared to C/C++. It puts too much emphasis (IMHO) on architecture/design, like OO and interface design, which is awfully overwhelming to new CS students.
We need an applications language. It can't be hideously slow (like most of these proposed C/C++ replacements), so at most it could do RTTI and array bounds checking at runtime. If you have a really expressive language, your compiler can go gonzo optimizing, a la Eiffel or SML or Ocaml.
It'd be nice if it had a somewhat less foreign interface -- SML and Ocaml are a bit much to swallow if you're used to C.
C# -- dunno about performance implications, but it's gotten grudging approval from some language people I know -- seems like it might do a good job of filling the gap that Java tried to fill.
Of course, I'd much rather a non-MS language become big...
May we never see th
The fact of the matter is for every UW student that goes to work for Bill, his/her education was in part subsidized by the government of Canada... Therefore, the Canadian taxpayer has been indirectly subsidizing Micro$oft for years, and it's about time Gates started anteing up for the cost of developing some of his future employees!
Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
I second the other posters that the first programming langauges taught should be Scheme AND assembly language (though I would probably recommend MIPS instead of x86). I have heard that Berkeley does exactly this. First semester you learn Scheme. Second semester you learn assembly langauge. If you can survive/master those two languages, then all other languges will simply fall somewhere in between on the spectrum of programming langauges.
cpeterso