The course FAQ

On these pages you can find answers to some questions asked by people concerning this course. These questions have been deemed relevant for everyone following this course. If you yourself have a question, check here first. If you cannot find an answer, then send your question to Lennart Herlaar. He will reply to your question, or delegate it to someone else. If the question is of general interest, it will wind up right here.

Is it important to stick to the group distribution on the Education page?

It is allowed to change groups (without telling us so). However, when it turns out that some practice sessions are too full, we may exclude students on the basis of the group distribution. The bottom-line is: try to stick to your group.

I did the course in a previous year. What should I do?

Grades obtained in earlier versions of this course are no longer valid, as is common in the Bachelor Master programme.

I have programmed numerous PHP/etc. websites in my life for hobby or work. Can I be freed of the obligation of doing one or more of the assignments by showing you my work?

No, unfortunately not. Each assignment forces you to practice certain specific concepts and technologies that we deem (and that are) important in the context of Internet programming. Therefore, each assignment has specific requirements that must be fulfilled. It is very unlikely that your currently available work will be right on the mark. Furthermore, it would lay too much of a burden on the assistants to check all these "non-standard" websites. It is, of course, allowed to adapt a previously made website - if and only if you created it yourself - into something that meets all the requirements. (After all: if we're not able to tell the difference, we are not bothered by it either.) Besides, if you are such an experienced Internet programmer, it wouldn't be too much work anyway, would it? ;-)

What should we learn for the examination?

Go here for an overview.

Why can we not use ftp to the web server?

Ftp, telnet and rlogin are things of the past. Consider using ssh and scp instead. It takes some getting used to, but once mastered a new world opens up. More information right here. In other words: start using VPN/secure shell.

May we run our assignments on a server of our own?

Of course, but for the final grading of your assignments, we want it to run on the local INP webserver as well. Don't wait until the last day before the deadline when you need to migrate your site from your own environment to the local INP webserver. Bridging the differences between PHP versions, database platforms, etc. is not trivial if not taken into account from scratch.

Can we use software package X for our assignment?

The INP webserver configuration should be ok as it is. You may use any PHP module that is currently enabled (check phpinfo();), others cannot be used. If something's not working that you think should be working, e-mail.

You may use software packages that, for example, help you to manage your database. (For example, you could use phpPgAdmin.) Essentially, we do not want software packages taking over tasks from you, that we feel are important. A tool like phpPgAdmin for instance helps you to define PostgreSQL databases and fill them with data. This is allowed. Software that automatically generates secure code is not. These are things which you have to do for yourself.

Whether you may use code libraries in your web application depends on the exercise; refer to the explanation of the specific exercise for more information.

If you use any package, this has to be documented in a README document.

For a future generation of INP participants, I recommend that you also give your appraisal of the software: how useful was it and so on. We shall then consider recommending it to students in next editions of this course.

Why do we have to use PHP version x.y.z.n whereas version x.y.m.beta has already been available for at least two weeks?

Maintaining a stable environment for working on practical assignments proves to be quite a challenge for system administrators. Even the smallest server problem will bother many students working on the assignments. That's why we value stability and proven technology more than state-of-the-artness of the tools that we use. We hope that you'll understand. Make sure that the features that you use within your site are available in the versions of the tools/languages that are provided on tricolor.

We want to use frames, but some browsers do not support them. What now?

It is likely that you have to generate your pages anyway, so why not generate the stable parts (menus and such) as well? Frames are things from the past... (Yes, they are used within this site, but hey, we already got our diplom! ;-)

What about installing all software at home?

PHP, PostgeSQL and Apache are available free of charge from their respective developers. If you really really want to, you could use MySQL instead, but note that you must port your application to tricolor before submitting and this is not a trivial task. Alternatively, you might build your own database abstraction layer to abstract from specific differences (function names, parameter order, SQL dialects) between MySQL en PostgreSQL, again not a trivial task. Also be careful about (unknowingly) using add-ons and modules that are not installed or enabled in our environment. A better option is to set up remote access to tricolor and work on the assignment from home directly in the target environment. If you decide not to take our advice, at least don't wait until the last day before the deadline when you need to migrate your site from your own environment to tricolor. Bridging the differences between PHP versions, database platforms, etc. is not trivial if not taken into account from scratch, and even then your mileage may vary. If you just want to fiddle around a bit with Apache, PHP and MySQL on a Windows machine, WAMP server might save you a lot of configuration issues.
lennart@cs.uu.nl