With the recent advances in battery technology enabling fast charging, public Charging Stations (CSs) are becoming a viable choice for Electric Vehicles (EVs). However, the distribution of EVs relies on strategic assi...
详细信息
With the recent advances in battery technology enabling fast charging, public Charging Stations (CSs) are becoming a viable choice for Electric Vehicles (EVs). However, the distribution of EVs relies on strategic assignment of EVs to CSs. EVs drivers' Quality of Experience (QoE) is an significant impact factor that should be considered to find the optimal assignment of EVs to CSs. In this context, a novel framework to find the optimal assignment of EVs to CSs has been proposed based on optimization of QoE. Our proposed approach considers the travel time of EVs towards CSs taking into account the distance between EVs and CSs, the impact of congestion level on the roads resulted from the Internal Combustion Engine Vehicles (ICEVs) and EVs, queuing time at the CSs, and the time required to fully charge the EVs battery when connected to any charging slot at a CSs. The adjacency between the different zones in a city environment is also considered in order to minimize the potential number of CSs for each EVs. Specifically, the assignment problem is formulated as Mixed Integer Nonlinear programming (MINLP), and a heuristic solution is developed using the Genetic Algorithm (GA) technique. The performance evaluation in realistic metropolitan environment attests the benefits of the proposed CSs assignment framework considering range of charging metrics. IEEE
Time-series forecasting is widely applied across various domains, yet most approaches rely on predefined time steps given by each problem. Based on observations from dynamic systems with known ground truth, we identif...
详细信息
The emergence of the Internet-of-Things is anticipated to create a vast market for what are known as smart edge devices,opening numerous opportunities across countless domains,including personalized healthcare and adv...
详细信息
The emergence of the Internet-of-Things is anticipated to create a vast market for what are known as smart edge devices,opening numerous opportunities across countless domains,including personalized healthcare and advanced *** 3D integration,edge devices can achieve unprecedented miniaturization while simultaneously boosting processing power and minimizing energy ***,we demonstrate a back-end-of-line compatible optoelectronic synapse with a transfer learning method on health care applications,including electroencephalogram(EEG)-based seizure prediction,electromyography(EMG)-based gesture recognition,and electrocardiogram(ECG)-based arrhythmia *** experiments on three biomedical datasets,we observe the classification accuracy improvement for the pretrained model with 2.93%on EEG,4.90%on ECG,and 7.92%on EMG,*** optical programming property of the device enables an ultralow power(2.8×10^(-13) J)fine-tuning process and offers solutions for patient-specific issues in edge computing ***,the device exhibits impressive light-sensitive characteristics that enable a range of light-triggered synaptic functions,making it promising for neuromorphic vision *** display the benefits of these intricate synaptic properties,a 5×5 optoelectronic synapse array is developed,effectively simulating human visual perception and memory *** proposed flexible optoelectronic synapse holds immense potential for advancing the fields of neuromorphic physiological signal processing and artificial visual systems in wearable applications.
Course scheduling is a necessary but often challenging task, requiring consideration of university requirements, practical limitations, departmental needs, and faculty preferences. Furthermore, it can be difficult to ...
详细信息
ISBN:
(纸本)9783031713149;9783031713156
Course scheduling is a necessary but often challenging task, requiring consideration of university requirements, practical limitations, departmental needs, and faculty preferences. Furthermore, it can be difficult to determine if a proposed schedule satisfies all of the requirements, especially as changes may be made within the process. Clearly articulated schedule requirements can be translated into an integer linear program by operations researchers, and those with domain-specific knowledge can then use linear programming solvers like PyGLPK. However, few faculty members in a university are likely to have that experience, so we developed a web-based tool, including the underlying Python code, that allows for entry of information about courses and the faculty teaching them and creates a schedule consistent with the requirements. More than simply a scheduler, a user can propose changes such as swapping two courses or placing a course at a specific time;the website will either do so, or report that such a change is infeasible. In addition, a user can share the website and file with colleagues, allowing them to better appreciate what is and is not possible for the overall schedule. Recognizing that the precise set of scheduling requirements is often unique to a given university, the source code is made available in a public GitHub repository, providing opportunities for other universities to create a version customized to their needs and structure.
Computational thinking is a fundamental skill for problem-solving, it uses computational concepts and other types of thinking such as algorithmic. The experience of improving computational thinking in nursing students...
详细信息
Computational thinking is a fundamental skill for problem-solving, it uses computational concepts and other types of thinking such as algorithmic. The experience of improving computational thinking in nursing students using block-based programming environments such as *** , Lightbot, and the Python textual programming language is described. The results obtained are analyzed by applying a pre-and post-test of computational thinking to the students. The methodological design is quasi-experimental since it did not work with a control group. The study group was made up of 30 students from the Professional School of Nursing of the National University of San Agustin de Arequipa. The results show that teaching programming allows the understanding of computational concepts and improves computational thinking. It is concluded that block-based programming environments and the Python language facilitate the development of algorithmic thinking and computational thinking.
The course on programming methodology is integral to computerscience and software engineering education. Knowledge graph has been an interesting topic in recent decades, and knowledge graph has propelled its use in s...
详细信息
ISBN:
(纸本)9798400717819
The course on programming methodology is integral to computerscience and software engineering education. Knowledge graph has been an interesting topic in recent decades, and knowledge graph has propelled its use in systematically organizing, thoroughly analyzing, and fully leveraging knowledge to become a focal point in teaching research and application, yielding significant progress. Therefore, this paper proposes a method for constructing a knowledge graph tailored to the curriculum. Furthermore, it establishes a comprehensive course knowledge graph, a student capability knowledge graph, and a course resource knowledge graph. Upon this foundation, by leveraging the multi-model database ArangoDB and the visualization framework GraphVIS, a visualized system for a curriculum knowledge graph has been realized. This study aims to offer a reference for the construction and pedagogical approaches of the course, and preliminary applications of the system have received positive feedback.
Leveraging Large Language Models (LLMs) for personalized learning and support is becoming a promising tool in computing education. AI Assistants can help students with programming, problem-solving, converse with them ...
详细信息
ISBN:
(纸本)9798400706004
Leveraging Large Language Models (LLMs) for personalized learning and support is becoming a promising tool in computing education. AI Assistants can help students with programming, problem-solving, converse with them to clarify course content, explain error messages to help with debugging, and much more. However, using cloud-based LLMs poses risks around data security, privacy, but also control of the overarching system. To address these concerns, we created a locally-stored Small Language Model (SLM) that leverages different Retrieval-Augmented Generation (RAG) methods to support computing students' learning. We compare one SLM (neural-chat-7b-v3 - fine-tuned version of Mistral-7B-v0.1) against two popular LLMs (gpt-3.5-turbo and gpt-4-32k) to see the viability for computing educators to use in their course(s). We use conversations from a CS1 course (N = 1, 260), providing students with an AI Assistant (using gpt-3.5-turbo) to help them learn content and support problem-solving while completing their Python programming assignment. In total, we had 269 students use the AI Assistant, with a total of 1, 988 questions asked. Using this real conversational data, we re-ran student questions using our novel SLM (neural-chat-7b-v3 testing nine different RAG methods) and gpt-4-32k, then compared those results against the original gpt-3.5-turbo responses. Our findings indicate that using an SLM with RAG can perform similarly, if not better, than LLMs. This shows that it is possible for computing educators to use SLMs (with RAG) in their course(s) as a tool for scalable learning, supporting content understanding and problem-solving needs, while employing their own policies on data privacy and security.
As the large number of articles on teaching introductory programming seem to attest, teaching and learning computerprogramming is difficult. However, perhaps surprisingly, the assessment design for those courses does...
详细信息
ISBN:
(纸本)9789897585623
As the large number of articles on teaching introductory programming seem to attest, teaching and learning computerprogramming is difficult. However, perhaps surprisingly, the assessment design for those courses does not seem to be the most studied aspect. This short position paper provides a structured set of options and alternatives to consider when choosing the assessment elements for a programming course. The objective is to promote additional reflection on several alternatives for each assignment, exam, or other assessment elements. Along with this presentation, we point to eventually valuable references. We believe the resulting information should be helpful and applicable to many other disciplines, but the focus is on computerprogramming courses.
This research paper focuses on evaluating code-generating chatbots. Chatbots like ChatGPT released in the past three years have proven capable of a wide variety of tasks within a conversational interaction, including ...
详细信息
ISBN:
(纸本)9798350351507
This research paper focuses on evaluating code-generating chatbots. Chatbots like ChatGPT released in the past three years have proven capable of a wide variety of tasks within a conversational interaction, including writing code and answering code-related questions. With these recent advances, chatbots have many potential uses in education, including computerscience education. However, before these chatbots are used in CS curricula, their capabilities and limitations must be systematically tested and understood. In this work, we evaluate the capabilities and limitations of four known, open-source, code-based chatbots in programming tasks by performing a standardized study in which different chatbots are tasked with providing answers for a variety of assignments from Boise State University's computerscience program. We found that while all of the chatbots can write code and provide explanations, some do better than others, and each of them work differently in conversations. Moreover, all of them suffered similar and important limitations, which has implications for adoption in curriculum. As a second experiment, we used the Llama chatbot to perform a human evaluation by enabling student novice and experienced programmers to use it as a coding assistant to complete specific tasks in a common software development environment. We found that the coding assistant can help novice programmers accomplish simple tasks in comparable time and code efficacy as more experienced programmers. Given these experiments, and given feedback from participants in our studies, we see a clear picture emerge: new programmers should learn important concepts about programming without the help of code assistants so students can (1) demonstrate their understanding of important concepts and (2) have enough experience to assess code assistant output as useful or erroneous. Then, once intermediate skills are mastered (e.g., object oriented programming and data structures), it seems appropriate t
Recursion has the reputation of being hard to teach and understand. Our goal is to identify precisely what it is about recursion that makes it hard, and use this to devise a systematic teaching plan. We first make a d...
详细信息
ISBN:
(纸本)9798400706004
Recursion has the reputation of being hard to teach and understand. Our goal is to identify precisely what it is about recursion that makes it hard, and use this to devise a systematic teaching plan. We first make a distinction between regular recursion and tail recursion - the special case where the recursive call is the last command that is executed by the function. Tail recursion is the preferred form used in functional programming, because it simplifies memory management, and we hypothesize that it is also easier to understand. We conducted a controlled experiment with 139 participants, in which they were asked to understand different recursive functions. This revealed that tail recursion, when it is natural to use, is indeed easier to understand than the more general form of recursion where significant processing is performed after the recursive call. But it also showed that using tail recursion may come with a price, as when achieving the tail form requires a transformation of the code that obfuscates the underlying recursive algorithm. We conclude that having significant processing after the recursive call, or distorting the code so as to remove such processing, are major factors that make recursion hard. We therefore suggest to start teaching recursion with a basic form of tail recursion, and then progress to more complicated cases with processing after the recursive call. Transformations to tail form should be taught last, if at all.
暂无评论