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."
yeah!
"At a forum organized by EngSoc, UW President Johnston said that mistakes were made in the announcement of a partnership with Microsoft Canada Co. " This is a rare occasion where a public organization regrets a MS agreement. Hopefully more to come.
The local newspaper mentioned slashdot as a site complaining about the deal when it made front page in the locals. It might be worth double checking your spelling/grammar/intelligence before posting. :-)
If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
Man, I'm impressed. Someone there actually used their brains instead of their pocket books to think this time. Maybe after they review this they'll find out the truth. We all know what that is. :)
Get first mod down yet?
can we attribute slashdot to this reverse in policy wasnt this story run here and highly criticised. Could it be that while being a totally corrupt school waterloo is more interested in the real industry leaders (read slashdot readership) might think less of their graduates.
Would this tarnished reputation (which this decision wont fix in itself) be worth a nice chunk of ms money? Could this be considered board mismanagement and the such.
Every other academic institution that takes gates'ss's's money has always said it wont affect their product placement (least officially). So why waterloo.
Ubc for example has been taking ms money for years and tons of it. But I dont see things like c# been taught exlcusively or linux being left out of essential training.
Who on the board of waterloo was willing to sell the students out for a new building and a nice retirement package.
Thats not true. Dont give credit where it is not due.
They only re-evaulated a made decision AFTER slashdot and other major news sources publically complained to thousands of it workers about the deal.
They were probably hoping no one would notice and that if anyone did they wouldnt care. They got busted and now they're rethinking.
This is not a good thing
Too many languages. C#, C++, Object Oriented C, Java, Python, Perl, C, etc etc. Besides, why teach C# to students who don't understand the fundamentals of C?
------- "From bored to fanboy in 3.8 asian girls" ----------
Like 42 42 * 42 + 1806 eq "that would be great" print
-- I was raised on the command line, bitch
I wouldn't mind this so much, if not for the fact that tomorrow they were going to add a course in Jedi mythology as a requirement to the curriculum for religion majors.
--George L.
Anyone see the embedded Windows .NET ad in the full story page of this article..?
------- "From bored to fanboy in 3.8 asian girls" ----------
The more CS classes, the better I say, hell Id love to take that class. Why? My resume, I try to learn as many languages as possible. Well, ones that employers like most I mean. Suck it up, take the class, get it on your belt and add it to your resume. You'll become more skilled, and maybe even have a chance at getting a job in this economy...
In college, really poor, need a flatscreen.
Just what is so good about C Octothorpe anyway?
Everybody seems to be getting really excited about it, and I'm thinking, err, do we need another language when we have:
* C and C++ for real applications
* Perl, and PHP for web applications
* Python for anything you can't do with the above languages
* Java and Javascript for irritating, totally pointless, variations on hello world programs, written mostly by people who don't know a proper programming lanuage
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
Why would any college seriously take the opinions of an online community like slashdot despite its tech readership? Decisions like this are made because of an outcry from faculty and staff, not public opinion and certaintly not student opinions.
Yet it is good to hear a nice heartwarming story about Microsoft losing an account (for the time being).
Baby steps people, baby steps.
Sir Timbly of Cannatuna, offical Knight of the Heptagonal Table
I have a few friends at are going to UoW right now, I don't live all that far away or anything either. Maybe an hour, and I goto the campus every couple of days to see what new tech they have on site. Alot of my friends were actually looking forward to seeing the course come to be all this year. But such as life sometimes.
Ofcourse if MS doesn't like what UoW wants, there are a host of other universties near by that would be happy to take on the MS bit. We have UoT(University of Toronto), UWO(University of Western Ontario- London), Laurier, several colleges that are applying for a college to university status.
Om, nomnomnom...
From an older story on the same site:
Here's how the funding breaks down:
Tablet PC Research: $758K (cash)
Online Learning: $490K (cash)
MCS Resource (Project Management): $500K (in kind)
Concerning curriculum sponsorship, Microsoft intends to provide the university with $561K (cash) for the preparation of C# and distributed computing teaching material.
Perhaps MS is whoring the Waterloo students for Tablet PC research? Of course, it is noted that it is Microsoft's intention that the IP ownership remains at the university, but who knows if they will really uphold that.
Face it, Java was going to be the killer language until Sun prevented Microsoft from including the Sun VM in Windows. Without a Java VM, Java can go no where, but C#, being Microsoft-based, will no doubt be supported in near future versions of Windows to come. Its all about practicality: if students have to install a Java V, a C++/C/ObjC/Python compiler on their systems at home, knowledge of the language will be less effective.
Combined with Microsoft's powerful OS share, I believe C# will be the best choice for entrepreneurs in business, at least until Unix gains more usage in such fields. Either C#, or VBScript. One reason: integration.
"The lesson to be learned is not to take the comments on slashdot too literally." --Vinnie Falco, BearShare
It seemed as though UW just hoped that this could go through without anyone really doing much. I mean, with a deal like this, having MS 'donate' $10M to the, wouldn't you want it to happen in front of all the students?
Of course not. You do it at the time when there are the least amount of people on campus (and practically no students), right before the fall term, after summer exams are over. The only reason I had heard of it beforehand was a sign on an 8x11 piece of paper when I came here to bring my sister to an interview.
But it didn't go unnoticed. It took up most of the space in the Imprint (UW's student-run newspaper) and a lot of talk among students. The University just ended up looking like a fool and having to retract to 'think' about what its doing.
But how many people think this will change the final outcome anyway?
Anyone see the embedded Windows .NET ad in the full story page of this article..?
No. A line in my G:\winnt\system32\drivers\etc\hosts file redirects DoubleClick ad requests to a WinApache virtual host on my machine that puts up a PNG image reading "DoubleClick blocked."
No, I'm not trying to cheat OSDN out of ad revenue. That's actually the only ad site I currently block because 1. it gets rid of most of the Java and Flash ads and 2. it gets rid of a lot of potential privacy invasions.
Will I retire or break 10K?
Looking back at the original PR, Microsoft made the announcement first. Followed by the university.
It seems like the Microsoft salesman wanted a raise, and promoted this idea to the greatest heights. Where it was picked up and disbursed.
I wonder how many insidious deals are being made without all the hoopla...
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!
4 years from now a bunch of grads will be heading to interviews...
Grad: "I know C#! Hire me!"
Industry: "C#. Check. What else do you know?"
Grad: "Huh? Like what?"
Industry: "Well, what did you learn in some of your other courses?
Grad: "I know how to design a web page so that it only works under Internet Explorer."
Industry: "Hmm..okaaaay. What type of degree did you say you have again?"
Grad: "I have a copy right here..."
Industry: "That says MCSE. That's not a diploma."
Grad: "No, it is. There's some fine print at the bottom. See?"
When I went to school we had whole labs of machines donated by Sun and Intel which no one protested about being out of the ordinary. Similarly there is at least one mandatory classes for CS majors which uses Sun Microsystem's proprietary progamming language and many optional classes as well require Java or strongly suggest it.
:)
Until Slashdot started trying to cause a controversy with the C#/University of Waterloo thing I had assumed this widespread practice in the American university system was taken for granted. Academia is all about politics especially when it comes to the curriculum, technical arguments for or against programming languages are just one slice of the cake. If it wasn't about politics we'd all be learning Lisp and Smalltalk in school instead of C++ and Java. OK, we actually did learn Scheme and Smalltalk at GA Tech so maybe that's a bad example.
Disclaimer: The opinions expressed in this post are mine and do not reflect the opinions, thoughts, strategies or plans of my employer.
The record.com article: If the changes don't go ahead, the $561,000 Microsoft was giving to support the projects would no longer be available, he said.
The 80s: people usually had to pay for programming languages.
The 90s: programming languages and environment available for free (evolution).
The New Millennium: people get paid to use a specific programming language (involution... well, this is
When my Freshman year professor in the CS AP class was asked the question, "What language are we going to learn in this class?"
To which he quickly replied, "Any monkey can buy a book and learn a language, what's important is the concepts behind programming. To ask what language your going to learn is to miss the point. If our university focused on teaching a language then we would not be properly teaching our students.
Then my senior year, there was a class we had where every assignment was in a new obscure languages and we were expected to adapt rapidly.
The problem in reality is that most resumes are reviewed for language experience and not conceptual areas. To get a job you need XXX years of language XXX. What a stupid way to hire people, but it's the system and I play the game for a check.
C# is for the Flying Code Monkeys!
I used to wonder what was so holy about a silent night, now I have a child.
Waterloo is well known for it's huge and colourful homosexual scene.
unless you happen to not like having to take 50 years of coursework to graduate.
http://jaguars.jacksonville.com/special/mondaymorn ingqb/
Add your page wideners, lengthers, and goatse stuff here, folks. Even try an img tag pointing to goatse guy!! It should work too. Have fun.
C# is not a bad language, especially for first-years. It's kinda like Pascal: c in essense but easier on the eyes. You still have everything you need to discuss the necessary skills of programming, even including pointers. From there they can get more advanced and dive into C++.
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.
I am willing to learn that language. Men, I'm willing to learn that language so bad, that I would even take it, if it it was in reverse polish notation with the manual pages inside out flipped in reverse complement. I would devour it, know it like I know my own mother, I would live, eat, and sleep with the documentation, preaching it in public places on sunday afternoons. Men, I would even defend Bill Gates in public hearings, support the DMCA, volunteer for the RIAA and use only non-GPLed software for the rest of my life.
Now if they don't want it, can I please have the 10 million dollars now?
IANAL, but imagine a beowulf cluster of in Soviet Russia all your belong are base to us welcoming the new SCO overlords.
Java is already proven and adopted industry-wide. C# is not. MS is being called out for attempting to gain a bit of de facto acceptance by the old 'indoctrinate the youth' ploy. All those saying, 'what's wrong with more languages being taught', I say, go invent a language and see if you can get it taught as a required course a year later at any university.
LEXX
"Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
The last time I cheked JAVA is downlodable for free from Sun Why do they need to get paid by some corporation to teach a closed essentailly proprietay language built by a company only for their own financial gain in the long term. I have no problem with universities teaching languages such as JAVA,c#, etc. This is the way of the future - in 10, 20 years no one will have the patience to deal with plain old C or languages like it. (Hmm, umm, yea..nobody uses old languages like cobol anymore! ;) But when universitys are essentially being bribed to become high level certification courses for some companies products we are moving away from what CS is supposed to be teaching you - general techniques that will be applicable throughout your lifetime as a computer professional versus what immediate professional skills will be applicable when you graduate.
If religous zealots don't believe in Evolution, then why are they so worried about bird flu?
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)
If you're going to get a degree in air conditioner design and writing OS drivers like EE or CpE, why not learn C?
Look I've been on campus while this shit-storm has happened and there were two major camps of students.
1: Don't care...
2: No way that I'm going to sit here and not bitch.
My real point is there were very few supporters for this deal, the campus news papers have put negative spin on it, students that understood the deal tried to inform others and so on.
By most this was seen as a step for Microsoft to enter the very Unix domenated computer education cirriculam. Start with one-two courses... then is a 2-3 years own 'em all
I'm really glad that this deal began to show its cracks.
--
After this 2-4 of coke, and the next 2-4 of coke I only have one 2-4 of coke left. Better buy more.
I'm glad to hear of a university expressing reservations of a deal with MS. Texas A&M (my beloved school) has just made a large (subscription based, I might add) licensing deal with MS for several pieces of software. Looks like Gates is trying to make our generation as dependant on his products as the previous one is.
I am seeing posts along the lines of "Waterloo has finally seen MS's dark side", or "Victory over Greed" etc etc...
But if you read another story on the same page (MS Canada President Frank Clegg responds to top ten questions), Clegg states quite frankly that it was Waterloo who first proposed the idea of C# as a teaching language. So this initiative did not come from MS.
Life is like a web application. Sometime you need cookies just to get by.
First of all, I have written a little software in C# and a lot more in Java. C# is a great language in its class and very useful indeed. If you hate it because of M$ say that, but don't say it is a bad language.
;)
That taken care of, I agree with some of the posters saying that it is the concepts that are important. But I also belive that if the concepts to be understood you also have to understand what is behind it all, which includes how a CPU works, how a compiler works, how an interpred language work, and how OO really works.
I think that one should walk this tree with asm, C, BASIC, Ruby, C++/Java/C#, in parallell with the rest of the courses. Try to connect it, for example asm/C with real time and OS courses, while you have ruby for the OO courses.
What language is used should be controlled by the need, not by the industry. Ruby is a great example of an easy to use interpreted language, but also a great example of a language that is VERY object oriented. You get the point without having to figure out other unrelated concepts. Everything really is an object (5.times {|n| print n} for example).
To top off the education it is time for the industry strength languages. C++ is an incredibly powerful language for a number of reasons, but is also very complex and huge in all its quirks. C# and Java would also be good languages to teach now, and to be used as well.
I also want to point out that the choices I have made above when it comes to languages is influenced by what languages I use myself. There are many other excellent languages, so if you like to just exchange your favorite languages to what I have written above
Just to clear up some stuff.
;>)
1) UW was not going to get 10M. MS Canada had announced that they were going to drop 10M to various Canadian institutions, the first announced deal was UW (at around 2.5M i believe). Yes a big chunk of that 10M, but UW has been a supposed "big" MS recruitement center for a long long time. (now you know where all the garbage comes from
2) This story was broadcast on the local tv station the same afternoon it happened, so it was already known quite some time before it showed up in the local paper, slashdot, etc. The minute i heard about it, i felt sick.
3) This was for *engineering* students, not CS students. Somebody was wondering why they don't use pascal or why they don't use java, or c, or c++, or c#, or shell script, etc. DUH! Real programmers are not limited by such things as the local syntax of a language. FYI though, they do use (or use to) Pascal in 1st year CS. Eng. students OTOH used to have a 1st year course in C (may have changed now). Personally, i think its a waste of time for CS students to learn pascal, but engineers should probably be limited to HTML or the like.
Yeah this was probably some infiltration tactic (hey there used to be an door marked "NT Development Lab" in MC a long time ago, maybe there still is?). Anyways, you guys do know all the jokes about engineers trying to program, don't you? LOL!
Zynec
ps - compeng students are omitted from the above slander!
This is good, if not for any other reason than the fact that the current Microsoft C# compiler is a step backwards in terms of error reporting technology. The compiler FREQUENTLY reports the wrong, or completely non-existent (and unrealated) errors. You forget a ; or a " somewhere, and you're getting errors everywhere BUT the spot where the error actually occurred.
0 73 859
You can NOT teach first year programming students with such a tool PERIOD.
I've said it before, I'm sure I'll say it again:
http://slashdot.org/comments.pl?sid=38000&cid=4
Bryan
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
We learnt Ada in my first year at Uni and I'd recommend that. Ada is very much like Pascal. Yeah, I know that it's really strict on type-checking and things but this is probably a good thing as it encourages 'good' programming (I suppose that that's a matter of opinion.
The other advantage is that Ada is used commercially in real-time safety-critical systems such as the Paris Metro, the London Underground and aircraft. If you wanted to get into the safety-critical, real-time industry then this would be a good starting point. If not, at least you get a sound primer in programming.
Plus it's not tied to the Windows architecture. Not that Pascal is by any means but GNAT is (supposedly) one of the best Ada compilers around.
C
There's no problem that cannot be solved with a suitable amount of high explosives
We have: teach C# to make your graduates more employable, and more successful -- leading to potentially more donations from alumni
OR
teach C# to make your graduates more employable, and more successful -- leading to potentially more donations from alumni AND GET PAID FROM MICROSOFT.
Either way, the courses are going to be the same. That they get some money on the side is fine by me, as long as the pass on the savings to students by reducing CS tuition. When you're a student who has to dedicate over 50% of your income to school, you appreciate what the school can do to get more money from corporations instead of you.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Money-for-teaching deals are bad whether Microsoft or Sun does them. Did you report a story about any instances when Sun did this? If not, I don't see why you would complain about "Slashdot myopia".
It seems that the president of UW didn't actually sign anything, despite all appearances to the contrary. viz:
;-)
"In retrospect, it was a mistake to announce agreement in principle with respect to the curriculum initiatives, a mistake for which I take the responsibility." (my emphasis)
You might call it "good news" although I think at best it's a Pyrrhic victory. The damage done to UW's reputation -- unnecessarily as it turns out -- is going to take more fixing than just another slashdot article. We got stomped on, and justifiably.
Fortunately the forum was streamed and recorded by the student government, the Feds, and you can listen to it by downloading the mp3 (29 MB). Although we might take down UW's internet connection
I'm hosting a group project to transcribe the recording. Please help! It contains the president's apology but also some interesting information about C# as well.
simon
UW CS Alum
simonwoodside.com
PS. The School of Computer Science rejected the deal before the original announcement. This is all concerned with Computer Engineering, not CS.
home page
I've seen this kind of "hidden agenda" crap lots of times. The University of Waterloo is not reversing its position.
UW President Johnston started taking heat so he backed up a bit. If he's like the self serving assholes I've had to deal with, he'll put it on hold while he has a fair **cough, cough** study and then declair that a deal with Microsoft is indeed in the best intrest of everyone.
I've seen it all before. Nothing to look at here... Move along. Move along...
The race isn't always to the swift... but that's the way to bet!
I will GET you.
The decision to use Java in the introductory classes had no direct influence from Sun. It was chosen it for the very reasons it is sucessful today: it is a reasonably well designed language, applicable to many problem domains, it is cross platform, free, available on every machine on campus, and a marketable skill for would-be graduates. Only the first applies to the language used previously: Turbo Pascal.
Comparing Tech's incidental use of Java to to U. Waterloo selling out to Microsoft is absurd.
Read the whole transcript before you judge.
Check out the comments of Dean Chaudhuri. I don't doubt that this decision will get the fifth degree.
Simon
home page
We're faster to adapt to different languages than you are (at waterloo). We're force-fed twice as many different languanges in the same time frame.
We consistently rank in the top 3 comprehensive universities in Canada... the same category as waterloo, and we've finished ahead of waterloo a number of times.
We have a major new computer wing. Microsoft now recruits from out computer co-op program.
And yes, our systems engineers are not usually regarded around campus as especially good at coding - that's what the comp sci program is for.
There is a professor at the Ohio State University who is taking research money from either Gates or Microsoft. I believe he is in the Applied Software Department of Electrical Engineering.
I don't know whether he forces students to use Microsoft tools or solutions.
electrical engineers always deal with low level programming. There's no use in learning C# they're going to program in C anyways. Why not teach C instead???
"If a show of teeth is not enough, bite
Well Waterloo had two choices with regards to c#.
:)
1. Accept the small lump sum offered by Microsoft and loose the donations from alumni.
2. Turn down MS and keep the donations from the almuni flowing.
The almuni in Waterloo donate a lot more money than MS would give for a c# program. A university is still a buisness and they proved it by following the path of the money
"I believe in everything in moderation. Including moderation." -Dean DeLeo, Stone Temple Pilots
I disagree entirely. University is about providing as broad as an experience as possible to cs students. They should be exposed to languages that fall over all different programming paradigms (functional, imperative, object oriented, etc).
At University of Adelaide (Australia) we were taughts Fortran, C, Ada95, Smalltalk, a little Pascal, Miranda, Prolog, Scheme, and assembler. Now, the point wasn't to _master_ anything, but to understand the underlying differences between the languages / programming paradigms and how it changes your software design.
The other thing is to ensure that students understand the linking of systems right from digital logic, through to micro-code, assembler code, hardware interrupts/etc, os theory, compiling & linking theory, and application design. Once you understand the core concepts of these things you can derive everything else. There have been very few technologies in the last 15+ years of CS. Just refinements and extensions of old stuff. If you _understand_ the underlying theory you can glance at a new technology and after a few seconds say, "I reckon they do it using x, y and z, but the hassle will be a, b & maybe c".
It is up to the students in their own time to further their own knowledge by reading up more on the languages and mastering them in their own time. CS isn't about making you an application programmer, YOU do that. CS is about making you a Computer Scientist not a muppet.
Cheers
Scharry
Javascript is not a joke. It is a powerful language when you stop using it like it's BASIC and start using it the way it was designed to be used. I admit that the majority of the Javascript that you see on the web today is horrid, but the language is not to blame because of the wannabe programmers.
Read JavaScript: The Definitive Guide, 4th Edition, then use the language before you make uneducated comments.
ayottesoftware.com
I thought this was interesting. In particular. It gives MS's response to the "top ten questions" (does not seem to say whose top ten questions.
I thought these two points were VERY telling:
Q1) Since Microsoft, presumably, is simply encouraging the learning of ECMA standard C#, it should not matter whether the OS platform of the students is something other than Windows if another compliant C# platform exists and costs or other reasons U of W might have for using it make it attractive. Can Mr. Clegg assure U of W that Microsoft will not invalidate the agreement, or withdraw funding if C# is taught using Ximian Mono on Linux?
Frank Clegg (president of MS Canada): "The Microsoft Canada Co. sponsorship does require C# to be taught on a platform based on the Windows® operating system."
And question 6, which seems to me to concern academic freedom:
Q6: Your donation to the University of Waterloo in part funds curriculum development for ECE 050 and a curriculum change in ECE 150. As the curriculum change for ECE 150 did not require a change to course description it was not vetted through the Faculty Council or through the Senate Undergraduate Committee. This means that it affects the part of the curriculum usually understood to be the jurisdiction of the faculty member. Will Microsoft still provide UW with its donation if the professor for ECE 150 chooses to follow the course description without teaching C#? If it will not, how does Microsoft feel about compromising academic freedom at the university?
Frank Clegg: Funding for this curriculum initiative was decided based on the university's exploration of possibilities for sponsorship in the preparation of new curriculum material on C#. If the university decides not to teach C#, then there will not be a need to create any corresponding new material for which funding was initially allocated.
I hope the University gives these considerations due attention in their deliberations.
"How to Do Nothing," kids activities, back in print!
- Figuring out how to solve the problem
- Figuring out how to tell the computer
to solve the problem.
If you are very good at figuring out how to solve the problem at hand, you want a compact language to tell the computer what to do. One with things like lists and maps/hashtables and perhaps map/apply. I happen to like TCL. I've spent a lot of time writing TCL programs, and I can do a hell of a lot with 10 lines of TCL. Sometimes I can do even more with 10 lines of Python.But the first thing is to learn HOW to solve a problem. For that you need a vanilla language, but one that supports the kind of data structures that people use to solve real problems (list, hash, tree, whatever).
Java has the bits and pieces, but GOD is using Vector and Hashtable and casting everything everywhere a pain.
The point? Experienced programmers need to realize that initial computer programming instruction needs to be done in a language that stresses the algorithm rather than the expression of the algorithm. I guess I mean it is probably better to have them learn with a language that takes 20 lines to load things into a hashtable and sort by some metric (not really a good example), rather than a language (like APL) where that is a 1-liner.
So, the metrics for judging a language for instruction are different than those for judging a language for commercial software development.
rant complete
-- ac at home
I'm sorry for those who don't agree, but IMHO high level professionals (those formed by top universities) should be able to learn Java, C#, or whatever other language by themselves.
All you need to know is a good academic language, like C ou Java, not necessarily one these, to give the students good basis. Afeter a language learned the most important thing is focus in Computer Theory and Mathematics.
Extension courses are welcome, but each student should choose whick course to do, which technology to learn. No obligation.
What amazes me more, is seeing top universities students ignores the programming quality of the unix world, and ignoring the possibilities of learning avaiable in the FreeSoftware comunity.
There are things that really makes me sad.
-=-=-=-=
I know life isn't fair, but why can't it ever be un-fair in MY favor!?
Honestly, "learning a language" as the goal of a course is a community college concept.
Computer science teaches you things that extend FAR beyond learning language syntax. My last tough comp sci course involved no less than 4 different languages and we weren't "taught" any of them in the course - it was assumed we would learn the necessary syntax on our own. Lectures were focused on things like portability, performance issues, analysis of algorithms etc, concepts not tied to any once specific language. The languages used during the course simply allowed us to learn the underlying comp sci theory... Syntax is easy.
- Toby
Why is all the best coders I know started with assembly but no univerisy would ever consider that as CS101?
Take a look at Engineering requirements. You have to take classes that won't have anything to do with your field but are part of the generic requirements. These classes will be used to weed out freshmen if they have too many and they get real easy if they need more students. For example good old "statics and strengths" for EE. I took that one at two different schools. One was tring to weed out EEs and that class was very hard while the other school needed EE's and the class was trivial. Its an odd feeling to wonder if your going to even pass a class that uses the same textbook as a different school where you got an A the semester before.
So of EE/CS departments are so willing to weed out students, why not make CS 101 in Assembly? That way you know the poeple who get through the 1st semester have some understanding of what the hardware is doing.
C blunt.
Engineering is the art of compromise.
then I think you'd better tell these guys to throw in the towel.
The fact is that, thanks to Mono, C# is actually supported and has a compiler/environment provided by more than Microsoft. And I think more will come along as time goes by. Java has Sun and IBM, C# has Microsoft and Ximian.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
"It sucks that academic institutions are increasingly becoming commercialised - whether this manifests as corporate sponsorship or downgrading their teaching standards to attract more fee-paying students."
It sucks that government funding (state & federal) has dried up. It sucks that tuition can't rise to cover the loss. It sucks that people aren't donating like they use to. Guess what that leaves?
Yes, clearly Bush should have stayed in the white house, waited for the airplane heading there (that was the one that the passengers crashed), held up his hand, and stopped the plane in mid-air.
I think that's the only thing that would satisfy people like.
The concerns I'm listing are:
Not sure what difference it will make but I'll feel better ...
Re: The Ada catastrophe:
You mean such warnings as: I mean, how many languages use Dem Debil Exceptions these days? Or the notational dot form, as in object.method ? And apart from Boeing, Beriev, Lockheed, Airbus, Antonov etc who uses Ada for safety-critical systems?But I come not to bury Hoare, but to praise him (Hell, he invented the case statement..):
The astounding success of the SPARK subset of Ada-83 and Ravenscar subset of Ada-95 has vindicated him with a vengeance. You also have to remember that Hoare's speech(pdf) was in 1980 - and Ada-83 was greatly simplified from the Ada proposals of just 3 years earlier. But even then it was vastly more simple and powerful than C++ or Java. public static void main(String argsv){}? Ye Gods. Never mind, maybe if someone keeps on quoting the large and growing body of evidence about language choice being important, that it's not "religion" but a matter of objective measurement, and that one reason why most software sucks is that good programmers are using lousy languages, then maybe things will change..... Nah.Zoe Brain - Rocket Scientist
Face it C# is and always will be a MS only Language, (VB, Visual C++) as such they have no place on the mandatory list but should be listed as optionals. On the other side we Have Java, C, C++ (Lisp, Fortran, Cobol.....) which are industry stadards and run on all platforms as such they do have a place on the required list. Putting proprietary technology on the required list is not only crazy, its plain bad practice. Keep to the center for the required classes and offer the others for electives where they belong (Hell would have been a huge fight at my college-Java was even a huge fight as with Suns semi-tight control of it caused some eyes to be turned skyward) Glad my degree doesn't come from a college that does BS like this
You're force-fed twice as many different languages?
Well, damn, in first year our profs make up a language and expect us to write a fully functional compiler for it.
Depending on how you take your courses, in first year you've already designed most of your own MIPS chip.
And I don't think you've finished ahead of Waterloo in recent years. Waterloo's taken the top spot for at least 5 years running.
Microsoft now recruits from your co-op program? I hate to break this to you, but on the Microsoft benchmark... they rank UW as the #1 university in the world (recently they tried to hire more than 80% of the graduating computer engineering class).
Waterloo CS graduates computer scientists and mathematicians who are highly capable at both theory and practice, highly motivated and excellent problem solvers. Guelph graduates code-monkeys. Your obsession with programming languages and coding really demonstrates this point nicely.
I know a guy in second year who spent the summer designing and implementing a new garbage collection system for Java that's about 5x as efficient as the garbage collector most implementations use (including the high performance ones). And no he's not top of the class or anything, just an average UW CS student.
Oh, and some advice: almost all computer languages are the same. If you actually know your stuff you can pick up a reasonable language (i.e., not malbolge) in no time at all.
Did /.
A - Overreact to rumor
B - Actually get some heat on Waterloo that made them reconsider
C - Have absolutely no impact on this at all
D - CowboyNeal makes really good asparagus omlettes
This
They are irrelevant; it is just too damn new and unproven. It's a toy language whose only recommendation is that it has Microsoft backing. If some hacker invented the same thing in his bedroom, would it end up being proposed for a curriculum a couple of years later?
I have no problem with corporate backing of schools in exchange for advertizing rights. But the school has no right to sell out what it does not own, namely the minds of the students. If they want to do that, they should get the students to sign an agreement which says: ``your tuition alone is insufficient to cover our expenses. By signing this agreement, you relinquish your mind to us, so we can waste it on crap pushed by our sponsors, like bad programming languages.''
1) Funny how the story that I submitted about this on Friday as AC was NOT chosen, but this one from Sunday WAS by a registered user - I guess the "no bias against AC submitted stories" isn't always true..
2) The current language path of a Comp Eng student at UW goes something like this (from memory):
1st year:
C++
2nd year:
assembly (Motorola Coldfire)
java
C++ and a bit of Prolog
3rd year:
C, some assembly, C++/java (their choice), VHDL
4th year:
depends on courses - C, C++, java w/ jdbc to mysql backend are all possibilities. There used to be a Tcl/Tk component in one course, but students hated it, by and large.
Gradually these objectives have been sacrificed in favour of power, supposedly achieved by a plethora of features and notational conventions, many of them unncessary and some of them, like exception handling, even dangerous.
I mean, how many languages use Dem Debil Exceptions these days? Or the notational dot form, as in
Well Tony was my Oxofr tutor so I have a somewhat closer idea of the context of the 1980 speech.
The point about the plethora of notations is actually the same as the motivation behind the dot notation in both Java and C#. The point is that the C++ looks_crappy::structure.somtehing->pointer.somethi ng->pointeragain notation uses three different notations where one will serve much better and moreover combines prefix and postfix notation in an incomprehensible fashion.
As for exceptions, the understanding of exception handling in 1980 was way, way to thin to build them into a language and certainly nobody had a rigorous semantic model for them. Combining exceptions with concurrency was a recipie for disaster in 1980 as neither was understood.
As for the 'success' of ADA, what little success it has had has almost without exception been coerced. It does not say anything for the suitability of ADA for safety critical systems that it is used when the original proponents of ADA require its use as a contract condition. I don't believe that Boeing, Lockeheed etc. would ever have written a line of ADA had the USGovt not stated it would be a future contract requirement.
I don't think that C# is going to be the end of language development. i suspect that in the near future we are going to see a further cleanup round in which some of the uglier holdovers from C are lost, in particular
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
Universities began teaching Java back in '97/'98 timeframe long before it was in widespread usage. Part of this was because of a push in '98 by Sun to promote Java at the University level. Look it up, it's called the AAJC.
Every argument you could make pro-Java you can also make pro-C#. It is a well designed language, and a marketable skill for would-be graduates. The fact that you have sold out to Sun is irrelevant to this argument.
...was called "The Playboy Channel"!
I remember when we had debug as a word processor, and Peter Norton wore short sleeved shirts! Richard Stallman was saving up for a razor, and... oh, never mind.
Some great information re State-of-the-art in 1980, Notations, Exception/Concurrency etc. My thanks, take a virtual "+1 Informative" from me.
Re: "little success" and "almost without exception been coerced" I respectfully submit the following very incomplete list of recent entirely "uncoerced" Ada projects:This post is getting long - most people won't read this far. But if you want, I'll follow-up with more hard data regarding reliability, cost etc. Basically, the reason Ada gets used is that it's provably better, the numbers on reliability, cost-to-develop, defect-rates etc. show it.
Zoe Brain - Rocket Scientist
I agree that picking up a new language should be possible on demand, though getting any good does take time and cannot generally be achieved in a couple of hours of syntax learning, as many seem to think. However, I must question which "high level professionals" you think need to know more about computer theory and maths than anything else. Sure, these things may be the underlying foundations, but if they were the main emphasis, you'd generate nothing but a load of useless academics.
In the CS diploma I took, there were many useful courses, most of which either involved introducing new programming paradigms (e.g., I first met functional programming there) or involved data structures and algorithms, both the basics and in specific fields like graphics, natural language processing, or whatever. There were mathematical courses and things like complexity theory underlying them, of course, and any CS grad should be aware of the issues they involve, but I wouldn't want to see them become the focus -- or even a focus, for that matter -- unless you happen to be interested in doing academic research in those areas.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Sure it has. It has quite a practical system, but from a theoretical point of view, it is both weak in the technical sense and weak in the English language sense.
Its type system can be, and frequently is, violated in several ways: reinterpret_cast (or C-style casts) and void* come to mind, with things like non-virtual member functions and such coming a close second, and nasty implicit conversions between primitive types in there somewhere as well. These may be helpful facilities to have available at times -- you could even argue that they are essential for the sort of low level or high performance work often done in C++ -- but they do fundamentally let you break the type system. An awful lot of bugs have come out of using these features and getting them wrong.
If you want to appreciate why C++ is technically a "weakly typed" language, compare and contrast with other languages that are not, such as declarative languages where all types must match wherever they should, always, because of the structure of the language. Many functional programming languages would make good starting points, for example.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
My teachers were right?!?
:p
I knew x86 and Z80 Assembly (basics...) and C and i saw no meaning for learning either Scheme or MIPS assembly.
Now i kind of see it. I'm sorry i forgot all about scheme... maybe it has to do with starting to use EMACS...