Programming+Project

=Programming Project=

Here are the project specifications:

I recommend you download and use Camstudio (freeware) to assist your documentation. A good website for Camtasia tutorial information is http://www.screencast.be/tutorial_camstudio.html

Draft document of intended outcomes to meet skills checklist requirements || Wednesday, June 13 || Term 2 Week 7 || Draft document of inputs, processing and outputs || Friday, June 15 || Term 2 Week 7 || Proposed design, including e.g. sketches, diagrams, storyboards, code structures || Wednesday, July 4 || Term 2 Week 10 || Review outcomes of project || Wednesday, August 8 || Term 3 Week 3 ||
 * **What to submit** || **When to submit it** ||  ||
 * **Project Proposal** || Wednesday, June 6 || Term 2 Week 6 ||
 * **Stage 1 - Problem Definition**
 * **Stage 2 – Analysis**
 * **Stage 3 – Design**
 * Present all materials from Stages1 to 3 for comment and undertake any revisions required to meet standard required || Friday, July 6 || Term 2 Week 10 ||
 * **Stage 5 – Evaluation**
 * Present draft application and final draft report with accompanying documentation || Wednesday, August 15 || Term 3 Week 4 ||
 * ==Final Submission== Completed project including application and all documentation burnt onto a cd, with a hard copy of all documentation. || Friday, August 24 || Term 3 Week 5 ||

= = =Application Programming Project= = =

This is the first of two projects you will undertake for this subject. The other project will be for Relational Databases. The two projects are centrally moderated, and each worth 20% of your overall assessment for this subject. The projects are designed to assess primarily Learning Outcomes 1, 3 and 4 – your ability to: 1. apply and use information technology concepts with appropriate terminology; 3. apply skills and concepts to manipulate and process data to produce components involving complex processes; and 4. apply information technology knowledge, skills, and problem-solving techniques to create and document user-friendly, reliable, and accurate systems;

//Description of Assessment Task//
===You will design and develop an application programming solution using the Systems Development Life Cycle. This will be accompanied by a report that will document the stages of the Systems Development Life Cycle. The solution will include a user interface, provision for data input and a series of outcomes that address the needs of the scenario or setting for which the application is to be developed.=== The determination of appropriate outcomes should be based on providing useful information within the scenario and include skills as prescribed in the Skills Checklist for Application Programming included in this document. There are a number of options available: Option A – The scenario and outcomes as outlined below. Option B – The scenario as outlined below, but you have the flexibility to propose alternative outcomes. Option C – The scenario and outcomes are yours to find and devise.

//Option A – LMF Scenario//
Chris and Toby have decided to set up a business called LMF Enterprises. LMF stands for “Learning Made Fun”. The business will develop interactive learning applications and market them to schools around the world. Their initial research indicated that there was already a large number of these applications available for primary and middle school students, but not very many designed for senior school students. They have decided that recent school graduates are likely to have the best ideas about how to make engaging applications for younger students.

They are now ready to hire programmers to create the applications. They would like you to create one application for them to demonstrate that you are the kind of programmer they’ll want on their team.

Students often have trouble mastering high-level concepts when they are presented in only one way. Multiple representations of concepts can help students to deepen their understanding. This is particularly effective if students are also required to actively demonstrate their learning. Traditional, static explanations and paper-based exercises are often boring for students who prefer more dynamic ways of learning. Chris and Toby want you to create an interactive application that helps senior school students deepen their understanding of a key concept in any one senior school subject.

Your application should include:
 * 1) A user-friendly Menu.
 * 2) A dynamic and engaging explanation of the concept.
 * 3) An interactive quiz or game to help students check their understanding of the concept. Students should be able to revisit the quiz as often as they wish, and should be able to select either single-player or multiple-player mode.
 * 4) A table of results to display student progress within a session.

//Option B – LMF Scenario but outcomes of your choice//
Using the same scenario as given above, propose alternative outcomes that will allow you to meet Chris and Toby’s requirements of engaging, fun, high-quality educational learning applications.

//Option C – Real Life Problem of your own Choice//
The problem is yours to find, from your own environment, from family or friends, or you may make one up. The objectives are yours to devise and are the key to success and should demonstrate the skills required in the Skills Checklist for Application Programming included in this document.

This option has an in-built difficulty factor because you will be working without the help from your peers that is normally available when the class is doing the same project. There will be, however, the intense satisfaction of achieving success with an original project using independent learning skills. I will, of course, act as a consultant for you at all times.

//Organisation//
This project must be substantially different from the Relational Databases Project. The same concept/genre/outcomes must not be used for both projects.

