GB2484087A - Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface - Google Patents

Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface Download PDF

Info

Publication number
GB2484087A
GB2484087A GB1016310.3A GB201016310A GB2484087A GB 2484087 A GB2484087 A GB 2484087A GB 201016310 A GB201016310 A GB 201016310A GB 2484087 A GB2484087 A GB 2484087A
Authority
GB
United Kingdom
Prior art keywords
user interface
graphical user
block
input
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1016310.3A
Other versions
GB201016310D0 (en
Inventor
Peter Osmon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to GB1016310.3A priority Critical patent/GB2484087A/en
Publication of GB201016310D0 publication Critical patent/GB201016310D0/en
Priority to PCT/GB2011/051823 priority patent/WO2012042253A1/en
Publication of GB2484087A publication Critical patent/GB2484087A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • G06F17/246
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The interface displays a portion of the workbook page and receives user input, particularly via a touchscreen. An input location of the user input relative to the displayed page is determined, particularly as a cell 35 in a grid 31, and a content type, particularly a character, a file shading, a drawing fragment, a line element, or a plotting point, is associated with the input and the user input is correspondingly stored as content data associated with the data type. Also claimed is apparatus for displaying the interface and a plurality of cell elements configured to store components of a mathematical expression or Cartesian graph. Also claimed is a system of electronic devices in a network, each device storing a data structure associated with a two-dimensional grid of an emulated mathematical workbook page.

Description

Apparatus and methods for an emulated mathematics workbook
Field of the Invention
The present invention relates to providing functionality to an electronic device, and more particularly to an electronic device having a touch-sensitive display screen that provides user interaction with an emulated mathematics workbook.
Background of the Invention
Hitherto, the use of computing in pre-16 mathematics education, where in principle it has a major role to play, has depended on devices, such as scientific calculators and commercial spreadsheets, designed for purposes beyond education, and with inherent disadvantages in the educational context: applicability to only fragments of the curriculum and introducing a range of facilities and practices to students that are outside their teachers' control.
Statements of Invention
School mathematics workbooks in which the pages are printed with a grid of square cells, on which lines are drawn, symbols are written, and tiles painted, have played, and continue to play, an important part in mathematics education practice in the UK and elsewhere. The imminent availability of cheap tablet Personal Computers (tPCs) will speed the adoption of computing in education. The invention emulates in a tPC the appearance and usage of a traditional mathematics workbook. The invention, in the form of a layer of software residing on top of the hardware and operating system and communication capabilities of a tPC, adds data entry and manipulation techniques, including procedure demonstrations, to make the emulated workbook an interactive and potentially powerful instrument for mathematics education.
According to one aspect of the present invention, a mathematical workbook graphical user interface (GUI) is provided, comprising a data structure storing data defining a plurality of entities in a workbook page, each entity including content data associated with one of a plurality content types. The GUI displays at least a portion of the workbook page, receives user input, determines an input location of said received user input relative to the displayed portion of the workbook page, identifies a content type associated with the user input based on the determined input location, and stores said received user input in the data structure as content data associated with the identified content data type.
Preferably, the plurality of entities are associated with a two-dimensional grid in the workbook page, the two-dimensional grid comprising a plurality of cells, grid lines therebetween, and intersection points of the grid lines. Preferably, the plurality of cells are uniformly sized square cells.
Preferably, the GUI determines from said input location whether the user input is within a cell, on a grid line, or at an intersection point. The plurality of content types may comprise a character type, a tile shading type, a drawing fragment type, a line element type, and a plotting point type. The line element type may comprise a vertical line element type and a horizontal line element type. Preferably, when the user input is determined to be on a grid line, the content type of the user input is identified as a line element type; when the user input is determined to be at an intersection point, the content type of the user input is identified as a plotting point type; and when the user input is determined to be within a cell, the content type of the user input is identified as one of a character type, a tile shading type or a drawing fragment type. The content type of the user input may be identified based further on a selected input mode.
Preferably, the GUI receives a result of symbol recognition of the received user input and determines whether the content type of the user input is a character type, a tile shading type or a drawing fragment type based on said result of symbol recognition. The result of symbol recognition may identify a recognised input symbol from user handwritten input, and the recognised input symbol may be stored in the data structure as said content data.
Preferably, the GUI enables user selection of a block of contiguous cells in the two dimensional grid, and wherein the user is able to define a block entity from the selected block.
Preferably, the user defined block entity may comprise a plurality of nested block entities.
The data structure may further store data defining said block entities, including data identifying the boundary of the region of contiguous cells within a block entity. User selection of a block entity may be determined from a user input location and the stored boundary data identifying a block entity. Preferably, the GUI enables user input of a command to be performed on the entities in the selected block. The input command may be to un-block the entities in a selected block or to modify the block entity. Modifying a block entity may involve automatically moving content data of at least one entity adjacent the modified block entity to a respective empty entity. Modifying a nested block entity involves automatically modifying the block entity comprising the nested block entity.
Preferably, the data structure further comprises data for one or more pre-defined blocks of input entities, each pre-defined block comprising one or more entities for one or more cells in the two-dimensional grid, and facilitating input of a user selected pre-defined block to one or more cells, wherein the input entities defined in the pre-defined block are stored as the entities for corresponding cells in the two-dimensional grid..
Preferably, the GUI further comprises storing a data input sequence for a workbook page, and performing step-by-step playback of the sequence of user inputs. Each playback step may comprise displaying content data in one or more successive entities of the workbook page. A prompt may be displayed for at least one of the playback steps, the prompt comprising a text description displayed adjacent the corresponding entities of the workbook page displayed by that playback step. The stored data input sequence may be generated by recording each input to a workbook page by a user as a recording session. Preferably, the GUI enables user input to facilitate navigation of the displayed workbook page.
Preferably, the GUI further facilitates protection of the stored data and storing data identifying access and/or usage restrictions for the stored data. Access restrictions may be based on predefined time-windows for allowing access to the stored data.
According to another aspect, the present invention provides an apparatus comprising a touch sensitive display screen for displaying an emulated mathematics workbook graphical user interface including a plurality of input cell elements in a two dimensional grid, and for receiving user input of displayed entities associated with a cell, whereby each of a plurality of cell elements is configured to store a respective component of a mathematical expression or a Cartesian graph as a displayed entity.
According to yet another aspect, the present invention provides a system comprising a plurality of electronic devices in a computer network, wherein each device is arranged to store a data structure storing data defining a plurality of entities associated with a two-dimensional grid of an emulated mathematical workbook page, and to display at least a portion of the workbook page, wherein at least one transmitter device is operable to transmit at least a portion of stored data to at least one other device in the computer network.
Preferably, each device is alTanged to store data defining a plurality of workbook pages, and said transmitter device is operable to transmit stored data stored data of one workbook page to at least one other device in the computer network. Preferably, each device further facilitates protection of the stored data and storing data identifying access and/or usage restrictions for the stored data. Access restrictions may be based on predefined time-windows for allowing access to the stored data.
In yet a further aspect of the invention, there is provided an apparatus for providing the mathematics workbook graphical user interface as described above. In another aspect, there is provided a computer program ananged to provide the mathematics workbook graphical user interface when executed on an electronic device.
The invention takes advantage of the imminent availability of cheap tablet Personal Computers (tPCs), potentially affordable by all students in developed countries, to add a rich layer of software and so provide a user-friendly interactive mathematics learning environment from the primary years onwards, across most of the curriculum. The invention aims to do this by bridging, in a controlled way, the gulf between traditional mathematics learning tools-pencil and workbook-and the associated teaching and learning practices, developed over generations, and the high quality mathematics learning software increasingly becoming available to support post-16 mathematics.
Besides the basic touch sensitive screen of the tPC, the invention aims to take full advantage of other input/output means-including voice and high-bandwidth communications technology to enrich the learning environment. It is a further aim of the invention that the value of the learning environment shall be constrained only by the limitations of the workbook metaphor and the imaginations of those developing learning materials for it. To this end, means are provided to support developers' efforts to extend the range of learning procedures available to users-not just directly to students but also to their teachers and examiners.
Thus, the workbook can fulfil the roles of: (a) Textbook: with demonstrations and worked examples students may step-through procedurally, and (b) Exercise book: with exercises and problems to be worked and checked, with feedback given, either afterwards or in real-time, and (c) Shared medium for group-work: access shared with the teacher or a group of students according to the learning situation, and (d) Examination paper: which may be loaded into the workbook over a network, remain invisible to the student until the time of the examination, and afterwards be returned over the network to the examiners, and (e) Student record: just like a paper workbook, but with more levels of insight, the emulated workbook provides a detailed record of progress.
A further feature of the invention is that teachers can control the release to their students, of the various emulated workbook facilities, according to their students' ages and experience.
Brief Description of the Drawings
Specific embodiments of the present invention will now be described with reference to the accompanying drawings, in which: Figure 1 is a block diagram of an electronic device according to an embodiment of the invention; Figure 2, which comprises Figures 2a and 2b, is a schematic illustration of an example visual output displayed by the electronic device according to embodiments of the invention; Figure 3 is a schematic illustration of an exemplary template block for constructing tables according to an embodiment of the invention; Figure 4 a schematic illustration of an exemplary template block for constructing positive quadrant Cartesian graphs according to an embodiment of the invention; Figure 5 is a schematic illustration of an exemplary template block for constructing four quadrant Cartesian graphs according to an embodiment of the invention; and Figure 6 is a state flow diagram illustrating an example of step-by-step playback according to an embodiment of the invention.
Detailed Description of Embodiments of the Invention Figure 1 is a block diagram schematically illustrating the hardware components of an electronic device 1 according to one embodiment of the invention. In this embodiment, the electronic device 1 is a handheld, portable computing device with a touch sensitive display screen 3 for visual output and user input for example by way of a stylus, pen or finger, as is commonly known. A controller S is provided for overall control of the electronic device 1 and may have associated with it a working memory 7, such as RAM memory, ROM memory, flash memory, or any combination thereof The working memory 7 may be used for various purposed by the controller S as is generally known.
Additionally or alternatively, other input/output interfaces 9 may be provided, such as a keyboard, keypad, microphone, camera, speaker, LED indicator, etc. As is commonly known, a user may operate the electronic device 1 through the user interfaces, as will be described below. A symbol recognition engine may be included in a software driver for the touch sensitive display screen 3 or may be provided as separate software executable by the controller 1. As those skilled in the art will appreciate, various existing algorithms for implementing symbol recognition from user input handwriting are well known and may be used to implement the symbol recognition engine.
The electronic device 1 also includes a persistent data storage unit 13 which may be for example, a hard disk drive, for permanent storing of data for the emulated workbook, including arrays 15 of data associated with one or more pages 17 of the emulated workbook, and predefined symbol alphabets and pixel patterns 19, as will be discussed in detail below.
The data storage unit 13 may also be used to store program instructions for the emulated workbook software in the portable computing device, including program instructions for causing the electronic device to become configured as the emulated workbook of the present invention and to display the various elements of a graphical user interface and receive user input via the graphical user interface. The program instructions and/or data for the emulated workbook may be loaded into the data storage unit 13 from one or more external storage media 20, such as a CD, DYD or removable flash memory.
The electronic device 1 may also include one or more communication interfaces 21.
Communication interfaces 21 allow software and data to be transferred between the electronic device 1 and external devices. Examples of communication interfaces 21 may include a modem, a network interface (such as an Ethernet card), a communication port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communication interfaces 21 may be in the form of signals 23, which may be electronic, electromagnetic, optical, or other signals capable of being received by communication interfaces 21. These signals 23 are provided to communication interfaces 21 via a communication path 25. Communication path 25 carries signals 23 and may be implemented using wire or cable, fiber optics, a phone line, a wireless link, a cellular phone link, a radio frequency link, or any other suitable communication channel. For instance, communication path 25 may be implemented using a combination of channels.
Aspects of the emulated workbook according to the present embodiment will now be described in more detail.
1. Symbols The characteristic appearance of pages in school mathematics workbooks is a faintly-ruled-grid dividing the page into an array of multiple square cells (typically 5mm wide and high). Students generally use this printed background grid to assist them in performing three distinct and independent tasks: writing characters or painting tiles in the cells, drawing lines along the grid lines, or plotting points at the grid intersections (as when constructing graphs).
As schematically illustrated in Figures 2a and 2b, the invention emulates this situation by providing a background display on the screen of a tPC of just such a grid 31 on just such a workbook -page 33-1, 33-2, and by distinguishing, by the positions touched on the screen whether (A) the user is writing/painting in a cell 35, (B) drawing a line 37 along a grid line 31, or (C) plotting a point 39 at an intersection. The individual entities users may write/paint/draw/plot will be referred to as "symbols".
The facilities and mechanisms provided for users of the emulated workbook, at the symbol level of detail, are described below. They permit assembly of blocks of symbols 41, having a professionally produced appearance, and resembling all familiar mathematical forms, such as formulas and equations 41-1, 41-2, proofs, graphs 41-3, bar charts, tile patterns 43-4, etc-subject only to the limitations of form (Cartesian grid) and precision (grid pitch) imposed by the grid 31 of square cells 35.
1.1 Symbol alphabets In this embodiment, the electronic device 1 stores data 19 defining alphabets for six symbol-types, as follows (where the particular alphabets described are intended to be examples rather than definitive): Characters (Al): Set of alphabetic and numeric characters 43, mathematical relation and operator symbols 45, and a set of smaller size numerics for superscripting. All may be written horizontally for reading from left to right or vertically from bottom to top (as used in labels 43-3 on graph axes). An 8-bit code, for example, with 1-bit reserved for horizontal/vertical allows coding of a set of up to 128 distinct characters.
Tiles (A2): The basic tiles are filled-square 47 or blank square (no fill) 35. However a larger range is envisaged, preferably presented to the user as a set of templates. This larger range may include, for example, various cross-hatched and speckled patterns, and a range of icon-like pictures-smiling/sad face, apple, pear, carrot, male/female figures, etc. An 8-bit code would allow a set of up to 256 tile patterns.
Drawing Fragments (A3): This is a range of useful drawing elements, intended for use individually or for assembly into larger drawn constructions. This symbol alphabet set may include for example cell diagonals 49, individually and combined in a cross, a collection of four 90 degree arcs 51 for drawing rounded corners, and many others. Again, an 8-bit code would allow for up to 256 symbols presented to the user as a set of templates.
Vertical-line-elements (B 1): When a user draws a line 37-2 along one of the vertical grid lines 31 it will be encoded as a series of vertical line elements, demarked by the horizontal grid lines crossing the vertical. The default line element symbol 37 is a solid line element. A larger range of line display characteristics may presented to the user as a set of templates: solid-lines of various thicknesses, dotted lines, dashed lines, all of these with arrow heads of various kinds. The default vertical line-element is one cell height in length. But there is the option of drawing half-height elements 37-3, either top or bottom half of a cell wall. Again, an 8-bit code would allow for alphabet of up to 256 symbols.
Horizontal-line-elements (B2): Likewise when a user draws a line 37-1 along one of the horizontal grid lines 31 it is encoded as a series of horizontal line elements, and similar remarks apply in this case.
Plotting-points (C): A range of small symbols 39, such as cross, triangle, circle, square, etc is provided for plotting points at grid intersections, in the context of drawing graphs. In a preferred implementation, the plotting point symbol shapes are defined so that these symbols remain readable by the user when drawn on top of one another in the same location. An 8-bit code may allow an alphabet of up to 8 symbol shapes satisfying this preferred criterion.
As those skilled in the art will appreciate, the above example coding scheme may be expensive in terms of the number of bits used for encoding, and merely represents one example case for implementation. More economical alternative implementations are possible lO that use fewer bits with correspondingly smaller alphabets.
1.2 Pixel pattems In this embodiment, the electronic device 1 stores an array of pixel-patterns for each alphabet, with a particular pixel pattern corresponding to each symbol and indexed by its symbolcode.
1.3 Symbol storage In this embodiment, the electronic device 1 stores data arranged as six independent arrays of encoded symbols, corresponding to the six symbol alphabets discussed above: characters (Al), tiles (A2), fragments (A3), vertical line elements (B 1), horizontal line elements (B2), and plotting points (C) Each element of an array defines a respective symbol code of the symbol to be displayed at a corresponding location of the emulated workbook page, the elements of these arrays being 1:1 with the corresponding constituent parts of the emulated workbook page.
1.4 Display of an emulated-workbook-page The display of pixels output by the electronic device 1 and seen by the user is a superposition of the six arrays of pixel patterns corresponding to the particular symbol codes stored in the six arrays for each symbol alphabet Al, A2, A3, Bl, B2, and C. Separate codes for the six symbol-types means they can all be present at once, i.e. their characteristic pixel patterns (including colours) can be stored separately and superimposed on the screen. Colouring may be coded separated from symbol type-with additional colour-bits associated for each type, so that symbol-types are coloured independently.
1.5 Entering data (symbols) In this embodiment, writing, painting, drawing and plotting using for example the pen, stylus or finger are the primary means for users to enter data, in the form of symbols. As mentioned above, the software includes a symbol recognition engine whereby an input symbol written/painted/drawn/plotted by the user via the touch sensitive display screen 3 is matched against stored representations of the alphabet of these symbols and the code for the best match is then entered as the appropriate element of the corresponding code array.
As those skilled in the art will appreciate, various additional or alternative data entry input techniques are possible, including for example using a keyboard or keypad provided as hardware or software, or by input voice or speech through a microphone. In such an alternative implementation, the electronic device 1 may include a voice recognition engine for recognition of input symbols from the input voice or speech, as will be apparent to those skilled in the art.
1.6 Updating the display As those in the art will appreciate, the electronic device 1 includes means whereby any change to any element of any of the six anays of symbol data results in the screen display being updated accordingly. This may be provided for example as part of an operating system executing on the electronic device 1.
1.7 Editing and moving displayed symbols In an embodiment, the electronic device 1 additionally provides user functionality for manipulating (for example erasing, overwriting, moving) symbols in the displayed workbook data. User interaction may be done via the touch sensitive display screen 3 for example with the pen, stylus or finger. A symbol may be selected by touching it and then is displayed highlighted. A selected symbol may be overwritten by a new symbol. A selected symbol may be erased i.e. replaced by a blank symbol (for example by double-tapping), or may be moved (by dragging) to a new location on the screen. By this means the user may assemble blocks of symbols on the screen.
1.8 Commands to augment basic pen actions As those skilled in the art will appreciate, a predefined range of user actions is possible with a simple pen, stylus or finger. In an embodiment, the range may be augmented by provision of a set of commands, for example by provision of a set of icons in the displayed graphical user interface, which behave effectively as buttons, in the margin of the displayed workbook page. For example a "repeat" command may be provided which enables a copy of a displayed symbol to be "picked-up" and pasted into a succession of symbol locations on the screen until the button is "pressed" again.
1.8.1 Teacher control of facilities In an embodiment, the electronic device 1 additionally provides means whereby the range of commands accessible to a user is capable of being managed by a teacher so that younger or inexperienced users are not overwhelmed by the range of facilities presented to them, and facilities are made available to them incrementally over time. For example very young children may be confined to working on the current page and they may be unable to write plotting points on the grid. A preferred means to achieve this control of facilities is to provide means for restricting the visible range of command icons.
1.9 Alphabet templates In an embodiment, a set of symbol alphabet templates is provided, displayed to the user in response to a corresponding set of commands. These enable the user to select and copy and then paste from the possibly large alphabet of symbols, instead of writing/painting/drawing them by hand. A preferred means for presenting the alphabet of characters is with the appearance of a keyboard.
2. Blocks of symbols as entities The range of actions available to users for working with symbols allows quite elaborate constructions to be assembled. In this section, facilities for working with such-assemblies, referred to hereinafter as "blocks", as entities are described.
Where appropriate, working at the level of blocks rather than individual symbols can greatly increase users' productivity, and educationally provides a valuable lesson in the benefit of abstraction.
2.1 Identification of blocks A user may "declare" an assembly of symbols to be a block by, for example, touching a "make-block" button and drawing round the assembly with the pen, stylus or finger, thereby identifying it as a block-entity rather than a mere collection of symbols.
In an embodiment, two arrays of 2-bit elements record the boundaries of blocks. The boundaries are defined by the user when blocks are made and describe boundaries of the corresponding contiguous regions of elements in the six symbol-code arrays. This pair of 2- bit arrays describe the boundaries of regions within A symbol-code arrays and BC symbol-code arrays, as described above in section 1.3, respectively. They are like contours on a map and define the boundaries, in these symbol-code arrays, of sub-blocks nested within blocks as well as where separate blocks touch. They have two distinct purposes: (a) for the user directly-by causing the boundaries to be displayed on the screen a user may determine where to touch with the pen in order to select a particular sub-block-rather than its enclosing block, and (b) the software makes use of the boundaries, when amendments are to be made to a block or structure, for example as will be described below where a sub-block is to be stretched but another sub-block is in the way and must be "pushed" to make space for the stretching i.e. the array of symbol-codes corresponding this block must be written to a new region in that symbol-code array.
In this embodiment, a first 2-bit array, Boundary-array (A), stores elements that correspond with the elements of symbol-code-arrays Al, A2, A3 and record the boundary of the region of contiguous cells lying within the block. A second 2-bit array, Boundary-array (BC), stores elements that correspond with the elements of symbol-code-arrays Bl, B2, C and record the boundary of the region of contiguous grid lines and intersections lying within the block. In this embodiment, two boundary arrays are defined because of the partial overlapping, in the display, of symbols of type (A) with symbols of type (B) and (C).
Three commands allow the user to verify boundaries of all blocks displayed on the screen: show-Aboundaries, show-BCboundaries, show-boundaries. These commands may effect display of, respectively: a thin solid line along the grid lines enclosing all and only those cells belonging to a block; a thin solid line through the middle of all those cells lying just outside a block; a broad shaded line enclosing all and only those cells belonging to a block and also covering those grid lines and intersections on the perimeter of, but nevertheless belonging to, a block. Blocks do not share their entities, consequently the Aboundary lines of adjoining blocks may be shared in places, i.e. the blocks touch one-another, but may not cross, likewise with the BCboundary lines.
As those skilled in the art will appreciate, in an alternative implementation, the electronic device 1 may set a block-mode bit to "1" in the affected contiguous regions of elements within each of the six arrays of encoded symbol data.
2.2 Editing, moving, copying and pasting blocks In an embodiment, the electronic device 1 allows these actions to be performed with block-entities in a similar way to performance with symbol entities.
2.3 Parts of the workbook In an embodiment, workbook emulation extends beyond storage and display of a single emulated page on the screen, to storage of an entire emulated workbook of multiple pages, with page numbers, and divided into several parts, each comprising multiple pages, which may be distinguished for example as Main, Temporary, Mailbox and Repository.
Commands allow the user to move the displayed page backwards and forwards among the numbered pages as though turning the pages of a physical workbook.
2.4 Copying and pasting blocks between pages In an embodiment above, copying and pasting functionality is described within the confines of the current page. As those skilled in the art will appreciate, the range of these commands may also extend from one page to another.
2.5 Building with blocks and nested blocks A block may be deconstructed, for example so to use its parts as components for assembly of a new block, by means of a "un-block" command which has the effect of the "make-block" command described above, in particular resetting the elements of the former block's boundary arrays to "00". In the alternative embodiment described above, the "un-block" may reset the block-mode bits in the affected contiguous regions of elements to "0".
New blocks may be assembled from existing blocks together with additional symbols, or by assembling more than one existing block into a new, larger, block entity. Such nesting of blocks within blocks may be implemented by the user drawing an enclosing block outline, and using "make-block", with consequential changes to boundary-array(A) and boundary-array(BC) as described above.
2.6 Oversize symbols Certain mathematical symbols, for example brackets, square root symbol, integral symbol, pi, upper-case sigma, are sometimes needed in larger form than a single cell.
Therefore, in an embodiment, a fragments alphabet may be provided, containing a range of useful symbols that may be used to construct such oversize symbols as block entities. For the convenience of users the software may enable user selection of a collection of these block entities as an oversize symbol template accessible via a graphical user interface command.
For example, in the exemplary user input mathematical expression 41-2 illustrated in Figure 2A, the user has input an oversized left parentheses symbol 42. This oversized symbol may be stored as two respective symbol entities from the fragments alphabet, one entity for each part of the oversized left parentheses symbol 42.
2.7 Communication In an embodiment, the electronic device 1 includes a communications interface 21 to enable communication between workbooks over the Internet. A preferred means is by sending messages between the Mailbox pages of individual workbooks or groups of workbooks. For example, a teacher may send a homework assignment to the workbooks of a group of students and afterwards the students may send their work back to the teacher's workbook. The preferred unit of communication is a workbook page. The software also includes means to enable communication between workbooks using shared-pages. For example a group of students may be working on a group project and share a workbook page for communicating ideas and recording progress. The electronic device 1 may also enable communication in real-time over an intranet connecting groups of workbooks (for example in a classroom situation, whereby a teacher may monitor the workbooks of individual students and provide instruction by writing in the workbooks or by voice). It will be apparent to those skilled in the art to implement communication of data from the emulated workbook using these commonly known communication channels.
2.8 Protection In an embodiment, the electronic device 1 also includes means for protection of data in an emulated workbook. The prefened unit of data for protection is the workbook page.
Protection may be provided in the form of both access restrictions and usage restrictions, as will now be described. As those skilled in the art will appreciate, this functionality for facilitating protection of the data may be provided as part of the emulated workbook software, or alternatively may be provided as part of the operating system executing on the electronic device 1 and utilised by the emulated workbook software.
2.8.1 Access restrictions The electronic device 1 includes means whereby the author of a page may assert ownership rights and hence impose a range of access-restrictions. For example access to a page may be restricted to members of a workgroup of some kind (workgroup-access), for example co-examiners developing a test paper, or a group of students sharing a project.
Alternatively, access may be restricted by means of a time-window (time-controlled-access) so that, for example, workbook pages carrying examination questions may be downloaded into students' Mailboxes but be inaccessible to the students (i.e. effectively invisible) except during the predetermined time-window of the examination (e.g. from lOam to 11.30 am on the specified date of the examination).
2.8.2 Usage restrictions The prefened unit of data for protection against copying etc is the workbook page.
The software includes means whereby the author of a page may assert ownership rights and hence impose a range of usage-restrictions such as immutable (ie read-only) or copy-restricted. For example a teacher may determine that an assignment is non-copyable, so as to impede students' efforts to gain unauthorized assistance.
3. Patterned blocks In this section, an embodiment of the present invention is described that is concerned with the shape or form of blocks, rather than the detailed content as described in the embodiments above. Various kinds of patterning or regularity of form are envisaged, in particular repeated sub-blocks and sub-blocks and symbols nested within blocks. Examples are provided below of user input tiling regions on the screen 3 according to various patterns, in order to illustrate the significance of patterned blocks and operations with them. After demonstrating the principles with these examples, more complex ones are described.
3.1 Repetition Repeat command Two slightly different user situations can be distinguished. In the first, the user wants, for example, to paste multiple instances of a tile symbol or block of tile symbols on the screen, choosing their locations and spacing them according to his particular purposes. In the second the user wants the repeated instances to be located contiguously-perhaps in a row or a column or a succession of contiguous rows or columns i.e. without space between the repeated instances.
In the former case the user will point to successive particular locations on the screen, in the latter he will move the pen continuously across the screen to indicate the succession of contiguous locations. In each case, the user may switch on the Repeat functionality before indicating the locations and switch it off when finished.
In the latter case, at this point in time, the software automatically designates the set of contiguous pastings as a block.
To distinguish the two repetition cases described above, they will hereinafter be referred to as "discrete-repeat" and "contiguous-repeat".
3.2 Nested blocks The entities from which a block is composed are said to be nested inside that block.
Since blocks may be composed of sub-blocks etc, nesting may occur at several levels all the way down to symbols. In this way, such "nested" blocks and sub-blocks may not share their constituent entities.
3.3 Stretchable blocks In the general case this user facility combines repetition with nesting, effectively treating "Repeat", and "Block" and "Un-block" commands as primitives which may be combined to form a "Stretch" command or facility.
Below, examples of stretching in a variety of situation are described. The first two examples make use of tile symbols only, so that only cells need concern us: tiling seems to be an intuitively straightforward process and so is used to introduce what is involved in stretching before more complex cases are described. As those skilled in the art will appreciate, characters, line elements and plotting points may all be present as well as tiles, but for clarity, they have been left "blank", i.e. not visible to the user, in these examples.
The later examples set out below use a fuller range of symbols packaged in a form hereinafter called a "basic-block" and comprising a cell with top wall and right-hand wall line elements. If required, this basic-block can be replicated contiguously so as to fill any rectangular portion, or the whole screen.
Example 1: Stretching a block of tiles.
(In this case stretching uses only "repeat", blocking occurring automatically at the end of the repeat action as described in 3.1 above.) A coloured tile is pasted onto a screen location. The user performs a contiguous-repeat operation thereby generating a row of tiles across the screen, alternatively a column of tiles may be generated, or, more powerfully, by moving the pen across the screen to a location diagonally opposite the pasted tile, a rectangular array of tiles may be generated. Effectively, in each case, the original tile has been stretched into a block of tiles, either a row shaped block, column shaped block, or rectangular shaped block.
As those skilled in the art will appreciate, tiled blocks with more irregular boundaries can be generated by tiling the blocks in either a series of horizontal or vertical stripes. For example, if the pen is lifted at the end of each stripe then each stripe constitutes a separate block. (Touching signals a "block" command and lifting signals an "un-block" command to the software.) In an embodiment, the electronic device 1 includes means whereby when the user input action starts from the original tile but reaches the desired perimeter, and then follows it, whatever its shape, all the while touching the screen, then a single block of tiles lying exactly within this perimeter will have been generated.
Example 2: Stretching a nested blocks of tiles.
Suppose that a 2x2 coloured tile block is formed from two sub-blocks, with each sub-block comprising one red and one blue tile, and that the two sub-blocks are assembled into the block so that tiles of the same colour are diagonally opposite one-another. Further suppose the block is pasted onto some particular screen location. The user now has stretching options at three levels of detail: the entire block, either of the sub-blocks, or the individual tiles. The user can use the show-boundaries command to help him touch whichever entity he chooses to stretch.
Stretching the entire block is effectively covered in the previous example. Stretching either of the sub-blocks may be complicated because the other one is in the way. When this is so, since boundaries may not cross one-another, the software ensures any entity that may be in the way is simply pushed across the display by the stretching sub-block. Likewise, if stretching at the level of individual tiles is selected, one or more of the other three tiles may be in the way, and will be pushed along by the stretching.
Example 3: Constructing tables Figure 3 is a schematic illustration of an exemplary template block for constructing tables according to an embodiment of the invention. In this example, rectangular tables of any size, comprising a matrix of rectangular boxes of any size are constructed, starting from a template block which is itself assembled from four basic-blocks, and referred to herein as: a "top-corner" block 51-1, a "bottom-RH" or "column-RH" block 51-2, a "bottom-corner" block 5 1-3, and a "top-LH" or "top row" block 5 1-4, and configured as shown in Figure 3 with respective different horizontal and vertical line elements 37 to be stored as elements of a cell 35 corresponding to each basic-block 53.
Construction proceeds in four steps: 1. The template block is pasted onto the screen in the required location for the top right hand corner of the table.
2. The initial rectangular box, of whatever dimensions, is formed by stretching (or compressing) this template block. This may require three actions-stretch (or delete) bottom-RH block 51-2 to get the required box height, stretch (or delete) top-LH block 51-4 to get the required box width, stretch (or delete) bottom-corner to complete the box. The three steps have created a box comprising four sub-blocks (or two in the case of Nxl or lxN boxes): the "top-corner" block 51-1, the "column-RH" block 5 1-2, the "bottom-corner" block 5 1-3, and the "top-row" block 5 1-4.
3. This initial rectangular box is stretched to form the table of required dimensions, by a three step procedure just like the one to form the box.
4. The table is now complete, except for being open on the left-hand side and bottom.
This is remedied by pasting in templates (that match the original template block) for vertical and horizontal line elements and stretching these to fit, thereby closing the left-hand side and bottom.
Example 4: Constructing Cartesian graphs (positive quadrant only) Figure 4 a schematic illustration of an exemplary template block for constructing positive quadrant Cartesian graphs according to an embodiment of the invention. h this example, positive quadrant Cartesian graphs of any size may be constructed, with provision for scale points and labelling along the horizontal and vertical axes. Construction starts from a template block assembled from four basic-blocks, and referred to herein as: a "++" block 53-1, a "x-axis" block 53-2, a "origin" block 53-3 and a "y-axis" block 53-4, and configured as shown in Figure 4 with respective different horizontal and vertical line elements 37 to be stored as elements of a cell 35 corresponding to each basic-block 53.
Construction proceeds in the following steps: 1. The template block is pasted onto the screen in the required location for the lower left hand corner (origin corner) of the graph.
2. The x-axis of the graph is formed by stretching the x-axis basic-block 53-2 to the required extent.
3. Likewise with the y-axis basic-block 53-4 to form the required y-axis.
4. The ++ basic-block 53-1 is stretched to the required top right hand corner of the graph.
5. The "empty" graph is now ready for axis-labels, plotting points to be added.
Example 5: Constructing Cartesian graphs (four quadrants) Figure 5 is a schematic illustration of an exemplary template block for constructing four quadrant Cartesian graphs according to an embodiment of the invention. This example is a generalization of the previous example 4. Cartesian graphs of any size, occupying all four quadrants, may be constructed, with provision for scale points and labelling along the horizontal and vertical axes. Construction starts from a template block assembled from nine basic-blocks, and refened to herein as: a "++" block 55-1, a "+x-axis" block 55-2, a "+-" block 55-3, a "+y-axis" block 55-4, a "origin" block 55-5, a "-y-axis" block 55-6, a "-+" block 55-7, a "-x-axis" block 55-8, and a "--" block 55-9, and configured as shown in Figure with respective different horizontal and vertical line elements 37 to be stored as elements of a cell 35 corresponding to each basic-block 55.
Construction proceeds in the following steps: 1. The template block is pasted onto the screen in the required location for the centre of the graph.
2. The x-axis of the graph is formed by stretching the +x-axis basic-block 55-2 to the right to the required extent and the -x-axis basic-block 55-8 to the left to the required extent.
3. Likewise with the +y-axis basic-block 55-6 to form the required positive y-axis and the -y-axis basic-block 55-4 to form the required negative y-axis.
4. The ++ basic-block 55-1 is stretched to the required top right hand corner of the graph and likewise the +-55-3, -+ 55-7, and --55--8 basic-blocks are stretched to the other corners.
5. The "empty" graph is now ready for axis-labels and plotting points to be added.
4. Mathematical syntax and evaluation The patterned blocks that arise in mathematics, including formulas, expressions and procedures have properties not possessed by patterns in general. These properties are attributable to their well-defined syntax and the possibility of transformations, including evaluation, according to well-defined rules.
The syntax rules of mathematical expressions are normally given with respect to symbol-string form. However, the form generally used in education is not this, but may be called "everyday-form". In everyday-form expressions are not written out as strings of symbols, instead division, for example, is written on two lines-numerator and denominator-the former above the latter-separated by an underscore which indicates both brackets around the two terms and also the division operation.
4.1 Converting syntax In a preferred embodiment, the electronic device 1 includes means for syntax- conversion. Syntax conversions, including between "everyday-form" and symbol-string-form (with national variations as parameters of the conversion) is a well understood programming problem. For example, in this embodiment, the user may select a block of cells using the pen, stylus or finger, and then select an appropriate menu item, icon or button for a syntax conversion command to initiate the conversion process which outputs a symbol-string-form of the elements in the selected block of cells. The processing of symbols may be based on one or more syntax rules of mathematical expressions.
Advantageously, the present invention provides for a user input horizontal line element to be processed as a mathematical division operator. For example, in the exemplary user input mathematical expression 41-2 illustrated in Figure 2A, the user has input an horizontal line element 44 between two adjacent cells each containing a respective character symbol entity. In this way, when the user selects the block of cells comprising the mathematical expression 41-2, the conversion process will process the horizontal line element 44 in the selected block of cells as a mathematical division operator between the numeric characters "4" and "2". An exemplary symbol-string-form output for the mathematical expression 41-2 may be: "(4/2)=".
4.2 Checking syntax In a preferred embodiment, the electronic device 1 further includes means for syntax-checking. Checking expressions in symbol-string form for colTectness is a well understood programming problem with various known solutions that can be implemented and which will be apparent to the skilled person. For example, in this embodiment, the user may select a block of cells using the pen, stylus or finger, and then select an appropriate menu item, icon or button for a syntax checking command to initiate the conversion process. The syntax checking command may include the above described syntax conversion process to provide a symbol-string-form of the elements in the selected block of cells as input to the syntax checking process.
As those skilled in the art will appreciate, the syntax checking process may be implemented as an automated procedure to automatically perform syntax checking of every block once a user starts a new line. The user may be able to turn such a feature on and off as desired.
4.3 Evaluation of mathematical patterns In an embodiment, the electronic device 1 may include means for evaluating arithmetic-expressions in the syntax converted form. Automatic evaluation of arithmetic expressions is also a well understood programming problem with various known solutions that can be implemented and which will be apparent to the skilled person.
4.3.1 Calculator-style evaluation Evaluation may be performed so as to directly yield the result as with a calculator.
4.3.1 Evaluation trees Alternatively, an evaluation-tree may be constructed from syntax analysis of the expression and the user may be invited to step through an evaluation procedure which reduces the tree to a result. (See next section.)
5. Procedures: recorded descriptions
Syntax-checking and conversion and evaluation as well as proof and explanation in mathematics rely on procedures.
A procedure may be considered a step-by-step transformation of a mathematical pattern. Each stage through which the pattern passes may be called a state. The procedure then comprises an alternating sequence of states and state-transitions. The software aims to demonstrate procedures to users by displaying each successive state on the screen as a block, and describing (by voice or displayed text) the nature of the transition (transformation of that block) to its next state.
As a specific example, suppose the procedure for simplifying an expression, comprising a numerator sub-expression and a denominator sub-expression, by cancelling common factors, as will now be described with reference to Figure 6. As shown in Figure 6, an initial state (a) of the expression is displayed as a block. The transition may be described with the description text or prompt to the user: "Evidently (x+l) is a common factor-so cancel this term in both numerator and denominator".
Then the next state (b) is displayed: the block with these factors struck through.
The transition is described-"delete the cancelled terms and rewrite the block".
Then the next state (c) is displayed: the block rewritten without these terms.
In an embodiment, the electronic device 1 provides means for recording and playback of such procedure-descriptions. Essentially, the facilities provided are: (i) Storage of a recorded-procedure-description (as an alternating sequence of states and transition descriptions, where a state is a block and a transition description explaining the transformation of the block which takes it to the next state) with the means to play the recording forward through the procedure, step-by-step, from start to finish, or by backtracking from the current state to an earlier state and then playing.
(ii) Or, more interactively: Storage of the recorded description of a procedure in which the initial state (block) is displayed and successive transitions are described to the student, who is expected to actually transform the block himself-requesting the next transition description when he is ready.
Optionally the student may request help-i.e. for a transition to be performed for him-and then backtrack to practice it himself.
As described above, a procedure is represented as a sequence of blocks displayed on the screen to the user. In an embodiment, the electronic device 1 may be operable to display to the user in the form of a "prompt", a description of the transformation to be performed on each block in order to generate its successor. Additionally or alternatively, the prompt may be provided explicitly in the form of displayed text or a voice output description. A facility may also provided whereby the user is able to step backwards and forwards through the recorded sequence of blocks and described transitions.
As those skilled in the art will appreciate, the above described block transformations may involve amendments of various kinds to an existing block, as in the above mathematical term cancelling example, or may involve appending a further block to the original, as in the step-by-step development of a mathematical proof where at each step a further line (block) is appended to the existing block.
Alternatives and Modifications It will be understood that embodiments of the present invention are described herein by way of example only, and that various changes and modifications may be made without departing from the scope of the invention.
In the above description, the electronic device is provided with a controller and memory units arranged to store and execute software which provide the functionality described in the above embodiments. As those skilled in the art will appreciate, a computer program or software for configuring a programmable device to become configured as an electronic device of one or a combination of the above embodiments may be stored on a carrier or computer readable medium and loaded into the memory for subsequent execution by the processor. The scope of the present invention includes the program and the carrier or computer readable medium calTying the program.

Claims (77)

  1. CLAIMS: 1. A mathematics workbook graphical user interface, comprising: a data structure storing data defining a plurality of entities of a workbook page, each entity including content data associated with one of a plurality content types; displaying at least a portion of the workbook page; receiving user input; determining an input location of said received user input relative to the displayed portion of the workbook page; identifying a content type associated with the user input based on the determined input location; storing said received user input in the data structure as content data associated with the identified content data type.
  2. 2. The graphical user interface of claim 1, wherein the plurality of entities are associated with a two-dimensional grid in the workbook page.
  3. 3. The graphical user interface of claim 2, wherein the two-dimensional grid comprises a plurality of cells, grid lines therebetween, and intersection points of the grid lines.
  4. 4. The graphical user interface of claim 3, wherein the plurality of cells are uniformly sized square cells.
  5. 5. The graphical user interface of claim 3 or 4, further comprising determining from said input location whether the user input is within a cell, on a grid line, or at an intersection point.
  6. 6. The graphical user interface of claim 5, wherein the plurality of content types comprise a character type, a tile shading type, a drawing fragment type, a line element type, and a plotting point type.
  7. 7. The graphical user interface of claim 6, wherein the line element type comprises a vertical line element type and a horizontal line element type.
  8. 8. The graphical user interface of claim 6 or 7, wherein when the user input is determined to be on a grid line, the content type of the user input is identified as a line element type.
  9. 9. The graphical user interface of claim 6 or 7, wherein when the user input is determined to be at an intersection point, the content type of the user input is identified as a plotting point type.
  10. 10. The graphical user interface of claim 6 or 7, wherein when the user input is determined to be within a cell, the content type of the user input is identified as one of a character type, a tile shading type or a drawing fragment type.
  11. 11. The graphical user interface of claim 10, wherein the content type of the user input is identified based further on a selected input mode.
  12. 12. The graphical user interface of claim 11, further comprising receiving a result of symbol recognition of the received user input and determining whether the content type of the user input is a character type, a tile shading type or a drawing fragment type based on said result of symbol recognition.
  13. 13. The graphical user interface of claim 12, further comprising receiving a result of symbol recognition of received user handwritten input identifying a recognised input symbol, wherein the recognised input symbol is stored in the data structure as said content data.
  14. 14. The graphical user interface of any preceding claim, wherein each content type is associated with a respective stored data set defining a plurality of symbols for that content type.
  15. 15. The graphical user interface of claim 14, wherein the plurality of symbols for the character type include alphabetic and numeric characters, mathematical relation and operator symbols.
  16. 16. The graphical user interface of claim 14, wherein the plurality of symbols for the tile shading type include tile patterns and icons.
  17. 17. The graphical user interface of claim 14, wherein the plurality of symbols for the drawing fragment type include diagonal and actuate line elements.
  18. 18. The graphical user interface of claim 14, wherein the plurality of symbols for the line element type include lines of varying length, thickness, line pattern and arrow heads.
  19. 19. The graphical user interface of claim 14, wherein the plurality of symbols for the plotting point type include cross, triangle, circle and square graphical elements.
  20. 20. The graphical user interface of any one of claims 14 to 19, wherein the plurality of symbols in a stored data set define an alphabet for the associated content type, and wherein each symbol in the alphabet is indexed by a symbol code.
  21. 21. The graphical user interface of any preceding claim, wherein the data structure comprises a respective data anay for each of said plurality of content types, wherein each element of each data array conesponds to a constituent entity in the workbook page.
  22. 22. The graphical user interface of claim 20, wherein each alphabet is associated with a conesponding array of pixel patterns for each symbol in the alphabet.
  23. 23. The graphical user interface of claim 22, wherein displaying a portion of the workbook page comprises displaying a superposition of pixel patterns for the symbol conesponding to the symbol codes stored in the plurality of data anays.
  24. 24. The graphical user interface of any preceding claim, wherein the user input is received via a touch sensitive display screen and the input location is determined from at least one position touched on the screen.
  25. 25. The graphical user interface of claim 24, wherein the input location is determined from an initial position touched on the screen.
  26. 26. The graphical user interface of claim 24, wherein the input location is determined from a plurality of positions touched on the screen.
  27. 27. The graphical user interface of claim 3 or any claim dependent therefrom, further comprising: receiving a user selection of a plurality of cell in the two-dimensional grid; identifying a plurality of entities associated with said user selection of cells; and processing the identified entities to generate a syntax corrected expression of the plurality of entities identified from the user selection.
  28. 28. The graphical user interface of claim 27, wherein processing the symbols is based on one or more syntax rules of mathematical expressions.
  29. 29. The graphical user interface of claim 27 or 28, wherein a horizontal line element is processed as a mathematical division operator.
  30. 30. The graphical user interface of any one of claims 27 to 29, further comprising automatically evaluating the syntax corrected expression to determine an output value.
  31. 31. The graphical user interface of claim 3 or any claim dependent therefrom, further comprising enabling user selection of a block of contiguous cells in the two dimensional grid.
  32. 32. The graphical user interface of claim 31, wherein the user is able to define a block entity from the selected block.
  33. 33. The graphical user interface of claim 31, wherein the user defined block entity comprises a plurality of nested block entities.
  34. 34. The graphical user interface of any one of claims 31 to 33, wherein the data structure further stores data defining said block entities.
  35. 35. The graphical user interface of claim 34, wherein the data stmcture stores data identifying the boundary of the region of contiguous cells within a block entity.
  36. 36. wherein user selection of a block entity is determined from a user input location and the stored boundary data identifying a block entity.
  37. 37. The graphical user interface of claim 35 or 36, wherein in response to said selection of a block, receiving user input of a command to be performed on the entities in the selected block.
  38. 38. The graphical user interface of claim 37, wherein the user input command is to un-block the entities in a selected block.
  39. 39. The graphical user interface of claim 37, wherein the user input command is to modify the block entity.
  40. 40. The graphical user interface of claim 39, wherein modifying a block entity involves automatically moving content data of at least one entity adjacent the modified block entity to a respective empty entity.
  41. 41. The graphical user interface of claim 39 when dependent on claim 33, wherein modifying a nested block entity involves automatically modifying the block entity comprising the nested block entity.
  42. 42. The graphical user interface of claim 22, further comprising a fragments alphabet comprising a plurality of symbol fragment components of a larger symbol element.
  43. 43. The graphical user interface of claim 40, wherein the symbol fragment components of a larger symbol element are provided to the user as a block entity.
  44. 44. The graphical user interface of claim 3 or any claim dependent therefrom, wherein the data structure further comprises data for one or more pre-defined blocks of input entities, each pre-defined block comprising one or more entities for one or more cells in the two-dimensional grid, and facilitating input of a user selected pre-defined block to one or more cells, wherein the input entities defined in the pre-defined block are stored as the entities for corresponding cells in the two-dimensional grid.
  45. 45. The graphical user interface of claim 44, wherein the pre-defined blocks comprise a plurality of input entities for a plurality of adjacent cells.
  46. 46. The graphical user interface of claim 44, wherein a repeat command is provided to facilitate repeated input of the entities of a user selected pre-defined block to a plurality of input locations.
  47. 47. The graphical user interface of claim 44, wherein a stretching command is provided to facilitate duplication of the entities of a user selected pre-defined block within a user defined region.
  48. 48. The graphical user interface of claim 44, wherein a plurality of basic template blocks are stored for enabling user creation of one or more tables of cells of variable dimensions, wherein at least one of the basic template blocks is modifiable to adjust the dimensions of the table of cells.
  49. 49. The graphical user interface of claim 44, wherein a plurality of basic template blocks are stored for enabling user creation of a Cartesian graph of variable size, wherein at least one of the basic template blocks is modifiable to adjust the dimensions of the axes of the Cartesian graph.
  50. 50. The graphical user interface of any preceding claim, further comprising storing a data input sequence for a workbook page, and performing step-by-step playback of the sequence of user inputs.
  51. 51. The graphical user interface of claim 50, wherein each playback step comprises displaying content data in one or more successive entities of the workbook page.
  52. 52. The graphical user interface of claim 51, wherein a prompt is displayed for at least one of the playback steps.
  53. 53. The graphical user interface of claim 52, wherein the prompt comprises a text description displayed adjacent the corresponding entities of the workbook page displayed by that playback step.
  54. 54. The graphical user interface of claim 50 wherein the stored data input sequence is generated by recording each input to a workbook page by a user as a recording session.
  55. 55. The graphical user interface of any preceding claim, further comprising receiving user input to facilitate navigation of the displayed workbook page.
  56. 56. The graphical user interface of claim 55, wherein navigation comprises any one of displaying a different portion of the workbook page, displaying said portion of the workbook page at a different level of zoom, and loading a different workbook page for display.
  57. 57. The graphical user interface of any preceding claim, further arranged to display a plurality of user selectable icons associated with respective commands.
  58. 58. The graphical user interface of claim 57 further arranged to display a restricted set of user selectable icons for a particular user.
  59. 59. The graphical user interface of any preceding claim, further comprising protecting the stored data.
  60. 60. The graphical user interface of claim 59, wherein protecting the data comprises storing data identifying access restrictions for the stored data.
  61. 61. The graphical user interface of claim 60, wherein said access restrictions are based on predefined time-windows for allowing access to the stored data.
  62. 62. The graphical user interface of claim 59, wherein protecting the data comprises storing data identifying usage restrictions.
  63. 63. An apparatus for providing the mathematics workbook graphical user interface of any one of claims 1 to 62.
  64. 64. The apparatus of claim 63, wherein the apparatus is a portable hand held computing device.
  65. 65. An apparatus comprising a touch sensitive display screen for displaying an emulated mathematics workbook graphical user interface including a plurality of input cell elements in a two dimensional grid, and for receiving user input of displayed entities associated with a cell, whereby each of a plurality of cell elements is configured to store a respective component of a mathematical expression or a Cartesian graph as a displayed entity.
  66. 66. The apparatus of claim 65, further comprising means for receiving user selection of a plurality of contiguous cell elements and means for defining a block entity consisting the cell elements of the selected plurality of contiguous cell elements and data defining a boundary around the selected plurality of contiguous cell elements.
  67. 67. The apparatus of claim 66, further comprising means for receiving user input selection of a block entity defined by said boundary data, and means for modifying the boundary data of the selected block entity in accordance with further user input.
  68. 68. A system comprising a plurality of electronic devices in a computer network, wherein each device is arranged to store a data structure storing data defining a plurality of entities associated with a two-dimensional grid of an emulated mathematical workbook page, and to display at least a portion of the workbook page; wherein at least one transmitter device is operable to transmit at least a portion of stored data to at least one other device in the computer network.
  69. 69. The system of claim 68, wherein each device is arranged to store data defining a plurality of workbook pages, and said transmitter device is operable to transmit stored data stored data of one workbook page to at least one other device in the computer network.
  70. 70. The system of claim 68 or 69, wherein said transmitter device further comprises means for protecting the data to be transmitted.
  71. 71. The system of claim 70, wherein said means for protecting the data to be transmitted comprises access restrictions.
  72. 72. The system of claim 71, wherein said access restrictions are based on predefined time-windows for allowing access to the data that is transmitted.
  73. 73. The system of claim 70, wherein said means for protecting the data to be transmitted comprises usage restrictions.
  74. 74. A storage medium comprising machine readable instructions stored thereon for causing a programmable device to become configured to provide a graphical user interface in accordance with any one of claims 1 to 62.
  75. 75. A storage medium comprising machine readable instructions stored thereon for causing a programmable device to become configured as an apparatus in accordance with any one of claims 63 to 67.
  76. 76. An electronic device substantially as hereinbefore described with reference to, or as illustrated in Figure 1 of the accompanying drawings.
  77. 77. A graphical user interface substantially as hereinbefore described with reference to, or as illustrated in Figure 2, 3, 4 or 5 of the accompanying drawings.
GB1016310.3A 2010-09-28 2010-09-28 Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface Withdrawn GB2484087A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB1016310.3A GB2484087A (en) 2010-09-28 2010-09-28 Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface
PCT/GB2011/051823 WO2012042253A1 (en) 2010-09-28 2011-09-27 Apparatus and methods for an emulated mathematics workbook

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1016310.3A GB2484087A (en) 2010-09-28 2010-09-28 Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface

Publications (2)

Publication Number Publication Date
GB201016310D0 GB201016310D0 (en) 2010-11-10
GB2484087A true GB2484087A (en) 2012-04-04

Family

ID=43128098

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1016310.3A Withdrawn GB2484087A (en) 2010-09-28 2010-09-28 Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface

Country Status (2)

Country Link
GB (1) GB2484087A (en)
WO (1) WO2012042253A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104969152B (en) 2013-01-31 2018-05-18 惠普发展公司,有限责任合伙企业 The electronic equipment adjusted with figured touch gestures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083247A1 (en) * 2002-10-29 2004-04-29 Koont Eren S. Graph paper mode for a computer device
US20060003296A1 (en) * 2004-06-21 2006-01-05 David Dockterman System and method for assessing mathematical fluency
US20070184423A1 (en) * 1996-09-25 2007-08-09 Sylvan Learning Systems, Inc. Updating student records in student profiles
WO2009089240A1 (en) * 2008-01-07 2009-07-16 Tufts University Interactive digital workbook system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070184423A1 (en) * 1996-09-25 2007-08-09 Sylvan Learning Systems, Inc. Updating student records in student profiles
US20040083247A1 (en) * 2002-10-29 2004-04-29 Koont Eren S. Graph paper mode for a computer device
US20060003296A1 (en) * 2004-06-21 2006-01-05 David Dockterman System and method for assessing mathematical fluency
WO2009089240A1 (en) * 2008-01-07 2009-07-16 Tufts University Interactive digital workbook system and method

Also Published As

Publication number Publication date
GB201016310D0 (en) 2010-11-10
WO2012042253A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
Siauw et al. An introduction to MATLAB® programming and numerical methods for engineers
US8371858B2 (en) Method and electronic calculating device for teaching arithmetic
US10839710B2 (en) System and method for teaching pre-keyboarding and keyboarding
Hadwen-Bennett et al. Making programming accessible to learners with visual impairments: a literature review
CN102930757A (en) Digital method for tracing characters in red and practicing penmanship
CN109032713A (en) Interface display method and device, intelligent interactive panel and storage medium
CN106033647A (en) Programming education system
KR102251739B1 (en) Method for learning alphabet by combining standard symbol and teaching aids for the same
US20150294578A1 (en) Display apparatus for studying mask and method for displaying studying mask
GB2484087A (en) Mathematics workbook graphical user interface, apparatus for providing the interface, and a network system of devices storing the interface
JP5884756B2 (en) Matrix calculation device, matrix calculation method, matrix calculation processing program
Wimmer et al. SketchingInterfaces: a tool for automatically generating high-fidelity user interface mockups from hand-drawn sketches
US20130262550A1 (en) Matrix calculation device, matrix calculation method, and storage medium having matrix calculation program stored thereon
Weinstein Flash programming for the social & behavioral sciences: A simple guide to sophisticated online surveys and experiments
Malan This was CS50X
Szilagyi et al. INTRODUCING THE CARD EDITING APPLICATION OF THE LIMSTROM DIDACTIC GAME
JP6100749B2 (en) Soft keyboard generation system for test score input
McCaffrey Starlogo tng: the convergence of graphical programming and text processing
Blanke et al. TOM-A Multi-touch System for Learning Math
Garaizar et al. Swiping fingers on a screen is not enough! Dusting off toy blocks to build new gaming experiences through mobile apps
Dybdahl et al. On animation features of Excel
KR20180097223A (en) Computer program
Bora Aurora Simulator: A Software Application for Exploring the Aurora in Upper Elementary Science Classrooms
Brown et al. Interactive Level Design for iOS Assignment Delivery: A Case Study
Lin et al. Designing a Progression of Programming Environments to Support K-12 Learners as they Advance

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)