<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Speeding up design and making to reduce time-to-project and time-to-market: an AI-Enhanced approach in engineering education *</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Giovanni</forename><surname>Adorni</surname></persName>
							<email>giovanni.adorni@unige.it</email>
							<affiliation key="aff0">
								<orgName type="institution">DIBRIS -University of Genoa</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Daniele</forename><surname>Grosso</surname></persName>
							<email>daniele.grosso@unige.it</email>
							<affiliation key="aff1">
								<orgName type="institution">DIFI -University of Genoa</orgName>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="department">AIxEDU: 2nd International Workshop on Artificial Intelligence Systems in Education</orgName>
								<address>
									<addrLine>November 25-28</addrLine>
									<postCode>2024</postCode>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Speeding up design and making to reduce time-to-project and time-to-market: an AI-Enhanced approach in engineering education *</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">73525CFBB8805EAB969609104FBE6A69</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T19:01+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Human-AI Collaboration</term>
					<term>Prompt-based Learning</term>
					<term>AI-Supported Design and Development</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper explores the integration of AI tools, such as ChatGPT and GitHub Copilot, in the Software Architecture for Embedded Systems course. AI-supported workflows enabled students to rapidly prototype complex projects, emphasizing real-world applications like SLAM robotics. Results demon-started enhanced problem-solving, faster development, and more sophisticated outcomes, with AI augmenting but not replacing human decision-making.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>The integration of Artificial Intelligence (AI) has become essential in educating engineers, scientists, and graduates. This paper discusses experiences from the "Software Architecture for Embedded Systems" of the Master in Mechatronics Engineering at the University of Genoa (https://corsi.unige.it/off.f/2024/ins/79120?codcla=9269), introducing an AI-assisted teaching approach.</p><p>The course was divided into two phases: 1. Students acquired skills in designing and developing embedded systems, learning concepts such as IoT, human-machine interfaces, architecture design, software programming, and UML diagrams. 2. Generative AI was introduced as a co-designer to assist throughout the development process, supporting design solutions, generating documentation, and aiding in software development and testing. This structure aligns with key principles of active learning and constructivist pedagogy, where students engage with real-world problems, apply theoretical knowledge, and make decisions based on critical thinking <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2]</ref>. AI scaffolds the learning process, allowing quicker iteration on designs.</p><p>A key innovation is prompt-based learning, where students interact with AI systems through carefully designed prompts. This technique increases student engagement and teaches effective AI communication. Research shows prompt-based learning can be highly effective in developing problem-solving skills, especially when students iteratively refine their prompts <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b4">5]</ref>.</p><p>The use of AI in coding, debugging, and documentation supports the pedagogical goal of reducing cognitive load. By automating routine tasks, AI allows students to focus on higher-order thinking, such as refining system architecture and solving complex design problems. This aligns with the concept of distributed cognition, where cognitive processes are shared between the student and AI, enhancing the learning experience <ref type="bibr" target="#b5">[6]</ref>.</p><p>Motivations for introducing Generative AI include: • Design Optimization: Students use AI to efficiently explore multiple design options, mirroring real-world engineering practices <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8]</ref>. • Automated Documentation: AI generates UML diagrams and project documentation, allowing students to focus on iterative design aspects. • Coding and Testing Assistance: Generative AI assists with coding and debugging, providing immediate feedback and automating many testing aspects. This approach reflects a broader trend: the democratization of coding. Google CEO Sundar Pichai noted that AI is reshaping programming, making it more accessible to a broader audience <ref type="bibr" target="#b8">[9]</ref>. This democratization is evident in the course, where students with varying programming expertise can build complex systems <ref type="bibr" target="#b9">[10]</ref>.</p><p>Recent studies confirm that integrating AI into educational contexts can significantly improve learning outcomes. Research on AI-assisted design and development shows students can produce higher quality projects in less time <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b10">11]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">AI Integration in Education</head><p>Generative AI tools such as ChatGPT (https://openai.com/), Claude (https://claude.ai/), GitHub Copilot (https://github.com/features/copilot), and LM Studio (https://lmstudio.ai/) were introduced to assist students throughout the project lifecycle, including design, documentation, coding, debugging, and final reporting. These tools played a pivotal role in helping students navigate complex project requirements.</p><p>AI integration began during the design phase, where tools facilitated rapid generation of design alternatives. Students prompted the AI to explore different architectural options, mirroring industry practices. GitHub Copilot supported coding by generating suggestions for code snippets and helping to automate repetitive tasks.</p><p>A unique element of the course was the use of AI to generate project documentation, particularly UML diagrams. AI tools helped create accurate representations of system architectures, allowing students to focus on refining the design rather than manual diagramming. LM Studio provided locally installed AI tools to support different programming environments.</p><p>Students engaged in prompt-based learning, carefully constructing and refining prompts to elicit the most relevant and accurate results from AI systems <ref type="bibr" target="#b2">[3]</ref>. This interaction not only improved problem-solving skills but also taught the importance of clear communication with AI tools.</p><p>Students were tasked with continuously refining their prompts based on AI feedback, resulting in more sophisticated project outcomes. For example, students working on robotics projects could ask the AI to generate specific code segments for telemetry systems or suggest optimizations for Simultaneous Localization and Mapping (SLAM) algorithms.</p><p>An innovative aspect of this course was the requirement to document AI interactions. Students saved copies of their prompts and AI responses, providing a detailed record of AI's influence on project development. This documentation served as a reflective tool, allowing students to assess their AI use effectiveness and identify areas for improvement in prompt strategies.</p><p>The documentation process was pedagogically significant as it allowed students to reflect on the collaborative nature of their work with AI, identifying key break through moments and instances where human judgment was necessary to override AI suggestions. This reflective practice aligns with educational theories emphasizing metacognition as a critical element of deep learning <ref type="bibr" target="#b11">[12]</ref>.</p><p>While all student groups used AI tools, the extent and manner of their use varied. Some teams primarily used AI to generate and debug code, while others focused on using AI to generate UML diagrams and optimize design workflows. These variations highlighted the flexibility of AI tools to adapt to different project needs and team dynamics.</p><p>A notable example was the use of AI in SLAM-based robotics projects. AI tools helped students rapidly prototype systems capable of telemetry and mapping, significantly reducing development time. Students developed fully functional prototypes within the course's tight timeframe, a challenging task without AI assistance. Although AI had advanced capabilities, students remained the final decision-makers in every aspect of their projects, ensuring AI functioned as a supportive tool rather than a replacement for critical human input.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Evaluation and Prompt-Based Learning in AI-Supported Project Development</head><p>The assessment process in the "Software Architecture for Embedded Systems" course was designed to mirror real-world project development, with students working in teams of three. Each group was tasked with developing a functional prototype supported by comprehensive project documentation, simulating different roles within a project team. This collaborative approach allowed students to experience different responsibilities such as project management, coding, and testing. The evaluation focused on the delivery of a working prototype and the submission of a detailed project report, including a log of all AI prompts used during development.</p><p>Project-Based Assessment Structure -Students selected projects aligned with their interests, collaborating with faculty to define requirements. This phase focused on understanding the project's scope, technical challenges, and deliverables. During development, students utilized AI tools for project management, documentation generation, coding, and debugging. They were required to critically evaluate AI output, ensuring that final decisions were based on their own analysis and understanding. This exercise reinforced the human-AI collaboration dynamic: AI as a powerful assistant, with students retaining responsibility for project completion.</p><p>The Role of Prompt-Based Learning -A critical aspect of the evaluation was the use of AIdriven prompts. Students submitted a comprehensive list of prompts used during development, demonstrating their ability to interact with and guide AI systems. The prompt log was evaluated based on how iterative and refined the prompts became over time. This aspect tested both technical proficiency and students' ability to engage in metacognitive reflection, considering how their interactions with AI impacted project progress.</p><p>Project Presentation and Evaluation -The exam culminated in a dual format presentation: 1. Non-Technical Presentation: Students presented their project to a non-technical audience, simulating scenarios where engineers must communicate complex ideas to management or customers. 2. Technical Presentation: Students provided a detailed explanation of technical challenges faced, solutions implemented, and rationale behind their design decisions. They discussed how AI assisted in project development and where human intervention was necessary. Both aspects of the presentation were essential to the evaluation process, testing students' ability to communicate effectively to diverse audiences and demonstrate depth of understanding, problemsolving skills, and mastery of both technical concepts and AI collaboration.</p><p>Overall, students were evaluated on:</p><p>• Prototype functionality • Documentation quality • Effective use of AI tools while maintaining project control This comprehensive approach ensured that students developed technical skills and learned to critically evaluate and collaborate with AI tools, preparing them for real-world engineering challenges.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Example Project: SLAM-Capable Robot Development</head><p>Among the proposed projects, two different groups of students focused on developing a robot with SLAM (Simultaneous Localization and Mapping) capabilities. The selected projects involved integrating various hardware components, including an Arduino Mega, a Raspberry Pi, ultrasonic sensors, motor drivers, and encoders, as well as a custom software architecture designed to manage the robot's navigation.</p><p>As an example, we report results from one of the five projects assigned this academic year, which focused on developing a robot capable of sampling parameters from the environment and using them to generate a map and locate its position (see Figure <ref type="figure" target="#fig_0">1</ref>). Their project stood out for its innovative approach to combining AI decision-making with physical robot control. The main achievements and challenges of this project were:</p><p>• Hardware setup -The group was tasked with sending telemetry data collected by the robot to either a desktop computer or a Raspberry Pi, and sending images taken periodically by an onboard camera. This setup allows for further development and implementation of machine learning algorithms for object recognition and real-time navigation decision-making, utilizing the computing power available on external computers. • Sensor Fusion -The project involved implementing algorithms to combine data from multiple sensors for improved environmental awareness and navigation accuracy, enhancing the precision of the robot's position estimation.</p><p>The teams developed an advanced omni-directional wheel robotic system with adaptive control for environmental learning, cloud integration for complex AI processing, and human-robot interaction capabilities including remote control and basic speech recognition. They successfully overcame challenges related to real-time processing, power management, and software integration, resulting in a highly capable and efficient robotic platform.</p><p>These students demonstrated exceptional project management, technical implementation, and presentation skills. Their successful completion of the projects and excellent performance on the exams highlighted the effectiveness of the course structure in preparing students for real-world engineering challenges.</p><p>The project documentation and technical details about each aspect of the project discussed during the exam include management, system architecture, coding, and documentation. The group documented the prompts used to generate code snippets, UML diagrams, and debugging suggestions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Project management</head><p>Every aspect of project management is discussed during the exam; WBS, Gantt and Pert diagrams, resources and their costs, budget and any related issues. Let's look at an example of an AI assisted WBS generation prompt using PlantUML (https://plantuml.com/) as a tool that facilitates the quick and easy creation of a wide range of diagrams: &gt; Give me PlantUML code for a WBS based on what I send you.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>The response was: "Certainly, I can help you create a WBS (Work Breakdown Structure) diagram using PlantUML. Please send me the details of your project, including the various levels and activities you want to represent."</head><p>An iteration is required here; once the material was provided, the response to the prompt was as follows:</p><p>"To create a WBS (Work Breakdown Structure) using PlantUML, we can divide the project into its main components and sub-activities. Here's an example of how you could structure your project using PlantUML."</p><p>Due to the complexity and size of the diagram, the materials are not included, but the system commentary is given below: "This code generates a WBS structure for your project. If you wish to include more detailed information such as dates, durations, or names of people involved, you can further customize the nodes, although PlantUML for WBS is primarily used to represent the hierarchical structure of activities rather than the specific details of the project. " </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">System Architecture</head><p>This aspect also requires UML diagrams that illustrate the robot's components and their interactions, generated with AI support. The diagrams outline subsystems such as sensor integration, motor control, and data transmission.</p><p>As part of the course, students learned to use AI to generate UML diagrams, a critical skill in software documentation. Below is an example of how AI was used to create UML diagrams: Use Case, State Diagram, and Class.</p><p>The Use Case diagram is a visual representation that shows how users interact with a system to achieve specific goals. It highlights the different ways in which users can engage with the system and illustrates the different interactions between the users (actors) and the system itself.</p><p>Below  Once the plantUML code is generated, it can be pasted and eventually refined to produce an image ready for the documentation files, as shown in Figure <ref type="figure" target="#fig_1">2</ref>.</p><formula xml:id="formula_0">«include» «include» «extend» «extend» «extend» «extend» «extend» «include» «include» «include» «include» «include» «include»</formula><p>The State Chart diagram, on the other hand, focuses on the dynamic behavior of a system. It illustrates the different states an object can be in and the transitions between those states. This diagram is particularly useful for understanding how a system responds to various events and changes over time.</p><p>The The response allows for the generation of the diagram shown in Figure <ref type="figure" target="#fig_2">3</ref>. Finally, the class diagram provides a structural view of a system. It depicts the classes of the system, along with their attributes and methods, and shows the relationships between these classes. This diagram is essential for modeling the static aspects of a system, providing a clear picture of its overall architecture. As shown above, a well-formed user prompt allows you to generate what the designer intended, and it is also possible to refine it. The following is an example of a prompt for generating the class diagram:</p><p>&gt; Create a PlantUML class diagram for a robot control system with the following classes: powerUnit, Motore, Encoder, PIDController, Giro, ultrasonico, ConnessioneWiFi, ConnessioneMQTT, PubSubClient. Include important attributes and methods for each class. Show relationships between classes, especially how the 'powerUnit class' interacts with others such as 'Motore' and 'Encoder'. The response allows the appropriate diagram to be generated, as shown in Figure <ref type="figure" target="#fig_3">4</ref>. Note that all the prompts must be very precise, and this requires an iterative process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">Code and Debugging Log</head><p>The students provided a complete codebase developed using GitHub Copilot, with sections of code where AI-assisted debugging occurred. They provided a technical report detailing algorithmic challenges faced, including inconsistent sensor data and motor control issues, and how AI helped overcome these challenges by generating optimized solutions. Here's an example of user-AI interaction:</p><p>&gt; Write me the code you use for the initialization of powerUnit and let's see if we can identify the problem. I'll give you the .h file first, then the .cpp file.</p><p>The answer:</p><p>"Perfect, share the code of the .h file and then the .cpp file that you use for the definition of the powerUnit class"</p><p>Once provided the necessary input:</p><p>"Thank you for sharing the files. Let's examine the problem: Here are some modifications you can make for debugging."</p><p>The following are instructions and fixes to also improve logging to find the source of the problem, considering both hardware and software aspects:</p><p>"Make sure that all pins are correctly connected and there are no conflicts. …" This process repeated several times, also by providing the AI with the output to be interpreted and asking it to identify the causes of the error and to eliminate them, makes it possible to speed up the development process; the usual mental schemas are followed, but one takes advantage of the AI's.</p><p>The WBS and UML examples show how AI can help with project planning and system design, while the code generation and debugging examples demonstrate the potential of AI to speed up development cycles.</p><p>This approach allowed students to focus on higher-level problem solving and system design, while using AI to handle more routine tasks. The experience of working with AI tools prepared students for the evolving landscape of robotics and embedded systems engineering, where AI-driven development is becoming more prevalent. This unique blend of hands-on experience and AI integration has provided students with valuable skills essential for future careers in technologydriven fields.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Conclusions, Final Considerations, and Future Developments</head><p>This first attempt at integrating AI into the Software Architecture for Embedded Systems course proved highly successful, with five student groups delivering projects of exceptional quality. The use of AI throughout the project lifecycle -particularly in coding, debugging, and documentationallowed students to focus on critical problem solving, resulting in more complex and innovative projects than in previous years. AI facilitated rapid iteration and effective decision-making, particularly in hardware-software integration, real-time data processing, and machine learning implementations in constrained environments.</p><p>The students' ability to adapt AI tools to their specific project needs demonstrates the power of prompt-based learning and AI-assisted workflows in modern engineering education. Each group successfully completed their project within the given deadline (one month), and all received high marks give their evident skills, highlighting the value of AI as a co-designer in development.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1.">Reflections and Future Directions</head><p>All eight students in this year's course expressed strong satisfaction with the AI-integrated approach and recommended its continuation. While formal statistical comparison was limited by sample size, the two project groups completed approximately twice the workload of previous years' groups in the same timeframe, demonstrating significant efficiency gains.</p><p>While AI significantly reduced the technical challenges students faced, some conceptual difficulties remained, particularly in areas that required deeper technical understanding. AI was instrumental in many tasks, but it could not replace the hu-man decision-making process; thus students need to strengthen their foundational knowledge.</p><p>In the 2024-2025 academic year, we aim to expand the course, increase the number of participating groups, and improve the integration of AI tools to ensure that students develop skills aligned with the evolving needs of industry. A key focus will be to improve students' understanding of AI prompting techniques to maximize their interactions with AI systems. In addition, we will explore the use of local AI systems to address privacy and security concerns that are critical in industrial applications.</p><p>We also aim to introduce more hands-on resources, such as a 3D printing lab and other tools, coupled with AI support.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.">Broader implications and applications</head><p>The success of AI integration in this course has broader implications for other disciplines. We see great potential for the application of Generative AI in fields such as applied physics, medicine, and environmental engineering, where complex problem solving, and data processing are essential. AI is ready to revolutionize education in many disciplines, and its role in embedded systems is just the beginning.</p><p>In conclusion, the first iteration of AI-enhanced education in this course proved to be both effective and impactful, even considering that all projects were completed by students in one month and showed an high quality level even if they required many advanced skills. We believe that continued refinement of these methods will prepare students to engage with AI technologies in their future careers and equip them with the skills necessary to navigate the evolving landscape of engineering and technology.</p><p>Future course developments will focus on strengthening prompt engineering skills and establishing structured methodologies for AI-assisted development. Priva-cy concerns will be addressed through specialized prompting strategies and locally installed open-source AI tools like LM Studio, ensuring secure handling of sensitive data.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. Robot prototype with omnidirectional wheels developed by a group of students.</figDesc><graphic coords="4,207.83,145.11,184.98,163.65" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. Example of a Use Case diagram.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 .</head><label>3</label><figDesc>Figure 3. Example of a State Chart diagram.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4 .</head><label>4</label><figDesc>Figure 4. Example of a Class diagram.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>is an example of a prompt for creating a Use Case diagram:</figDesc><table><row><cell></cell><cell>Robot Control System</cell><cell></cell></row><row><cell></cell><cell></cell><cell>Avoid Object</cell></row><row><cell></cell><cell>Begin Following Wall</cell><cell></cell></row><row><cell></cell><cell></cell><cell>Provide Map Data</cell></row><row><cell>Follow Wall</cell><cell>Complete Perimeter</cell><cell></cell></row><row><cell>Initialize System</cell><cell>Move Straight</cell><cell>End Movement</cell></row><row><cell></cell><cell></cell><cell>Read Map on PC</cell></row><row><cell></cell><cell></cell><cell>Return from Limits</cell></row><row><cell>User</cell><cell></cell><cell></cell></row><row><cell cols="3">&gt; Create a PlantUML use case diagram for a Robot Control System with the following use cases: -</cell></row><row><cell cols="3">Initialize System -Follow Wall -Move Straight -Avoid Object -Return from Limits -End Movement</cell></row><row><cell cols="3">-Read Map on PC Include a User actor. Show relationships between use cases, such as 'Begin</cell></row><row><cell cols="3">Following Wall' extending from 'Follow Wall' to 'Move Straight'. Use 'include' relationships for</cell></row><row><cell cols="2">repeated behaviors like 'Provide Map Data'.</cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>following is an example of a prompt for creating a State Chart diagram:</figDesc><table><row><cell></cell><cell>Inizializzazione</cell><cell></cell></row><row><cell></cell><cell cols="2">Inizializzazione completata</cell></row><row><cell></cell><cell>FollowWall</cell><cell></cell></row><row><cell cols="2">ControlloSensoreDestra</cell><cell></cell></row><row><cell></cell><cell></cell><cell></cell><cell>AvoidObject</cell></row><row><cell>Sensore destra libero</cell><cell cols="2">Sensore destra occupato</cell></row><row><cell>GiraDestra</cell><cell>ControlloDavanti</cell><cell></cell><cell>GiraSinistraAO</cell></row><row><cell></cell><cell>Davanti libero</cell><cell cols="2">Davanti occupato</cell></row><row><cell></cell><cell>VaiAvanti</cell><cell cols="2">GiraSinistra</cell></row><row><cell></cell><cell cols="2">Perimetro completato</cell><cell>Ostacolo rilevato</cell><cell>Ostacolo evitato</cell></row><row><cell></cell><cell></cell><cell cols="2">MoveStraight</cell></row><row><cell></cell><cell cols="3">ControlloDavantiMS</cell></row><row><cell></cell><cell cols="2">Davanti libero</cell></row><row><cell></cell><cell cols="2">VaiAvantiMS</cell><cell>Nessun limite raggiunto</cell></row><row><cell></cell><cell></cell><cell></cell><cell>Davanti occupato</cell><cell>ControlloDestraAO</cell></row><row><cell></cell><cell></cell><cell cols="2">ControlloLimiti</cell></row><row><cell></cell><cell cols="3">Limite inferiore Y Limite superiore Y</cell></row><row><cell></cell><cell>GiraDestraLimite</cell><cell cols="2">GiraSinistraLimite</cell></row><row><cell></cell><cell></cell><cell></cell><cell>X uguale al limite superiore di X</cell><cell>Sensore destra occupato</cell></row><row><cell></cell><cell></cell><cell></cell><cell>ControlloDavantiAO</cell><cell>Sensore destra libero</cell></row><row><cell></cell><cell></cell><cell></cell><cell>Davanti libero</cell><cell>X diverso da X iniziale</cell></row><row><cell></cell><cell></cell><cell></cell><cell>VaiAvantiAO</cell></row><row><cell></cell><cell></cell><cell></cell><cell>ControlloXIniziale</cell></row><row><cell></cell><cell></cell><cell></cell><cell>X uguale a X iniziale</cell></row><row><cell></cell><cell></cell><cell></cell><cell>GiraSinistraFinale</cell></row><row><cell cols="4">&gt; Generate a PlantUML state diagram for a robot's movement control system with the following main</cell></row><row><cell>states:</cell><cell></cell><cell></cell></row><row><cell>-MoveStraight</cell><cell></cell><cell></cell></row><row><cell>-AvoidObject</cell><cell></cell><cell></cell></row><row><cell>-FollowWall</cell><cell></cell><cell></cell></row><row><cell>-Inizialization</cell><cell></cell><cell></cell></row></table><note>Include substates and transitions, especially for MoveStraight (e.g.,ControlloDavantiMS,  VaiAvantiMS)  and AvoidObject (e.g., GiraSinistraAO, ControlloDavantiAO). Show conditions for transitions like 'Davanti libero' and 'Davanti occupato'. Include a final state and an initial state.</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>Constructor verification: Ensure that all pins passed to the constructor are valid and there are no pin conflicts. Debugging with Serial: Add debug messages inside the constructor of the powerUnit class to verify if it's being called correctly. 4. Constructor call: Make sure that the call PU = new powerUnit(...); in the main file is correct.</figDesc><table><row><cell>3.</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>powerUnit</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>uint8_t pinENA</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>uint8_t pinIN1</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>uint8_t pinIN2 uint8_t pinENB</cell><cell></cell><cell></cell><cell>ConnessioneWiFi</cell></row><row><cell></cell><cell></cell><cell>uint8_t pinIN3</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>uint8_t pinIN4</cell><cell></cell><cell></cell><cell>void setup_wifi()</cell></row><row><cell></cell><cell></cell><cell>void initGPIOs()</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>void turnOnOff(int, float)</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>void setV(float, float)</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>void setW(float)</cell><cell></cell><cell></cell><cell></cell></row><row><cell>Motore void setGPIOs(uint8_t, uint8_t, uint8_t) uint8_t ENA uint8_t IN1 uint8_t IN2 void turnOnOff(int, float)</cell><cell>Encoder uint8_t pin unsigned long count unsigned long lastTime unsigned long startTime void init() float getSpeed() void count()</cell><cell>PIDController float compute(float, float) float kp float ki float kd float setPoint float lastError</cell><cell>Giro int lastOut void init() int getOut()</cell><cell>ultrasonico int trigPin int echoPin unsigned long timer void update() float getDistance() void init()</cell><cell>ConnessioneMQTT void setup_mqtt(PubSubClient client)</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>PubSubClient</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>boolean connect(const char*, const char*)</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>boolean subscribe(const char*)</cell></row><row><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>void loop()</cell></row></table><note>1. Initialization of powerUnit: Your declaration and definition seem correct. However, if powerUnit is not initializing correctly, there are a few things we can check. 2.</note></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">S</forename><surname>Vygotsky</surname></persName>
		</author>
		<title level="m">Mind in Society: The Development of Higher Psychological Processes</title>
				<imprint>
			<publisher>Harvard University Press</publisher>
			<date type="published" when="1978">1978</date>
			<biblScope unit="volume">86</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Situating Constructionism</title>
		<author>
			<persName><forename type="first">S</forename><surname>Papert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Constructionism: Research reports and essays</title>
				<editor>
			<persName><forename type="first">I</forename><surname>Harel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">&amp;</forename><forename type="middle">S</forename><surname>Papert</surname></persName>
		</editor>
		<meeting><address><addrLine>, Norwood NJ, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Ablex</publisher>
			<date type="published" when="1991">1991</date>
			<biblScope unit="page" from="1" to="11" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Prompt-based Learning</title>
		<author>
			<persName><forename type="first">U</forename><surname>Kamath</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Keenan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Somers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sorenson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Large Language Models: A Deep Dive: Bridging Theory and Practice</title>
				<meeting><address><addrLine>Cham; Nature Switzerland</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2024">2024</date>
			<biblScope unit="page" from="83" to="133" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Language Models are Few-Shot Learners</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">B</forename><surname>Brown</surname></persName>
		</author>
		<ptr target="https://proceedings.neurips.cc/paper/2020/file/1457c0d6bfcb4967418bfb8ac142f64a-Paper.pdf" />
	</analytic>
	<monogr>
		<title level="m">Procs. 34th Int. Conf. on Neural Information Processing Systems</title>
				<meeting>s. 34th Int. Conf. on Neural Information essing Systems<address><addrLine>Vancouver BC, Canada</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="1877" to="1901" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Charting the Future of AI in Project-Based Learning: A Co-Design Exploration with Students</title>
		<author>
			<persName><forename type="first">C</forename><surname>Zheng</surname></persName>
		</author>
		<idno type="DOI">10.1145/3613904.3642807</idno>
		<ptr target="https://dl.acm.org/doi/10.1145/3613904.3642807" />
	</analytic>
	<monogr>
		<title level="m">Procs. of the 2024 CHI Conf. on Human Factors in Computing Systems</title>
				<meeting>s. of the 2024 CHI Conf. on Human Factors in Computing Systems<address><addrLine>Honolulu HI, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2024">2024</date>
			<biblScope unit="page" from="1" to="19" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Practices of distributed intelligence and designs for education</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">D</forename><surname>Pea</surname></persName>
		</author>
		<ptr target="https://telearn.hal.science/hal-00190571/document" />
	</analytic>
	<monogr>
		<title level="m">Distributed cognitions: Psychological and educational considerations</title>
				<editor>
			<persName><forename type="first">G</forename><surname>Salomon</surname></persName>
		</editor>
		<meeting><address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="1993">1993</date>
			<biblScope unit="page" from="47" to="87" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">C</forename><surname>Ka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Chan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Colloton</surname></persName>
		</author>
		<ptr target="https://www.taylorfrancis.com/reader/download/51e7089b-c96f-4ba5-8e9d-b8b1cd25f69a/book/pdf?context=ubx" />
		<title level="m">Generative AI in Higher Education: The ChatGPT Effect</title>
				<meeting><address><addrLine>New York NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Routledge -Taylor &amp; Francis Group</publisher>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">AI-enhanced design: revolutionizing methodologies and workflows</title>
		<author>
			<persName><forename type="first">P</forename><surname>Kaushikkumar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Beeram</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Ramamurthy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Garg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kumar</surname></persName>
		</author>
		<ptr target="https://iaeme.com/Home/article_id/IJAIRD_02_01_013" />
	</analytic>
	<monogr>
		<title level="j">Int. J. of Artificial Intelligence Research and Development</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="135" to="157" />
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Making AI more helpful for everyone</title>
		<author>
			<persName><forename type="first">S</forename><surname>Pichai</surname></persName>
		</author>
		<ptr target="https://blog.google/technology/ai/google-io-2023-keynote-sundar-pichai/" />
	</analytic>
	<monogr>
		<title level="m">Keynote at Google I/O</title>
				<imprint>
			<date type="published" when="2023-05">May 2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Could AI Democratise Education? Technical Imaginaries of an EdTech Revolution</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bulathwela</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pérez-Ortiz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Holloway</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Shawe-Taylor</surname></persName>
		</author>
		<ptr target="https://arxiv.org/pdf/2112.02034" />
	</analytic>
	<monogr>
		<title level="m">Procs. 35th Conference on Neural Information Processing Systems</title>
				<meeting>s. 35th Conference on Neural Information essing Systems<address><addrLine>NeurIPS</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2021">2021. 2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">AI-Enhanced Teaching Methods</title>
		<author>
			<persName><forename type="first">Z</forename><forename type="middle">E</forename><surname>Ahmed</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Hassan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">A</forename><surname>Saeed</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2024">2024</date>
			<publisher>IGI Global</publisher>
			<pubPlace>Hershey PA, USA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Metacognition and cognitive monitoring: A new area of cognitive-developmental inquiry</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">H</forename><surname>Flavell</surname></persName>
		</author>
		<ptr target="https://jwilson.coe.uga.edu/EMAT7050/Students/Wilson/Flavell%20(1979).pdf" />
	</analytic>
	<monogr>
		<title level="j">American Psychologist</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">10</biblScope>
			<biblScope unit="page" from="906" to="911" />
			<date type="published" when="1979">1979</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
