OpenLLM-France/wikimedia huggingface dataset:
# Software Engineering with an Agile Development Framework/Iteration Two/Interaction design/Paper based prototypes

ummm our text is from Norman. Need to write some.

### Familtrac=

FAMILTRACK
From the start our team wanted to include the client as much as we could in the development process. There is a risk that the client will not follow the development process. This could result in a misalignment of concepts ideas. We thought this would reduce the possible risks involved. To address this problem we implemented design and testing of the interface with the client. Some mock-ups wire frames were created. A simple web site was created to demonstrate the interactivity and actions of the application. This was received well by the client and actually brought about a redefinition of the application’s focus. A few of the interfaces were developed with the clients input. Looking back this was a very demonstrated to me when another project group was having difficulty with their client. The client was expecting something different from what was presented. It is important to test early and then test some more.
Project Approvals: Aug 2001: Project stage one and two signed off on behalf of Dunedin Visitor Centre and IT3
May 2002: There was agreement on the FamilTrack interface after an interview with the client on 27 May 2002. The client was shown the wire-frame web interface and the paper based wire-frames.
September 2002: The Familtrack prototype was shown to the client prior to used testing. The application was installed at the Visitor Centre while user testing was being completed. This was an opportunity for the client to inspect the application.
Interviews: Monday, 27 May 2002
Discuss wire frames: • communicate plan • approve designs • assess changes
Findings: • ideas were discussed • wire frame designs were discussed
Approve designs: • client approved designs
Assess changes: • client communicated a change my understanding of the goals of the users when the data was extracted from the system • Focus on grouping by regions for information input • Focus on the familiarisation tour during input.
Interface Design Interface design terms of reference The interface design appendix shows the development of the FamilTrack interface.
Procedure The look and feel of the FamilTrack was designed and tested with users prior to implementation. The following steps were followed:
* Concepts and ideas developed on paper. A brainstorming technique was combined with group discussion. • Paper based wire frames were developed. • Web based interface if wire frames was created. This was tested with 2 users and the client.
Design Steps – concepts and ideas This consisted of discussion of the project with different groups:
* Discussion of concepts and development ideas within the team • Discussion of project with other students and lecturers • Discussion with the team mentor, Andrew Sewell • Interview with the client (Interview 1 & 2)
Paper based wire frames

### Example

more
more
# Software Engineering with an Agile Development Framework/Iteration Two/Interaction design/Interactivity

* Case study Kaikorai Stream Livetime
* Group: for Simon McMillan, Kaikorai College
* Kaikorai College straddles an urban stream. Dr Simon McMillan has a long running project to reconnect the community with the environment - using the stream as a catalyst. This project aimed to provide links between the educational curriculum and the stream.
* Functional requirements included:
* Live time graphing of parameters measured in the stream
* Interactive educational games and activities aimed at students
* Various maps of the stream and surrounding area
* Current and archive news of the stream and its condition
* The real time graphs can be configured by students to help answer questions that arise from questions in science, social studies etc.
# Software Engineering with an Agile Development Framework/Iteration Two/Good requirements

will be the page about structuring requirements

## Requirements template
# Requirements Specification

