Amazed at what they teach at Uni

sjn78

Well-known member
Joined
May 4, 2003
Messages
255
Location
Australia
I am doing a GUI subject for uni at the moment and they say to use VB.Net. This is irrelevant but what they are teaching amazes me. The methods they are teaching to do basic things are the Bad way so to speak.

For instance, MsgBox("blah"), wouldnt you want to teach someone to use MessageBox.Show() for the fact that it is used both in vb and C# and that MsgBox is the old way?

Another example is trying to tell us to use a keypress event and watch for Enter.

e.KeyChar = Microsoft.VisualBasic.ChrW(13)

Wouldnt you use e.KeyChar = Keys.Enter

Anyway, be interesting to see how they mark me if I dont do it their way and actually do it the correct way!!
 
Uni teacher doesnt mean master in their particular field. Sometimes theyre running just ahead of the course.

A C++ or VB Master may still not pick up on the best .Net practices for a while.

If your Uni teacher came from VB, then I can see why things are being done the way they are.

It also depends on what their learning material says.

For me and possibly you, programming and .Net is a passion. Its something I really enjoy. I can nearly eat, drink and sleep .Net and/or programming. Teachers sometimes just do their jobs and teach more than one class. Something silly about families and personal free time. They figure out what they need to teach and teach it.

Unfortunately thats the way things go in college sometimes. This isnt Dickens where professors have had decades to discuss the finer points of the literature. Its not mathmatics that have been around for centuries. Unfortunately its a new technology, which happens to be constantly changing.
 
Given my history, I cant believe I am about to defend the use of VB constructs, :eek: but here goes!

The course is in GUI design, so I am assuming the subject matter is going to deal with the interrelation of components. As long as the material is on target for dealing with design dependencies, implementation shouldnt be an issue.
 
You can write the assignments in C# though!!. Although they said they have no means to support that language.

And the point I was trying to make was that the course is a basic one for GUI design and to also give people some exposure to .Net. But again, why teach bad habits if these people have had no experience before (maybe vb6 or earlier). Isnt this type of course a perfect example to teach the proper ways before you pick up bad habits? I know I still have plenty of bad habits in programming from looking at various websites that show you ways around problems and from trial and error.
 
Maybe the lecturer isnt aware of the new constructs. I know Im still learning new ones, or discovering that Im still doing things the old way all the time, and Ive been using .net for over a year now...

Chances are its a fairly basic programming course (most university papers are), which is only designed to give you an overview of programming, not to teach you the correct syntax to use.
 
There are good teachers and bad teachers. Usually before I take a class that Im really interested in, I ask students in a related field on who the better teachers are. Sometimes, however, there is only one teacher teaching the particular subject, in which case you just hope for the best.
 
I had a really good teacher in Cegep (Quebec only? :p) and he never ever developped or worked for a company. The only thing he done (that I saw at least) was the entire web site of our departement (all in ASP but he was beginning to convert it to ASP.NET).

He never had a BAC in computer! Only a BAC in chemistry ! This was the kind of teacher Im sure anyone on this board would have liked to have.

He maked me understand OOP like none of my other teachers have been able to.

Hes the one who really developped my interest for programming in .NET :)
 
Anyway, be interesting to see how they mark me if I dont do it their way and actually do it the correct way!!
If you do that, dont do it on a graded assignment, so you wont even have to complain about it. Itd be better if you just met with him in his office and tell him. :)
That being said, letting go of traditional VB commands is a hard thing to do (youd be surprised).
 
Iceplug said:
If you do that, dont do it on a graded assignment, so you wont even have to complain about it. Itd be better if you just met with him in his office and tell him. :)
That being said, letting go of traditional VB commands is a hard thing to do (youd be surprised).

To sjn78:

Dont come at him telling him that its the "wrong" way and you know the "right" way. Thats a good way to piss a teacher off. Maybe let him know that those are VB specific terms and show him the .Net equivilents and explain why its better to use those.

To Iceplug:

Im just starting C# and I still get held up on things I didnt even realize were VB commands like cType.

The one thing I think should have been a .Net command is MessageBox.Show. Its right next to Message so intellisense doesnt really pick it up for a while. I think msgbox() is a lot friendlier than MessageBox.Show()
 
Im saying this from first hand experience (and not from a student perspective): 95% of the "professors" teaching computer-related fields are utter buffoons. Most of the classes would be better off if they were taught by the students themselves.
 
