Miracle-dz/UniFAR-FTUs huggingface dataset:
A Strategy to Enhance Computer Science Teaching Material Using Topic Modelling: Towards Overcoming The Gap Between College And Workplace Skills

Computer Science teaching materials are biased towards concepts and theoretical aspects. One may consider it difficult to relate concepts to concrete problems. Consequently, it increases the chances of a student not recognizing the relevance of the subject, becoming unmotivated and unprepared to solve practical problems or coping with workplace needs after college. This paper shows the use of social media data as an alternative to minimize the skill gap between what the student learns in college and the skills required in the workplace. The proposed strategy consists of extracting topics from Stack Overflow questions to identify concepts generally unknown or misunderstood and concepts that their practical application represents a challenge. The concepts covered in Stack Overflow questions provide strong cues about how professors and instructors can improve teaching material with useful content for their students, as well as increase their motivation -- since the teaching material becomes clearly related to practical issues in Computer Science. We show, by an example, how to use the proposed strategy to improve teaching material from the generated topics. Also, we demonstrate that the application of topic modeling in Stack Overflow content is promising as a professor support tool to enhance teaching material relevance in Computer Science courses and diminish the college-workplace skill gap.
Tell Me What's Wrong: A Python IDE with Error Messages

Development environments play a crucial role for novice programmers. Not only do they act as interface to type in and execute programs, but a programming environment is also responsible for reporting errors, managing in- and output when the program is running, or offering the programmer access to the underlying notional machine. In recent years several new educational programming environments for Python have been presented. However, the important issue of reporting errors has rarely been addressed and evaluations often hint that students main issue is the poor quality of Python's error messages. We have therefore written an educational Python environment with enhanced error messages. This paper presents the design and rationale of its three primary features: modifications to Python, enhanced error messages, and the visual debugger.
Blockchain as Middleware for Exchange of Resources: The Cross-Company Loyalty Rewarding System Use Case

Loyalty programs that allow customers to collect loyalty points are popular means for customer relationship building. At the moment, such points can be collected and spent only within the same shop (or shops from the same consortium), which makes it only interesting for customers visiting that particular store frequently. However, especially with the increase of e-shops, customers easily switch between stores. With this new shopping behaviour, such programs are less attractive and as such become less effective, requiring a more novel approach. One possibility could be to allow customers to collect and spent loyalty points across stores. In fact, this is just one use case of a more general issue. There are multiple cases in which people receive (digital) resources from organizations or other parties and want to use or exchange them across other organizations or parties. In this paper, we propose a generic framework that allows customers to exchange resources across different parties. We propose to implement this framework with a blockchain-based solution, making the customers in full control and awareness of their available resources as well as creating a decentralized, trustable and safe environment. We present the major research questions, the general concepts of our generic framework, the proposed solution, and a proof of concept of this solution.
A Novel Fuzzy Based Hybrid PSOGSA Algorithm in WSNs

Lifetime and energy consumption are the main objectives of wireless sensor networks (WSNs). The existing methodologies have certain inhibitions which limit their applications. Clustering optimization is a major technique in any wireless sensor networks to optimize energy efficiency. Clustering technique assembles the objects of comparable shape in one shape. This technique is the excellent data assembly model for WSN, and it handles the redundant data within the network. The selection of the cluster head is an important feature in the clustering technique, then cluster heads cumulative the data and transmits to sink. Here fuzzy logic control algorithm has been proposed with hybridized particle swarm optimization algorithm and gravitational search algorithm to select cluster heads in WSN (FHPSOGSA). The algorithm is used to merge the constraints like remaining energy, node degree and distance to sink and select the best appropriate nodes as Cluster Head (CH). Simulation outcome displays that the proposed algorithm (FHPSOGSA) is establish to yield best results over other conventional algorithms.
Detection of Behavioral Facilitation information in Disaster Situation

Disasters of many types have occurred in recent years, such as strong earthquakes, heavy rain, and typhoons. In such disaster situations, people often use social network services (SNS) and exchange information of all types to help each other. Especially, people exchange information using Twitter during disasters. Such tweet messages include much information that promotes people's behaviors. We designate such tweets as behavioral facilitation tweets. When psychologically unstable in the aftermath of a disaster, behavioral facilitation tweets can strongly affect people, irrespective of a message's authenticity. We regard the extraction of the behavioral facilitation tweets automatically as important. In this paper, we propose a method that extracts behavioral facilitation tweets in disaster situations. Specifically, we propose and compare three methods to extract behavioral facilitation tweets in disaster situations: rule-based, support vector machine (SVM) and long short-term memory (LSTM). Furthermore, we conducted experiments to assess the benefits of our proposed method.
Crescendo: Engaging Students to Self-Paced Programming Practices