| ===Functional Requirements === (What the system does, 10 –12 of these, this is the important bit. Think about how the users will use the system – what will they need it to do? Be specific to your project. |
| Number examples | Requirement The system shall: | Description |
| FR1 | Allow museum object data entry | The users will need to add new data to the system when items are donated to the museum. |
| FR2 | Enable public access to stored museum data | Researchers may wish to access stored genealogical, shipping and local history information. |
| Non-Functional Requirements (what the system has) |
| A. Data Requirements |
| Numberexamples | Requirement The system shall: | Description |
| D1 | Store object acquisition data | As objects are acquired by the museum, data relating to the object must be captured |
| D2 | Store object location data | Enables the staff to quickly locate any museum object. |
| B. Security Requirements |
| Number examples | Requirement The system shall: | Description |
| S1 | Prevent unauthorised changes to museum data | Public using the system must not be able to delete files. |
| C. Interface Requirements |
| Number examples | Requirement The system shall: | Description |
| I1 | Provide an administration interface | Administrators will need to access the system directly for editing. |
| I2 | Provide an interface which reflects the Maritime Heritage theme | This is important to ensure public and government support for the new buildings |
| D. Constraints What might limit the development of the system |
| Number examples | Requirement The system shall: | 'Description' |
| C1 | Cost less than $20,000 | Little funding available for software. |
| C2 | Be completed by January 2004 | 'This allows the system to be running in time for the new school year' |
# Software Engineering with an Agile Development Framework/Iteration Two/Interaction Design
## Use Northern Cemetery example of careful process

Did prototype and then started to implement but realised still needed to do design Stable platform Prototypes basis for communication with client
“Prototyping was undertaken, and initially began by making up some rough web pages in Macromedia Dreamweaver, investigating possible layouts for pages such as the home page and the burial details of an individual. While these pages focused on layout, colours were just randomly chosen when the colour schemes that the client had expressed interest in could have been included instead. After meeting and having some heated discussion surrounding this issue, the group reached the conclusion that this method of prototyping was not going to work and that a more structured approach was needed”.
# Question Writer Manual/About Questions/Adding Pages
## Adding Pages

* You can add pages directly to a quiz or within sections of a quiz and display several questions on a single page. For example, this feature can be used if you use an Explanation type question to set a passage of text and then ask a series of questions about that text.
* To add a page, right click when your mouse is over the Quiz (or section) and select Add - Page.
* You can also add a page from the Add Question drop down menu.
* You can name your page by right clicking your mouse while on page, selecting Properties and adding a page title in the popup. You can also move your page up or down the menu by right clicking your mouse while on page, selecting Move Up or Move Down.
* Once you have added the page you can add questions to the page by right clicking and then selecting Add-Question, or by dropping and dragging from elsewhere in the quiz or from another quiz.
* If you are using pages within a quiz, you will not be able to give your quiz takers the option to zoom images. Images will be displayed in line as it can be confusing to have multiple zooming images.
# Question Writer Manual/About Questions
## About Questions

* Introduction to Questions
* Adding Questions
* Adding Pages
* Question Options
* Question Types
* Scoring Questions
* Custom Feedback
* Skipping and Branching
* Question Display
* Question Metadata

### Introduction to Questions

The Standard version of Question Writer allows you to set 7 different types of question.
* Multiple Choice
* Multiple Response
* True/False
* Fill in the Blank
* Sequencing
* Matching
* Essay
* The Professional version of Question Writer has an additional 3 question types:
* Partial Credit
* Explanation
* Plugin
Question Writer allows you to randomly select the questions asked in a quiz from a question pool. You can have a very large number of questions in a pool (tested up to 10,000) from which to create a random quiz. However, you should limit the number of questions actually asked in a quiz to 200 questions without question feedback, or 100 with feedback.
If you need your quiz to have more questions, it is best to create multiple quizzes of around 100/200 questions and link them together using the After Quiz option.
Another way to include a large number of questions is to use Pages. Where you are using pages, the above limit applies to the number of pages, not to the number of questions. For example, you could have a 100 page quiz, with 5 questions per page and full feedback.
# Question Writer Manual/About Questions/Essay
## Essay

In this question type you can ask the quiz taker to write a short Essay. The subject of the essay is described in the Question Body box and you can limit the height of the text box entering the number of lines. Essay questions are not automatically scored and so the feedback for these questions is limited to a single piece of text, written in advance. You can switch this feedback off by unticking Display Feedback Page for Essay Questions in Quiz Options - Other Labels.
# Question Writer Manual/About Questions/Explanation
### Explanation

* The Explanation question is not really a question type. You can use it to add text and/or an image to a page in the quiz, without needing to have an interactive element of score. This is useful if you want to:
* add an introduction or explanation to a section
* give the quiz taker a break in the middle of a long quiz, or
* provide some reading material for a comprehension question
# Question Writer Manual/About Questions/Adding Questions
## Adding Questions

It is easy to add a question to your quiz. This can be done either by clicking on Add Question on the menu bar
and then selecting the type of question:
Or by clicking on the icon on the tool bar for the particular question type that you wish to add.
Or by right clicking when your mouse is over the quiz icon and selecting Add, then select your question type.
For each question type a properties window will open where you can add relevant information along with the question text. Each question type allows you to:
* add an image
* set the number of points that a correct answer will score and
* give appropriate question level feedback.
To add an image, simply tick the include image box and then use the browser to select and insert the image of your choice. The image should be in a .jpg or .gif format. Once you have selected the image you want using the Add Files... button you click the Use File button and the image will appear in your question.
After you have entered your question details you can see a preview of how it will appear onscreen by clicking on the preview button at the bottom of the properties window.
There are some handy tips on how to improve the quality of your images in our blog.
Once you are satisfied with the question properties click OK. You will then be returned to the Action Panel and will be able to see the questions already added.
# Question Writer Manual/About Questions/Fill in the Blank
## Fill in the Blank

For this type of question you can input a range of possible correct answers. For example if there are abbreviations commonly used you can include them, with all possible varieties of punctuation - if Saint Peter was the answer, you could allow for St Peter; Saint Peter; and St. Peter.
In the Question Options properties window you can opt to require that the capitalization of the answer be correct.
You can change the length of the "blank" by adding as many underscores _______ as you need.
* In addition if have you the latest Professional Version of Question Writer you can opt to allow some error and to award full or partial marks to students who come close enough. You can specify how close by changing the %error allowed. The default setting is 30%, meaning 3 errors in a 10 letter word or 1 in a 4 letter word.
* An error can be one of the following:
* Wrong letter (Necessery)
* Missing letter (Necesary)
* Extra letter (Neccessary)
* Two letters switched around (Recieve)
* Where case-correct answers are required, switching the case of a letter is also marked as a single error. (washington)
* This is set up as part of the Quiz Properties in Question Options.
# Question Writer Manual/About Questions/Matching
## Matching

With this type of question you are asking the quiz taker to match pairs; for example countries and capital cities or heroes and heroines. The quiz taker will be able to drop and drag one element of the pair to make the match.
You can opt to award marks only to quiz-takers who get the all the matches correct - or you can award partial credit proportional to how many correct matches have been made.
You can also limit the number of matches that are displayed each time a questions is used. This is useful if you have a large data set and a single question showing all the possible matches would not be feasible. You can use this feature to limit the number of matches and then reuse the question either in the same quiz or in a different quiz. This example contains all 50 US states and capitals but you could also for example use this feature for periodic table symbol questions or indeed for any other large datasets.
# Question Writer Manual/About Questions/Multiple Choice
## Multiple choice

First enter the text of the question in the Question Body text box and then enter the options from which the quiz taker will have to choose. You can enter up to 99 options. Remember you must check the box beside the correct option. Only one option can be correct for a Multiple Choice Question and the user will either get full marks for a correct answer or no marks for an incorrect answer.
Select Individual Option Feedback to give the quiz-taker feedback that is specific to the option selected.
# Programming Fundamentals/Review: Structured Programming Group

Review materials that support a group of chapters in the "Programming Fundamentals - A Modular Structured Approach using C++" collection/textbook.

## Strategy Discussion

Exams vary depending on your instructor. Many will use the following:
* Definitions
* Self-grading questions including true/false, multiple choice, short answer, etc.
* Problems
The materials in this textbook/collection have covered these items at the end of every chapter within the Practice module for that chapter. We suggest the following test preparation strategies:
* If your professor is testing the definitions and expecting you to have them memorized, you should review the "Using the Flash Card Activity" within the "Study Habits that Build the Brain" module within the Appendix materials. Practice writing your definitions using the Flash Card Activity in conjunction with the Memory Building Activities (MBAs) available within the Practice modules or in the Memory Building Activities within this Review module.
* Do a quick review of any exercises within the Connexions modules or the Practice modules. Also review quizzes or exams that you have taken and pay special attention to making sure you understand why you missed a question.
* If your professor has indicated that they might include a few of the problems presented within the Practice modules, make sure you have formulated a good answer for each problem. If authorized, collaborate with other students to improve your answers to the problems. Spend a moderate amount of time reviewing each problem with its answer before the exam.

## Miscellaneous Items

Link to: Animated gif showing an if then else
Link to: Animated gif showing a do while loop
Link to: Animated gif showing a while loop
Link to: Manipulation of Data Part 2
Link to: Manipulation of Data Part 3
# Programming Fundamentals/Show Hide File Extensions

General instructions on how to show or hide file extensions. Specific instructions and web page links for Windows XP, Windows Vista and Windows 7 operating systems.
By default, file extensions for known file types are hidden in Windows operating systems. However, you can change this setting so that file extensions are shown for all file types. Being able to see file extensions can be very helpful for students taking computer courses because those course instructions often refer to file extensions.
All Windows operating systems navigate you to the “Folder Options” menu, then have you select the “View” tab. Indeed the box is identical in Windows XP, Windows Vista and Windows 7.
The check in the box acts like a toggle switch. With a check present, it will hide known file types. Without the check present, it will show all file types. Click on the box to make the check appear [hide file extensions] or disappear [show file extensions] and then select “OK”.
Instructions for navigating to the “Folder Options” for various Windows operating systems along with an Internet link for additional help are provided below.

## Windows XP

With the Windows Explorer open, slect the “Tools” tab and then “Folder Options”.
Link for additional help: http://www.fileinfo.net/help/windows-show-extensions.html or http://dotwhat.net/page/displayextensions/

## Windows Vista

Select the “Start” button, then “Control Panel”, then “Appearance and Personalization” and then “Folder Options”.
Link for additional help: http://windows.microsoft.com/en-us/windows-vista/Show-or-hide-file-name-extensions

## Windows 7

Select the “Start” button, then “Control Panel” and then “Folder Options”.
Link for additional help: http://maximumpcguides.com/windows-7/hide-file-extensions/
# Programming Fundamentals/Searching Arrays
## Overview

Linear search or sequential search is a method for finding a target value within a list. It sequentially checks each element of the list for the target value until a match is found or until all the elements have been searched.

## Discussion

Finding a specific member of an array means searching the array until the member is found. It’s possible that the member does not exist and the programmer must handle that possibility within the logic of his or her algorithm.
“The linear search is a very simple algorithm. Sometimes called a sequential search, it uses a loop to sequentially step through an array, starting with the first element. It compares each element with the value being searched for and stops when either the value is found or the end of the array is encountered. If the value being searched for is not in the array, the algorithm will search to the end of the array.”
Two specific linear searches can be made for the maximum (largest) value in the array or the minimum (smallest) value in the array. Maximum and minimum are also known as max and min. Note that the following max and min functions assume an array size >= 1.

### Output
## Key Terms
### linear search

    Using a loop to sequentially step through an array.

### maximum

    "max" is an abbreviation for maximum, which means the largest member of an array.

### minimum

    "min" is an abbreviation for minimum, which means the smallest member of an array.

## References

* cnx.org: Programming Fundamentals – A Modular Structured Approach using C++
* Wikiversity: Computer Programming
* ↑ Wikipedia: Linear search
* ↑ Tony Gaddis, Judy Walters, and Godfrey Muganda, Starting Out with C++ Early Objects Sixth Edition (United States of America: Pearson – Addison Wesley, 2008) 559.
# Programming Fundamentals/Sorting Arrays
## Overview

A sorting algorithm is an algorithm that puts elements of a list in a certain order. The most frequently used orders are numerical order and lexicographical order. Most current programming languages include built-in or standard library functions for sorting arrays.

## Discussion

Sorting is the process through which data are arranged according to their values. The following examples show standard library and/or built-in array sorting methods for different programming languages.
| Language | Sort Example |
| C++ | #include <algorithm> sort(array, array + sizeof(array) / sizeof(int)); |
| C# | System.Array.Sort(array); |
| Java | import java.util.Arrays; Arrays.sort(array); |
| JavaScript | array.sort; |
| Python | array.sort |
| Swift | array.sort |
| Language | Reverse Sort Example |
| C++ | #include <algorithm> sort(array, array + sizeof(array) / sizeof(int), greater <int>); |
| C# | System.Array.Sort(array); System.Array.Reverse(array); |
| Java | import java.util.Arrays; Arrays.sort(array, Collections.reverseOrder); |
| JavaScript | array.sort; array.reverse; |
| Python | array.sort(reverse=True) |
| Swift | array.sort(>) |

## Key Terms
### sorting

    Arranging data according to their values.

## References

* cnx.org: Programming Fundamentals – A Modular Structured Approach using C++
* ↑ Wikipedia: Sorting algorithm
# Programming Fundamentals/Review: Modular Programming Group

Review materials that support a group of chapters in the "Programming Fundamentals - A Modular Structured Approach using C++" collection/textbook.

## Strategy Discussion

Exams vary depending on your instructor. Many will use the following:
* Definitions
* Self-grading questions including true/false, multiple choice, short answer, etc.
* Problems
The materials in this textbook/collection have covered these items at the end of every chapter within the Practice module for that chapter. We suggest the following test preparation strategies:
* If your professor is testing the definitions and expecting you to have them memorized, you should review the “Using the Flash Card Activity” within the “Study Habits that Build the Brain” module within the Appendix materials. Practice writing your definitions using the Flash Card Activity in conjunction with the Memory Building Activities (MBAs) available within the Practice modules or in the Memory Building Activities within this Review module.
* Do a quick review of any exercises within the Connexions modules or the Practice modules. Also review quizzes or exams that you have taken and pay special attention to making sure you understand why you missed a question.
* If your professor has indicated that they might include a few of the problems presented within the Practice modules, make sure you have formulated a good answer for each problem. If authorized, collaborate with other students to improve your answers to the problems. Spend a moderate amount of time reviewing each problem with its answer before the exam.

## Miscellaneous Items

None at this time.