US20130290389A1 - Functionality disable and re-enable for programmable calculators - Google Patents

Functionality disable and re-enable for programmable calculators Download PDF

Info

Publication number
US20130290389A1
US20130290389A1 US13/929,268 US201313929268A US2013290389A1 US 20130290389 A1 US20130290389 A1 US 20130290389A1 US 201313929268 A US201313929268 A US 201313929268A US 2013290389 A1 US2013290389 A1 US 2013290389A1
Authority
US
United States
Prior art keywords
handheld
disable
calculator
program
programs
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.)
Abandoned
Application number
US13/929,268
Inventor
Michelle A. Miller
Douglas W. Feltz
Gary C. Vonberg
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to US13/929,268 priority Critical patent/US20130290389A1/en
Publication of US20130290389A1 publication Critical patent/US20130290389A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Definitions

  • the present invention relates to electronic calculators, and more particularly relates to programmable calculators such as graphing calculators.
  • Solid state electronic calculators appeared during the 1960's as a smaller and quieter alternative to earlier electro-mechanical adding and calculating machines.
  • a team of Texas Instruments engineers led by Jack Kilby completed the development of its first prototype integrated circuit electronic calculator, which they called the “Cal-Tech,” generally regarded as the world's first “pocket” electronic calculator. It handled the four elementary arithmetic functions, was contained in a small rectangular box, weighed only 45 oz. and used a thermal printer to display results.
  • Texas Instruments was awarded U.S. Pat. No. 3,819,921 on the results of this work.
  • Texas Instruments introduced its first programmable calculator, the SR-52. It had 224 program steps and 20 memory registers, as well as a built-in magnetic card reader. Further improvement to the programmable calculator has led to the development of what has come to be known as the graphing calculator. These handheld calculators combine small size, sophisticated mathematical capability, including the capacity to be programmed with algebraic functions in addition to mathematical operations, and a relatively large display screen, typically comprising a liquid crystal display (LCD), allowing a user to have entered functions be solved and displayed as graphs on the display screen.
  • LCD liquid crystal display
  • Such network configurations can greatly enhance the instructional benefits of graphing calculators.
  • graphing calculators are not only permitted, but are sometimes even required during exit (graduation) exams or end-of-course exams.
  • teachers can teach students algebraic and higher functions which are embedded in hardware and/or firmware programs built into the calculator, software programs stored in the calculator in a BASIC-like language, as well as new software programs, called “Apps” and ASM programs, stored in the calculator, typically in assembly language and entered by the student, or entered by the teacher using the network connection.
  • Apps new software programs
  • ASM programs stored in the calculator, typically in assembly language and entered by the student, or entered by the teacher using the network connection.
  • the knowledge of such functions and the use of the graphing calculator to manipulate them may then be tested during the exam, with the results of the student's work being uploaded to the teacher's station for evaluation and grading.
  • the programmable calculator is serving two different environments.
  • One environment is the instructional environment, in which teachers want the students to have access to programs, Apps and other information that may be stored on the calculator, in order to help the student in their learning of math and science topics.
  • the other environment is the testing environment, in which the students are being tested on what they have learned, and therefore may not be allowed to use the programs, Apps and additional information that assisted them with their learning.
  • the present invention allows Apps, programs and additional information that may be embedded within the Apps and programs in a calculator or other handheld calculating device to be rendered temporarily inaccessible within a relatively short period of time, and then to be restored to the calculator, again, in a relatively short period of time.
  • the term calculator is to be understood to refer to any handheld calculating device capable of storing programs that are executed on the device, and to computer simulations or emulations of such devices.
  • a handheld calculator is provided with disable/re-enable capability.
  • the calculator includes a keypad, a display screen, and circuitry internal to the calculator.
  • the circuitry includes a microprocessor, a storage unit for storing data and programs for execution by the microprocessor to implement calculator functions.
  • the storage unit has stored therein a disable/re-enable program that recognizes a first predetermined calculator event and in response thereto disables one or more calculator functions, and that recognizes a second predetermined calculator event and in response thereto re-enables the disabled calculator functions.
  • Apps and other programs, and other calculator functionality including functionality which may be embedded in the operating system, as well as data stored therewith may be rendered temporarily inaccessible by a user as quickly as the first predetermined event can be completed.
  • This first predetermined event may be a simple keystroke sequence, such as a 3-key simultaneous key press recognized by the calculator to disable selected programs.
  • the calculator may be provided with a communications port and a communication module for managing communications with other handheld calculators in a network interconnected by way of the communications port, and the first predetermined event may be the sending of a predetermined data set from an application running on a teacher's station, wherein the data set includes a desired configuration of disabled programs for the calculator, recognized and acted on by a corresponding program in the calculator to selectively disable the programs specified in the configuration.
  • the calculator may be programmed to recognize other calculator events to effect the program disabling.
  • the programs so disabled are not erased from the calculator storage; they are merely disabled so that they are inaccessible to the user.
  • the second predetermined calculator event for re-enabling of the disabled programs may be the connecting of any two calculators, or a calculator and the teacher's station, and the sending of a predetermined file or other data to the calculator having its programs re-enabled.
  • the data may be sent by the program on the teacher's station that sent the original data set that caused the programs to be disabled. Or, the data may be sent from another device on the network.
  • the calculator may be programmed to recognize other calculator events to effect the program re-enabling.
  • FIG. 1 is an illustration of a programmable graphing calculator used in connection with an embodiment of the invention.
  • FIG. 2 is a diagram showing selected components internal to the calculator of FIG. 1 .
  • FIG. 3 is a diagram of a representative network of calculators in which a preferred embodiment of the invention is implemented.
  • FIG. 4 is a flow chart showing the steps in pre-programming a calculator to implement a preferred embodiment of the invention.
  • FIG. 5 is a flow chart showing the steps in disabling programs in a calculator in implementing a preferred embodiment of the invention.
  • FIG. 6 is a flow chart showing the steps in re-enabling programs in a calculator in implementing a preferred embodiment of the invention.
  • FIG. 1 illustrates the front panel of a programmable calculator 10 , which has the disable/re-enable features of the present invention.
  • Calculator 10 is described herein in terms of particular software and hardware features of the TI-83 Plus, a commercially available graphing calculator manufactured by Texas Instruments Incorporated. Apart from the features of the present invention, many of the features of calculator 10 described herein are typical of graphing calculators, while other features are unique to the TI-83 Plus or to its “family” of TI calculators. The use of the TI-83 Plus is for purposes of description, and does not limit the invention. The features that are the subject of the present invention could be incorporated into other calculators that are programmable, or they could be incorporated into other computer-based teaching tools that use simulations or emulations of programmable calculators.
  • the screen 11 of calculator 10 has a “graphical display”, as that term is used herein.
  • graphical display In addition to the ability to draw graphical displays of various types, some of the software features of calculator 10 include software applications loading and storage, as well as keystroke programming. It also permits data collection, display and analysis.
  • Various hardware features include a large pixel screen 11 , which has 64*96 pixels.
  • a keypad 12 has various keys for data and command entry, some of which are used to implement the invention and are described herein.
  • a microprocessor 21 which is connected to an internal bus 22 .
  • a storage unit 23 comprising a flash memory storing an operating system (OS) and other data, as well as RAM, and a unit-to-unit link cable connection module 24 providing the functionality for interconnecting two or more of such calculators into a network.
  • OS operating system
  • Such functionality includes data and command sending and receiving, and interface management.
  • FIG. 3 shows a typical configuration of a wireless network 30 of programmable calculators 31 , for example for use in a classroom setting. Of course, it will be understood that the particular manner of interconnection for the formation of the network is not important to the invention. Cable links and optical fiber links, for example, are all possible.
  • the network 30 shown in FIG. 3 is a TI NavigatorTM network, and is a commercially available product.
  • Four calculators 31 are connected by way of cables 32 to a wireless hub 33 .
  • the hub 33 communicates by way of radio frequency signals with an access point 34 connected to a PC 35 that comprises the teacher's station.
  • the network 30 provides a number of useful features for classroom learning. For example, in an “Activity Center,” students can contribute in real-time to a shared workspace that can be projected to the class, allowing discussion and collaborative learning. “Screen Capture” allows the teacher to view the screen of an individual student, group, or those of the entire class to see if they are on task. A “Quick Polling” feature collects impromptu feedback from the entire class to check understanding or generate discussion. A “Class Analysis” feature shows student results on assignments, quizzes and tests so the teacher knows right away who understands the material and who needs additional help. Numerous other features are provided.
  • the same open connectivity, programmability and flexibility of such calculators in such a network presents the problem during exams of having programs and data available to the students that the teacher may not wish them to have during the exam.
  • the embodiment of the invention described herein provides the capability to disable programs and other functionality, including data stored therewith, temporarily, for the duration of an exam for example, and to re-enable them after the exam.
  • the calculator must first be pre-programmed to give the calculator the capability of implementing Disable/Re-enable mode. Pre-programming is explained with reference to FIG. 4 .
  • the calculator 10 includes a storage unit 23 that includes a flash memory.
  • a Disable/Re-enable space is reserved in flash memory for this function.
  • step 42 individual bits in this space are mapped to programs and other functionality the calculator is programmed to execute, such that either:
  • each such program/function (hereinafter, “Program”) that is to have the Disable/Re-enable capability has individually mapped to it an associated flag bit in the Disable/Re-enable space in flash memory, or 2) groups of such Programs have mapped to them an associated flag bit in the Disable/Re-enable space in flash memory, or some combination of the two types of flag bit mapping.
  • a flag bit set to 1 indicates that the associated Program is enabled, while a flag bit set to 0 indicates that the associated Program is disabled.
  • the OS is modified to check the Disable/Re-enable space in flash memory before running a Program it has been commanded to execute, to determine whether the flag bit mapped to that Program is set to a 1 or a 0. If the associated flag bit is set to a 1, the Program is allowed to execute. If it is set to 0, the Program is not allowed to execute, and an error is generated.
  • This step may be accomplished in a number of ways.
  • the OS may be modified such that when the program display mode is invoked, as it executes a loop looking for all such Programs, as it looks at the next such Program it includes the above-described step of first determining whether the flag bit mapped to that Program is set to a 1 or a 0.
  • the OS is modified to monitor the keypad 12 for a predetermined key press sequence, and to enter a Disable Program mode if it is detected.
  • the OS is modified to monitor data received from the teacher's station through the network, and to enter the Re-enable Program mode if a predetermined data pattern is received.
  • the sequence of steps for the Disable Program mode is shown in FIG. 5 .
  • the OS monitors the keypad 12 ( FIG. 1 ).
  • the mode is entered 51 , as mentioned above, when the OS detects the predetermined key press sequence, for example a 3-key simultaneous key press, such as 2nd key 12 d —Alpha key 12 a —Math key 12 c all pressed at the same time.
  • the OS initially generates a menu display 52 , allowing certain options to be considered by the user. The user is first prompted to decide whether to disable all Programs having the disable capability. If the user enters a “yes,” then all flag bits in the Disable/Re-enable space in flash memory are set to a 0, and the calculator exits Disable Program mode.
  • the OS causes the screen 11 to display each Program having this capability individually, and allows the user to select one by one which Programs are to be disabled.
  • the entry of a “no” at this stage could cauls all flag bits to be maintained at “1”, indicating no Programs are to be disabled.
  • a Re-enable event is detected 61 .
  • the Re-enable event is the receipt of the calculator from the teacher's PC through the network of the predetermined data pattern.
  • This data pattern could be any available data pattern that does not conflict with normal data and command communication. The important thing is that the pattern be unique, to avoid conflict with normal calculator operation, and that the calculator be pre-programmed to recognize it as the Re-enable Program mode trigger.
  • the Re-enable Program mode all bits in the Disable/Re-enable space in flash memory are simply set to 1 , and the calculator exits the mode.
  • the invention may be implemented in other ways.
  • the significance of a flag bit being set to a 1 or 0 in the Disable/Re-enable space in flash memory could be reversed.
  • other mechanisms for disabling the Programs are possible.
  • a set of codes could be stored corresponding to the particular calculator program command, and a comparison made of those codes against the current calculator program command to determine whether to run the Program.
  • the mechanism described above is most efficient of calculator resources, and is therefore considered preferred.
  • by storing flag bits in flash memory rather than in RAM the states of those bits are not easily changed by the user, enhancing the security of the Program disabling.
  • resetting the RAM on the calculator does not affect the state of the flash memory, further enhancing security.
  • mapping flag bits to such Programs is relatively simple. However, where Programs are allowed to be of varying size and may be stored in a range of locations, it is necessary to provide a way of relating the flag bit to the Program that takes such variability into account. This can be done by associating a name with the Program, associating the Program start address and size with the name, and mapping the flag bit to the Program by way of its name. The names and associated data could be stored in a table, for example.
  • the event that activates Disable Program mode could be the sending of data representing the disabled Program configuration, i.e., identifying which Programs are to be disabled, by the teacher's station, in response to entry of a command to do so by the teacher, through the network to a target calculator.
  • This data could be preceded by a command the calculator is pre-programmed to recognize as a notification that Disable Program configuration data is to follow.
  • the teacher's station can be provided with an application program that sends this command and data using the network.
  • the same application program can be programmed to send, for example in response to entry of a command to do so by the teacher, the data pattern that triggers entering the Re-enable Program mode.
  • the application can be programmed to send configuration data to re-enable only selected ones of the disabled Programs, and the calculator pre-programmed to recognize such configuration data, and to re-enable Programs accordingly.
  • the calculator can be pre-programmed to trigger re-enabling of Programs upon detection of other events than those described above. For example, Re-enabling could be triggered by the completion of successful communication between any two devices on the network. Such a transfer is a collaborative event that would not normally be expected to occur during an exam when the students are working individually.
  • the teacher's station can be programmed to monitor network communications during an exam, allowing the teacher to detect attempts to defeat the Program disabling.
  • the calculator can be pre-programmed to trigger re-enabling of Programs upon detection of a unique password key that can be entered by way of the keypad.
  • the calculator can be pre-programmed to trigger Re-enabling of Programs after the internal clock has indicated a preset duration of time.
  • a counter could be used for this purpose. It may also be pre-programmed to recognize other, external hardware, such as a USB-enabled device that the OS would be programmed to recognize as a trigger mechanism both to disable and re-enable the Programs.
  • Another way of implementing the invention is to have the application running on the teacher's station transmit over the network to a target calculator an assembly language program that implements the disable/re-enable functionality when run on the target calculator.
  • the application can send the assembly language program at any time, and then, in response to entry of a command to do so by the teacher, send an instruction that causes the program to execute on the target calculator, for example through an Application Program Interface in the target calculator's OS.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Calculators And Similar Devices (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