This paper introduces Crescendo, a self-paced programming practice environment that combines the block-based and visual, interactive programming of Snap! , with the structured practices commonly found in Drill-and-Practice Environments. Crescendo supports students with Parsons problems to reduce problem complexity, Use-Modify-Create task progressions to gradually introduce new programming concepts, and automated feedback and assessment to support learning. In this work, we report on our experience deploying Crescendo in a programming camp for middle school students, as well as in an introductory university course for non-majors. Our initial results from field observations and log data suggest that the support features in Crescendo kept students engaged and allowed them to progress through programming concepts quickly. However, some students still struggled even with these highly-structured problems, requiring additional assistance, suggesting that even strong scaffolding may be insufficient to allow students to progress independently through the tasks.
Analyzing the human behavior using pervasive sensing system

Smartphones are becoming an integral part of the Internet of Things-(IoT) paradigm with their built-in sensor ecosystem providing a convenient platform to study human behavior. Examples include activity monitoring, transportation mode detection, travel behaviour and so on. All of these examples are connected in one way or the other to the IoT domain such as smart cities, smart health and so on. In this paper, we attempt to use smartphone sensors to understand college student behaviour within a campus for 30 days. The rising use of smartphones by the student population, motivated us to install a continuous sensing application on their smartphones to understand their daily routines, their physical activity levels, their sleep patterns, and their mobility patterns within the campus. Our empirical data was supported by qualitative responses from the students. The results of this experiment showed that smartphones indeed could be utilized to extract behavioral patterns of students.
Suicidal Ideation Among Students and Physicians at a U.S. Medical School

Physicians are among the highest risk groups for suicide, and emerging data suggest this risk begins early in medical training. We describe a screening program at one medical center for identifying and referring physicians and students who may be at risk for suicide, and we explore differences between groups with respect to depressive symptoms, suicidal ideation (SI) and behaviors, and utilization of mental health resources. Over a 5-year period (May 2009–August 2014), we invited 1,134 medical students, 1,380 house staff (residents and fellows), and 1,922 faculty to complete an anonymous web-based “stress” questionnaire including items about depression symptoms, SI and behaviors, emotional distress features, drinking and drug-use behaviors, problematic eating, and utilization of treatments for depression and anxiety. Response rates among each group ranged from 17% (house staff) to 33% (students). Overall, 7% to 10% of respondents met criteria for a current major depressive syndrome, and 9% to 11% of respondents endorsed current SI. Similarities in depression severity and SI between groups far outweighed differences. The following were the four unique predictors of SI: presence of moderately severe or severe depressive symptoms, impairment, hopelessness, and past attempts. Only 17% of those endorsing current SI were taking antidepressant medication, and only 12% were receiving psychotherapy. However, 16% accepted referrals provided through this program. Increased efforts at education and destigmatization, outreach, assessment, and treatment at medical schools are essential. Our educational and screening program is one model others might employ to work toward this goal, though it is likely that additional outreach methods are needed.
Introducing Computer Science into K-8 Classrooms: Teachers' Perspectives from a Large, Urban School District

As part of the national Computer Science for All initiative, there is a growing presence of computer science (CS) in K-8 classrooms. This poster presents findings from a survey of 130 K-8 teachers from Chicago Public Schools (CPS) about the state of computer science in their schools and their experiences teaching it. Results from the survey highlight the plurality of ways CS is being implemented in the classroom. The survey also reveals challenges instructors face in teaching CS. Finally, the survey reports on teachers' own experiences in the classroom, finding that teachers enjoy teaching CS and think their students also enjoy CS.
PreScaler: an efficient system-aware precision scaling framework on heterogeneous systems

Graphics processing units (GPUs) have been commonly utilized to accelerate multiple emerging applications, such as big data processing and machine learning. While GPUs are proven to be effective, approximate computing, to trade off performance with accuracy, is one of the most common solutions for further performance improvement. Precision scaling of originally high-precision values into lower-precision values has recently been the most widely used GPU-side approximation technique, including hardware-level half-precision support. Although several approaches to find optimal mixed-precision configuration of GPU-side kernels have been introduced, total program performance gain is often low because total execution time is the combination of data transfer, type conversion, and kernel execution. As a result, kernel-level scaling may incur high type-conversion overhead of the kernel input/output data. To address this problem, this paper proposes an automatic precision scaling framework called PreScaler that maximizes the program performance at the memory object level by considering whole OpenCL program flows. The main difficulty is that the best configuration cannot be easily predicted due to various application- and system-specific characteristics. PreScaler solves this problem using search space minimization and decision-tree-based search processes. First, it minimizes the number of test configurations based on the information from system inspection and dynamic profiling. Then, it finds the best memory-object level mixed-precision configuration using a decision-tree-based search. PreScaler achieves an average performance gain of 1.33x over the baseline while maintaining the target output quality level.
No barrier in the road: a comprehensive study and optimization of ARM barriers

