With the development of heterogeneous systems, the demand for high-level programming methods that ease heterogeneous programming and produce portable applications has become more urgent. This paper proposes DACL, the ...
详细信息
With the development of heterogeneous systems, the demand for high-level programming methods that ease heterogeneous programming and produce portable applications has become more urgent. This paper proposes DACL, the data associated computing language. DACL introduces data partition patterns to achieve architecture-independent parallelism expression. Meanwhile, DACL provides simplified language extensions, as well as programming features such as serialization of the computing process, parameterization of data attributes and modularity, thus reducing the difficulty of heterogeneous programming and improving programming productivity. The operational semantics show that DACL enables different levels of parallelism degree calculation and retains data access patterns, reserving optimization potential. To support cross-platform execution, the currently implemented source-to-source compilers employ OpenMP and OpenCL as the backend. We reconstructed multiple benchmarks selected from the Parboil and Rodinia benchmark suits with DACL and conducted a comparison test on CPU, GPU and MIC platforms. The code size of each rebuilt benchmark is roughly equivalent to that of the serial code, which is only 13%-64% of the benchmark OpenCL code. With the support of the compilation system, the reconstructed code can execute on different processors without modification, yielding a competitive or better performance to that of the manually written benchmark code.
Educational technologists and practitioners have made substantial strides in developing affordable digital and tangible resources to support both formal and informal computerscience instruction. However, there is a l...
详细信息
Educational technologists and practitioners have made substantial strides in developing affordable digital and tangible resources to support both formal and informal computerscience instruction. However, there is a lack of research on practice-based assignments, such as Internet of Things (IoT) projects, that allow undergraduate students to design and demonstrate educational robots using digital or physical assistance, especially when it comes to computational thinking (CT) and programming skills development in association with their psycho-emotional experience. This study compares the impact of Scratch and LEGO (R) WeDo robotic kits on students' CT and programming skills development. A quasi-experimental approach was conducted, involving two hundred forty-six participants (n = 246), who were equally divided between Scratch and LEGO (R) WeDo groups. Results indicate that the LEGO (R) WeDo group showed greater improvement in CT and programming skills development, while designing and presenting IoT projects. Nevertheless, no significant association between motivation, grit, and CT skills was observed. The findings highlight the potential of tangible robotics in facilitating students' hands-on learning and enhancing motivation to foster CT and programming skills. This study provides a wide range of implications for instructional designers on how to use tangible robotics to support hands-on IoT projects in computerscience courses.
Courses in computerscience (CS) often assess student programming assignments manually, with the intent of providing in-depth feedback to each student regarding correctness, style, efficiency, and other quality attrib...
详细信息
ISBN:
(纸本)9798400705793
Courses in computerscience (CS) often assess student programming assignments manually, with the intent of providing in-depth feedback to each student regarding correctness, style, efficiency, and other quality attributes. As class sizes increase, however, it is hard to provide detailed feedback consistently, especially when multiple assessors are required to handle a larger number of assignment submissions. Large language models (LLMs), such as ChatGPT, offer a promising alternative to help automate this process in a consistent, scalable, and minimally-biased manner. This paper explores ChatGPT-4's scalablility and accuracy in assessing programming assignments based on predefined rubrics in the context of a case study we conducted in an upper-level undergraduate and graduate CS course at Vanderbilt University. In this case study, we employed a method that compared assessments generated by ChatGPT-4 against human graders to measure the accuracy, precision, and recall associated with identifying programming mistakes. Our results show that when ChatGPT-4 is used properly (e.g., with appropriate prompt engineering and feature selection) it can improve objectivity and grading efficiency, thereby acting as a complementary tool to human graders for advanced computerscience graduate and undergraduate students.
The use of evolutionary algorithms (EAs) for the automated design of programs, electronic circuits, neural networks, and other computational structures has become a fruitful approach in the last two decades. The advan...
详细信息
ISBN:
(纸本)9798350380415;9798350380408
The use of evolutionary algorithms (EAs) for the automated design of programs, electronic circuits, neural networks, and other computational structures has become a fruitful approach in the last two decades. The advantage of EAs is that they can handle the design process in a holistic, multi-objective way and create solutions with unique properties. This tutorial surveys the key ingredients of EAs and focuses mainly on genetic programming. It presents several techniques (such as incorporating formal verification methods and surrogate models) to improve the scalability of the method. Examples of evolved solutions (approximate arithmetic circuits, neural network architectures, and image filters) that show unique properties compared to conventional designs are presented and discussed.
Automation has been used to assess student programming tasks for over 60 years. As well as assessing work, it can also be used in the provision of feedback, commonly though the utilisation of unit tests or evaluation ...
详细信息
ISBN:
(纸本)9798400711770
Automation has been used to assess student programming tasks for over 60 years. As well as assessing work, it can also be used in the provision of feedback, commonly though the utilisation of unit tests or evaluation of program output. This typically requires a structure to be provided, for example provision of a method stub or programming to an interface. This scaffolded approach is required in statically typed, object-oriented languages such as Java, as if tests rely on non-existent code, compilation will fail. Previous studies identified that for many tools, feedback is limited to a comparison of the student's solution with a reference, the results of unit tests, or how actual output compares with that which is expected. This paper discusses a tool that provides automated textual feedback on programming tasks. This tool, the "Java Object-Oriented Feedback Tool" (JOOFT), allows the instructor to write unit tests for as yet unwritten code, with their own feedback, almost as easily as writing a standard unit test. JOOFT also provides additional, customisable, feedback for student errors that might occur in the process of writing code, such as specifying an incorrect parameter type for a method. A randomised trial of the tool was carried out with novice student programmers (n =109), who completed a lab task on the design of a class, 52 of them having assistance from the tool. Whilst students provided positive feedback on tool usage, performance in a later assessment of class creation, suggests student outcomes are not affected.
Dynamic programming is a class of algorithms used to compute optimal control policies for Markov decision processes. Dynamic programming is ubiquitous in control theory, and is also the foundation of reinforcement lea...
详细信息
Dynamic programming is a class of algorithms used to compute optimal control policies for Markov decision processes. Dynamic programming is ubiquitous in control theory, and is also the foundation of reinforcement learning. In this paper, we show that value improvement, one of the main steps of dynamic programming, can be naturally seen as composition in a category of optics, and intuitively, the optimal value function is the limit of a chain of optic compositions. We illustrate this with three classic examples: the gridworld, the inverted pendulum and the savings problem. This is a first step towards a complete account of reinforcement learning in terms of parametrised optics.
programming education has gradually become an integral part of the mandatory curriculum in schools. Previous research has provided various learning tools and techniques with the aim of promoting and popularizing progr...
详细信息
The dynamic pricing environment offers flexibility to the consumers to reschedule their switching *** the dynamic pricing environment results in several benefits to the utilities and consumers,it also poses some *** c...
详细信息
The dynamic pricing environment offers flexibility to the consumers to reschedule their switching *** the dynamic pricing environment results in several benefits to the utilities and consumers,it also poses some *** crowding among residential customers is one of such *** scheduling of loads at low-cost intervals causes crowding among residential customers,which leads to a fall in voltage of the distribution system below its prescribed *** order to prevent crowding phenomena,this paper proposes a priority-based demand response program for local energy *** the program,past contributions made by residential houses and demand are considered as essential parameters while calculating the priority *** non-linear programming(NLP)model proposed in this study seeks to reschedule loads at low-cost intervals to alleviate crowding *** the NLP model does not guarantee global optima due to its non-convex nature,a second-order cone programming model is proposed,which captures power flow characteristics and guarantees global *** proposed formulation is solved using General Algebraic Modeling System(GAMS)software and is tested on a 12.66 kV IEEE 33-bus distribution system,which demonstrates its applicability and efficacy.
Teaching computerscience effectively in college settings presents several challenges, such as providing timely feedback, actively engaging students, and fostering an interactive learning environment. Traditional meth...
详细信息
ISBN:
(纸本)9798400711060
Teaching computerscience effectively in college settings presents several challenges, such as providing timely feedback, actively engaging students, and fostering an interactive learning environment. Traditional methods often lead to passive learning experiences and delayed feedback. This paper introduces an implementation of live programming using Visual Studio Live Share at a community college. This tool creates a shared workspace for students and educators, facilitating real-time collaboration. Utilizing a peerled team learning (PLTL) model, the implementation focuses on computerscience 1 (CS1) and computerscience 2 (CS2) courses. The experiences of students and peer leaders are highlighted, along with the identification of emerging professional dispositions among students.
This paper investigates the joint active transceiver and passive beamforming design to maximize the weighted sum-rate (WSR) of an IRS-aided multi-streams multiuser multiple-input multiple-output broadcast channel (MIM...
详细信息
This paper investigates the joint active transceiver and passive beamforming design to maximize the weighted sum-rate (WSR) of an IRS-aided multi-streams multiuser multiple-input multiple-output broadcast channel (MIMO-BC) downlink transmission system. Due to the coupling of the transceiver parameters, the considered WSR optimization problem is highly non-convex and thus challenging to solve. Different from the normally used methods, such as the weighted minimum mean-square error (WMMSE), we rely on the matrix fractional programming (MFP) theory to derive an effective algorithm to the WSR problem. Specifically, we reformulate the original problem into a tractable one by exploiting the special structure of the objective function, i.e., a MFP which involves a matrix ratio inside a logarithm in the objective function. An alternating optimization (AO) framework is then devised to decompose the reformulated problem into four subproblems, which optimize the introduced auxiliary variable, the transmit beamforming matrix, the receive matrix, and the reflecting beamforming matrix by fixing other variables respectively. Through the matrix quadratic transform, we reformulate the MFP problem as a convex one, and thus obtain the optimal transmit beamforming matrix. By leveraging the optimality conditions for unconstrained optimization problems, the optimal receive beamforming matrix and the introduced auxiliary variable are derived in closed form. For solving the passive beamforming subproblem, we propose an iterative algorithm based on successive convex approximation (SCA). Since the computational complexity of SCA is relatively high, we propose a computationally efficient method based on manifold optimization (MO) to optimize the passive beamforming matrix. Finally, we also consider the robust beamforming design when the system suffers from imperfect CSI. Simulation results demonstrate the effectiveness of the proposed methods.
暂无评论