One project must be an individual project; the other can be an individual or a group project. Be aware that collaboration in a group project carries its own unique blend of risks and opportunities. Consider the potential consequences (both positive and negative) carefully before you decide whether or not to undertake a group project. If you choose to undertake a group project, you must negotiate with Sonya to have your work marked individually or agree that all students within the group will obtain the same mark. Protocols will need to be clearly documented and agreed on at the start of the project. Compare the Criteria for Judging Performance for Individual and Group projects on page 5 before you make your decision.

A project consists of the development of a test system using representative data and includes documentation. The solution should be portable and able to be validated on another computer.

You are expected to apply the five stages of the systems development life cycle in designing and making a system: problem definition, analysis, design, development and validation, and evaluation.


 * Due Dates:**

· Draft document of intended outcomes to meet skills checklist requirements || · Draft document of inputs, processing and outputs || · Proposed design, including e.g. sketches, diagrams, storyboards, code structures || · Review outcomes of project ||
 * **What to submit** ||
 * **When to submit it** ||
 * **Project Proposal** ||
 * Wednesday, June 6 ||
 * Term 2 Week 6 ||
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * Wednesday, June 13 ||
 * Term 2 Week 7 ||
 * **Stage 2 – Analysis**
 * **Stage 2 – Analysis**
 * Friday, June 15 ||
 * Term 2 Week 7 ||
 * **Stage 3 – Design**
 * **Stage 3 – Design**
 * Wednesday, June 20 ||
 * Term 2 Week 8 ||
 * Present all materials from Stages1 to 3 for comment and undertake any revisions required to meet standard required ||
 * Friday, June 22 ||
 * Term 2 Week 8 ||
 * ==Stage 4 – Development & Validation== · Develop system according to design.· Modify design as required· Record validation progressively. ||
 * Friday, June 29 ||
 * Term 2 Week 9 ||
 * **Stage 5 – Evaluation**
 * Term 2 Week 9 ||
 * **Stage 5 – Evaluation**
 * **Stage 5 – Evaluation**
 * Monday, July 2 ||
 * Term 2 Week 10 ||
 * Present draft application and final report with accompanying documentation ||
 * Wednesday, July 4 ||
 * Term 2 Week 10 ||
 * ==Final Submission== Completed project including application and all documentation burnt onto a cd, with a hard copy of all documentation. ||
 * Monday, July 23, 2007 ||
 * Term 3 Week 1 ||
 * Monday, July 23, 2007 ||
 * Term 3 Week 1 ||

//approximately 100 words// Outcomes should be chosen to display the processes and data structures for application programming as stated in the Curriculum Statement and reiterated in the skills checklist. A number of inter-related outcomes can be developed to display varying levels of complexity. The system should be developed from first principles.
 * Problem Definition 5 marks**

The task may be either adapted from a list assigned by the teacher or an independent project negotiated with the teacher. //approximately 200 words// Suggest the data structures that will be required. Suggest the form/layout for data entry and the minimum inputs by the end-user. For each outcome, suggest the required categories of data and the processing required. //approximately 500 words// //includes sketch/diagrams/storyboard/code// This section is a discussion of the **proposed** design. Your teacher will review the first three sections with you for task suitability and meeting project requirements before you commence the development of the system.
 * Analysis 10 marks**
 * User Interface**
 * Data Input**
 * Outcomes**
 * Design 20 marks**

Design principles can be outlined by: · Identifying and justifying the variable types required · Discussing data structures required · Discussing the modules required for the solution. · Discussing the type of output (final or intermediate)

Design techniques and tools can be demonstrated by: · A sketch of the user interface form/layout – indicating relevant features · A sketch of data input form/layout(s) – indicating relevant features · A structure chart, indicating the breakdown and order in which modules will be executed · For each module, pseudocode that will define the solution to the outcome(s)
 * NOTE**:
 * sketch is hand-drawn
 * structure chart can be produced using Drawing tools or software, eg Visio, Inspiration, other available software

The effectiveness and the efficiency of the proposed design require no documentation. Your explanation of design principles and the techniques and tools used will be judged on, but not limited to, the following factors: · Accurate identification and assigning of variables · Elimination of repetitive structures through use of functions · Accuracy of design · Comprehensiveness //approximately 500 words// //Completed System// //Printouts (as appropriate)// //Validation Plan (table)// //Screen Capture Video or other evidence// //Code with internal comments// The development of the system is guided by the inclusion of attributes and skills from the **Application Programming checklist**. You should aim to include all items from the standard checklist in your solution. Consideration of items from the optional checklist will gain you consideration for a high achievement in this criterion, if appropriate use of the item is applied to a solution. The checklist is divided according to the user interface, data input and outcomes. The completed Visual Basic Project files and the compiled executable file are to be submitted for assessment.
 * Development and Validation 90 marks**