A handheld calculator with disable/re-enable capability. The calculator includes a keypad, a display screen, and circuitry internal to the calculator. The circuitry includes a microprocessor, a storage unit for storing data and programs for execution by the microprocessor to implement calculator functions. The storage unit has stored therein a disable/re-enable program that recognizes a first predetermined calculator event and in response thereto disables one or more programs, and that recognizes a second predetermined calculator event and in response thereto re-enables the disabled program. The invention allows Apps, programs and additional information that may be embedded within the
Apps and programs in a calculator or other handheld calculating device to be rendered temporarily inaccessible within a relatively short period of time, and then to be restored to the calculator, again, in a relatively short period of time.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a Continuation of and claims priority to U.S. patent application Ser. No. 11/142, 506, filed Jun. 1, 2005. Said application is incorporated by reference herein in its entirety.
  • TECHNICAL FIELD OF THE INVENTION
  • The present invention relates to electronic calculators, and more particularly relates to programmable calculators such as graphing calculators.
  • BACKGROUND OF THE INVENTION
  • Solid state electronic calculators appeared during the 1960's as a smaller and quieter alternative to earlier electro-mechanical adding and calculating machines. In 1967, a team of Texas Instruments engineers led by Jack Kilby completed the development of its first prototype integrated circuit electronic calculator, which they called the “Cal-Tech,” generally regarded as the world's first “pocket” electronic calculator. It handled the four elementary arithmetic functions, was contained in a small rectangular box, weighed only 45 oz. and used a thermal printer to display results. Texas Instruments was awarded U.S. Pat. No. 3,819,921 on the results of this work.
  • Development of electronic calculators continued, resulting in ever smaller calculators with ever higher functionality. In 1975 Texas Instruments introduced its first programmable calculator, the SR-52. It had 224 program steps and 20 memory registers, as well as a built-in magnetic card reader. Further improvement to the programmable calculator has led to the development of what has come to be known as the graphing calculator. These handheld calculators combine small size, sophisticated mathematical capability, including the capacity to be programmed with algebraic functions in addition to mathematical operations, and a relatively large display screen, typically comprising a liquid crystal display (LCD), allowing a user to have entered functions be solved and displayed as graphs on the display screen.
  • The usefulness of handheld graphing calculators in a classroom setting for enhancing the educational experience in both mathematics and science has been widely recognized, and graphing calculators have been used in this way for years. Modern graphing calculators frequently are provided with the capability of being networked together. In today's classroom, such calculators can be networked together along with a teacher's station, which may itself be a graphing calculator, or may be a personal computer.
  • Such network configurations can greatly enhance the instructional benefits of graphing calculators. In fact, in many states graphing calculators are not only permitted, but are sometimes even required during exit (graduation) exams or end-of-course exams. Using such networked graphing calculators, teachers can teach students algebraic and higher functions which are embedded in hardware and/or firmware programs built into the calculator, software programs stored in the calculator in a BASIC-like language, as well as new software programs, called “Apps” and ASM programs, stored in the calculator, typically in assembly language and entered by the student, or entered by the teacher using the network connection. The knowledge of such functions and the use of the graphing calculator to manipulate them may then be tested during the exam, with the results of the student's work being uploaded to the teacher's station for evaluation and grading.
  • However, the expanded functionality of handheld programmable calculators which has done so much to enhance the teaching experience in the classroom carries with it a problem, especially in light of the use of such calculators during exams. Exactly because such calculators can be programmed by the student by the storing of Apps and of other information, the student may pre-load an App and/or additional information before an exam that gives the student an unfair advantage over other students. Additionally, a teacher may wish that the students not have available to them during an exam selected programs on the calculator, including Apps, that may have even been stored as part of the teaching experience. Because of this, some states, such as Texas and New York, require that programmable calculators be totally cleared of Apps and additional information prior to an exam in which such calculators are to be used.
  • Thus it can be seen that the programmable calculator is serving two different environments. One environment is the instructional environment, in which teachers want the students to have access to programs, Apps and other information that may be stored on the calculator, in order to help the student in their learning of math and science topics. The other environment is the testing environment, in which the students are being tested on what they have learned, and therefore may not be allowed to use the programs, Apps and additional information that assisted them with their learning.
  • It would therefore be desirable for teachers to have students have quick, easy access to programs, Apps and other information in their handheld programmable calculators during instruction, but then not available during exams, but then available again after exams. However, in the handheld calculator art today, the only way to remove programs, Apps and other information in preparation for an exam is to delete them from the calculator altogether. The removal of such items from the calculator takes relatively little time, involving a simple erase operation. However, the restoration of such items requires reloading every such item that was deleted. This can take up to thirty minutes, depending on how many Apps and programs, and how much additional information is being returned to the calculator. This puts a highly undesirable burden on the teacher.
  • SUMMARY OF THE INVENTION
  • The present invention allows Apps, programs and additional information that may be embedded within the Apps and programs in a calculator or other handheld calculating device to be rendered temporarily inaccessible within a relatively short period of time, and then to be restored to the calculator, again, in a relatively short period of time. As used herein, the term calculator is to be understood to refer to any handheld calculating device capable of storing programs that are executed on the device, and to computer simulations or emulations of such devices.
  • In accordance with the invention a handheld calculator is provided with disable/re-enable capability. The calculator includes a keypad, a display screen, and circuitry internal to the calculator. The circuitry includes a microprocessor, a storage unit for storing data and programs for execution by the microprocessor to implement calculator functions. The storage unit has stored therein a disable/re-enable program that recognizes a first predetermined calculator event and in response thereto disables one or more calculator functions, and that recognizes a second predetermined calculator event and in response thereto re-enables the disabled calculator functions.
  • In this way, Apps and other programs, and other calculator functionality, including functionality which may be embedded in the operating system, as well as data stored therewith may be rendered temporarily inaccessible by a user as quickly as the first predetermined event can be completed. This first predetermined event may be a simple keystroke sequence, such as a 3-key simultaneous key press recognized by the calculator to disable selected programs. Or, the calculator may be provided with a communications port and a communication module for managing communications with other handheld calculators in a network interconnected by way of the communications port, and the first predetermined event may be the sending of a predetermined data set from an application running on a teacher's station, wherein the data set includes a desired configuration of disabled programs for the calculator, recognized and acted on by a corresponding program in the calculator to selectively disable the programs specified in the configuration. The calculator may be programmed to recognize other calculator events to effect the program disabling. Importantly, the programs so disabled are not erased from the calculator storage; they are merely disabled so that they are inaccessible to the user.
  • The second predetermined calculator event for re-enabling of the disabled programs may be the connecting of any two calculators, or a calculator and the teacher's station, and the sending of a predetermined file or other data to the calculator having its programs re-enabled. The data may be sent by the program on the teacher's station that sent the original data set that caused the programs to be disabled. Or, the data may be sent from another device on the network. The calculator may be programmed to recognize other calculator events to effect the program re-enabling.
  • These and other aspects and features of the invention will be apparent to those skilled in the art from the following detailed description of the invention, taken together with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an illustration of a programmable graphing calculator used in connection with an embodiment of the invention.
  • FIG. 2 is a diagram showing selected components internal to the calculator of FIG. 1.
  • FIG. 3 is a diagram of a representative network of calculators in which a preferred embodiment of the invention is implemented.
  • FIG. 4 is a flow chart showing the steps in pre-programming a calculator to implement a preferred embodiment of the invention.
  • FIG. 5 is a flow chart showing the steps in disabling programs in a calculator in implementing a preferred embodiment of the invention.
  • FIG. 6 is a flow chart showing the steps in re-enabling programs in a calculator in implementing a preferred embodiment of the invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 illustrates the front panel of a programmable calculator 10, which has the disable/re-enable features of the present invention. Calculator 10 is described herein in terms of particular software and hardware features of the TI-83 Plus, a commercially available graphing calculator manufactured by Texas Instruments Incorporated. Apart from the features of the present invention, many of the features of calculator 10 described herein are typical of graphing calculators, while other features are unique to the TI-83 Plus or to its “family” of TI calculators. The use of the TI-83 Plus is for purposes of description, and does not limit the invention. The features that are the subject of the present invention could be incorporated into other calculators that are programmable, or they could be incorporated into other computer-based teaching tools that use simulations or emulations of programmable calculators.
  • In FIG. 1, the screen 11 of calculator 10 has a “graphical display”, as that term is used herein. In addition to the ability to draw graphical displays of various types, some of the software features of calculator 10 include software applications loading and storage, as well as keystroke programming. It also permits data collection, display and analysis.
  • Various hardware features include a large pixel screen 11, which has 64*96 pixels. A keypad 12 has various keys for data and command entry, some of which are used to implement the invention and are described herein. As shown in FIG. 2, internal to calculator 10 are provided a microprocessor 21 which is connected to an internal bus 22. Also connected to bus 22 is a storage unit 23 comprising a flash memory storing an operating system (OS) and other data, as well as RAM, and a unit-to-unit link cable connection module 24 providing the functionality for interconnecting two or more of such calculators into a network. Such functionality includes data and command sending and receiving, and interface management.
  • Important to the invention, a communications port 13 (FIG. 1) is provided for data linking and networking by way of a cable connected to the port 13. It interfaces internally with the unit-to-unit link cable connection module 24. FIG. 3 shows a typical configuration of a wireless network 30 of programmable calculators 31, for example for use in a classroom setting. Of course, it will be understood that the particular manner of interconnection for the formation of the network is not important to the invention. Cable links and optical fiber links, for example, are all possible. The network 30 shown in FIG. 3 is a TI Navigator™ network, and is a commercially available product. Four calculators 31 are connected by way of cables 32 to a wireless hub 33. The hub 33 communicates by way of radio frequency signals with an access point 34 connected to a PC 35 that comprises the teacher's station.
  • The network 30 provides a number of useful features for classroom learning. For example, in an “Activity Center,” students can contribute in real-time to a shared workspace that can be projected to the class, allowing discussion and collaborative learning. “Screen Capture” allows the teacher to view the screen of an individual student, group, or those of the entire class to see if they are on task. A “Quick Polling” feature collects impromptu feedback from the entire class to check understanding or generate discussion. A “Class Analysis” feature shows student results on assignments, quizzes and tests so the teacher knows right away who understands the material and who needs additional help. Numerous other features are provided.
  • However, as mentioned above, the same open connectivity, programmability and flexibility of such calculators in such a network presents the problem during exams of having programs and data available to the students that the teacher may not wish them to have during the exam. The embodiment of the invention described herein provides the capability to disable programs and other functionality, including data stored therewith, temporarily, for the duration of an exam for example, and to re-enable them after the exam.
  • According to this embodiment, the calculator must first be pre-programmed to give the calculator the capability of implementing Disable/Re-enable mode. Pre-programming is explained with reference to FIG. 4. As mentioned above, the calculator 10 includes a storage unit 23 that includes a flash memory. In the first step 41 of pre-programming, a Disable/Re-enable space is reserved in flash memory for this function.
  • In the next step 42, individual bits in this space are mapped to programs and other functionality the calculator is programmed to execute, such that either:
  • 1) each such program/function (hereinafter, “Program”) that is to have the Disable/Re-enable capability has individually mapped to it an associated flag bit in the Disable/Re-enable space in flash memory, or 2) groups of such Programs have mapped to them an associated flag bit in the Disable/Re-enable space in flash memory, or some combination of the two types of flag bit mapping. A flag bit set to 1 indicates that the associated Program is enabled, while a flag bit set to 0 indicates that the associated Program is disabled.
  • In the third step 43, the OS is modified to check the Disable/Re-enable space in flash memory before running a Program it has been commanded to execute, to determine whether the flag bit mapped to that Program is set to a 1 or a 0. If the associated flag bit is set to a 1, the Program is allowed to execute. If it is set to 0, the Program is not allowed to execute, and an error is generated. This step may be accomplished in a number of ways. For example, the OS may be modified such that when the program display mode is invoked, as it executes a loop looking for all such Programs, as it looks at the next such Program it includes the above-described step of first determining whether the flag bit mapped to that Program is set to a 1 or a 0. If it is set to 1, the Program simply continues to run normally. However, if it is set to 0, the OS skips that Program and loops to find the next. Once all Programs have been dealt with in this way, only those Programs having a flag bit mapped of 1 to it are displayed and are accessible, for example by being executed or edited. The Programs having a flag bit of 0 mapped to them are not displayed and cannot be executed or edited. The OS could still be permitted to show the memory locations of all Programs, for example in a memory display mode, provided the OS in such mode did not permit the user access to the Program other than, perhaps, to erase it. Other embodiments are possible.
  • In a further step 44, the OS is modified to monitor the keypad 12 for a predetermined key press sequence, and to enter a Disable Program mode if it is detected. In a final step 45, the OS is modified to monitor data received from the teacher's station through the network, and to enter the Re-enable Program mode if a predetermined data pattern is received. Once all of these steps are completed, the calculator is pre-programmed and is capable of implementing the Disable/Re-enable function of the embodiment. The order of the performing of steps 41-45 is not critical, other than that the bit location may only be mapped after the Disable/Re-enable space is reserved, or they may be done in the same operation.
  • The sequence of steps for the Disable Program mode is shown in FIG. 5. The OS monitors the keypad 12 (FIG. 1). The mode is entered 51, as mentioned above, when the OS detects the predetermined key press sequence, for example a 3-key simultaneous key press, such as 2nd key 12 d—Alpha key 12 a—Math key 12 c all pressed at the same time. In the Disable Program mode, the OS initially generates a menu display 52, allowing certain options to be considered by the user. The user is first prompted to decide whether to disable all Programs having the disable capability. If the user enters a “yes,” then all flag bits in the Disable/Re-enable space in flash memory are set to a 0, and the calculator exits Disable Program mode. On the other hand, if the user enters a “no,” the OS causes the screen 11 to display each Program having this capability individually, and allows the user to select one by one which Programs are to be disabled. Alternatively, the entry of a “no” at this stage could cauls all flag bits to be maintained at “1”, indicating no Programs are to be disabled. Once the selections are made and the user presses the Enter key 12 f, the flag bits in the Disable/Re-enable space in flash memory for the Programs selected to be disabled are set to 0; the other flag bits are maintained at 1. The calculator then exits the mode.
  • The sequence of steps for the Re-enable Program mode is shown in FIG. 6. First, a Re-enable event is detected 61. In this embodiment, the Re-enable event is the receipt of the calculator from the teacher's PC through the network of the predetermined data pattern. This data pattern could be any available data pattern that does not conflict with normal data and command communication. The important thing is that the pattern be unique, to avoid conflict with normal calculator operation, and that the calculator be pre-programmed to recognize it as the Re-enable Program mode trigger. In the Re-enable Program mode, all bits in the Disable/Re-enable space in flash memory are simply set to 1, and the calculator exits the mode.
  • The invention may be implemented in other ways. Of course, the significance of a flag bit being set to a 1 or 0 in the Disable/Re-enable space in flash memory could be reversed. But other mechanisms for disabling the Programs are possible. For example, a set of codes could be stored corresponding to the particular calculator program command, and a comparison made of those codes against the current calculator program command to determine whether to run the Program. However, it is believed that the mechanism described above is most efficient of calculator resources, and is therefore considered preferred. Further, by storing flag bits in flash memory rather than in RAM the states of those bits are not easily changed by the user, enhancing the security of the Program disabling. In addition, resetting the RAM on the calculator does not affect the state of the flash memory, further enhancing security. And, resetting other variables stored in flash also does not affect the status of the Disable/Re-enable flag bits, as they are stored in an area of flash that is reserved for this function and not used to store user data. Also note that in calculators in which, for example, only a limited number of Apps are allowed and each is allocated the same size space in a contiguous portion of flash memory, mapping flag bits to such Programs is relatively simple. However, where Programs are allowed to be of varying size and may be stored in a range of locations, it is necessary to provide a way of relating the flag bit to the Program that takes such variability into account. This can be done by associating a name with the Program, associating the Program start address and size with the name, and mapping the flag bit to the Program by way of its name. The names and associated data could be stored in a table, for example.
  • In addition, the event that activates Disable Program mode could be the sending of data representing the disabled Program configuration, i.e., identifying which Programs are to be disabled, by the teacher's station, in response to entry of a command to do so by the teacher, through the network to a target calculator. This data could be preceded by a command the calculator is pre-programmed to recognize as a notification that Disable Program configuration data is to follow. The teacher's station can be provided with an application program that sends this command and data using the network. The same application program can be programmed to send, for example in response to entry of a command to do so by the teacher, the data pattern that triggers entering the Re-enable Program mode. Further, the application can be programmed to send configuration data to re-enable only selected ones of the disabled Programs, and the calculator pre-programmed to recognize such configuration data, and to re-enable Programs accordingly.
  • The calculator can be pre-programmed to trigger re-enabling of Programs upon detection of other events than those described above. For example, Re-enabling could be triggered by the completion of successful communication between any two devices on the network. Such a transfer is a collaborative event that would not normally be expected to occur during an exam when the students are working individually. In addition, the teacher's station can be programmed to monitor network communications during an exam, allowing the teacher to detect attempts to defeat the Program disabling.
  • The calculator can be pre-programmed to trigger re-enabling of Programs upon detection of a unique password key that can be entered by way of the keypad. The calculator can be pre-programmed to trigger Re-enabling of Programs after the internal clock has indicated a preset duration of time. A counter could be used for this purpose. It may also be pre-programmed to recognize other, external hardware, such as a USB-enabled device that the OS would be programmed to recognize as a trigger mechanism both to disable and re-enable the Programs.
  • Another way of implementing the invention is to have the application running on the teacher's station transmit over the network to a target calculator an assembly language program that implements the disable/re-enable functionality when run on the target calculator. The application can send the assembly language program at any time, and then, in response to entry of a command to do so by the teacher, send an instruction that causes the program to execute on the target calculator, for example through an Application Program Interface in the target calculator's OS.
  • Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. For example, the storage unit in which Programs are disabled and re-enabled may be contained within a plug-in unit, instead of being permanently internal to the calculator. Other variations are possible.