In this paper, we present the first comprehensive performance characterization and optimization of ARM barriers on both mobile and server platforms. We draw a set of observations through several abstracted models and validate them in scenarios where barriers are intensively used. We find that (1) order-preserving approaches without involving the bus significantly outperform other approaches, and (2) the tremendous overhead mostly comes from barriers strictly following remote memory references. Usually, such barriers are inserted when threads are exchanging data, and they are used to ensure the relative order between storing the data to a shared buffer and setting a flag to inform the receiver. Based on the observations, we propose a new mechanism, Pilot, to remove such barriers by leveraging the single-copy atomicity to piggyback the flag with the data. Applying Pilot only requires minor changes to applications and provides 10%-360% performance improvements in multiple benchmarks, which are close to the ideal performance without barriers.
INCAME: Interruptible CNN Accelerator for Multirobot Exploration

Multirobot exploration (MR-Exploration) is a primary task providing the location and map for many multirobot applications. To improve system performance, convolutional neural network (CNN) is introduced by recent researches into critical components in MR-Exploration, such as feature-point extraction (FE) and place recognition (PR). This CNN-based MR-Exploration needs to simultaneously run multiple CNN models and complex postprocessing algorithms. This significantly challenges the hardware platforms of embedded systems. Previous researches reveal that an FPGA is ideal for CNN processing on embedded platforms. Such accelerators usually process different models in sequence, while they cannot schedule multiple tasks at runtime. Furthermore, the postprocessing of CNNs is computationally intensive and becomes the bottleneck of the whole system. To handle such problems, we propose an interruptible CNN accelerator for multirobot exploration (INCAME) framework to rapidly deploy the robot applications on FPGAs. In INCAME, we propose an interrupt method based on virtual instructions to support multitasking on CNN accelerators. INCAME also includes hardware modules for accelerating the postprocessing of the CNN-based components. Organically, it integrates the postprocessing and CNN backbone by sharing memory. Experimental results reveal that INCAME enables multitask scheduling on the CNN accelerator with negligible performance degradation (0.3%). INCAME enables embedded FPGAs to perform MR-Exploration in real time (20 fps) via the multitask support and postprocessing acceleration.
Continuous indoor/outdoor pathway display algorithm for pedestrian navigation service

Over the last decade, pedestrian navigation services are gaining a high interest in guiding and tracking the user at any place. Outdoor, GPS persists as the navigation standard. Nevertheless, indoor navigation services, mainly developed to meet the need of a single floor building, are still under development stage. This paper introduces a novel algorithm that computes and displays the pathway, in a continuous manner, between two different points (i.e. source point and destination point) located inside a multi-floor building or outdoor. The calculated pathway is composed of two parts; the first part is displayed in the source floor and the second part is viewed in the destination floor. In cases where the source point and the destination point are in different floors and after displaying the first part of the pathway, the proposed algorithm automatically detects if the user is close to the destination floor based on the difference of altitudes. Therefore, the first part of the pathway is dropped and the second part is displayed. We conducted several real experiments, inside the campus of the University of Passau in Germany, to evaluate the performance of the proposed algorithm. They yielded promising results in terms of continuity of navigation service and we achieved an accuracy in estimating the floor equal to 0.093 m.
Self-adjusting task granularity for Global load balancer library on clusters of many-core processors