If a report or list is required as an outcome, a printout is required for marking.

A validation plan can be presented as a table, listing the features of each outcome to be tested, the data to be used (including extremes), the method used to eliminate errors and the evidence required to confirm success.

Screen-capture video (either as a standalone file or embedded in a presentation eg. Impress, PowerPoint or developed product) will follow you testing the system according to your proposed validation plan. This file is to be submitted for assessment. Documentation, in lieu of video, can be submitted to confirm testing of system.

You will need to explain how you have incorporated recommended practice techniques in your solution. This may be through a paragraph that refers to: · a printout of coding with internal comments · use of sensible names for variables, functions and procedure

The system will be tested by the teacher for accuracy and reliability as listed in the //criteria for judging performance.// //approximately 200 words// You are to discuss any discrepancies or modifications made to the original design that were needed in order to meet the problem definition. You are to make a judgement about the effectiveness of the solution, and identify any areas that may need further attention.
 * Evaluation 15 marks**

Discuss and recommend any further modifications to the design that could have been applied to improve the system.

The student’s performance in an //individual// project will be judged by the extent to which he or she demonstrates: //problem definition// · How clearly does the student articulate the problem and state the desired system outcomes? //analysis// · How appropriate is the data that the student identified? · How appropriate are the processing steps that the student identified to achieve a system outcome? //design// · How clearly does the student outline the design principles on which the solution will be based? · How effectively does the student use appropriate design techniques and tools? · How effective is the proposed design in addressing the problem? · How efficient is the design of the proposed system? //development and validation// · How user-friendly is the developed system? · How effectively does the student apply appropriate knowledge, skills, and processes to achieve an outcome or solve a problem? · How accurate and thorough is the validation plan? · How thoroughly does the student test the elements of the solution? · To what extent does the student incorporate recommended practices and techniques? · How accurate and reliable is the developed system? //evaluation// · How effectively does the student discuss discrepancies or modifications to the original design to meet the problem definition? · How appropriate are the student’s recommendations for improvements and modifications? The student’s performance in a //group project (**individual mark**)// will be judged by the extent to which he or she demonstrates: //collaboration// · How effectively does the student communicate with others as a member of a group? · To what extent does each student assume individual responsibility for agreed tasks and decisions made by the group? //problem definition// · How effectively does the student contribute to articulating the problem and stating the desired system outcomes? //analysis// · To what extent does each student respond to and collaborate in identifying appropriate data and identifying appropriate processing steps needed to achieve a system outcome? · How appropriate are the data and processing steps identified? //design// · How clearly does each student outline the design principles on which the solution will be based? · How effectively does each student use appropriate design techniques and tools? · How effective is the proposed design in addressing the problem? · How efficient is the design of the proposed system? //development and validation// · How user-friendly is the developed system? · How effectively does each student apply appropriate knowledge, skills, and processes to achieve an outcome or solve a problem? · How accurate and thorough is the validation plan? · How meaningfully does each student contribute to testing the elements of the solution? · To what extent does each student incorporate recommended practices and techniques? · How accurate and reliable is the developed system? //evaluation// · How effectively does each student collaborate in discussions of discrepancies or modifications to the original design to meet the problem definition? · How appropriate are each student’s recommendations for improvements and modifications?
 * Criteria for Judging Performance, Individual Project**
 * Criteria for Judging Performance, Group Project**

The student’s performance in an //group project (**same mark**)// will be judged by the extent to which he or she demonstrates: //collaboration// · How effectively do the students communicate within the group? · To what extent do the students share responsibility for agreed tasks and decisions made by the group? //problem definition// · To what extent does the group respond to and collaborate on the definition of the problem? · How clearly does the group articulate the problem and state the desired system outcomes? //analysis// · To what extent does the group respond to and collaborate on the identification of data and processing steps needed to achieve a system outcome? · How appropriate are the data and processing steps identified by the group? //design// · How clearly does the group outline the design principles on which the solution will be based? · How effectively does the group use appropriate design techniques and tools? · How effective is the proposed design in addressing the problem? · How efficient is the design of the proposed system?

//development and validation// · How user-friendly is the developed system? · How effectively does the group apply appropriate knowledge, skills, and processes to achieve an outcome or solve a problem? · How accurate and thorough is the validation plan? · How thoroughly does the group test the elements of the solution? · To what extent does the group incorporate recommended practices and techniques? · How accurate and reliable is the developed system? //evaluation// · How effectively do the students collaborate in discussing discrepancies or modifications to the original design to meet the problem definition? · How appropriate are the group’s recommendations for improvements and modifications?