Claims (20)

What is claimed is:
1. A handheld with disable/re-enable capability, comprising:
a microprocessor, and
a storage unit for storing data and programs for execution by the microprocessor to implement functions of the handheld that relate a program of the handheld and access to a file in storage; and
a testing environment disable/re-enable program for entering and exiting a testing environment mode of the handheld, the disable/re-enable program stored by the storage unit and processed by the microprocessor, wherein the disable/re-enable program recognizes a first predetermined event of the handheld and in response thereto disables one or more programs of the handheld, and recognizes a second predetermined event of the handheld and in response thereto re-enables the disabled one or more programs of the handheld.
2. The handheld of claim 1, wherein the first predetermined event of the handheld comprises the activation of a predetermined key sequence.
3. The handheld of claim 1, wherein, in response to the first predetermined event the disable/re-enable program selectively disables one or more functions of the handheld.
4. The handheld of claim 1, wherein the second predetermined event of the handheld comprises the entry of a predetermined code by way of a keypad.
5. The handheld of claim 1 further comprising:
a communications port; and
a communication module for managing communications with one or more handheld in a network interconnected by way of the communications port.
6. The handheld of claim 5, wherein the second predetermined event comprises the receipt of predetermined data from the network.
7. The handheld of claim 3, wherein the disable/re-enable program selectively disables functions of the handheld by:
setting a flag bit for each of the function of the handheld to a predetermined value in the storage unit; and
prior to executing a function of the handheld, determining whether the flag bit for the function of the handheld has the predetermined value, and executing the function when flag bit for the function is not the predetermined value.
8. The handheld of claim 7, wherein the flag bits are in flash memory in the storage unit.
9. The handheld of claim 6, wherein a teacher's station is connected to the network, and wherein the predetermined data is sent by the teacher's station.
10. The handheld of claim 5, wherein a teacher's station is connected to the network, and wherein the teacher's station sends the disable/re-enable program to the handheld by way of the network.
11. The handheld of claim 1, wherein the disabling and enabling of the functions of the handheld retains at least one of the program or file in storage and deems the at least one of program or file inaccessible.
12. The handheld with disable/re-enable capability, comprising:
a microprocessor;
a non-transitory storage unit for storing data and programs for execution by the microprocessor to implement functions of the handheld that relate a program of the handheld and access to a file in storage; and
a disable/re-enable program for selecting one or more programs of the handheld relating to functions available to display on a display of the handheld and executed by the microprocessor during an exam, wherein the disable/re-enable program stored by the non-transitory storage unit and processed by the microprocessor and wherein the one or more disabled programs of the handheld are at least one of unavailable to be selected from the display of the handheld and are disabled from being executed by the microprocessor.
13. The handheld of claim 12, wherein the disable/re-enable program for selecting functions of the handheld is displayed by pressing a predetermined key sequence.
14. The handheld as in claim 12, wherein the disable/re-enable program for selecting functions of the handheld is non-responsive when the functions of the handheld are disabled.
15. The handheld as in claim 12, wherein the disable/re-enable program for selecting functions of the handheld is protected by a predetermined code by way of a keypad.
16. The handheld of claim 12 further comprising:
a communications port; and
a communication module for managing communications with other handheld in a network interconnected by way of the communications port.
17. The handheld of claim 16, wherein the second predetermined event comprises the receipt of predetermined data from the network.
18. The handheld of claim 17, wherein the disable/re-enable program selectively disables functions of the handheld by:
setting a flag bit for each the function to a predetermined value in the storage unit; and
prior to executing a function of the handheld, determining whether the flag bit for the function of the handheld has the predetermined value, and executing the function when flag bit for the function is not the predetermined value.
19. The handheld of claim 18, wherein the flag bits are in flash memory in the storage unit.
20. The handheld of claim 17, wherein a teacher's station is connected to the network, and wherein the predetermined data is sent by the teacher's station.
US13/929,268 2005-06-01 2013-06-27 Functionality disable and re-enable for programmable calculators Abandoned US20130290389A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/929,268 US20130290389A1 (en) 2005-06-01 2013-06-27 Functionality disable and re-enable for programmable calculators

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/142,506 US8499014B2 (en) 2005-06-01 2005-06-01 Functionality disable and re-enable for programmable calculators
US13/929,268 US20130290389A1 (en) 2005-06-01 2013-06-27 Functionality disable and re-enable for programmable calculators

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/142,506 Continuation US8499014B2 (en) 2005-06-01 2005-06-01 Functionality disable and re-enable for programmable calculators

