About
64
Publications
17,574
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
290
Citations
Citations since 2017
Introduction
Additional affiliations
June 2009 - May 2011
August 2007 - May 2009
Publications
Publications (64)
This paper describes an ongoing research project to develop micro-notes: digital footnotes created by a community of instructors and learners to enhance the utility of educational videos. Specifically, we demonstrate that a suitably motivated group of undergraduates were able to create over 1,400 annotations for over 30 hours of video lectures in j...
Students in the developing world are frequently cited as being among the most important beneficiaries of online education initiatives such as massive open online courses (MOOCs). While some predict that online classrooms will replace physical classrooms, our experience suggests that blending online and in-person instruction is more likely to succee...
Today, automated assessment in online courses (MOOCs, SPOCS, etc.) is done in a client–server fashion. The only trusted component is the server as it is run by the test creator. The user accesses the automated assessment module by logging into the server using their mobile device. The server sends questions to the user’s device one by one. For each...
Climate change is the defining environmental challenge now facing our planet. Babies born today will be 22 when global warming reaches 1.5 C, according to the latest IPCC report and forecasts. What will life be like in 2040? How do we as educators respond today, to the challenges that lie ahead for the next generation?
How do our practices evolve t...
The introduction of Large Language Models (LLMs) has generated a significant amount of excitement both in industry and among researchers. Recently, tools that leverage LLMs have made their way into the classroom where they help students generate code and help instructors generate learning materials. There are likely many more uses of these tools --...
GitHub Copilot is an artificial intelligence model for automatically generating source code from natural language problem descriptions. Since June 2022, Copilot has officially been available for free to all students as a plug-in to development environments like Visual Studio Code. Prior work exploring OpenAI Codex, the underlying model that powers...
Historical records reveal that Odantapuri Mahavihara was an important centre of Buddhist learning. It was established in the 8th century by Gopala (the first Pala Emperor), and for several centuries, it was part of a network of Mahaviharas in eastern India (the most famous being Nalanda, along with Vikramasila, Somapura and Jaggadala). Archaeologist...
In our last article [1], we discussed the concept of a perpetual server handling multiple concurrent clients and explored several design/implementation choices. These included creating one child process (or thread) per client connection, pre-creating a number of children processes (and/or threads) and assigning a new TCP connection to one of the fr...
In the 21st century, the internet has become essential part of everyday tasks including banking, interacting with government services, education, entertainment, text/voice/video communication, etc. Individuals access the internet using client-side applications such as a browser or an app on their mobile phone or laptop/desktop. This client-side app...
Climate change is the defining challenge now facing our planet. Lim-iting global warming to 1.5 degrees, as advocated by the Intergov-ernmental Panel on Climate Change, requires rapid, far-reaching,and unprecedented changes in how governments, industries, andsocieties function by 2030. Computer Science plays an importantrole in these efforts, both...
Nalanda, in eastern India's Bihar state, was once the most important Buddhist monastery in the world. The six excavated temples there are oriented approximately to the cardinal directions, but their east–west axes are tilted more than 4° south of east. Other key Buddhist temples within the same cultural milieu (Bodhgaya, Vikramasila, Somapura, and...
In a TCP connection, the underlying network drops packets when it lacks the capacity to deliver all the packets sent by the sender to the receiver. This phenomenon is called congestion. TCP at the sender’s side will not receive acks for these dropped packets. Since TCP is a reliable protocol, the sender must retransmit all these packets. The mechan...
This article focuses on the states of a TCP connection once one of the endpoints decides to terminate the connection. This so-called teardown phase involves the exchange of numerous messages (for reasons we will explore), and the TCP connection itself transitions through several states. Web developers often have only an overly simplistic understand...
Unproctored Internet Testing (UIT) is a popular form of assessment due to its flexibility and low cost. Results from a UIT may be invalid if there is excessive cheating, but this risk can be acceptably small for certain low-stakes tests. In this paper, we analyze the occurrence of one form of cheating (source-code plagiarism) in a low-stakes UIT fo...
In the learning analytics research community, transaction-level data is being increasingly utilized to assess learner abilities on tasks performed within computer-based environments. This fine-grained data reflects step-by-step decisions made by learners and can be used to detect misconceptions or gaps in learner understanding that may be undetecta...
The transport layer in a network stack provides end-to-end connectivity to the application layer. In the internet stack, there are two main transport layer implementations in use: TCP (which provides reliable service delivery) and UDP (which does not). Unfortunately, many people misconstrue these characterizations as “TCP provides guaranteed delive...
With the rapid increase in the volume of e-commerce, the security of web-based transactions is of increasing concern. A widespread but dangerously incorrect belief among web users is that all security issues are taken care of when a website uses HTTPS (secure HTTP). While HTTPS does provide security, websites are often developed and deployed in way...
Modeling stochastic noise in inertial sensors-particularly those used in guidance, navigation, and control applications-involves characterizing the underlying noise process by inferring parameters such as random walks and drift rates from the Allan deviation plots. Fully overlapped Allan variance (FOAV) and total variance (TV) are two methods that...
It is almost impossible to overstate the importance of the internet in transforming every aspect of modern life. The number of internet users continues to grow, and users increasingly expect immediate responses while interacting with web content. Any perceived delay can be off-putting for users and can result in loss of business and revenue for the...
We have all experienced a degree of frustration when a web page takes longer than expected to load. The delay between the moment when the user enters a URL (or clicks a link) and when the page contents are finally displayed has two causes: the time needed to fetch the page contents from one or more web servers (known as the end to end network delay...
India's economic development is evident in its industrial growth, extensive transportation network, and rapidly expanding cities, towns and villages. While this growth has numerous positive aspects, it also has the potential to cause irrevocable damage (directly or indirectly) to rich archaeological heritage of the country. The present study makes...
HTTP is the most widely used protocol today, and is supported by almost every device that connects to a network. As web pages continue to grow in size and complexity, web browsers and the HTTP protocol itself have evolved to ensure that end users can meaningfully engage with this rich content. This article describes how HTTP has evolved from a simp...
At the undergraduate level, most Computer Networking curricula aim to familiarize students with key networking technologies and standards, with an emphasis on breadth rather than depth of understanding. This is detrimental to students in two ways. First, students obtain a rudimentary or incomplete understanding of inherently complex yet fundamental...
Programming assignment specifications are typically communicated to learners as text in a natural language. These specifications may be ambiguous, and the problem can be compounded in a linguistically diverse country when learners or instructors lack fluency in the language of communication. In this paper, we propose an alternate way for instructor...
Hashing is an important technique to achieve high code performance in a variety of data processing applications. The concept is emphasized in Computer Science curricula, and the IT industry values graduates who can use hashing skillfully. Although several implementation details of hashing are routinely handled by software libraries, it remains the...
While there has been a steady rise in enrolment in secondary schools in recent years, many of the issues and concerns related to the quality of mathematics education have persisted. The challenges cut across several dimensions - access to resources, a gap between the intended and the implemented curriculum, and pedagogical practices that promote ro...
The primary aim of programming assignments is to provide learners with hands-on experience in creating correct, elegant and efficient solutions to realistic problems. Even for a course whose objective is not to teach a particular language, instructors often specify the language in which learners should code. Instructor-supplied feedback on such ass...
A tool that automatically identifies subject domains of examination questions is useful in at least three ways: (1) it can help learners hone their ability to perform this subject identification task, which is an important skill in several highstakes examinations, (2) in the context of educational content repositories, it can assist both maintainer...
Data Structures is a core component of the under-graduate Computer Science curriculum. Traditional offerings of this course expose students to several data structures, where the rationale for each structure is justified in the context of a problem that is simplified due to semester time-constraints. As a result, students rarely develop the skills n...
Given a particular problem in some domain, an instructor may wish to generate new problems that are "similar" for several reasons: (a) to create personalized workflows for each student (i.e., by offering a harder or easier problem depending on how effectively the student has solved a given problem), (b) to create unique questions for each student o...
A wealth of high-quality educational e-content has been developed over the past decade, and much of it is freely available. Instructors wishing to blend such content into their courses often find it useful to provide students with supplementary materials that (1) clarify the context in which the new content fits their particular curriculum, and (2)...
The last decade has seen significant global efforts to develop and maintain digital educational repositories. Several countries, including India, have created national repositories of high-quality educational videos and related digital content. We have developed a simple open-source tool called ExamLink that allows instructors to enhance such repos...
Micro-notes provide individual instructors with a simple, yet powerful mechanism to tailor educational videos to the needs of their own students. In this paper, we develop an easy-to-use, extension to Moodle (the popular and open-source Learning Management System), which permits instructors to create micro-notes for videos associated with their cou...
One of the core skills that Computer Science undergraduates master is to create finite automata and regular expressions from natural-language descriptions of formal languages. It is quite common for such descriptions to be ambiguous (or appear to be so), particularly when instructors or students are not fluent in the natural language. Two questions...
Several educational software tools allow students to hone their problem solving skills using practice problems and feedback in the form of hints. If one can meaningfully define the " distance " between any incorrect student attempt and the correct solution, it is possible to define the student's learning velocity for that problem: the rate at which...
In several countries, private tutoring has developed as a system of education parallel to traditional schooling. Students from wealthy families have greater access to this system, and the advantages they obtain tend to exaggerate socio-economic inequities. Low-cost programmable computing devices have the potential to execute at least some tasks per...
JFLAP is a popular open-source software tool used in Formal Languages and Automata courses. In this paper, we present two kinds of enhancements to JFLAP's capabilities with regards to finite automata: (1) we provide instructors with the ability to understand difficulties faced by students on an individual and collective basis by tracking student pr...
Multiple choice questions (MCQs) are widely used as an efficient means to grade large batches of students. With technology enabling extremely large classes (MOOCs), the use of MCQs has increased rapidly, leading to an increased scrutiny of their pedagogical utility. In this paper, we present a variant of MCQs that requires students to justify their...
JFLAP is a powerful and popular educational software tool that allows students in Formal Languages and Automata courses to understand theoretical concepts in a visual and interactive manner. In this paper, we enhance the quality of JFLAP's interactivity in two ways that are extremely useful for beginners learning to build finite automata: (1) our t...
Due to the recent emergence of massive open online courses (MOOCs), students and teachers are gaining unprecedented access to high-quality educational content. However, many questions remain on how best to utilize that content in a classroom environment. In this small-scale, exploratory study, we compared two ways of using a recorded video lecture....
We propose the study of visibly pushdown automata (VPA) for processing XML documents. VPAs are pushdown automata where the input determines the stack operation, and XML documents are naturally visibly pushdown with the VPA pushing onto the stack on open-tags and popping the stack on close-tags. In this paper we demonstrate the power and ease visibl...
The ever-increasing reliance on digital systems has dramatically increased the emphasis on the reliability of the software controlling them. Consequently, techniques known as formal methods have been developed to mathematically verify correctness of software, and to fix bugs that are found. In general, verification is a hard problem, because of the...
Boolean programs with recursion are convenient abstractions of sequential, imperative programs. Recursive state machines (RSM) serve as machine models for Boolean programs and are semantically equivalent to pushdown automata. While pushdown automata cannot be minimized, motivated by the special structure of RSMs, we define a notion of modular VPA a...
We study congruences on words in order to characterize the class of visibly pushdown languages (VPL), a subclass of context-free languages. For any language L, we define a natural congruence on words that resembles the syntactic congruence for regular languages, such that this congruence is of finite index if, and only if, L is a VPL. We then study...
When a system fails to satisfy its specification, the model checker produces an error trace (or counter-example) that demonstrates an undesirable behavior, which is then used in debugging the system. Error explanation is the task of discovering errors in the system or the reasons why the system exhibits the error trace. While there has been conside...
Conformance testing is the problem of determining if a black-box implementation I is equivalent to a specification S, where both are modeled as finite state Mealy machines. The problem involves constructing a checking sequence based on the specification, which is a sequence of inputs that detects all faulty machines. Traditionally conformance testi...
Printout. Thesis (M.S.)--University of Illinois at Urbana-Champaign, 2004. Includes bibliographical references (leaves 57-58).
Projects
Projects (2)
The main objective of this project is to demonstrate and document a process by which critical and valuable archaeological information can be derived and measured using satellite based Earth Observation images. The study deals in extracting information which can substantially enhance our understanding and knowledge about archaeological sites and cultural aspects when it is organized into a GIS database along with other spatial archaeological information derived from excavation reports, publications, etc.
The overarching goal of the project is to document features of built heritage at UNSESCO World Heritage Site landscapes so as to procure information geospatially which can further help in heritage resource planning.