CSc 473 Website Design, Fall 2007

Added 12.7.2007: This is badly out of date, of course. At this writing (Dec 8, 2007) the best way to get an idea what the course will be like in Spring 2008 is to mouse around here and in Fall 2005 Courses. Before too long there will be a subsite for Spring 2008.

Added 10.12.2007: Here is HW4. It's in line with what we've talked about all semester. It was written for me by Daniel Ranells; thanks once more, Daniel. Dr. Chen has seen it; he says that it makes sense to him--and he has taught this same material numerous times. Daniel has also sketched HW5, which I will provide to Dr. Chen for him to assign. I'm leaving the due date on HW4 to him, but think approximately Thurs 10.25.2007, with HW5 following close behind. Look this over; you will see that it is exactly what I had talked about. With the big difference that Dr. Chen is in full command of the software, which I had never claimed to be. I was planning to learn it along with you. Later homeworks are entirely up to Professor Chen, although he and I have discussed the general scope.

HW4: Get all the data for Facebook people into the database, including name, quotes, and picture file names. Use PHP to display all people and individuals; create one page/script to show individuals and pass a value representing the person it should display. [[[Don't take completely literally; you will probably store file names of pix, not the pictures themselves. Chen will explain.]]]

Added 10.3.2007: Many thanks to Jeannet Guevara for pointers to these PHP/MySQL packages:

Here are 3 useful links
 
http://www.apachefriends.org/en/xampp.html
http://www.wampserver.com/en/
 
and this one will even lets you run a web server based on Apache/PHP/SQL from a USB without installation
http://www.chsoftware.net/en/useware/wos/wos.htm

I  have downloaded the USB version. I don't care what you do, just get Apache and MySQL running. I think the thumb drive version may be the easiest, but to be honest I could use some help getting things right, to be able to demo simple PHP files. Help! Before class today? Like this afternoon, Weds 10.3? Then I can be ready for class tomorrow. Sorry, but I need some help these days.

Added 9.27.2007: Homework 3 is posted.

Added 9.23.2007: Here is the policy on penalties for late homework. Ex post facto legislation is unconstitutional, so this applies only to HW3 and following. Added 10.14.2007: Well, a lot has happened since I posted that. I won't be carrying out that policy with great rigidity. And from here on it's Dr. Chen's call.

Late homework submission penalties

 

Added 9.22.2007: A starting point on homework 3 is posted.

Added 9.17.2007: I think I have found the source of my FrontPage publishing miseries: a few images were corrupt, or something, and were causing the upload to crash. "Were" is correct: they went way back, to the early days of what is now CSc 473, and I simply deleted them. There are now probably some broken links somewhere, on pages that can't be reached anyway, but I don't care.

Added 9.9.2007: We have a "social impacts and interconnections" thread well under way, starting with serious thought about the relationships involved in making our FaceBook projects work. We will broaden, to where a page is needed. Click here to go to a beginning of that page.

Added 9.7.2007: Take a look at this from CNN: "Dawn of the Web Potato" Video isn't just for stupid pet tricks. It's driving the Internet's future, says Fortune's Brent Schlender. Quote of the day: ". . . as the wild popularity of YouTube has shown, video and the Web were made for each other. It's only a matter of time before most video -- even plain old TV -- will be delivered to the living room via the Web."

So let's get some video into our cut-down FaceBook: at least provide a link, say, to the person's favorite clip. Try to make it intuitive and foolproof.  We talk. (For the final version, of course. And it has to be optional; some users won't have a favorite clip.)

Added 9.3.2007: HW2 is posted. We've been talking about it; here it is, in writing and expanded.

Added 9.3.2007: Daniel Ranells reminds me to tell you about W3Schools, a source of superb tutorials. Go to http://www.w3schools.com/ and mouse around in the column on the left. Lots of good stuff. If we have time, I can imagine us studying a good half of those tutorials. With many of the topics they give your some code and what it produces, then invite you to modify it and see how your modification looks. Outstanding! Two of immediate value: Learn HTML Learn CSS BUT don't try to click on those links HERE. Go to the W3Schools website and click on the links. Wow. Just do it. It's not complicated.

Added 8.30.2007: Click here for a rough early unfinished semi-prototype of a MyFace FaceBook experiment. This will be the basis for HW2 and perhaps much else. Added 9.1.2007. Wrong name. MyFace looks to be a dating site. FaceBook is a Very Big Deal website, said to be worth more than $1B. Started at Harvard early in 2004; expanded very rapidly. Now said to have 34 million registered users, at colleges, high schools, and businesses; individuals may join, as of Sept 2006. I hope lots of class members will get accounts, to be able to contribute ideas.

Added 8.29.2007: HW1 is posted.

Added 8.28.2007: In 221 yesterday I gave out the CDs for this course. Sigh. I'll get most of them back tomorrow, and give out your CDs Thursday. But there is little on it that you need at the beginning of the course. Here are links to the HTML examples from my book, which you will want to do HW1: 01HelloHTML.htm, 02FirstWithHead.htm, 03FirstStyles.htm, 04SecondStylesWithExtStyleSheet.htm, 05LinkedPage.htm, 05Links1.htm, Style1.css .  9.3.2007: ALL FIXED, I HOPE. Talk to me if not.

Added 8.24.2007: One thread running through the course will be the social impact of the Internet, from sites with high user interaction (MyFace, YouTube, etc.), to the desperate attempts of print media companies to survive by adapting ("If you can't beat 'em, join 'em), to the convenience and frustration of online banking. We're going to pick something to implement and learn the technical side, but we're also going to talk about the issue with the front page of the NY Times as prime resource. The Internet is changing society and individuals, and doing it extremely rapidly, as social change goes. I think a short essay might be in order, toward the end of the course after we've had a chance to talk about the issues.


Added 7.21.2007: It is a pleasure to acknowledge the able assistance of Andrew Hernandez in learning something about PHP, and other matters related to this course. Thanks, Andrew.

Added 7.18.2007: "Web 2.0" is mentioned below. I understand this to be an umbrella term, covering a wide range of features in which the user is an active participant in the development of a website. Think Wikipedia, YouTube, RSS feeds. This tail could all too easily wag the dog, but I'd like a bit of this. Enough to get a sense of what's going on, without detracting from Web 1.0 stuff that we want to master. (No, Web 1.0 isn't well-defined, either, that I know of.) 

A possibility: A feed (not even sure of the terminology here) where users can supply photos or video of current events. I'm writing this just after reading of the transformer explosion in midtown Manhattan on July 18. CNN.com has this: "Is news happening in front of your eyes? Pull out your camera and I-Report it for CNN. Use the form on this page to send files from your computer. Send cell phone video and photos to ireport@cnn.com. Need help? Use the Toolkit." Wowee!!! Think what happens to newspaper publishing when this hits the Big Time. Newspapers are already reeling from huge losses in classified advertising, especially (as I hear it) in cars and houses. Here comes another tidal wave!

OK, so we're not going to pioneer that, but it might be nice to have a feel of it. Not to focus on tragedy or even the negatives. Our come-on could invite people to submit scenes from City College campus. Hmm. We've got an extremely active Theater Department, producing--among other things--plays by CCNY students. Including former CS major Miriam Tabb, who switched to Theater! Well, I could get excited about this. I think I'd like to have student websites working to the point of starting to accept user inputs, by shortly after the middle of the semester. What a cool way to build bridges to other departments!

I can sense the enthusiasm building already.

Added 7.5.2007: This doesn't fit into the "flow" of any of the existing pages, so for the time being I'll stick it here.

My approach to teaching is perhaps worth a separate page. I've toyed with the idea over the years. At one stage I liked to call it the inductive approach: get a lot of ideas cooking, then pull them all together. Click to see a brief discussion of an analogy between learning applications development and learning how a car works.


Added 7.4.2007: The LAMP (Linux/Apache/MySQL/PHP) approach to Web-based apps development is well established, in industry and academia. I'm uncertain about Linux, but I think I'll not require students to use it; it's a lot to learn on top of everything else. Apache is a Web server; we'll learn what that means. MySQL is database software that is deeply-entrenched in mission-critical industrial apps. The P in LAMP apparently most commonly stands for PHP, but it could also stand for Perl or Python, according to Wikipedia. We'll do PHP. (You can get an overview of what the course is about by starting with the Wikipedia entry for LAMP and following links for an hour or two.)

The last time I taught 473, in Fall 2005, I gave students free rein to use whatever software they chose; a majority chose some variation of the LAMP approach. This time I'm going to pretty much insist on it.

If we are able to do much in the way of social networking in Web 2.0 and all that, there will clearly have to be other software as well.

Note that revisions to this page are shown in reverse chronological order, i.e., the latest is shown first. This will be the pattern of most parts of this website.


Here's how I saw the course as of the last day of June.

The course will continue to evolve. I was away from it for a year, being on medical leave in Fall 2006, when Professor Grossberg taught a highly successful course. Part of the evolutionary change will be to bring in some the things he introduced, which has a Web 2.0 flavor. That will help to keep the course up to date. (I am looking with interest at all the things Google offers, in the way of support for mashups and client-built software additions. Too soon to tell where this will lead.)

But I also see the course as a stepping-stone to a greater emphasis on Web-based applications development. In the commercial world (banking, credit card processing, insurance, on-line sales, etc.) the Web is central. The user interacts through a browser to get to a database, and information from a database comes back to the user. That's wild over-simplification of the story, of course: all the software between the browser and the database could be the subject of a full course--which I hope we will offer as soon as possible. In the meantime, 473 will have the flavor of an introduction to the world of Web-based apps development. Not coincidentally, a small but steady stream of our best students have been finding jobs in the financial services industry, otherwise known in these parts by the shorthand term "Wall Street ." I don't see how we can build a program that would assure almost all graduates such jobs, which is the case with a few other schools in our area, but I do think we can strengthen our offering in this regard. To some degree I see this course as a test bed for such developments.

OK, here's how I see the course. It will have three major divisions:

(Previous versions of the course, as I have taught it in the past few years, have been built on a nice mix of the first two. That after the early-early years (1999-2001) when the course emphasized graphic design almost entirely. That made sense and could again, but not if it's the only thing we offer in Web design. It's how I got into the ballgame.)

That could easily be three courses, three credits each. The first topic could be a course called Interface Design, applicable to any interface, Web-based or not. The second item is what the course has been mostly about in the past, with steadily increasing technical content on Tomcat, MySQL, JavaScript, etc., as I've continued to teach learn while teaching, and as the technical content has expanded. The third topic could be anything from a sociology course to an intensive treatment of the technical content involved; at this point I'm thinking of a very little bit of the YouTube kind of thing, with brief occasional mini-lectures on what Web 2.0 is doing to relationships, publishing, etc. And a good look at the newest Google stuff, for fast implementation.

I will not try to force 9 credits into a 3-credit course; not fair to students, me, or the content! What I'm thinking of doing, is trying to get a working app running--before classes start--sketching out the second major topic. I'll provide that, if I can, and ask students to understand and modify it, leading at the end of the semester to a final project that has everything working in a usable way, and a nice selection of Web 2.0 stuff. Impossible? Maybe; maybe not. I've started lots of new courses this way. (I end up reining in content goals as we go along.)

The Web 2.0 social impact aspect will take into account the criticisms in The Call of the Amateur: How Today's Internet Is Killing Our Culture, by Andrew Keen, Doubleday, June 2007. The book appears to overstate its case rather badly, but that's OK. I often do likewise, to make points clearer. Students will defend the other side of the debate, I predict. And there is a steady stream of such books, screaming The End of Civilization As We Know It, all because of user involvement in everything from music downloads to Wikipedia. They can't be entirely right, but they aren't likely to be entirely wrong, either.

473 Important dates (Fall 2007):

Thursday, September 13: No class (Rosh Hoshanah)

Tuesday, September 18: Follows Friday schedule; we don't meet, of course.

Monday, October 8: No class (Columbus Day). (But we don't meet Mondays anyway.)

Thursday, November 22: No class (American Thanksgiving)

Tuesday, December 11: Last class. Project presentations, presumably.

The Registrar will schedule a final exam, but THERE IS NO FINAL in this course.

 

For a less discursive view of the course, do this: factor in Web 2.0 and recent changes in Web apps technology, to the course the last time I taught it. Click here to get to a page that you can browse.

Back to Top of CSc 473 Fall 2007 Home Page

Back to Dan McCracken's Home Page