Well, CType is related to "casting" in C#.

In VB:
Dim R As Button = CType(obj, Button)

In C#
Button r = (Button)obj;
(Despite the difference in languages, both lines are beautiful :) )

Denaes said:
The one thing I think should have been a .Net command is MessageBox.Show.
Im guessing that was supposed to be "shouldnt", and yes, I do agree that MessageBox.Show is quite a bit more typing, but the good old Iceplug solution that I have is to just make a clone function
Public Shared Sub Mg(Caption As String, Title As String)
MessageBox.Show(Caption, Title)
End Sub
:p

Derek Stone said:
Most of the classes would be better off if they were taught by the students themselves.
Sadly, most students who make good teachers dont want to teach in the first place, and the cycle continues... . :-\
 
To sjn78:

Dont come at him telling him that its the "wrong" way and you know the "right" way. Thats a good way to piss a teacher off. Maybe let him know that those are VB specific terms and show him the .Net equivilents and explain why its better to use those.

I wont be telling him nothing!! I will just code the assingments to what I know and have learnt from MSDN or from reading the forums here. From the examples in the Uni Texts (written by the Uni) there are a couple of little tricks that I will be using from now on.


Derek Stone: Im saying this from first hand experience (and not from a student perspective): 95% of the "professors" teaching computer-related fields are utter buffoons. Most of the classes would be better off if they were taught by the students themselves.

I have had a couple of good lecturers from C and C++, they seem to know what they are doing, more so than this VB.Net guy. One lecturer I had was Ron House, you may of heard of him as he travels back and forward from here (Australia) and the US. And he had written a couple of good C/C++ texts. He comes across as a little arrogant and I dont think he has much time for people who wont or dont want to learn, which is good as you weed out the people who are just doing a subject just for a credit point.

Those lecturers are good, straight to the point with the correct methods and its up to you to find out why you are doing something in a particular way.
 
sjn78 said:
I wont be telling him nothing!!

That just seemed very funny to me :D

I have had a couple of good lecturers from C and C++, they seem to know what they are doing, more so than this VB.Net guy.

Thats what I was saying about .Net being a new language. These other guys have probobly known C/C++ for a decade or two. If they had started to teach C++.Net or C#.Net they might fall into some of the traps of teaching .Net like another language.

Nobody, and I mean nobody has been able to dedicate a lifelong career to C#, VB.Net, J# or C++.Net. Theyre very new languages.

Those that created the .Net framework/individual languages and those who got on hardcore are more likely to learn things and learn them right, but not even microsoft follows its guidelines to the Tee.

Now compare this to some guy the college probobly said "Hey were going to teach .Net now, thats state of the art" leaving the to professor to play catchup on something he may not be too interested in.

My college professor who taught the lions share of my computer degree hates .Net. He sees it as MS trying to destroy the simplicity of VB and trying to control everything, changing things to be in their views. Really hes correct, but I dont see it as a bad thing. So what if MS basically ripped off Java and made their version of it? I think its at least as good if not better than Java in some ways and not as good in others.

Hes fighting against upgrading to VB.Net in college courses. Partially because he doesnt want to relearn a new langauge to do what he was already doing.

Those lecturers are good, straight to the point with the correct methods and its up to you to find out why you are doing something in a particular way.

Yes, some speakers/lecturers are just better at explaining and articulating things. It helps the more you know and love your subject (normally). Im not going to say that there are no good .Net teachers out there, but Ill bet my laptop there are more qualified C/C++/Delphi/VB6/Java professors/educators/writers than quality .Net professors currently.

With time thatll change, but new technologies take getting used to. Im sure the first few years of Java (and probobly still to this day) there were teachers who had no friggin clue about how to use the language properly and effectively.
 
My teachers was a damn good C++/Dephi and C# (without forgotting VB6 and VB.NET) teacher. He knew all of those language and were able to transmit all of his knowledge to us(his beloved students :p)... well.. I dont mean he OWN those language... only that he was able to do great thing and that when our school switched to .NET well... he followed and learned C# over the summer and during our class :)

The teacher who gives themselves the time to learn new language will only be better teacher. Its prerequiste if you want to work in a computer related field : "YOU MUST KEEP UP TO DATE"... and VB6 is being slow replaced by all new technology. Teachers that fight against that want only to be paid to do what they are doing without improving themselves. Well... we all shall throw ourselves in new language from time to time no ?
 
