[ Back ]
A Case Study for a Web Technology Online Course

by Carmen Holotescu

Collaborate comes from the Latin words laborare (to work) and com (with), and so literally means to work together. Collaboration occurs when a group of people with a common and well-defined goal integrate their individual knowledge and skills to deliver on that goal. 

For the students in Computer Science to learn how to work in groups is a key issue, that lies in the necessity of experiencing real-world working practices: in IT field the firms often use geographically distributed teams ( larger than co-located teams ). 

In fact in an online course, the instructor models the learners, provides them a pattern for their future activity, and this must be a good one. This can happen only if the instructor has a solid background not only in teaching, but also in practice. 

His goal is to foster healthy group participation, achieving a state in which, as Aristotle put it, "The whole is more than the sum of its parts; the part is more than a fraction of the whole."

The sense of group can be built from the beginning of the course, choosing a funny, attractive name for each group, and also creating for them in the group area a conference for socializing.

It is important the online learning environment facilities to offer the possibility of collaboration and also co-operation modes of learning ( of course the two modes partially overlap ):

  • Co-operative learners divide the task between themselves, each individual ( or subgroup ) then taking responsibility for that sub-task, the end result being the conglomeration of each of the sub-tasks thus making a whole.
    In this mode can be included large programs which must be developed by a group; the instructor must give a good guidance for the development phases: 
    • analysis
    • design
    • implementation
    • test
    Maybe the implementation and test are the most co-operative phases, the others need a large collaboration.
  • Collaborating learners work together to solve a complete learning task which, often, they would be unable to solve individually or prior to the collaboration.

  • Here can be included Case Studies or searching additional materials for a given topic.
 It is very important to engage students in an ongoing evaluation of their group experiences. This opportunity for reflection can take the
 form of a public conference that would give students the chance to share their thoughts and feelings regarding group work skills. 

 At the end of the course, students can be asked to provide a culminating description of what they learned from their collaborative group
 experience about themselves and about group process. 

General Approach and Structure:

This case can be used as a group project in a course of Web Technology. It is suitable both for a f2f or an online course.

It should be preceded by lessons on:

  • Javascript 
  • CGI - file I/O, data validation with regular expressions, encryption, and database interaction
  • mySQL.
It contains a Quiz, discussions on other variants, applications and extensions. The Case Study also requires the implementation of Javascripts, CGI scripts, databases.

It constitutes the fundament of many Internet applications.

Case Study - Password Authentication

It's a warm evening of spring. The breeze carries the lilac perfume. A little swallow stays on the laboratory's sash window.

Maria, Victor and Tudor don't observe it. Sitting in front of the computers, they are decided to finish their important job.

In two weeks, all the members of the mountaineering group have to meet at Balea Lake. Till then, so many details must be solved...

- I sent yesterday an e-mail to all telling that tomorrow we will be able to communicate via the Bulletin Board of our site The Best Mountaineer. It's Maria's voice, a little angry. Tudor, will you find the mistake in that silly CGI script or you are decided to keep us here for ten more hours?

- I've told you that my HTTP Authentication or Maria's Javascript-ing would be enough. But you, Tudor,  you always struggle too much, says Victor.

They all are very good and old friends. The four years of university, with so many and interesting group projects, the many mountains climbed together and their two common dreams to reach the seven top peaks and to have the best software firm, made them a real team.

A few weeks ago they designed together the site of their mountaineering group: stories and pictures from expeditions, precious memories of their teacher and leader, Dan, who climbed the Everest, many links. Dan was very proud of them and all in the Computer Science Department appreciated the site.

Then, it appeared the plan to go to Balea Lake, in the South Carpathians, in the Easter Holidays. E-mails for organizing...

Ten days ago, Tudor, boring of sending e-mails, came with the idea to put a Bulletin Board on the site. This was not a difficult task, as they adapted the well written WWWBoard of Matt Wright - the author of a free scripts archive

Then Maria told it would be better if only the Best Mountaineer-s could enter in the forum, they have customs and secrets, as in any group.... So appeared the problem of using passwords. They work hard, together, at a few variants, using the knowledge from the Web Technology course. New ideas, searches, tests, hours of work... Still, something is wrong, but where?

-Eureka! Eureka! I find, I find, cries Tudor. Look, Maria and Victor, I commented by mistake this line of CGI, now it's working!

After two hours, all the members have received their usernames and passwords. In the e-mail, Maria tells them they can change the passwords, and also is no problem if they forget them... Maria, Victor and Tudor thought at everything.

Clicking the mouse with his left hand, Victor makes to appear on the monitor the table summarizing the variants they have experimented:

l Authentication via Javascript uA small script in a html file displays a box that asks for username and password; n Very easy to implement lusername and password are unique for all
lthe protection is very low - everybody can visualize the source code of the page and so to find the username and password
l HTTP Authentication - done by the web server itself;

.htaccess file - with the authentication instructions is placed in the protected web directory

uWhenever someone tries to access a web page in that directory, their browser presents a pop-up box that asks for their username and password; n Easy to implement l.htpasswd file must be edited off-line with all the usernames and passwords 
l the passwords remain fix
lusernames and passwords are sent over the web "in the clear"- are not encrypted; it's possible for someone to run a "packet sniffer" (a program that intercepts internet traffic) to get them; not if a secure server is used  (https:// url) 
l Authentication via Database

The module mod_auth_mysql
stores usernames and passwords in a mySQL database

uA .CGI script automatically adds users to the database

uCan be added scripts for support those who forgot or want to change their passwords

nAn elegant and efficient solution

nCan be used in other Internet applications 

l A lot of work - but this can be an advantage :-)

-It was hard, but how sweet is the taste of the success! meditates Tudor. And also, our Study Case for Web Technology project is ready!

-Hey, don't dream! Look on the monitor! A posting from Casey! She asks us if .........


Online tutorials for Javascript, CGI, mySQL:  
Quiz Questions: ( press the right answer )

1.Which variant assures a better protection: 

2. What permits the adopted solution:


Discussion Questions:

  • Which of the presented variants can be used in Internet applications that manipulate secure data (credit card or bank information, stocks, etc.). How?
  • What solution is suitable for:
    • online course
    • online webzines or other members-only services.

Design, implement, and test the three variants described in the Case Study. Appropriately argue your design and comment your code.
Compare the solutions with PHP-Based User Authentication.

Visit National Center for Case Study Teaching in Science

[ Back ]