Achieving load balance is a challenge for irregular applications. Balancing runtimes and libraries aim at relieving the programmer from this difficult task by proposing a layer of abstraction between the computation at hand and the hardware used to actually perform it. With the rise of many-core architectures, load balancers for distributed computation are now expected to handle unbalance both between and within compute nodes. We bear a particular interest in backtrack search algorithms where branches of the exploration tree can be processed in parallel. Profile-based load balancers cannot be applied to them as the computation need only be performed once. It is therefore vital to promptly detect and address load unbalances from the start. A popular solution consists in using the fork/join model. Another approach on which we focus in this article is implemented in the load balancing library of X10. Both of these schemes are sensitive to task granularity. Fined-grained tasks may incur significant overhead, especially with the increased number of parallel workers of many-core architectures, while coarse-grained tasks may cause starvation. Determining a suitable grain size for a particular application is difficult. In this article we present our Java implementation of the X10 load balancing scheme. We extend it with a tuning mechanism which dynamically adjusts the task granularity, increasing the library's versatility and usability. We demonstrate the capabilities of our tuning mechanism to suit many-core clusters using four applications: Unbalanced Tree Search, Pentomino, the Traveling Salesman Problem, and N-Queens. We achieve near identical performance to the ideal fixed grain executions on the first three but suffer from a more significant performance gap on the N-Queens problem. We advance hypotheses as to why.
Balancing performance and productivity for the development of dynamic binary instrumentation tools: a case study on Arm systems

Dynamic Binary Instrumentation (DBI) is a well-established approach for analysing the execution of applications at the level of machine code. DBI frameworks implement a runtime system capable of modifying running applications without access to their source code. These frameworks provide APIs used by DBI tools to plug in their specific analysis and instrumentation routines. However, the dynamic instrumentation needed by these DBI tools is either challenging to implement, and/or introduces a significant performance overhead. An added complexity beyond the well studied scenario of x86 and x86-64, is that state-of-the-art Arm systems (i.e. Arm v8) introduced a distinct 64-bit execution mode with a new redesigned instruction set. Thus, Arm v8 is a computer architecture which contains three instruction sets. This further complicates the development of DBI tools which can work for both 32-bit Arm (includes the A32 and T32 instruction sets), and 64-bit (the A64 instruction set). This paper presents the design of a novel DBI framework API that provides support both for portable (across A32, T32 and A64), and for native-code-level analysis and instrumentation, which can be intermixed freely. This API allows DBI tool developers to balance performance and productivity at a fine-grain level. The API is implemented on top of the MAMBO DBI system.
Customer Satisfaction Survey “a Case Of The Jubilee Insurance Company Of Kenya Limited”

The study was about customer satisfaction level at The Jubilee Insurance of Kenya Ltd. The objective of this study was to determine the level of customer satisfaction of the life clients at Jubilee Insurance. The study was carried out following stiff competition from companies offering similar life products and the realization that a study of that kind had not been done at the Company. The study employed a survey design with a sample of 120 respondents situated in Nairobi. Data was collected using a semi-structured questionnaire. A 5-point likert scale was used. Data analysis was done using descriptive statistics consisting frequency, percentage, mean and standard deviation. Various aspects of customer satisfaction like quality, price, employee performance, communication, perceived justice and expectations were measured. Findings indicated that, quality and employee performance had the highest ranked attributes. Respondents stated that they were rather dissatisfied with those aspects. The findings further indicated that the aspect of expectation was least satisfactory with most respondents stating that they were dissatisfied. There were some aspects of communication that were also not satisfactory. Respondents however indicated that they would recommend the product they had to their family and friends and that they would obtain another life insurance product from Jubilee. The study recommended the need for Jubilee to conduct continuous customer satisfaction surveys, and also put emphasis on the aspects that seemed rather dissatisfying with a view to improve them. The study suggests’ further research to be carried out on the key driving factors of satisfaction from the aspects used. Finally the study encountered limitations on low respondents to questionnaires and time constraint.
Overlapping host-to-device copy and computation using hidden unified memory

In this paper, we propose a runtime, called HUM, which hides host-to-device memory copy time without any code modification. It overlaps the host-to-device memory copy with host computation or CUDA kernel computation by exploiting Unified Memory and fault mechanisms. HUM provides wrapper functions of CUDA commands and executes host-to-device memory copy commands in an asynchronous manner. We also propose two runtime techniques. One checks if it is correct to make the synchronous host-to-device memory copy command asynchronous. If not, HUM makes the host computation or the kernel computation wait until the memory copy completes. The other subdivides consecutive host-to-device memory copy commands into smaller memory copy requests and schedules the requests from different commands in a round-robin manner. As a result, the kernel execution can be scheduled as early as possible to maximize the overlap. We evaluate HUM using 51 applications from Parboil, Rodinia, and CUDA Code Samples and compare their performance under HUM with that of hand-optimized implementations. The evaluation result shows that executing the applications under HUM is, on average, 1.21 times faster than executing them under original CUDA. The speedup is comparable to the average speedup 1.22 of the hand-optimized implementations for Unified Memory.