Nintendo's wiimote is a revolution in gaming technology, being able to detect motion as it is moved around as well as infrared sensors linking it to the Wii console to show what the user is pointing at. Other gaming enthusiasts have been able to use the wiimote for more than just a controller for the Wii by connecting it to a computer through its Bluetooth connectivity and turning it into a receiver for infrared signals to create "finger-tracking". This new type of gesture interface could prove to be a very useful tool, not only for gaming but for anyone who wants to make a presentation more interactive rather than using the traditional mouse and keyboard.
{"title":"Finger tracking and gesture interfacing using the Nintendo® wiimote","authors":"Ross C. Williams","doi":"10.1145/1900008.1900025","DOIUrl":"https://doi.org/10.1145/1900008.1900025","url":null,"abstract":"Nintendo's wiimote is a revolution in gaming technology, being able to detect motion as it is moved around as well as infrared sensors linking it to the Wii console to show what the user is pointing at. Other gaming enthusiasts have been able to use the wiimote for more than just a controller for the Wii by connecting it to a computer through its Bluetooth connectivity and turning it into a receiver for infrared signals to create \"finger-tracking\". This new type of gesture interface could prove to be a very useful tool, not only for gaming but for anyone who wants to make a presentation more interactive rather than using the traditional mouse and keyboard.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123138726","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We introduce the idea of an XML-to-SQL translation scheme applicable to relatively stable databases in this paper. This approach utilizes a subordinate data structure which we call a Path Prefix Tree (PPT). The PPT is updated for each instance of the XML document, and then used to build efficient SQL queries that are nearly optimal in terms of efficiency. The mapping of XML path expressions into SQL queries is shown to operate in O(n) time. Moreover, our proposed XML-to-SQL translation scheme efficiently maps the recursive path queries to SQL queries in the presence of recursive schemas using the PPT.
{"title":"Optimizing XML-to-SQL query translation for analytical databases using intelligent path derivation","authors":"Mustafa Atay, P. Fisher","doi":"10.1145/1900008.1900050","DOIUrl":"https://doi.org/10.1145/1900008.1900050","url":null,"abstract":"We introduce the idea of an XML-to-SQL translation scheme applicable to relatively stable databases in this paper. This approach utilizes a subordinate data structure which we call a Path Prefix Tree (PPT). The PPT is updated for each instance of the XML document, and then used to build efficient SQL queries that are nearly optimal in terms of efficiency. The mapping of XML path expressions into SQL queries is shown to operate in O(n) time. Moreover, our proposed XML-to-SQL translation scheme efficiently maps the recursive path queries to SQL queries in the presence of recursive schemas using the PPT.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"126 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117346406","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Several Computing Departments have described using robots to illuminate concepts and motivate students in introductory programming courses. We describe an ongoing effort to teach concepts of problem solving to computing freshmen, prior to their initial programming experience.
{"title":"Initial experiences teaching problem solving to computing freshmen (using robots)","authors":"Davide W. Middleton","doi":"10.1145/1900008.1900144","DOIUrl":"https://doi.org/10.1145/1900008.1900144","url":null,"abstract":"Several Computing Departments have described using robots to illuminate concepts and motivate students in introductory programming courses. We describe an ongoing effort to teach concepts of problem solving to computing freshmen, prior to their initial programming experience.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"142 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123222506","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper investigates the use of a natural language processing technique that automatically detects project-specific code templates (i.e., frequently used code blocks), which can be made available to software developers within an integrated development environment. During software development, programmers often and in some cases unknowingly rewrite the same code block that represents some functionality. These frequently used code blocks can inform the existence and possible use of code templates. Many existing code editors support code templates, but programmers are expected to manually define these templates and subsequently add them as templates in the editor. Furthermore, the support of editors to provide templates based on the editing context is still limited. The use of n-gram language models within the context of software development is described and evaluated to overcome these restrictions. The technique can search for project-specific code templates and present these templates to the programmer based on the current editing context.
{"title":"Code template inference using language models","authors":"Ferosh Jacob, Robert Tairas","doi":"10.1145/1900008.1900143","DOIUrl":"https://doi.org/10.1145/1900008.1900143","url":null,"abstract":"This paper investigates the use of a natural language processing technique that automatically detects project-specific code templates (i.e., frequently used code blocks), which can be made available to software developers within an integrated development environment. During software development, programmers often and in some cases unknowingly rewrite the same code block that represents some functionality. These frequently used code blocks can inform the existence and possible use of code templates. Many existing code editors support code templates, but programmers are expected to manually define these templates and subsequently add them as templates in the editor. Furthermore, the support of editors to provide templates based on the editing context is still limited. The use of n-gram language models within the context of software development is described and evaluated to overcome these restrictions. The technique can search for project-specific code templates and present these templates to the programmer based on the current editing context.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122963318","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software patterns are used in many applications and domains. They reduce time, effort and cost as they increase reliability, reusability and testability when used for developing software systems. Although they have been criticized for their high level of abstraction, design patterns are the most commonplace patterns used. Furthermore, micro patterns are introduced in the literature. They have a lower level of abstraction and deal with Java software programs at the level of a class while design patterns describe the system design in general. In this paper, I am introducing a lower level of abstraction for Java patterns. Nano patterns are a group of reusable methods that are frequently used in Java software development. Sixteen nano patterns are defined into five groups, according to their privileges, nature and functionality. Additionally, I provide experimentation and initial results and conclude that nano patterns reduce more time, effort and cost for a Java-based software project.
{"title":"Java nano patterns: a set of reusable objects","authors":"Feras A. Batarseh","doi":"10.1145/1900008.1900089","DOIUrl":"https://doi.org/10.1145/1900008.1900089","url":null,"abstract":"Software patterns are used in many applications and domains. They reduce time, effort and cost as they increase reliability, reusability and testability when used for developing software systems. Although they have been criticized for their high level of abstraction, design patterns are the most commonplace patterns used. Furthermore, micro patterns are introduced in the literature. They have a lower level of abstraction and deal with Java software programs at the level of a class while design patterns describe the system design in general. In this paper, I am introducing a lower level of abstraction for Java patterns. Nano patterns are a group of reusable methods that are frequently used in Java software development. Sixteen nano patterns are defined into five groups, according to their privileges, nature and functionality. Additionally, I provide experimentation and initial results and conclude that nano patterns reduce more time, effort and cost for a Java-based software project.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114275003","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
As well known, knowing the worst-case execution time (WCET) of real-time tasks is crucial for schedulability analysis in a real-time system. In a multicore computing environment, however, the inter-thread interferences in the shared resources such as the shared cache can significantly affect the WCET of each real-time task, making the actual (i.e runtime) WCET quite different from the statically estimated WCET obtained before scheduling. In this paper, we present a novel static real-time scheduling approach on multicore platforms based on the WCET of target real-time tasks provided by considering the worst case inter-thread interferences in the shared L2 cache. Furthermore a greedy algorithm is integrated into the static scheduling approaches to generate safe schedules while minimizing the worst-case inter-thread cache interferences and WCET.
{"title":"Improving the static real-time scheduling on multicore processors by reducing worst-case inter-thread cache interferences","authors":"Yiqiang Ding, Wei Zhang","doi":"10.1145/1900008.1900148","DOIUrl":"https://doi.org/10.1145/1900008.1900148","url":null,"abstract":"As well known, knowing the worst-case execution time (WCET) of real-time tasks is crucial for schedulability analysis in a real-time system. In a multicore computing environment, however, the inter-thread interferences in the shared resources such as the shared cache can significantly affect the WCET of each real-time task, making the actual (i.e runtime) WCET quite different from the statically estimated WCET obtained before scheduling. In this paper, we present a novel static real-time scheduling approach on multicore platforms based on the WCET of target real-time tasks provided by considering the worst case inter-thread interferences in the shared L2 cache. Furthermore a greedy algorithm is integrated into the static scheduling approaches to generate safe schedules while minimizing the worst-case inter-thread cache interferences and WCET.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130624334","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The ranking problem appears in many areas of study such as customer rating, social science, economics, and information retrieval. Ranking can be formulated as a classification problem when pair-wise data is considered. However this approach increases the problem complexity from linear to quadratic in terms of sample size. We present in this paper a convex hull reduction method to reduce this impact. We also propose a 1-norm regularization approach to simultaneously find a linear ranking function and to perform feature subset selection. The proposed method is formulated as a linear program. We present experimental results on artificial data and two real data sets, concrete compressive strength data set and Abalone data set.
{"title":"Learning to rank using 1-norm regularization and convex hull reduction","authors":"Xiaofei Nan, Yixin Chen, Xin Dang, D. Wilkins","doi":"10.1145/1900008.1900052","DOIUrl":"https://doi.org/10.1145/1900008.1900052","url":null,"abstract":"The ranking problem appears in many areas of study such as customer rating, social science, economics, and information retrieval. Ranking can be formulated as a classification problem when pair-wise data is considered. However this approach increases the problem complexity from linear to quadratic in terms of sample size. We present in this paper a convex hull reduction method to reduce this impact. We also propose a 1-norm regularization approach to simultaneously find a linear ranking function and to perform feature subset selection. The proposed method is formulated as a linear program. We present experimental results on artificial data and two real data sets, concrete compressive strength data set and Abalone data set.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125610536","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Domain-Specific Modeling Languages (DSMLs) can offer assistance to domain experts, who may not be computer scientists, by providing notations and semantic constructs that align with abstractions from a particular domain. In this paper, we describe our design and application of a DSML in the area of data composition and interoperability. In particular, we introduce our recent effort to design a DSML to assist with interoperability issues across scientific software applications (e.g., composing scientific data in different file structures and integrating scientific data with data gathering devices). Currently, several different scientific data file specifications have been proposed (e.g., CID, netCDF, and HDF). Each file specification is optimized to manage a specific data type efficiently. Thus, each file specification has evolved with slightly different notions and implementation technologies. These differences led to the need for an environment that provides interoperability among the different specification formats. In this paper, we introduce our framework, supported by a DSML, that provides functionality to visually model the data composition and integration concepts independent from a particular data file specification.
特定于领域的建模语言(domain - specific Modeling Languages, dsml)可以通过提供与特定领域的抽象相一致的符号和语义结构,为领域专家(可能不是计算机科学家)提供帮助。在本文中,我们描述了我们在数据组成和互操作性方面的DSML的设计和应用。特别地,我们介绍了我们最近的努力,设计了一个DSML来帮助解决跨科学软件应用程序的互操作性问题(例如,以不同的文件结构组合科学数据,并将科学数据与数据收集设备集成)。目前,已经提出了几种不同的科学数据文件规范(如CID、netCDF和HDF)。每个文件规范都经过优化,以有效地管理特定的数据类型。因此,每个文件规范都有略微不同的概念和实现技术。这些差异导致需要在不同规范格式之间提供互操作性的环境。在本文中,我们介绍了由DSML支持的框架,该框架提供了独立于特定数据文件规范的可视化建模数据组合和集成概念的功能。
{"title":"A domain-specific modeling language for scientific data composition and interoperability","authors":"Hyun Cho, J. Gray","doi":"10.1145/1900008.1900146","DOIUrl":"https://doi.org/10.1145/1900008.1900146","url":null,"abstract":"Domain-Specific Modeling Languages (DSMLs) can offer assistance to domain experts, who may not be computer scientists, by providing notations and semantic constructs that align with abstractions from a particular domain. In this paper, we describe our design and application of a DSML in the area of data composition and interoperability. In particular, we introduce our recent effort to design a DSML to assist with interoperability issues across scientific software applications (e.g., composing scientific data in different file structures and integrating scientific data with data gathering devices). Currently, several different scientific data file specifications have been proposed (e.g., CID, netCDF, and HDF). Each file specification is optimized to manage a specific data type efficiently. Thus, each file specification has evolved with slightly different notions and implementation technologies. These differences led to the need for an environment that provides interoperability among the different specification formats. In this paper, we introduce our framework, supported by a DSML, that provides functionality to visually model the data composition and integration concepts independent from a particular data file specification.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131576343","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Numerous organizations and companies can provide students of computer science and computer information systems with high quality applied learning and service learning experiences. At Missouri Western State University (MWSU), students are divided into design and implementation teams directed by faculty members; local and national companies such as Inter-Serv, YWCA, and Buchanan County Prosecuting Attorney's Office become project clients. This blends Service / Applied Learning models followed by other universities (Iowa State University and Virginia Tech, Service-Learning Models)[1] to engage students in "live" projects that strengthen problem solving and critical thinking skills while they analyze, design, and develop clients' prospective application systems. Project clients, corporate sponsors and business officers bring industry's needs, expertise, and peer review to projects that blend legacy with new application development using cutting edge tools.
{"title":"Service learning utilizing \"live\" business partnerships","authors":"Connie Hecker, Deborah Becker","doi":"10.1145/1900008.1900159","DOIUrl":"https://doi.org/10.1145/1900008.1900159","url":null,"abstract":"Numerous organizations and companies can provide students of computer science and computer information systems with high quality applied learning and service learning experiences. At Missouri Western State University (MWSU), students are divided into design and implementation teams directed by faculty members; local and national companies such as Inter-Serv, YWCA, and Buchanan County Prosecuting Attorney's Office become project clients. This blends Service / Applied Learning models followed by other universities (Iowa State University and Virginia Tech, Service-Learning Models)[1] to engage students in \"live\" projects that strengthen problem solving and critical thinking skills while they analyze, design, and develop clients' prospective application systems. Project clients, corporate sponsors and business officers bring industry's needs, expertise, and peer review to projects that blend legacy with new application development using cutting edge tools.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127723485","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Microcontrollers can be found everywhere. They are becoming more numerous and more powerful. Programming them is well within the reach of the average computer scientist. This tutorial will introduce computer scientists to microcontrollers, their capabilities, applications, development environments, programming styles, and uses in the computer science curriculum.
{"title":"An introduction to programming microcontrollers","authors":"Benjamin Pharr","doi":"10.1145/1900008.1900099","DOIUrl":"https://doi.org/10.1145/1900008.1900099","url":null,"abstract":"Microcontrollers can be found everywhere. They are becoming more numerous and more powerful. Programming them is well within the reach of the average computer scientist.\u0000 This tutorial will introduce computer scientists to microcontrollers, their capabilities, applications, development environments, programming styles, and uses in the computer science curriculum.","PeriodicalId":333104,"journal":{"name":"ACM SE '10","volume":"252 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115646301","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}