Created about 12 years ago, updated almost 12 years ago
ID226
##Tool Resources
As a general principle, students can explore various tools available to help building their projects. See Tool Resources? for example tools.
However, since this is a DB course, our focus is on databases. Hence, learning how to do hands-on SQL programming is very important. While we do not restrict what tools students can use, the tools must not mask interactions with databases. In other words, students need to know hands-on SQL programming and show actual SQL calls (ie. codes) in demos. For example, PHP does not mask the interactions with databases as students still need to construct actual SQL commands. On the other hand, tools such as Hibernate and Linq are not allowed. With these tools, students do not need to write actual SQL commands to query the database (see external link: http://www.laliluna.de/first-hibernate-example-tutorial.html for some Hibernate examples and external link: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx for some Linq examples).
If you have any doubts about what tools to use, please discuss with the TAs.
##Computing Resources
We have provided mysql as database for your project development needs. Web space is also provided for hosting your project.
Both the database and web space are hosted at the CRC. More information will be posted soon.
##Tutorial Materials
###Web programming examples:
HTML + CGI + C: The HTML code is example1.html (to be placed in the public_html directory). The C source code and executable is mult.c and mult (to be placed in the cgi-bin directory).
HTML + PHP: The HTML code is example2.html (to be placed in the public_html directory). The PHP code is mult.php (to be placed in the public_html directory). The cookie and session PHP codes are multCookie.php and session.php (to be placed in the public_html directory).
AJAX: The codes from the AJAX suggestion example are the following: suggest.html, clienthint.js, gethint.php (all to be placed in the public_html directory).
All the code can be found in the zipball: Coming soon
###Project Tutorial Session
There are tutorial sessions for students. These tutorial sessions are about using PHP and MySQL to build webapps. As these sessions are quite hands-on, you should bring your laptop to the sessions. These tutorial sessions will be video recorded.
##Project Grading
Here is the breakdown of the course project grade. We will be looking at how your project satisfies the requirements below.
###Project Grading (100%):
####Stage 1
In time and complete submission for Stage 1: Functional Description and ER design (4%)
####Stage 2
In time and complete submission for Stage 2: Development Plan (3%)
####Stage 3
In time and complete submission for Stage 3: Setup development environment (3%)
####Stage 4 Initial demo (25%):
Having real data in the database (Pass=5%/Marginal=2%/Fail=0%)
Show how to insert records to the database (Pass=5%/Fail=0%)
Show how to update records (Pass=3%/Fail=0%)
Show how to delete records (Pass=2%/Fail=0%)
Show at least one query that searches the database and list or print the returned records (Pass=5%/Fail=0%)
Having specific plan for the rest of the project and the two advanced functions (Pass=5%/Marginal=2%/Fail=0%)
####Stage 5 Final Demo (45%):
Basic Functions:
Show how to insert/delete/update records to the database (Pass=3%/Fail=0%)
Having real data in the system (Pass= 5%/Marginal=2%/Fail=0%) (If you rely on users to enter data into your system, your system must be up and running at least 1 week before the presentation)
Show how to search the database and list or print returned results. You need to show a few different interesting queries over your database. One of the queries must involve join of multiple tables. (Pass=7%/Marginal=3%/Fail=0%)
Advanced Functions:
function 1: (Pass=15%/Marginal=7%/Fail=0%)
function 2: (Pass=15%/Marginal=7%/Fail=0%)
Final Report (15%)
Deadline: Finals day Dec 17th
Please create a page called "Final Report" in your project page.
Your final report needs to include the following:
Briefly describe what the project accomplished.
Discuss the usefulness of your project, i.e. why is your project useful
Discuss the data in your database
Include your ER Diagram and Schema
Briefly discuss where you collected the data and how you collected them
Clearly list the functionalities in your project
Explain one basic function
Show the actual SQL call
List and briefly explain the dataflow, i.e. the steps that occur between a user entering the data on the screen and the output that occurs
Explain your two advanced functions and why they are considered advanced
Describe one technical challenge that the team encountered. This should be sufficiently detailed such that another future team could use this as helpful advice if they were to start a similar project or were to maintain your project
States if everything goes according to the plan and the designed specifications, if not, then why
Describe the final division of labor.
Demo Presentation (5%)
Deadline: the time of your demo{*}
you need to prepare a 10 minutes presentation introducing your project and walking through its goals, features.
##Tool Resources
As a general principle, students can explore various tools available to help building their projects. See Tool Resources? for example tools.
However, since this is a DB course, our focus is on databases. Hence, learning how to do hands-on SQL programming is very important. While we do not restrict what tools students can use, the tools must not mask interactions with databases. In other words, students need to know hands-on SQL programming and show actual SQL calls (ie. codes) in demos. For example, PHP does not mask the interactions with databases as students still need to construct actual SQL commands. On the other hand, tools such as Hibernate and Linq are not allowed. With these tools, students do not need to write actual SQL commands to query the database (see external link: http://www.laliluna.de/first-hibernate-example-tutorial.html for some Hibernate examples and external link: http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx for some Linq examples).
If you have any doubts about what tools to use, please discuss with the TAs.
##Computing Resources
We have provided mysql as database for your project development needs. Web space is also provided for hosting your project.
Both the database and web space are hosted at the CRC. More information will be posted soon.
##Tutorial Materials
###Web programming examples:
1. HTML + CGI + C: The HTML code is example1.html (to be placed in the public_html directory). The C source code and executable is mult.c and mult (to be placed in the cgi-bin directory).
2. HTML + PHP: The HTML code is example2.html (to be placed in the public_html directory). The PHP code is mult.php (to be placed in the public_html directory). The cookie and session PHP codes are multCookie.php and session.php (to be placed in the public_html directory).
3. AJAX: The codes from the AJAX suggestion example are the following: suggest.html, clienthint.js, gethint.php (all to be placed in the public_html directory).
All the code can be found in the zipball: Coming soon
###Project Tutorial Session
There are tutorial sessions for students. These tutorial sessions are about using PHP and MySQL to build webapps. As these sessions are quite hands-on, you should bring your laptop to the sessions. These tutorial sessions will be video recorded.
##Project Grading
Here is the breakdown of the course project grade. We will be looking at how your project satisfies the requirements below.
###Project Grading (100%):
####Stage 1
* In time and complete submission for Stage 1: Functional Description and ER design (4%)
####Stage 2
* In time and complete submission for Stage 2: Development Plan (3%)
####Stage 3
* In time and complete submission for Stage 3: Setup development environment (3%)
####Stage 4 Initial demo (25%):
* Having real data in the database (Pass=5%/Marginal=2%/Fail=0%)
* Show how to insert records to the database (Pass=5%/Fail=0%)
* Show how to update records (Pass=3%/Fail=0%)
* Show how to delete records (Pass=2%/Fail=0%)
* Show at least one query that searches the database and list or print the returned records (Pass=5%/Fail=0%)
* Having specific plan for the rest of the project and the two advanced functions (Pass=5%/Marginal=2%/Fail=0%)
####Stage 5 Final Demo (45%):
**Basic Functions:**
* Show how to insert/delete/update records to the database (Pass=3%/Fail=0%)
* Having real data in the system (Pass= 5%/Marginal=2%/Fail=0%) (If you rely on users to enter data into your system, your system must be up and running at least 1 week before the presentation)
* Show how to search the database and list or print returned results. You need to show a few different interesting queries over your database. *One of the queries must involve join of multiple tables.* (Pass=7%/Marginal=3%/Fail=0%)
**Advanced Functions:**
* function 1: (Pass=15%/Marginal=7%/Fail=0%)
* function 2: (Pass=15%/Marginal=7%/Fail=0%)
**Final Report (15%)**
* Deadline: Finals day Dec 17th
* Please create a page called "Final Report" in your project page.
* Your final report needs to include the following:
* Briefly describe what the project accomplished.
* Discuss the usefulness of your project, i.e. why is your project useful
* Discuss the data in your database
* Include your ER Diagram and Schema
* Briefly discuss where you collected the data and how you collected them
* Clearly list the functionalities in your project
* Explain one basic function
* Show the actual SQL call
* List and briefly explain the dataflow, i.e. the steps that occur between a user entering the data on the screen and the output that occurs
* Explain your two advanced functions and why they are considered advanced
* Describe one technical challenge that the team encountered. This should be sufficiently detailed such that another future team could use this as helpful advice if they were to start a similar project or were to maintain your project
* States if everything goes according to the plan and the designed specifications, if not, then why
* Describe the final division of labor.
**Demo Presentation (5%)**
* Deadline: the time of your demo{*}
* you need to prepare a 10 minutes presentation introducing your project and walking through its goals, features.