Grading, Projects, Problems - Software Package

Grading is based on three components:
Homework will be assigned after most lectures. Submitting solutions, interesting approaches, and comments is not mandatory, but can be a plus for grading. The purpose of the homework is to help develop practical skills and get used with the computing environment. The homework is recommended for students auditing the lectures as well.

Take-home test and in-class short quizzes contain questions from the first three video tutorials from a set about php and SQL. These tutorials are available on lynda.com with access from https://www.cmu.edu/web/training-and-communications/training-opportunities/lynda.html (check if you have access). The tutorials describe the PHP programming language and interaction with MySQL database, and are authored by Kevin Skoglund:

Students will need to pick a final project no later than the third week of the semester and to deliver milestones every other week. A project consists in developing a (simple) software package  or module that have a defined practical purpose. Students are welcome to discuss with the instructor projects close to their scientific interests.

The students are expected to produce a polished piece of software (referred below as the project) that solves a certain problem. The software will be developed during the semester in the following steps:

Students can work in teams of maximum three at the same software package. Every other week, by Friday at noon, each team is supposed to issue a new version of the work with a brief journal documenting the progress, and a "ToDo" list kept by EVERY member of the team separately. Numbering of the versions should be determined by the stage of the work. Teams can split and fork the project development during the semester.

When finished, the project is supposed to contain:

Merits of the final project considered for grading are:

The code can be one of the following:

The problem to be solved is supposed to be simple enough, such that the emphasis is on the completeness of the implementation and on the quality of the software package.

Software Project