=SSABSA. 2007, __Stage 2 Information Technology Systems and Studies Teaching and Learning Strategy Assessment Component 3: Projects__, [Online, accessed 10/4/2007]. URL: http://www.ssabsa.sa.edu.au/support/tech/2its/documents/2its-tl-025.doc.= =The above criteria for assessment will be applied to the Project marking scheme found in SSABSA. 2007, __Stage 2 Information Technology Systems/Studies Teaching and Learning Strategies ASSESSMENT COMPONENT 3: PROJECTS__, [Online, accessed 10/4/2007]. URL:http://www.ssabsa.sa.edu.au/support/tech/2its/documents/2its-tl-003.doc.=

· User friendly interface · Appropriate title and labels · Consistent and appropriate fonts, size, style · Objects consistent in size, placement and alignment · Tab order of objects · Size of the form is set on execution · Scroll bars disabled · Size of form is appropriate for number of objects || · Menu gives clear instructions · Picture on menu · Control tip text · Shortcut keys for navigation · On-line help or hints · User friendly message boxes / error message on navigation · Active/Inactive buttons || · Input mask (eg password) · Logical entry of data through tab order || · Validating data input entry (eg data type, appropriate value, required) · Use of pop-down/look up or value list(s) · User friendly message boxes / error messages on data input · Control tip text · Customized input mask · Active/Inactive buttons || · Declaration of variable type · Use of variables local and global · Initialization of variables · Use of a counter (Increment) · Use of built in functions (eg random, int, now) · Use of arithmetic and comparison operators · Use of calculation · Use of user-defined functions · Use of the following constructs: ▬ Sequence ▬ Selection (if, then else) ▬ Iteration (either fixed, post-test or pre-test)
 * Skills Checklist for Application Programming ||
 * **Skills should be demonstrated appropriately and consistently through the system.**
 * Some skills may be appropriate to demonstrate and include multiple times.** ||
 * **Outcome** ||
 * **Standard** ||
 * **Optional** ||
 * User Interface ||
 * · Instructions to user
 * **Optional** ||
 * User Interface ||
 * · Instructions to user
 * · Instructions to user
 * · Appropriate use of enhancements (e.g. colour, borders, shapes)
 * Data-Input ||
 * · Input through text box, command Button (mouse click) or key press
 * · Input through text box, command Button (mouse click) or key press
 * · Input through check or radio field
 * Outcomes ||
 * Code should demonstrate the following:
 * Code should demonstrate the following:

Output · output in text field has appropriate format (date/time/numbers/currency) · use of message box · appropriate message · appropriate font, size and style || · Use of one-dimensional array · Changing of object properties (eg visible) · Use of a timer function · Use of concatenation and logical operators · Use of user-defined functions (more complex) · Use of the following constructs ▬ Iteration (all fixed, post-test and pre-test) ▬ Nested selection ▬ Case statements
 * Code could demonstrate the following:

Output · Output is graphical · Use of dependent message boxes

· Other skills (student needs to list) ||

=Stage 2 Information Technology Systems/Studies Teaching and Learning Strategies=


 * ASSESSMENT COMPONENT 3: PROJECTS**


 * **Student Name(s)** ||
 * **School** ||
 * Australian Science & Mathematics School ||
 * **Teacher Name** ||
 * Sonya Paterson ||
 * **Project** ||
 * **Topic 1** ||
 * **Topic 2** ||
 * **Individual** ||
 * **Group** ||
 * **Project** ||
 * **Topic 1** ||
 * **Topic 2** ||
 * **Individual** ||
 * **Group** ||
 * **Topic 1** ||
 * **Topic 2** ||
 * **Individual** ||
 * **Group** ||
 * **Individual** ||
 * **Group** ||
 * **Individual** ||
 * **Group** ||
 * **Individual** ||
 * **Group** ||
 * **Group** ||
 * **Group** ||


 * **Topic** ||
 * **Relational Databases** ||
 * **Application Programming** ||
 * **Multimedia Programming** ||
 * **Website Programming** ||
 * **Dynamic Websites** ||
 * **Multimedia Programming** ||
 * **Website Programming** ||
 * **Dynamic Websites** ||
 * **Dynamic Websites** ||
 * **Dynamic Websites** ||


 * PROJECT PROPOSAL**

eg. Student, Sales Assistant, Business Manager,
 * END-USER:** _

eg. to learn a new concept, to manage orders, to track membership
 * SITUATION****:** _