Publications (1)

Publication Number Publication Date
US20130290389A1 true US20130290389A1 (en) 2013-10-31

Family

ID=37482267

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/142,506 Active 2028-09-01 US8499014B2 (en) 2005-06-01 2005-06-01 Functionality disable and re-enable for programmable calculators
US13/929,268 Abandoned US20130290389A1 (en) 2005-06-01 2013-06-27 Functionality disable and re-enable for programmable calculators

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/142,506 Active 2028-09-01 US8499014B2 (en) 2005-06-01 2005-06-01 Functionality disable and re-enable for programmable calculators

Country Status (6)

Country Link
US (2) US8499014B2 (en)
EP (2) EP3862887A1 (en)
JP (1) JP2008546100A (en)
KR (1) KR101009194B1 (en)
CN (1) CN101535972A (en)
WO (1) WO2006130692A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140068236A1 (en) * 2012-08-31 2014-03-06 Cyrille de Brebisson Custom configuration for a calculator based on a selected functionality
WO2015153649A1 (en) * 2014-03-31 2015-10-08 Intel Corporation Disabling a command associated with a memory device
EP3223501A1 (en) * 2016-03-24 2017-09-27 Casio Computer Co., Ltd. Electronic device, communication device, control method and storage medium

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154997A1 (en) * 2006-12-20 2008-06-26 Texas Instruments Incorporated Systems and methods for function control in a calculation device
US20090115606A1 (en) * 2007-08-31 2009-05-07 Texas Instruments Incorporated Method and Apparatus for Secure Mode Indication
US20110258160A1 (en) * 2010-04-15 2011-10-20 Po-Yen Lee Data synchronization methods for synchronizing data in communication system and communication systems
US20120041993A1 (en) * 2010-08-16 2012-02-16 Texas Instruments Incorporated Method and apparatus for configuring functionality of a calculator
US8789197B1 (en) 2010-09-17 2014-07-22 Wolfram Alpha Llc Method for using a multi-function computer for testing
DE202011005136U1 (en) 2011-04-11 2012-11-07 Bernd Burgmaier System in a terminal for collecting and processing data for determining the tax obligations of a person providing the service
US20140026128A1 (en) * 2012-01-09 2014-01-23 Openpeak Inc. Educational Management System and Method of Operation for Same
US9195388B2 (en) * 2013-03-15 2015-11-24 Apple Inc. Specifying applications to share in a shared access mode
CN103235686A (en) * 2013-03-29 2013-08-07 北京智谷睿拓技术服务有限公司 Application management method and device
US20150188838A1 (en) * 2013-12-30 2015-07-02 Texas Instruments Incorporated Disabling Network Connectivity on Student Devices
US10152331B2 (en) * 2014-05-16 2018-12-11 Wind River Systems, Inc. Method and system for enforcing kernel mode access protection
USD766910S1 (en) * 2014-11-11 2016-09-20 Albert E. Packulak Set of trigonometry calculator keys
JP6269737B2 (en) * 2015-08-20 2018-01-31 カシオ計算機株式会社 Function utilization device, function utilization method, and function utilization program
JP6202150B2 (en) * 2015-08-20 2017-09-27 カシオ計算機株式会社 Function utilization device, function utilization method, and function utilization program
US10339827B2 (en) 2016-03-04 2019-07-02 GraphR Applications, LLC Computer-implemented system and method for administering an examination
USD806785S1 (en) * 2016-12-15 2018-01-02 Casio Keisanki Kabushiki Kaisha Electronic calculator
USD898818S1 (en) * 2018-11-12 2020-10-13 Casio Keisanki Kabushiki Kaisha Electronic calculator
US11734863B2 (en) 2019-03-02 2023-08-22 Texas Instruments Incorporated Computing and displaying asymptotes and removable discontinuities
CN113326352B (en) * 2021-06-18 2022-05-24 哈尔滨工业大学 Sub-event relation identification method based on heterogeneous event graph

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609697A (en) * 1968-10-21 1971-09-28 Ibm Program security device
US4262337A (en) * 1974-09-03 1981-04-14 General Motors Corporation Portable calculator incorporating an anti-theft feature
US4139893A (en) * 1977-04-01 1979-02-13 Texas Instruments Incorporated Calculator program security system
US4398086A (en) * 1982-01-06 1983-08-09 Smith Engineering Game-calculator having sliding mask
US4885714A (en) 1986-10-27 1989-12-05 Hewlett-Packard Company Calculator having a user-accessible object stack for the uniform application of mathematical functions and logical operations to a multiplicity of object types
US4961158A (en) * 1988-11-22 1990-10-02 Lester Sussman Portable transaction tracking device
US5390296A (en) * 1989-08-30 1995-02-14 Comshare Incorporated Method and apparatus for calculation with display data
US5262940A (en) * 1990-08-23 1993-11-16 Lester Sussman Portable audio/audio-visual media tracking device
US5638308A (en) 1994-12-22 1997-06-10 Stokes; William T. Calculator with keys which can selectively be disabled
US5978579A (en) * 1997-08-12 1999-11-02 International Business Machines Corporation Architecture for customizable component system
US6065122A (en) * 1998-03-13 2000-05-16 Compaq Computer Corporation Smart battery power management in a computer system
JP4134416B2 (en) * 1998-12-28 2008-08-20 カシオ計算機株式会社 Calculator and storage medium capable of calculating functions
TW550460B (en) * 2000-09-14 2003-09-01 Synq Technology Inc Method for dynamically downloading a program logic into an application program and the system thereof
US7942617B2 (en) * 2004-01-14 2011-05-17 Robert Bosch Tool Corporation Nose tip control for cordless high speed rotary tool
CA2549438A1 (en) * 2005-06-27 2006-12-27 Mark R. Swanson Wireless classroom response system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140068236A1 (en) * 2012-08-31 2014-03-06 Cyrille de Brebisson Custom configuration for a calculator based on a selected functionality
US9043376B2 (en) * 2012-08-31 2015-05-26 Hewlett-Packard Development Company, L.P. Custom configuration for a calculator based on a selected functionality
WO2015153649A1 (en) * 2014-03-31 2015-10-08 Intel Corporation Disabling a command associated with a memory device
US9213491B2 (en) 2014-03-31 2015-12-15 Intel Corporation Disabling a command associated with a memory device
US9542123B2 (en) 2014-03-31 2017-01-10 Intel Corporation Disabling a command associated with a memory device
US9740433B2 (en) 2014-03-31 2017-08-22 Intel Corporation Disabling a command associated with a memory device
EP3223501A1 (en) * 2016-03-24 2017-09-27 Casio Computer Co., Ltd. Electronic device, communication device, control method and storage medium

