Incorporating Open Code and Standards in Education?
An Anonymous Coward asks: "I'm an instructor for a technical school that has 6 month courses designed to teach various computer skills such as graphic arts, programming, MCSE certification courses, Cisco certifications, and computer repair. I normally teach programming but have been asked by the school to create a web development course. This course should start from the assumption that the student knows absolutely nothing about computers, which is a very difficult challenge. I'm currently leaning towards teaching a course that revolves around ASP w/VBScript however I would love to be able to implement a program that uses open standards however because of the time limitations on this course I'm unsure if its possible. I'd like to ask Slashdot users what they would do if asked to develop this course"
Once they can create static content, let them play with server side includes first. It's a good introduction to dynamic content and it's pretty simple. It's also standard on most web platforms (Netscape, sorry, iPlanet, Apache, IIS).
You're not going to be able to instruct them on real dynamic content without teaching them databases as well, which is a problem. 90% of dynamic content on the web has a DB backend, whether it be Oracle, mySQL, PostreSQL or SQL server. To design that side correctly, you need to understand how to delegate responsibilities to the DB (i.e. foreign keys, referential databases etc). However, if you can get that side done, ASP has some advantages:
- It has a large market share and is probably more employable than PHP/perl
- You can get personal web server (at least under win9x) to play around on home machines
- as it's VB based, it's pretty simple.
- I'd imagine it works well with Frontpage if that's what you want to use as a tool (and let's face it, for new computer users, it's not a bad idea)
However, there isn't really anything stopping you teaching PHP. Set up a linux box as a Samba server with Apache/PHP and get them to work in Notepad (or a better text editor) to create the files, save them to the server and test from IE/Mozilla/Opera/Whatever.Good luck!
(insert BSD is dying troll here)
Wouldn't you be better off teaching them good programming skills and from that they can go on and learn any language with little effort? Maybe it's just me, but there seems to be too much emphasis on learning a language instead of learning to program. The good thing about the web is that it combines many different areas of programming.
Web development has the added problem of needing to know design programs (like Photoshop), how to code HTML (and make it work in all browsers), how to program, how databases work, the whole she-bang. While this isn't a problem for a seasoned computer veteran, having to learn all of that in one course for a complete newbie might be a problem, at least in a short time.
Anyway, what I would teach:
I am just finishing up a 12 month network administration course. I believe that those who start with no computer knowledge will in the end up learning almost nothing because the course will not wait for them and they will get further and further behind. Looking at my class, the people in my class who had the most computer knowledge got the most out of the program and those who had no experience are about two semesters behind the average person. I don't know how the teachers keep telling the students who were behind that they will be ok.
Not to get side tracked with problems I saw in my school, you should make it so that basic computer knowledge is an entrance requirement for the course. The people who already have it, won't feel like they're wasting time or money at the beginning and the people who don't won't waste their money in the end. Perhaps make a seperate "Learn Computers" class instead so that you'll have more time to focus on the real purpose of the course and things will not be as difficult for you.
PHP is an open web scripting language, and IMHO will replace ASP because of this. Beyond that, ASP will make it hard to work without buying all kinds of crap from MS.
Get an Apache server with MySQL and PHP modules running, then walk through the PHP.net Annotated PHP Manual which is all you really need to learn PHP. The annotated manual allows students to post questions or comments right on the manual to get help from PHP Experts or share their insights. There's a bit of "how to MYSQL" in there, but without some kind of database backend, you've just got static HTML pages that really don't do much. Apache also has ways to setup directories for each student to publish to.
If you want to give students something extra, point them to a good shell scripting tutorial so they can write and run their own server side scripts, which can be called upon by PHP. another good link for HTML tutorials is webteacher where they can follow some basic HTML lessons. Above all, don't make them need a textbook, this is the new age, we have no need for paper as connected web developers, and don't teach them something they'll have to pay to use in any sense like ASP.
"The Most Fun Possible on 4 wheels" is at SunBuggy in Las Vegas
You can get personal web server (at least under win9x) to play around on home machines ...
Set up a linux box as a Samba server with Apache/PHP and get them to work in Notepad (or a better text editor) to create the files, save them to the server and test from IE/Mozilla/Opera/Whatever.
This implies that you can't run Apache and PHP on Windows. However, I've developed entire sites with Apache/PHP/MySQL on Windows, which were then deployed to Linux or FreeBSD machines. It's certainly possible, and not very difficult.
--Bruce
There are 10 kinds of people in the world: those who understand binary, and those who don't.
I don't know, I guess I feel obligated to question if this course is such a good idea to begin with.
The fact of the matter is that we don't exist in a super-hyped economy where any goof with a course or two can get a job. The market is tight for stuff like web developers.
What I would recommend is introducing web concepts such TCP/IP, Markup Languages, and various graphics formats. From there, another course should be taken to either specialize in web design (which of course, is graphics oriented), or a web development pathway which would require a basis in programming.
People may recommend PHP, ASP, or whatever but the fact of the matter is that you need skills to compete in today's market and you cannot be a competive web programmer without a specialization or some kind of fundamental basis of programming.
I understand that this is a "fast-track" course but one can go only so fast. There is a fine line between accelerated learning and a scam...
int func(int a);
func((b += 3, b));
I'm inclined to say they asked the wrong person.
A six month class to students who know nothing about computers? ASP? Maybe in the 3rd class?
HTML for sure. Where to download and modify php scripts at the end IF time at the end, but I doubt it.
But you've got everything else in between. JPEG's, Gif's vs. bmp's, tiffs. Monitor resolution (apple v windows). Appearance in different browsers. What is a pixel? Copyright law ( you can't just take the graphics you find).
Different strengths of web development tools. Vector images v. raster. Photoshop v. Illustrator. What is Flash? What is javascript? What is Java?
What is a web server? What is FTP? What is http?
Or mailto?
I'd get to the "How to build a web page" and "Idiots guide to the Web" before I started planning any programming lessons!
ej0c@yahoo.com