Just got an assignment from my school...

Questions about the MySQL, PostgreSQL, and most other databases, as well as using it with PHP can be asked here.

Moderator: General Moderators

Post Reply
adlep
Forum Newbie
Posts: 4
Joined: Thu Oct 10, 2002 1:08 pm
Location: Ann Arbor, MI

Just got an assignment from my school...

Post by adlep »

Is it possible to do it via web forms/interface, PHP and MySQL?
Any feedback would be a appreciated, I am not looking for a solution, but I am not sure if I can do it via MySQL PHP combo....
Maybe there is a better way to attempt it...?
Thanks for reading...
See below for the project:

Imagine this: Your IT consulting company has been contracted by a University to develop a system which will allow their instructors the ability to generate various course exams based on a pool of questions (for each course/instructor). The application would store the pool of questions in a database for an entire course (assume a sequence of exams that cover various chapters throughout the course) and, would generate various exams by selecting questions based on a set of rules defined by each instructor (the system should allow for each instructor's exam creation rules to be uniquely defined). Only one stored data repository file is required for each instructor/course. The ability to store the data repository under a user specified filename and directory as well as the ability to load the datafile (for editing/reviewing/printing purposes) should also be included. Additionally, each set of rules (for each exam) should also be saved for future reference and be editable by the application along with the actual exam itself.

The exam question data input should contain the following fields (each of which are required data entry fields):

Þ Chapter ID
Þ Exam Question
Þ Answer (either essay answers or multiple choice answers)
Þ Multiple choice answers (from 2 to 5 selections) should be allowed to accompany each question at the instructor's discression.
Þ A way to input the exam header and footer information to be printed on each page (i.e. course name, instructor name, date, etc.)
Þ A nice feature would also allow for graphical elements to be part of an exam question in addition to just a text-based or multiple choice question (via cut/paste or "browse" for a graphic file to be included).

Once a data field has been entered the instructor will click a button to enter "Next Question" or "Clear Fields" or "Create Exam" (you should also think about how you want the "write data repository file" functionality to work). There should also be a way to load and select questions/answers from the data repository to facilitate editing. A nice feature would be to not clear all the data entry fields as a way to speed up the data entry. This feature would therefore, not require re-entering various common fields (i.e. Chapter ID) for each subsequent question. You will also need to consider and include ways to poke-yoke this system to reduce/eliminate data entry and exam creation errors.

The system also must include an on-line help facility explaining the various features, functions and term definitions, etc.



The exam creation functionality should allow for the following data entry and exam creation capabilities:

Þ A way for the instructor to specify the number of questions to include per chapter (the system would randomly select the specified number of questions from each set of chapter questions for the exam).
Þ A way for the instructor to specifically select questions from each chapter that would be included on every exam if the instructor chose to do so.
Þ The number of unique exams to create based on the previous specifications (to minimize the temptation for student cheating).
Þ A way to save/print the exam (or set of unique exams) that has been generated for that course. Printing would be in PDF format with multiple pages if required.
Þ The option to save/print the exam with the answers included for the instructor and obviously, exams without the answers for the students.
Þ You can assume that the exam will be a print-out list of questions and the student will answer those questions in a blue-book (no need to provide extra space between each question)

One again, thanks for reading....
User avatar
volka
DevNet Evangelist
Posts: 8391
Joined: Tue May 07, 2002 9:48 am
Location: Berlin, ger

Post by volka »

what kind of answer do you expect?
is 'yes, it can be done' sufficient? ;)
adlep
Forum Newbie
Posts: 4
Joined: Thu Oct 10, 2002 1:08 pm
Location: Ann Arbor, MI

Post by adlep »

Well, I guess :P
The problem is that Me and my group are total novices to the PHP and MySQL. There are 5 of us, most of us have a good knowlege of C++. I looked at the php code, and it looked kind of similar to the stuff I have already coded in C++. So I guess my question is would this assignent be very difficult to do in PHP/MySql combo, and should we even attempt to do it using these techniques...?
Last edited by adlep on Thu Oct 10, 2002 4:43 pm, edited 1 time in total.
User avatar
hob_goblin
Forum Regular
Posts: 978
Joined: Sun Apr 28, 2002 9:53 pm
Contact:

Post by hob_goblin »

adlep
Forum Newbie
Posts: 4
Joined: Thu Oct 10, 2002 1:08 pm
Location: Ann Arbor, MI

Post by adlep »

Manual Time? :?:

My group and I have plenty of time.. about 3 months, and there is potentially 5 of us to make the project...

hob_goblin... your answer is very enigmatic.....?
Last edited by adlep on Thu Oct 10, 2002 4:45 pm, edited 1 time in total.
User avatar
hob_goblin
Forum Regular
Posts: 978
Joined: Sun Apr 28, 2002 9:53 pm
Contact:

Post by hob_goblin »

adlep wrote:Manual Time? :?:

I/ My group have plenty of time.. about 3 months, and there is potentially 5 of us to make the project...
Good, read the manual... look at those links i gave you. Download the manual, even print out the manual if you have enough paper. The manual is your friend. The manual is your source of omnscience.
adlep
Forum Newbie
Posts: 4
Joined: Thu Oct 10, 2002 1:08 pm
Location: Ann Arbor, MI

Post by adlep »

omnscience? :?:
User avatar
hob_goblin
Forum Regular
Posts: 978
Joined: Sun Apr 28, 2002 9:53 pm
Contact:

Post by hob_goblin »

the manual knows everything... just read it!
Coco
Forum Contributor
Posts: 339
Joined: Sat Sep 07, 2002 5:28 am
Location: Leeds, UK
Contact:

Post by Coco »

yah from my experience php is alot more simple than c++, but then i always fell on my ass when it came to coding graphical bits and html does that easy...
and mysql is simple enough to learn... best thing to do would be to get hold of dummies mysql and php books and then use that as a base to learn proper like...

but in the main the best way to learn is to try do it yourself :) it really isnt that hard ;)
User avatar
volka
DevNet Evangelist
Posts: 8391
Joined: Tue May 07, 2002 9:48 am
Location: Berlin, ger

Post by volka »

My group and I have plenty of time.. about 3 months, and there is potentially 5 of us to make the project...
3 months are not that long to code this project if you have to learn php/mysql and to write a proper documentation. Knowing C/C++ will help you a lot learning php since you should be able to read example code and catch the idea right from where you are. Forget about the extra-tricky code optimizations and management-structures C is used to. PHP is more the easy but determined way. Make intense use of the manual and read the user contributed notes of the online-manual as well.
(My)SQL is a world in itself. Might be that this is the harder part to learn, but the proper SQL-statement at the right place can save you lots of lines of code (and grey hairs as well). When learning the basics you're not bound to a mysql-specific tutorial/book, any sql-article should do.
Maybe you want to use a higher abstraction level that disengages you from a specific database-implementation. Take a look at http://pear.php.net/

All of you should learn/know the principles of each 'realm' you will enter.
Each developer used only to one specific field only works out if you have an experienced coordinator otherwise will probably lead to chaos.
Ony way to avoid this is to talk with each other. Sounds simple but isn't - because it includes a 'willing to explain in short terms'/'willing to understand the other'-relationship and that's sometimes hard to hold up ;)
But for a 5-developer-team this should be feasable
Post Reply