Also Published As

Publication number Publication date
US8499014B2 (en) 2013-07-30
JP2008546100A (en) 2008-12-18
US20060277233A1 (en) 2006-12-07
EP1896957A4 (en) 2010-02-24
EP1896957A2 (en) 2008-03-12
CN101535972A (en) 2009-09-16
WO2006130692A3 (en) 2009-04-16
KR101009194B1 (en) 2011-01-19
KR20080024185A (en) 2008-03-17
EP3862887A1 (en) 2021-08-11
WO2006130692A2 (en) 2006-12-07

Similar Documents

Publication Publication Date Title
US8499014B2 (en) Functionality disable and re-enable for programmable calculators
US4604690A (en) Dynamic configuration for added devices
CN108446225A (en) Creating device, method and the computer readable storage medium of analog interface
CN102419729B (en) Parallel test execution
CN112579455B (en) Automatic interface testing method and device, electronic equipment and storage medium
CN109711972A (en) Contract generation method, device, equipment and readable storage medium storing program for executing
CN107170218B (en) Remote assistance method and system for debugging fire alarm system
CN106598530A (en) Display panel configuration method and device
CN112148607A (en) Interface testing method and device for service scene
JP5258231B2 (en) Remote management system and method for portable electronic device
JP2003022196A (en) Method for automatically executing test program in portable terminal
KR102411131B1 (en) Data backup reporting method and system
CN110297754A (en) A kind of test information feedback method and system
CN109102248A (en) Amending method, device and the computer readable storage medium of nodal information
CN112416378B (en) Cloud architecture system for silent installation of student mobile terminal application
CN112765018A (en) Instrument and meter debugging system and method
CN111427783A (en) RTE interface testing method, device, equipment and storage medium
Klassner et al. Mindstorms without robotics: an alternative to simulations in systems courses
JP2008217443A (en) Business process simulator, and business process simulation program
US20030142819A1 (en) Device and method for evaluating algorithms
JPH09259006A (en) Program evaluation system
CN105279083A (en) Concurrency test device and test method for performance of Web server
CN114356771A (en) Operation method, device and equipment of data processing entity
JP2005107996A (en) Development management system and development management program
JPH09259061A (en) Reliability evaluation device for system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION