ACM 978-1-59593-642-4070004. Comparing Two Methods for Gesture based Short Text Input using
- 格式:pdf
- 大小:626.27 KB
- 文档页数:6
Unit 1A computer system consists of hardware system and software system. The hardware of the computer is usually divided into three major parts or three primary subsystems: the CPU, the memory subsystem, and the I/O subsystem.The CPU performs many operations and controls computer. The memory subsystem is used to store program being executed by the CPU, along with the program’s data. The I/O subsystem allows the CPU to interact with input and output devices such as the keyboard and monitor of a personal computer. The components of the computer are connected to the buses.The part of the computer that performs the bulk of data processing operations is called the central processing unit and is referred to as the CPU. In microcomputer, it is often called the microprocessor. The CPU is made up of three major parts: control unit, ALU, and register set.Memory is also known as internal memory or main memory. It refers to the circuits in the computer that hold whatever programs and data are available for immediate use by the CPU.I/O subsystem includes I/O devices and interface. There are a wide variety of I/O devices, such as mouse, printer, sensor, disk, and so on. Input-output interface provides a method for transferring information between internal storage and external I/O devices. Peripherals connected to a computer need special communication links for interfacing them with the CPU. The purpose of the communication link is to resolve the differences that exist between the central computer and each peripheral.Unit 3(a) A program is a list of instructions or statements for directing the computer to perform a required data processing task. Programming is a multistep process for creating that list of instructions.(b) It is important to understand the difference between a class and an object of that class. A class is simply a specification for creating objects. Thus, a single class may create multiple objects.(c) Java is an object-oriented, network-friendly high-lever programming language that allows programmers to build applications that can run on almost any operating system.(e) Programming involves a great deal of creativity. The design is guide to the function or purpose of each component, but the programmer has great flexibility in implementing the design as code. No matter what language is used, each program component involves at least three major aspects: control structures, algorithms, and data structures.Unit 4The software system can be divided into two broad categories: application software and system software. Application software consists of the program for performing tasks particular to the machine’s utilization. In contrast to application software, system software comprises a large number of programs. These programs start up the computer and function as the principle coordinator of all hardware components and application software. Without system software loaded into RAM of your computer, your hardware and application software are useless.System software can be grouped into three basic parts: operating system, utility software, and language translators. The majority of an installation’s utility software consists of programs for performing activities that are fundamental to computer installations yet not included in the operating system. In a sense, utility software consists of software units that extend the capabilities of the operating system.A computer’s OS is the main collection of programs that manage its activities. The primary chores of an OS are management and control. The OS ensures that all actions requested by a user are valid and processed in an orderly fashion. It also manages the computer system’s resources to perform these operations with efficiency and consistency.Application software is the software designed to help you solve problems specific to business or perform specific business tasks. Application software then is the layer of software closest to you. Basically, there are four categories of application software: productivity software, business and specialty software, entertainment software and education/reference software.Unit 5A computer network is often classified as being either a local area network (LAN), a metropolitan area network (WAN), or a wide area network (WAN). The connection of two or more networks is called an internetwork. The worldwide Internet is a well-known example of an internetwork.LANs are privately owned networks within a single building or campus of up to a few kilometers in size. They are widely used to connect personal computers and workstations in company offices and factories to share resources and exchange information.In general, a given LAN will use only one type of transmission medium. Various topologies are possible for LANs. The most common LAN topologies are bus, ring and star.A MAN is basically a bigger version of a LAN and normally uses similar technology. MAN is designed to extend over an entire city. It may be a single network such as a cable television network, or it may be a means of connecting a number of LANs into a large network so that resources may be shared LAN-to-LAN as well as device-to-device. For example, a company can use a MAN to connect the LANs in all of its offices throughout a city.A WAN spans a large geographical area that may comprise a country, a continent, or even the world. It provides long-distance transmission of data, voice, image, and video information over large geographical area.In contrast to LANs, WANs may utilize public leased, or private communication devices, usually in combinations, and can therefore span an unlimited number of miles.Unit 6Transmission media are used to transfer messages over a network. For instance, the transmission media used in a network may be a privately owned set of cables, the public phone lines, or a satellite system. Transmission media can either be wired or wireless.The three types of wired media most commonly used to carry messages are twisted-pair wire, coaxial cable, and fiber-optic cable. One of the most successful developments in transmission media in recent years has been fiber optics. Fiber-optic cable is commonly used for the high-speed backbone lines of a network, or for Internet infrastructure.Wireless transmission media have become especially popular in recent years. They support communications in situations in which physical wiring is impractical or inconvenient, as well as facilitate mobility. Wireless media are commonly used to connect devices to a network, to share information between computers, to connect wireless mice to a computer, and for handheld PCs, wireless phones, and other mobile devices. Radio signals transferred through the air are the heart of most types of wireless media. In addition to conventional broadcast radio application, the microwave, cellular, and satellite transmission media also use radio signals to transmit data.Radio transmissions require the use of a transmitter to send the radio signals through the air. A receiver (usually containing some type of antenna) accepts the date at the other end. When a device functions as both a receiver and transmitter, it is commonly called a transceiver or transmitter-receiver.Unit 7(a) Since many database systems users are not computer trained, developers hide the complexity from users through several levels of abstraction, to simplify user’s int eractions with the system: physical level, logical level, and view level.(b) A database schema is specified by a set of definitions expressed by a special language called a data-definition language (DDL). The result of compilation of DDL statements is a set of tables that is stored in a special file called data dictionary, or data directory.(c) The structured query language (SQL) is the most widely used and standard query language for relational database management systems. It is a kind of non-procedural language.(d) An entity is a “thing” or “object” in the real world that is distinguishable from other objects. For example, each person is an entity, and bank accounts can be considered to be entities. Entities are described in a database by a set of attributes.(e) Data warehouse is one of the newest and hottest buzzwords and concepts in the IT field and the business environment.A data warehouse is a logical collection of information——gathered from many different operational databases——that supports business analysis activities and decision-making tasks.Unit 9(a) AI is currently being applied in business in the form of knowledge systems, which use human knowledge to solve problems. The most popular type of knowledge-based system is the expert system. An expert system is a computer program that attempts to represent the knowledge of human experts in the form of heuristics. The term heuristic is derived from the same Greek root as the word eureka, which means “to discover”.(b) The user interface enables the manager to enter instructions and information into the expert system and to receive information from it. The instructions specify the parameters that guide the expert system through its reasoning processing. The information is in the form of values assigned to certain variables.(c) The knowledge base contains both facts that describe the problem area and knowledge representation techniques that describe how the facts fit together in a logical manner. The term problem domain is used to describe the problem area.(d) An expert system, also called a knowledge-based system, is an artificial intelligence system that applies reasoning capabilities to reach a conclusion. Expert systems are excellent for diagnostic and prescriptive problems.(e) The DSS is not intended to replace the manager. The computer can be applied to the structured portion of the problem, but the manager is responsible for the unstructured portion——applying judgment or intuition and conducting analyses.1。
数据结构严蔚敏c语言版 isbn《数据结构(C语言版)》是严蔚敏、吴伟民等人编著的一本经典教材,主要讲解了数据结构的相关概念、算法和实现方法。
该书提供了C语言版本的代码示例,方便读者理解和实践。
在这本书中,并没有单独涉及ISBN这一特定的数据结构。
ISBN(International Standard Book Number,国际标准书号)是用于图书标识的国际标准编号系统,用来唯一地识别一本图书。
如果你需要使用C语言进行ISBN相关操作,可以根据ISBN的规则自行设计相应的数据结构和算法。
一种简单的数据结构设计可以是使用一个字符数组来表示ISBN,然后使用相应的函数实现ISBN的验证、生成、查询等操作。
以下是一个简单的示例代码,用于验证13位ISBN的正确性:```c#include<stdio.h>int checkISBN(char isbn[]) {int i, sum = 0;// 遍历每一位数字并计算校验和for(i = 0; i < 12; i++) {// 判断数字字符是否合法if(isbn[i] < '0' || isbn[i] > '9') {return 0;}// 计算校验和sum += (isbn[i] - '0') * (i % 2 == 0 ? 1 : 3); }// 计算校验位int checksum = 10 - sum % 10;if(checksum == 10) {checksum = 0;}// 判断校验位是否匹配if(isbn[12] - '0' == checksum) {return 1;} else {return 0;}}int main() {char isbn[14];printf("请输入13位ISBN:");scanf("%s", isbn);if(checkISBN(isbn)) {printf("ISBN合法。
算法导论第四版引言算法是计算机科学中的重要概念,它是解决问题的步骤和方法的描述。
《算法导论第四版》是一本经典的算法教材,深入浅出地介绍了各种常见的算法和数据结构。
本文将对这本书进行全面、详细和深入地探讨,帮助读者更好地理解和应用算法导论。
为什么学习算法导论1.提升编程技能:算法是编程的基础,学习算法可以提升编程的技能和水平。
2.解决实际问题:算法解决了许多实际问题,学习算法可以帮助我们更好地解决实际问题。
3.备战面试:许多技术面试都会考察算法和数据结构的知识,学习算法导论可以更好地应对面试。
基础知识算法分析1.时间复杂度:衡量算法的执行时间随输入规模增长的速度。
2.空间复杂度:衡量算法执行过程中所需的额外空间随输入规模增长的速度。
排序算法1.冒泡排序:反复交换相邻的元素,将最大的元素逐渐“冒泡”到最后。
2.插入排序:通过构建有序序列,依次将未排序的元素插入到已排序的序列中。
3.快速排序:选择一个基准元素,按照它的值将数组分成两部分,递归地对两部分进行排序。
4.归并排序:将数组分成两部分,分别对两部分进行排序,然后将两个有序的子数组合并成一个有序的数组。
数据结构数组和链表1.数组:连续的内存空间,支持随机访问,但插入和删除的时间复杂度较高。
2.链表:不连续的内存空间,只支持顺序访问,但插入和删除的时间复杂度较低。
栈和队列1.栈:后进先出的数据结构,主要有进栈和出栈两个操作。
2.队列:先进先出的数据结构,主要有入队和出队两个操作。
哈希表1.哈希函数:将关键字映射到哈希表中的位置。
2.哈希冲突:不同的关键字映射到了同一个位置,解决冲突的方法有开放寻址法和链地址法。
3.哈希表的应用:常用于高效地插入、删除和查找操作。
树和二叉树1.树:由节点和边组成的一种数据结构,常见的树包括二叉树、平衡二叉树和B树等。
2.二叉树:每个节点最多有两个孩子节点的树。
堆和优先队列1.堆:完全二叉树,堆可以分为最大堆和最小堆。
问题解决和调优相关书籍问题解决和调优是软件开发和计算机科学领域中非常重要的概念。
它们涉及到识别和解决在计算过程中遇到的各种问题,并优化系统以提高其性能和效率。
为了帮助读者更好地了解问题解决和调优的方法和技术,以下是一些相关的书籍推荐。
1. 《The Pragmatic Programmer》(中文译名:《程序员修炼之道》)- Andrew Hunt和David Thomas这本书是经典之作,探讨了软件开发中的各种实践和技巧。
其中有一个章节专门讨论了如何解决问题和改进代码的技巧。
它涵盖了从调试技术到代码重构和优化的方法。
2. 《Code Complete》(中文译名:《代码大全》)- Steve McConnell这本书是软件开发领域的必读经典之作。
它提供了大量的实际示例和技巧,帮助读者有效地解决问题和优化代码。
此外,书中还包含了很多关于软件质量和团队协作的宝贵经验。
3. 《Clean Code》(中文译名:《代码整洁之道》)- Robert C. Martin这本书强调编写干净、可读性强的代码,以减少出错和提高代码可维护性。
它提供了许多解决问题和代码调优的实践建议,帮助读者创建高质量的软件。
4. 《Effective Java》(中文译名:《Effective Java》)- Joshua Bloch虽然这本书主要关注Java编程语言,但它提供了许多通用的问题解决和代码优化技巧。
它涵盖了从异常处理到性能优化的各个方面,并提供了实践建议和示例代码。
5. 《Head First Design Patterns》(中文译名:《Head First设计模式》)- Eric Freeman等人该书通过生动的图示、有趣的讲解和实际案例,向读者介绍了常见的软件设计模式。
这些设计模式可以帮助解决各种问题,并提高系统的灵活性和可扩展性。
6. 《高性能MySQL》- Baron Schwartz等人对于那些使用MySQL数据库的开发人员和管理员来说,这本书是一个宝贵的资源。
fpga异构计算的书籍以下书籍涵盖了FPGA异构计算的主题,并提供了深入的学习和理解:1.《FPGA-based Prototyping Methodology Manual: BestPractices in Design-for-Prototyping》- Doug Amos, René Richter 该书提供了关于如何在FPGA上进行原型设计的全面指南。
它涵盖了从设计流程到FPGA选择和最佳实践的所有内容。
对于对FPGA异构计算有兴趣的读者,这本书是入门的好选择。
2.《FPGA Prototyping Using Verilog Examples: Xilinx Spartan-3 Version》- Pong P. Chu这本书提供了一些实际的Verilog例子,涵盖了各种FPGA原型设计的应用场景。
通过这些例子,读者可以学习如何在FPGA上实现各种异构计算任务。
3.《FPGA-Based Implementation of Signal and Data Processing Systems》- Roger Woods, John McAllister, Gaye Lightbody, Ying Yi, Kiat Seng Yeo该书是关于FPGA在信号与数据处理系统中应用的全面指南。
它涵盖了从FPGA架构、设计方法到实际应用的各个方面。
对于对FPGA异构计算有基础了解的读者,这本书提供了更深入的学习和实践指导。
4.《FPGA-Based System Design》- Wayne Wolf这本书提供了关于FPGA系统设计的综合介绍。
它涵盖了FPGA的基本概念和架构,以及设计流程和方法。
此外,书中还介绍了如何将FPGA用于异构计算的各种技术和应用场景。
5.《Designing with FPGAs and CPLDs》- Bob Zeidman该书主要关注的是如何设计和开发FPGA和CPLD。
面向对象c语言参考书籍
在学习C语言的过程中,选择一本好的面向对象的参考书籍是至关重要的。
以下是几本广受推荐的面向对象C语言参考书籍,供您参考:
1. 《C++ Primer》(第五版)- Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo
这本经典参考书籍向读者深入浅出地介绍了面向对象编程和C++语言。
它包含了大量的示例和练习,适合初学者和有经验的开发者使用。
2. 《Effective C++》(第三版)- Scott Meyers
本书是一本经典的C++编程指南,专注于教授如何写出高效、可维护和可扩展的C++代码。
它涵盖了大量的面向对象C++编程技巧和最佳实践,对于想要深入理解C++语言的读者来说是一本必读书籍。
3. 《Head First C++》- Eric Freeman and Elisabeth Robson
这本书以有趣的方式引导读者学习C++语言。
它通过图文并茂的旁白、练习和实践项目,帮助读者理解和应用面向对象编程的概念。
适合初学者入门。
4. 《Thinking in C++》(第二版)- Bruce Eckel
这本书涵盖了C++的核心概念和面向对象编程的基本原则。
它以易于理解的方式解释C++的复杂性,并提供了丰富的示例和练习。
无论您是初学者还是有经验的开发者,这本书都能帮助您深入理解C++语言。
请注意,这些书籍并非完整的面向对象C语言参考书籍,但它们都提供了深入学习C++和面向对象编程的良好基础。
根据您的学习和需求,选择适合自己的一本参考书籍将有助于您更好地理解和应用面向对象的编程概念。
国外将c面向对象的书以下是一些关于C语言面向对象编程的书籍推荐:1. "Object-Oriented Programming in C" by Robert Lafore - 这本书介绍了如何在C语言中实现面向对象的编程范式,涵盖了类、对象、继承、多态等概念。
2. "Programming in C++ for Engineering and Science" by Larry Nyhoff - 这本书不仅介绍了C++语言的基本概念和语法,还重点关注了面向对象编程的应用,涵盖了类、对象、继承、多态等主题。
3. "C++ Primer" by Stanley B. Lippman, Josée Lajoie, and BarbaraE. Moo - 这本书是C++语言的经典教材,其中包含了丰富的面向对象编程的内容,从基础概念到高级特性都有覆盖。
4. "Object-Oriented Programming in ANSI-C" by Axel-Tobias Schreiner - 这本书是针对C语言编程者的面向对象编程入门指南,教授如何在C语言中使用结构体、指针和函数指针等技术实现面向对象编程。
5. "Data Structures and Algorithms in C++" by Michael T. Goodrich, Roberto Tamassia, and David M. Mount - 这本书主要关注数据结构和算法,但也涵盖了C++语言中的面向对象编程概念和实践。
希望这些推荐对您有所帮助!请注意,尽管这些书籍介绍了如何在C语言中实现面向对象编程,但C语言本身并不是为面向对象编程而设计的。
如果您更想深入学习面向对象编程,可能更适合选择C++或其他面向对象的编程语言。
第一阶段初级:第1周-第2周(共80题)项目时间必做题目基本算法枚举第1周poj1753,poj2965贪心poj1328,poj2109,poj2586分治法递推构造法poj3295模拟法poj1068,poj2632,poj1573,poj2993,poj2996图算法图的深度优先遍历和广度优先遍历第1周最短路径算法poj1860,poj3259,poj1062,poj2253,poj1125,poj2240最小生成树算法poj1789,poj2485,poj1258,poj3026拓扑排序poj1094二分图的最大匹配poj3041,poj3020最大流的增广路算法poj1459,poj3436数据结构串第1周poj1035,poj3080,poj1936排序poj2388,poj2299简单并查集的应用哈希表和二分查找等高效查找法poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503哈夫曼树poj3253堆树poj2513简深度优先搜索第2周poj2488,poj3083,poj3009,单搜索poj1321,poj2251广度优先搜索poj3278,poj1426,poj3126,poj3087.poj3414简单搜索技巧和剪枝poj2531,poj1416,poj2676,poj1129动态规划背包问题第2周poj1837,poj1276型如下表的简单DP poj3267,poj1836,poj1260,poj2533,poj3176,poj1080,poj1159数学组合数学第2周POJ3252,poj1850,poj1019,poj1942数论poj2635,poj3292,poj1845,poj2115计算方法poj3273,poj3258,poj1905,poj3122计算几何学几何公式第2周叉积和点积的运用poj2031,poj1039多边型的简单算法和相关判定poj1408,poj1584凸包poj2187,poj1113第二阶段中级:第3周-第4周(共85题)项目时间必做题目基本算法C++的标准模版库的应用第3周poj3096,poj3007较为复杂的模拟题的训练poj3393,poj1472,poj3371,poj1027,poj2706图算差分约束系统的建立和求解第3周poj1201,poj2983法最小费用最大流poj2516,poj2516,poj2195双连通分量poj2942强连通分支及其缩点poj2186图的割边和割点poj3352最小割模型poj3308数据结构线段树第3周poj2528,poj2828,poj2777,poj2886,poj2750静态二叉检索树poj2482,poj2352树状树组poj1195,poj3321RMQ poj3264,poj3368并查集的高级应用poj1703,2492KMP算法poj1961,poj2406搜索最优化剪枝和可行性剪枝第3周搜索的技巧和优化poj3411,poj1724记忆化搜索poj3373,poj1691动态规划较为复杂的动态规划第4周poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034记录状态的动态规划poj3254,poj2411,poj1185树型动态规划poj2057,poj1947,poj2486,poj3140数学组合数学第4周poj1286,poj2409,poj3270,poj1026高斯消元法poj2947,poj1487,poj2065,poj1166,poj1222概率问题poj3071,poj3440GCD、扩展的欧几里德poj3101计算方法poj2976,poj3150,poj3422,poj3070, poj3301随机化算法poj3318,poj2454杂题poj1870,poj3296,poj3286,poj1095计算几何学坐标离散化第4周扫描线算法poj1765,poj1177,poj1151,poj3277,poj2280,poj3004边形的内核poj3130,poj3335几何工具的综合应用poj1819,poj1066,poj2043,poj3227,poj2165,poj3429第三阶段高级:第5周-第6周(共59题)项目时间必做题目基本算法代码快速写成第5周poj2525,poj1684,poj1421,poj1048,poj2050,poj3306保证正确性和高效性poj3434图算法度限制最小生成树和第K最短路第5周poj1639最短路,最小生成树,二分图,最大流问题的相关理论poj3155,poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446最优比率生成树poj2728最小树形图poj3164次小生成树无向图、有向图的最小环数据结trie图的建立和应用第5周poj2778 LCA和RMQ问题poj1330双端队列和它的应用poj2823构左偏树后缀树poj3415,poj3294搜索较麻烦的搜索题目训练第5周poj1069,poj3322,poj1475,poj1924,poj2049,poj3426广搜的状态优化poj1768,poj1184,poj1872,poj1324,poj2046,poj1482深搜的优化poj3131,poj2870,poj2286动态规划需要用数据结构优化的动态规划第6周poj2754,poj3378,poj3017四边形不等式理论较难的状态DP poj3133数学组合数学第6周poj2888,poj2154博奕论poj3317,poj1085计算几何学半平面求交第6周poj3384,poj2540可视图的建立poj2966点集最小圆覆盖对踵点poj2079综合题第6周poj3109,poj高手给的训练计划一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。
based Short Text Input using Chording.AbstractWe report on the design and initial evaluation of two methods for short text input in wearable computing applications using hand gestures. A wireless data glove able to recognize 4 basic gestures is used together with the chording principle. We present two different con-cepts to map gestures to characters. A presentation of preliminary experiment results shows that simple free hand gestures in combination with different key maps are easier to learn and allow faster typing than distinct gestures assigned for each character.KeywordsText Input, Gesture, Chording, Wearable ComputingACM Classification KeywordsH5.2. [Information interfaces and presentation ]: User Interfaces - Input devices and strategies.IntroductionGesture interaction has become a popular and impor-tant interaction technique not only for virtual reality (VR) or 3D user interfaces. Even recently launched con-sumer electronics, such as the Nintendo Wii system, feature gesture based game control by using inertial sensors integrated in the game controller.Copyright is held by the author/owner(s). CHI 2007, April 28 – May 3, 2007, San Jose, USA ACM 978-1-59593-642-4/07/0004.Hendrik WittTZI, Wearable Computing Lab. University of Bremen D-28359 Bremen, Germany hwitt@tzi.deTorben JanssenTZI, Wearable Computing Lab. University of Bremen D-28359 Bremen, Germany torben@tzi.deToday, in wearable computing text input is typically done with the Twiddler [3,6] cording keyboard. Al-though the Twiddler has been shown appropriate to achieve high speed typing [6], it requires non negligible learning efforts. Because in some applications “hands-free” operation is required, the Twiddler is sometimes not appropriate as it needs to be carried around and held in hand while typing. In particular, wearable appli-cations for industrial environments often call for short text or abbreviation input rather than full text input which can be also entered with input devices other than keyboards.Glove based gesture interfaces were shown as alterna-tives to implement “hands-free” interaction [8]. Since it is difficult to recognize many complex gestures with high accuracy, the chording principle can be used in-stead of mapping gesture combinations to characters of the alphabet. Like an accord on the piano, gestures and keys can be presses in combination to encode more characters than the sum of gestures and buttons avail-able on the input device would imply.Related WorkAlthough gesture based text input has already been considered, much work focuses on the implementation of a “virtual keyboard”. In [1,4] conductive materials detect finger pinches for text input. In [7], a chording glove for text input is shown. Instead of using free hand gestures, different buttons on the glove can be pressed to enter text. In [5], computer vision is used for gesture based text input. However, systems that use inertial sensors are rare. Scurry [2] uses a set of different inertial sensors and can be used to control a mouse or keyboard by moving the hand in the air. The Data GloveAs shown in figure 1, a leather glove is used to mount the hardware components of our prototype glove. It features a 3D accelerometer and three buttons that can be used to recognize gestures. Only the buttons located on the fore- and middle finger were used by our text input methods. The third button, located on the ring finger, was omitted due to pre-tests that uncovered problems of subjects trying to reach and press it. The glove is connected via Bluetooth to the computer; of-fering a high degree of mobility.The gesture recognition software used is able to recog-nize up to eight different hand gestures plus the state of the buttons. The supported gestures are: left and right rotations, up and down movements, as well as some of their combinations, e.g., a left rotation of the hand followed by moving the hand upwards. The soft-ware recognizes therefore up to 34 gestures; each ges-ture alone, as a chord together with one button, or as achord where two buttons are pressed in a row.Figure 1: The data glove used for gesture based text input.Design of the Text Input MethodsWith 34 distinct gestures, an obvious approach for text input is to directly map a single gesture onto each of the 26 letters in the alphabet and the remaining 6 ges-ture to punctuation marks, space, caps lock, etc. Since some of the 34 available gestures are, however, com-plicated to perform without risking ambiguities that reduce gesture recognition accuracy and require higher learn effort, we deemed a reduction of gestures to be more beneficial in terms of learn ability and correct classifications that result in higher typing speed. To validate our hypothesis, one input methods was de-signed that utilizes only a subset of four easy to memo-rize hand gestures while the other method uses the entire set of gestures available.Method 1Besides performing only one of four distinct hand ges-ture or button presses at a time, gestures and buttons are combined to chords with either one or two buttons. For the latter, key presses are done in a row. Resulting in 18 different gestures – too few for the alphabet. Therefore, method 1 uses different key maps to ap-proach the needed number of gestures. With two dif-ferent key maps, users can switch between maps de-pendent on which map the needed character is located. Thus, each gesture is used twice, i.e. one time on each map similar to the “caps lock” on a QWERTY keyboard. Unlike upper and lower case versions of the same let-ter, changing the map results here in different charac-ters. To minimize map switching activities, letters were grouped together based on their statistical occurrence in English, as some characters are more likely to occur together than others. For both methods, we considered the character distribution from [7]. Simple gestures that are quickly to execute and easy to memorize were deliberately mapped to often occurring characters. E.g., to enter a “t” a single gesture or a click on a button is needed.Figure 2: Gesture-to-Character mappings of method 1 and 2.To delete a letter; an intuitive single “left-rotation” ges-ture is used. Figure 2 shows the complete gesture to character mapping table. Note, that with an additional key map numeric inputs could be allowed as well. Method 2The second method is using 30 gestures from the 34 gestures available as described in the beginning. Each letter in the alphabet has a distinct gesture. The re-maining gestures are used for modifier keys. Figure 2 shows the used mapping table of method 2 where each letter is accessed by a distinct gesture or button click. ExperimentBy comparing method 1 with method 2 we want to in-vestigate if there is a difference between the two meth-ods and if method 1 allows faster typing and easier learning. We assume that by using easy to memorize gestures in combination with key maps, users are likely to perform better in terms of both typing speed and learning than with many direct but complex gestures. A user study was conducted to draw first conclusions. Experiment Setup20 subjects (avg. age 25.48) recruited from students of the local university and university unrelated persons participated in the study. The experiment uses a “be-tween-subject” design with the input method as the single independent variable. Subjects were divided in two groups of equal size and were paid after completing the last session with 20 Euros. Each subject had an initial introductory session of 20 min. for explaining the study and input method, measuring their typing speed on a QWERTY keyboard, and to make them familiar with the glove and software. Afterwards, the first of 5 experimental sessions (20 min. each) using an input method was started. The remaining sessions were dis-tributed over four directly following days. In total, each subject used its assigned method for 100 minutes overone week.Figure 3: Subject performing a text input method.To record data and to compute evaluation metrics, we altered the “Twidor” software [6] according to our needs. A visual help system was added that presents the gestures that belong to a requested input letter if a subject does not remember it within a time frame of 3 seconds (see figure 3). Subjects were requested to stand in front of a TFT-Monitor that shows the applica-tion to include the mobility aspect of wearable applica-tions. An even more realistic setup using a head-mounted display for presentation was omitted to avoid nuisance factors caused by the novelty of the display. Preliminary ResultsAlthough the conducted experiment was rather small in terms of learning time, the preliminary results confirm our hypothesis that method 1 is superior to method 2.The use of a distinct gesture for each character impairs learning and typing performance. A repeated meas-urements analysis shows a significant (p < 0.05) differ-ence on the words-per-minute (WPM) rate.As indicated in figure 4, subjects that used method 1 reached a higher WPM rate already after the first ses-sion. Considering the development of both curves they appear to diverge further if more session would be added; indicating that WPM rate is likely to increase with more learning time. The gradient of the WPMcurve of method 1 is bigger than of method 2; indicat-ing that method 2 is more difficult to learn or to use.Figure 4: Average WPM rate achieved with both methods.Figure 5 shows the average-error-rate (AER) of both methods that is deceasing for both over time. Unlike with the WPM rate where method 2 shows slightly bet-ter performance in the first session, the AER of method2 is higher in all sessions. The AER curves, however, show that both methods can be learned. Subjects were able to avoid approx. 5% more errors with method 1(29.36%) than with method 2 (34.30%).Figure 5: Average error rate of both methods in each session.Although method 1 outperformed method 2 in WPM rate and AER, the absolute values achieved are rather low or high, respectively. With method 1, subjectsreached 2.54 WPM on average with an AER of 29.36%. These values are deemed to be sufficient for short text input in professional wearable computing environments. The AER can be expected to decrease further in every day use.Besides these statistical considerations, we observed some aspects during the experiment that allow an op-timization of the input methods or should be considered in further calculations of performance metrics.We found that some participants tried to correct every error, which slows down their input speed while only fewer participants did not correct any error; resulting in a bias for the small set of subjects and sessions that impaired the metrics used. Some of the participants always waited for the visualization of the gesture and apparently did not try to memorize them which cause the average WPM rate to be lower that it actually was. Here, the use of an improved “incentive scheme” ap-plied for payment of subjects may help. Finally, we ob-served subjects having problems with the gesture rec-ognition that sometimes did not correctly recognized entered gestures which impairs AER metrics. By using the recently proposed approach in [9] for calculating the AER this may be improved. However, also the ges-ture recognition has to be customized in particular with respect to chording. Currently, it requires some small idle time between gesture combinations that slow down typing speed and can be an additional learning burden or source for recognition errors.Conclusion and Future WorkWe presented two hand gesture based text input meth-ods using a chording principle. Our study showed that a chording based input method together with a key map approach and a smaller number of simple and easy to memorize gestures outperforms a method where com-plex but distinct gestures for each letter are used. Within the given short learning time subjects were able to significantly increase their typing speed to a level that allows short text and abbreviation input needed in industrial wearable computing environments though. Although first results are promising, data has to be ex-amined further to uncover more optimization poten-tials. Moreover, another study that extends learning time and number of subjects involved is needed to de-termine long term properties of both methods with re-gards to learn ability and typing speed. Applying tech-niques such as T9 on top of our approach may yield insight on how far WPM rates can be raised. References[1] Bowman, D. A., Wingrave, C. A., Campbell, J. M., Ly, V. Q.: Using Pinch Gloves for both Natural and Ab-stract Interaction Techniques in Virtual Environments. Proc. HCI International 2001[2] Byung Seok, and Yoon Sang Kim and Sang-Goog Lee: Improving the Usability of a Wearable Input De-vice – Scurry™, Proc. UbiComp 2004[3] Doo, M., Lyons, K., and Starner, T. 2006. The Ko-rean twiddler: one-handed chording text entry for Ko-rean mobile phones. Proc. CHI 2006 Extended Ab-stracts[4] Lee, S., Hong, S. H., and Jeon, J. W.: Designing a universal keyboard using chording gloves. Proc. ACM CUU 2003[5] Liu, Y., Liu, X., and Jia, Y.: Hand-Gesture based text input for wearable computers. Proc. IEEE ICVS 2006[6] Lyons, K., Starner, T., et al. Twiddler Typing: One-Handed Chording Text Entry for Mobile Phones. Proc. CHI 2004[7] Rosenberg, R., Slater, M., The chording glove: a glove-based text input device, IEEE TSMC Part C, 2(2), p. 186-191, 1999[8] Witt, H., Nicolai, T., Kenn, H.: Designing a Wear-able User Interface for Hands-free Interaction in Main-tenance Applications. Proc. PerCom 2006[9] Wobbrock, J.O., Myers, B.A.: Analyzing the input stream for character-level errors in unconstrained text entry evaluations. ACM TOCHI 13(4), p. 458-489, 2006.。