The main goal of this course is to let the future IT/IS managers know how to deal with web projects when the internet is adapting and changing at a speed never seen before. The internet is becoming a service-industry, a good programming management is required to keep the service innovative. The course will be a living lab to learn the power of Mashup techniques, Web 2.0 applications, ... .
It would help if the student know how to build a basic web project (HTML, PhP, MySQL). The required knowledge will be giving during class but at high speed. The student should know the web, have used some applications available out there and know how to post content and search for information.
Based on a self-defined and personal project the student has to develop a software application. During the year the student has to reach several criteria, where the most important one is to find a balance between functionality and flexibility. The development should transform during the year. Communication will be the tool to track the change (via blogs) and to lower the development cost by collaboration between the students (via forums and comments). A permanent and individual evaluation will assure a focus on the learning process instead of the actual result. The creativity of the project is more important than the creation of an operational program.
The software application will be a Drupal module that mashup several existing services from 3de party applications. It will be up to the student to find the right applications and motivate their use for the project. During the first lessons, the student will get a crash course on basic web developments using PHP and SQL. The majority of the course will be used to learn students about software-design to create flexibility. Drupal will be used as a case to demonstrate the flexibility. It will be up to the student to discover the functioning of Drupal and the large amount of possible modules. During class the underlying development will get examined, from the basic hook-system to advanced object oriented architectures.
The project can be divided in several milestones. First the project concept has to be agreed on. The second milestone is to develop the project with existing modules. The third milestone requires a problem between existing modules and their own project goal, this will be the delta to focus on. All the time the student is in pursuit to develop the project concept, she/he should not forget the specific criteria used at the end to define the grade:
Communication => 4 points
Communication can be blogs, forum topics or comments. Blogs are as a logbook for the project. This helps the student to reflect on the project and make it more clear and concrete. Forums are used to ask questions and find solutions. This helps to lower the access cost of the development.
2p => A: Knowledge sharing (give information)
2p => B: Collaboration (helping to solve other people's problems)
Functionality => 8 points
Having a well defined project with several functions. Make sure you create functions related to the focus of the project.
2p => A: Basic functioning (demonstrate what you described in your blog)
2p => B: Advanced operations (deeper understanding of function, using functions you learned about outside the course)
2p => C: Integration (using different: modules, languages, services, ...)
2p => D: Distinct value creation (created unique function or service, this will require a good modularity or some software design)
Flexibility => 8 points
Flexibility is reached by developing parts that are not created for function but to make out the design. There are many design paradigm's that can be used and an elaborate demonstration about software-design will be given during class.
2p => A: Abstractions (to clarify your project and separate functionality)
2p => B: Construction (reuse your created structures, working with building-blocks)
2p => C: Modularity (generic programming: 1 unique place for a specific function)
2p => D: Software-design (having your own API using OO-designs etc.)
* see url http://mosi.vub.ac.be/webdev/
Continuous evaluation of the development project.
Final evaluation by oral defense of project.
Contact hours: 52h.: WPO exercises
Titular: prof.dr. E. Torfs
OO-fiche n°: Vrije Universiteit Brussel-ESP-MOSI-13370