Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

Best language for teaching?

Im lecturer (Just got a proper employment, Yay!) on a college institution teaching media technology. Our students read a combo of media/communication courses and light weight technology courses such as webdesign, layout/print and interactive media.

Up untill now we have been teaching ASP webdevelopment to give the students an idea about how most of the non-amateur web actually works. The course also included a healthy peice of databas modelling concepts.

The primary purpose is for the students to have insight in how serverside scripting works along with databases. A secondary purpose is to give them a usefull skill that will enhance their chances of finding good jobs.

Now that regular ASP is phasing out, what would you guys recomend?

Solid arguments on any relevant technology would be highly appreciated. Remeber that the language is primarily a teaching tool though.

Eric DeBois
Monday, September 23, 2002

I might get flamed for this, and I'm a strong advocate of DotNet, but I think standard ASP is FINE for teaching about web development. ASP's main flaws are in its scalability, but it is quite easy to get results with it right away. 

People who will appreciate C# and VB.NET are those who have a grasp of OO programming, and architecting larger projects.  It doesn't sound like that is your target audiance.

Vincent Marquez
Monday, September 23, 2002

Are you focused on teaching them a logical framework for understanding things, or an implementation-oriented approach to building webware?

If it's the former, I think ASP does a horrible job since it mixes data, presentation, business logic, data access, and whatnotall in one carefully constructed mound of mayhem, even when done well.  There are several approaches out there that do a better job separating concerns.

ASP is a really good candidate, though, if you are focused on giving them stuff that's immediately useful in getting a job and banging out code.

ASPhyxiated
Monday, September 23, 2002

What language?  I don't know... I'm partial to Java/JSP, but that, like C# and OO, is not a quick learner.

In addition to the language I suggest you teach them about the "banging out code" method of web development vs. the Model View Controller design pattern.

Also a little about n-tier architecture would help broaden their horizons even though they couldn't use that with ASP.

Pete
Tuesday, September 24, 2002

Well, it would be easier on all of us if we could stick with regular ASP i guess. But I think that as a skill, asp/vbs will be pretty worthless in a year or two.

To give you an idea of the skill level. The final lecute on the course is on coding efficently. Locktypes/Cursortypes, GetString and Getrows and so on. Usually, about one third of the class "gets it".

The main contenders right now are PHP and VB.net.

Does VB.Net really require understanding of OO like C# or Java does?

Eric DeBois
Tuesday, September 24, 2002

My bias is towards .NET as it provides an enviornment where you can build enterprise level apps that can target the desktop, the web, the mobile web and mobile clients.

In addition, it is also an enviornment that requires you to have a solid understanding of OO, Design to take full advantage of the framework which is important both from an academic as well as professional software programming perspective.

While VS.NET is a world-class IDE that allows you to do all of this from one place, you do not need to use it as the .NET framework and the command line compilers are a free download and free to use as long as you are running Windows 2000 or XP.

Having said that, here are some resources that are provided by Microsoft for the Academic community to teach .NET technlogies.

Microsoft established the Microsoft Developer Network Academic Alliance ( http://www.msdnaa.net/ ) to do just want you are looking at. MSDNAA membership costs only $799 for colleges and $399 for a high school.

It includes access to the complete suite of Microsoft developer tools, servers, and platforms. A single MSDNAA license covers every professor, student, and lab computer in a college or university department or an entire high school.

There is also a student version of the Microsoft GotNet Web site at  http://www.gotdotnet.com/community/student/
where students can create home pages and discussion boards for their schools.

Check out the links above for more information.  There is was also a recent article in ASPNetPro magazine that talked in some detail about this.

You can find the article @

http://www.aspnetpro.com/opinion/2002/09/asp200209jg_o/asp200209jg_o.asp

- Anil

Anil John
Tuesday, September 24, 2002

"In addition, it is also an enviornment that requires you to have a solid understanding of OO"

Really? Looks like its PHP for us then. Our students are nowhere near a "solid understanding of OO".

Thanks for the info everyone!

Cheers

Eric DeBois
Tuesday, September 24, 2002

Good luck Eric.

The only comment that I would add would be that if you are going to be teaching students who one day hope to take their place in the marketplace of Software Development AND do well, You WILL need to teach them about OO.

It does not matter if your choice is .NET or J2EE (which are the two major development platform choices in the Corporate Arena). Both require a good appreciation and understanding of OO.

- Anil

Anil John
Tuesday, September 24, 2002

VB.NET/ASP.NET requires about the same level of OOP understanding that C#/ASP.NET does, but that's really not all that deep; you need to know a little bit more than you do for VB6/VBA (or VBScript with classes), but you can go a long way without defining a class that wasn't autogenerated.

Dave Rothgery
Tuesday, September 24, 2002

Wheyhey !

I do hope you choose PHP. I program for a living in C# but recently wrote a 'calendar/appointment booking' system in PHP and found it a joy to use. It also proves the point that there are Open Source tools out there that are reliable and fast and also encapsulate programming concepts considered to be advanced. PHP is used extensively throughout the web. Well done for thinking outside the box.

Steve

Steve Brett
Tuesday, September 24, 2002

Well, our students want to be designers or PR people mostly. There is an optional course in J2EE that covers OO and advanced web app archtecture.

Not many students take that course though, and we wouldnt feel right releasing new web people unto the market without them knowing how most of the web really works. (God knows there are to many in that category allready)

This decision isnt easy. We could teach them MS Web Matrix, but then they would know a tool, not the mechanics of database powered website.

On the other hand, having an easily managable environment locally on the students puters would be very nice. We have had a great deal of trouble in the past with out IT dep. as they forget to enable certain vital functions, or simply fail to give our students the permission to upload executable scripts to the servers. Would you beleive it...

Eric DeBois
Wednesday, September 25, 2002

I don't know why people insist on saying that ASP.NET with VB.NET requires much knowledge of OO.  If someone can write Response.Write("HI") what's so hard about mylabel.text = "HI" -- or even use HTML Controls  -- myspan.innerText = "HI".

You can always resort to "Classic ASP ASP.NET" - write code all over the HTML page.

Sure, to do cool stuff in ASP.NET, knowing OO helps, but A: For simple things (anything you can do with ASP) you don't need to understand much or any more than Response.Write, and B: the IDE makes almost all of this incredibly painless.

When I got the VS.NET Beta 1, I decided to try out ASP.NET.  It took about a week to "upgrade" my knowledge from ASP to ASP.NET  - don't know what the big deal is...

Michael Giagnocavo
Sunday, September 29, 2002

Oh, and if this is actually supposed to help them, stear clear of these scripting languages.  With great technology like ASP.NET available with awesome tools, I doubt we'll see much ASP/PHP in a few years.

Is the training to be to teach them to be web programmers or web hacks?  I just don't see much professional "simple" websites that are just some ASP scripts...

Michael Giagnocavo
Sunday, September 29, 2002

*  Recent Topics

*  Fog Creek Home