You are right Derek. On 10 teacher teaching computer in my school.... only 2 was fabulous and 1 was really cool but not really "good". All the other were painfully awful. I learned more from Google than from them sometime.

But they all thought me something! Its like the common sentence : "Some bring happiness when they come in the office and some when they leave".

They thought me a lot by their error ;) lolllll :p
 
sjn78 said:
I wont be telling him nothing!! I will just code the assingments to what I know and have learnt from MSDN or from reading the forums here. From the examples in the Uni Texts (written by the Uni) there are a couple of little tricks that I will be using from now on.
I suggest you come up with a standard Disclaimer comment with footnotes/bibliography referencing the MSDN web site. Put it at the top of your main file.

Adhere to MLA standards
http://www.mla.org/publications/style/style_faq/style_faq4

Schools actually used VB6 for programming beyond simple algorithms? You cant do OOP or streaming or services or delegation or console redirection or pointers or . . .

What would they teach with VB6? :p
 
Joe Mamma said:
I suggest you come up with a standard Disclaimer comment with footnotes/bibliography referencing the MSDN web site. Put it at the top of your main file.

Adhere to MLA standards
http://www.mla.org/publications/style/style_faq/style_faq4

Schools actually used VB6 for programming beyond simple algorithms? You cant do OOP or streaming or services or delegation or console redirection or pointers or . . .

What would they teach with VB6? :p

Basic concepts.

What a procedure is, what events are, what variables are. Different data types. putting together simple apps.

A lot has to do with logic you NEED to know before you concern yourself with OOP principles such as Case/If then, Loops, Arrays, collections, etc.

IE the basics.

No matter how important I think OOP may be, it doesnt do you any good without fundamentals. Its like saying, yes Trig is very useful - but you kind of have to learn arithmatic first.

OOP - at my school - was the second or third programming course depending on when you took it. They taught you using Java and used one of the worst conceivable IDEs (it was like notepad with VERY slight code highlighting... if you held the monitor up to the light at the right angle)... the teacher took a fully abstract method and thuroughly ignored any actual reallife examples/parallels of OOP programming.

I think either VB.Net or C# would make a great beginners course. You can kindof skim over the very basics of Objects and OOP/Classes until someone has the basics. Then after a semister when they have a handle on whats going on, you can explain how everything is working and how to manipulate it.
 
<With VB6> You cant do OOP or streaming or services or delegation or console redirection or pointers or . . .
If youre serious, then "liar, liar, pants on fire!". But thats not the point :)

We employ two university (USA) teachers (not professors) and they are both excellent. They spend their days teaching and work parttime at night for my company. Unfortunately, most of their students hate them and think their classes are "too hard".

From my college days, I found three basic types of students:
1. Those that wanted to learn everything about computers and/or programming and would read/digest everything they could find.
2. Those that wanted to learn computers and/or programming because they wanted a good job - no strong desire to do anything extra, but good at what they learned.
3. Those that picked computer science for some unknown reason and complained about how hard things were.

I was in category 1 - I *wanted* extra credit just so I would have more programming to do. Unfortunately, from what I saw, about half the class was in category 3. If a professor tried to teach anything advanced, hed lose over half his class which was frowned upon at the time (lots of complaints to the head of the department) - I had inside info because I was friends with some of the professors.

From talking to two coworkers, things havent changed.

That doesnt explain or excuse why a professor/teacher teaches things *wrong*, such as using MsgBox in .NET. As pointed out, if the class isnt a "learn programming" or ".NET programming" class but strictly a GUI class, then it might not be so "wrong". Id still talk to the teacher after class and at least mention that there are new, more standard ways of doing a message box. I wouldnt suggest to them that theyre "wrong" because that could be subject to debate, if you like pointless debates.

Since youre obviously in my category 1 and know the right way to do it, Id maybe make the suggestion to the teacher but go ahead and do it the right way anyway.

-ner
 
Not Univeristies as such but if you look at some of the Official Microsoft courses on VB.Net they frequently use constructs like CInt, MsgBox, IsNumeric (and even tell you how to use InputBox for gods sake). This kind of thing really does wind me up as not only does it not show you the .Net way but doesnt even let you know there is an alternate way.
 
Back
Top