eg. Ordering, Quiz, Game, Membership
 * SYSTEM****:** _


 * OUTCOMES:**
 * **User Interface features** ||
 * **Data Input features** ||
 * **Outcomes** ||
 * **Data Input features** ||
 * **Outcomes** ||
 * **Outcomes** ||
 * **Outcomes** ||


 * **Teacher Use** ||
 * ¨ Project proposal approved ||
 * ¨ Project proposal approved with suggested amendments ||
 * ¨ Project proposal not approved ||
 * ¨ Project proposal approved with suggested amendments ||
 * ¨ Project proposal not approved ||
 * ¨ Project proposal not approved ||
 * ¨ Project proposal not approved ||
 * ¨ Project proposal not approved ||


 * This form is from **SSABSA Support Materials:** project Record Sheet v2.doc, last updated 15 May 2007 ||


 * STUDENT PROJECT RECORD SHEET**

Australian Science & Mathematics School ||
 * **Student Name(s)** ||
 * **School** ||
 * //This Project Record Sheet should be used to record the progress and development of the project over time. It is designed to support the student in their time management, assist in negotiations between student and teacher, and to authenticate the development process from proposal to final product.// ||
 * //This Project Record Sheet should be used to record the progress and development of the project over time. It is designed to support the student in their time management, assist in negotiations between student and teacher, and to authenticate the development process from proposal to final product.// ||
 * //This Project Record Sheet should be used to record the progress and development of the project over time. It is designed to support the student in their time management, assist in negotiations between student and teacher, and to authenticate the development process from proposal to final product.// ||
 * **Teacher Name** ||
 * Sonya Paterson ||
 * **Project** ||
 * **Topic 1** ||
 * **Topic 2** ||
 * **Individual** ||
 * **Group** ||
 * **Project** ||
 * **Topic 1** ||
 * **Topic 2** ||
 * **Individual** ||
 * **Group** ||
 * **Topic 2** ||
 * **Individual** ||
 * **Group** ||
 * **Individual** ||
 * **Group** ||
 * **Individual** ||
 * **Group** ||
 * **Individual** ||
 * **Group** ||
 * **Group** ||


 * **Topic** ||
 * **Relational Databases** ||
 * **Application Programming** ||
 * **Multimedia Programming** ||
 * **Website Programming** ||
 * **Dynamic Websites** ||
 * **Multimedia Programming** ||
 * **Website Programming** ||
 * **Dynamic Websites** ||
 * **Dynamic Websites** ||
 * **Dynamic Websites** ||

//Activity// || (optional)// || · Draft document of intended outcomes to meet skills checklist requirements || · Draft document of inputs, processing and outputs || · Proposed design, including e.g. sketches, diagrams, storyboards, code structures || · Review outcomes of project ||
 * //Stage of Development//
 * //Teacher’s Comments
 * //Date// ||
 * //Signatures// ||
 * **Project Proposal** ||
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * **Stage 1 - Problem Definition**
 * **Stage 2 – Analysis**
 * **Stage 2 – Analysis**
 * **Stage 2 – Analysis**
 * **Stage 2 – Analysis**
 * **Stage 2 – Analysis**
 * **Stage 3 – Design**
 * **Stage 3 – Design**
 * **Stage 3 – Design**
 * **Stage 3 – Design**
 * **Stage 3 – Design**
 * Present all materials from Stages1 to 3 for comment and undertake any revisions required to meet standard required ||
 * ==//Stage 4 – Development & Validation//== · Develop system according to design.· Modify design as required· Record validation progressively. ||
 * **Stage 5 – Evaluation**
 * Present all materials from Stages1 to 3 for comment and undertake any revisions required to meet standard required ||
 * ==//Stage 4 – Development & Validation//== · Develop system according to design.· Modify design as required· Record validation progressively. ||
 * **Stage 5 – Evaluation**
 * ==//Stage 4 – Development & Validation//== · Develop system according to design.· Modify design as required· Record validation progressively. ||
 * **Stage 5 – Evaluation**
 * ==//Stage 4 – Development & Validation//== · Develop system according to design.· Modify design as required· Record validation progressively. ||
 * **Stage 5 – Evaluation**
 * **Stage 5 – Evaluation**
 * **Stage 5 – Evaluation**
 * **Stage 5 – Evaluation**
 * **Stage 5 – Evaluation**
 * **Stage 5 – Evaluation**
 * Present final report with accompanying documentation ||
 * Present final report with accompanying documentation ||
 * Present final report with accompanying documentation ||
 * Present final report with accompanying documentation ||
 * Present final report with accompanying documentation ||


 * This form is from **SSABSA Support Materials:** project Record Sheet v2.doc, last updated 15 May 2007 ||