Towards Zero Knowledge Learning For Cross Language Api Mappings,
2019
Singapore Management University
Towards Zero Knowledge Learning For Cross Language Api Mappings, Duy Quoc Nghi Bui
Research Collection School Of Computing and Information Systems
Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across …
Econometrics In R Program,
2019
University of Rhode Island
Econometrics In R Program, Ian Connors
Senior Honors Projects
Econometrics and Datamining using R Programming
I provide an analysis of Rhode Island economic conditions by comparing economic variables in the state to other states in New England and the country as a whole. I learned the programming language R to complete the analysis using published economic statistics. Statistics provided from the Bureau of Economic Analysis (BEA) show quarterly or annual trends which can assist the researcher in predicting future trends. This data includes figures such as real personal income, real GDP, per capita real GDP, regional price parities, housing prices, and total full-time and part-time employment by state; additionally, …
Teaching Introductory Programming Concepts Through A Gesture-Based Interface,
2019
University of Arkansas, Fayetteville
Teaching Introductory Programming Concepts Through A Gesture-Based Interface, Lora Streeter
Graduate Theses and Dissertations
Computer programming is an integral part of a technology driven society, so there is a tremendous need to teach programming to a wider audience. One of the challenges in meeting this demand for programmers is that most traditional computer programming classes are targeted to university/college students with strong math backgrounds. To expand the computer programming workforce, we need to encourage a wider range of students to learn about programming.
The goal of this research is to design and implement a gesture-driven interface to teach computer programming to young and non-traditional students. We designed our user interface based on the feedback …
Automatically Generating Documentation For Lambda Expressions In Java,
2019
Singapore Management University
Automatically Generating Documentation For Lambda Expressions In Java, Anwar Alqaimi, Patanamon Thongtanunam, Christoph Treude
Research Collection School Of Computing and Information Systems
When lambda expressions were introduced to the Java programming language as part of the release of Java 8 in 2014, they were the language’s first step into functional programming. Since lambda expressions are still relatively new, not all developers use or understand them. In this paper, we first present the results of an empirical study to determine how frequently developers of GitHub repositories make use of lambda expressions and how they are documented. We find that 11% of Java GitHub repositories use lambda expressions, and that only 6% of the lambda expressions are accompanied by source code comments. We then …
Sotorrent: Studying The Origin, Evolution, And Usage Of Stack Overflow Code Snippets,
2019
Singapore Management University
Sotorrent: Studying The Origin, Evolution, And Usage Of Stack Overflow Code Snippets, Sebastian Baltes, Christoph Treude, Stephan Diehl
Research Collection School Of Computing and Information Systems
Stack Overflow (SO) is the most popular questionand-answer website for software developers, providing a large amount of copyable code snippets. Like other software artifacts, code on SO evolves over time, for example when bugs are fixed or APIs are updated to the most recent version. To be able to analyze how code and the surrounding text on SO evolves, we built SOTorrent, an open dataset based on the official SO data dump. SOTorrent provides access to the version history of SO content at the level of whole posts and individual text and code blocks. It connects code snippets from SO …
Pyscan: Interfacing Laboratory Instruments With Python,
2019
Hope College
Pyscan: Interfacing Laboratory Instruments With Python, Julian N. Payne, Peter E. Timperman
18th Annual Celebration of Undergraduate Research and Creative Activity (2019)
Laboratory instruments can be interfaced with and controlled from personal computers. Several programs to scan lasers and acquire data have been written by students in the Polik Lab. However, computer hardware and software change more rapidly (3-5 years) than instrument lifetime (20 years). Thus, programs must be replaced to run on modern computers and operating systems. This can be done to minimize dependence on specific hardware and software. PyScan is a laser instrument interface program intended to replace the Polik Lab’s current software. It allows the user to control the laser, setup a scan, acquire data, and store the data …
Autonomous Watercraft Simulation And Programming,
2019
University of Lynchburg
Autonomous Watercraft Simulation And Programming, Nicholas J. Savino
Student Scholar Showcase
Automation of various modes of transportation is thought to make travel more safe and efficient. Over the past several decades, advances to semi-autonomous and autonomous vehicles have led to advanced autopilot systems on planes and boats, and an increasing popularity of self-driving cars. We predicted the motion of an autonomous vehicle using simulations in Python. The simulation models the motion of a small scale watercraft, which can then be built and programmed using an Arduino Microcontroller. We examined different control methods for a simulated rescue craft to reach a target. We also examined the effects of different factors, such as …
Dynamic Lazy Grounding In Answer Set Programming,
2019
University of Nebraska at Omaha
Dynamic Lazy Grounding In Answer Set Programming, Brian Hodges
Computer Science Graduate Research Workshop
No abstract provided.
Automatic Program Rewriting For Non-Ground Answer Set Programs,
2019
University of Nebraska at Omaha
Automatic Program Rewriting For Non-Ground Answer Set Programs, Nicholas Hippen
Computer Science Graduate Research Workshop
No abstract provided.
Cst1101–Problem Solving With Computer Programming, Syllabus, Spring 2019,
2019
CUNY New York City College of Technology
Cst1101–Problem Solving With Computer Programming, Syllabus, Spring 2019, Douglas L. Moody
Open Educational Resources
No abstract provided.
Revocable Attribute-Based Encryption With Decryption Key Exposure Resistance And Ciphertext Delegation,
2019
Singapore Management University
Revocable Attribute-Based Encryption With Decryption Key Exposure Resistance And Ciphertext Delegation, Shengmin Xu, Guomin Yang, Yi Mu
Research Collection School Of Computing and Information Systems
Attribute-based encryption (ABE) enables fine-grained access control over encrypted data. A practical and popular approach for handing revocation in ABE is to use the indirect revocation mechanism, in which a key generation centre (KGC) periodically broadcasts key update information for all data users over a public channel. Unfortunately, existing RABE schemes are vulnerable to decryption key exposure attack which has been well studied in the identity-based setting. In this paper, we introduce a new notion for RABE called re-randomizable piecewise key generation by allowing a data user to re-randmomize the combined secret key and the key update to obtain the …
Functionality & Privacy In Mobile Applications - Who's Going To Win The Game,
2019
Singapore Management University
Functionality & Privacy In Mobile Applications - Who's Going To Win The Game, Debin Gao
MITB Thought Leadership Series
MOBILE APPS have brought so much convenience and fun into our lives. From route planning to grocery shopping, reserving flights and hiring bicycles, to the action games we play to pass the time on public transport.
Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains,
2019
Singapore Management University
Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo Wan, Robert H. Deng, David Kuo Chuen Lee, Ying Li
Research Collection School Of Computing and Information Systems
While Bitcoin gains increasing popularity in different payment scenarios, the transaction fees make it difficult to be applied to micropayment. Given the wide applicability of micropayment, it is crucial for all cryptocurrencies including Bitcoin to provide effective support therein. In light of this, a number of low-cost micropayment schemes for Bitcoin have been proposed recently to reduce micropayment costs. Existing schemes, however, suffer from drawbacks such as high computation cost, inflexible payment value, and possibly unfair exchanges. The paper proposes two new micropayment schemes, namely the basic MicroBTC and the advanced MicroBTC, for Bitcoin by integrating the hash chain technique …
Supported Programming For Beginning Developers,
2019
California Polytechnic State University, San Luis Obispo
Supported Programming For Beginning Developers, Andrew Gilbert
Master's Theses
Testing code is important, but writing test cases can be time consuming, particularly for beginning programmers who are already struggling to write an implementation. We present TestBuilder, a system for test case generation which uses an SMT solver to generate inputs to reach specified lines in a function, and asks the user what the expected outputs would be for those inputs. The resulting test cases check the correctness of the output, rather than merely ensuring the code does not crash. Further, by querying the user for expectations, TestBuilder encourages the programmer to think about what their code ought to do, …
Cs04all: List Comprehensions,
2019
CUNY John Jay College
Cs04all: List Comprehensions, Hunter R. Johnson
Open Educational Resources
List Comprehensions
This is a tutorial on list comprehensions in Python, suitable for use in an Intro or CS0 course. We also briefly mention set comprehensions and dictionary comprehensions.
https://cocalc.com/share/bde99afd-76c8-493d-9608-db9019bcd346/171/list_comprehensions?viewer=share/
This OER material was produced as a result of the CS04ALL CUNY OER project
Topical Co-Attention Networks For Hashtag Recommendation On Microblogs,
2019
Singapore Management University
Topical Co-Attention Networks For Hashtag Recommendation On Microblogs, Yang Li, Ting Liu, Jingwen Hu, Jing Jiang
Research Collection School Of Computing and Information Systems
Hashtags provide a simple and natural way of organizing content in microblog services. Along with the fast growing of microblog services, the task of recommending hashtags for microblogs has been given increasing attention in recent years. However, much of the research depends on hand-crafted features. Motivated by the successful use of neural models for many natural language processing tasks, in this paper, we adopt an attention based neural network to learn the representation of a microblog post. Unlike previous works, which only focus on content attention of microblogs, we propose a novel Topical CoAttention Network (TCAN) that jointly models content …
Automatic Code Review By Learning The Revision Of Source Code,
2019
Singapore Management University
Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo
Research Collection School Of Computing and Information Systems
Code review is the process of manual inspection on the revision of the source code in order to find out whether the revised source code eventually meets the revision requirements. However, manual code review is time-consuming, and automating such the code review process will alleviate the burden of code reviewers and speed up the software maintenance process. To construct the model for automatic code review, the characteristics of the revisions of source code (i.e., the difference between the two pieces of source code) should be properly captured and modeled. Unfortunately, most of the existing techniques can easily model the overall …
A Randomized Controlled Trial On The Impact Of Polyglot Programming In A Database Context,
2019
University of Nevada, Las Vegas
A Randomized Controlled Trial On The Impact Of Polyglot Programming In A Database Context, Andreas Stefik, Phillip Merlin Uesbeck
Computer Science Faculty Research
Using more than one programming language in the same project is common practice. Often, additional languages might be introduced to projects to solve specific issues. While the practice is common, it is unclear whether it has an impact on developer productivity. In this paper, we present a pilot study investigating what happens when programmers switch between programming languages. The experiment is a repeated measures double-blind randomized controlled trial with 3 groups with various kinds of code switching in a database context. Results provide a rigorous testing methodology that can be replicated by us or others and a theoretical backing for …
Improving Vix Futures Forecasts Using Machine Learning Methods,
2019
Southern Methodist University
Improving Vix Futures Forecasts Using Machine Learning Methods, James Hosker, Slobodan Djurdjevic, Hieu Nguyen, Robert Slater
SMU Data Science Review
The problem of forecasting market volatility is a difficult task for most fund managers. Volatility forecasts are used for risk management, alpha (risk) trading, and the reduction of trading friction. Improving the forecasts of future market volatility assists fund managers in adding or reducing risk in their portfolios as well as in increasing hedges to protect their portfolios in anticipation of a market sell-off event. Our analysis compares three existing financial models that forecast future market volatility using the Chicago Board Options Exchange Volatility Index (VIX) to six machine/deep learning supervised regression methods. This analysis determines which models provide best …
Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed.,
2019
Gettysburg College
Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann
Programming Tips and Tricks
Program safety deals with how to make programs as error free as possible. The hardest errors in a program for a programmer to find are often errors in using memory. There are two reasons for this. The first is that errors in accessing memory almost never show problems in the proximate area of the program where the error is made. The error has no apparent impact when it is made, but often causes catastrophic results to occur much later in the program, in areas of the program unrelated to memory error that caused it.
The second reason memory errors are …
