31 |
"Learning by doing" som ett förhållningssätt till undervisning av programmering på gymnasiet : Ett elevmaterial för undervisning av felsökning i inledande programmering / "Learning by doing" as an approach to teaching programming in upper secondary schoolKorlat, Edita January 2023 (has links)
Den snabba digitaliseringen har inte bara lett till stora förändringar i samhället utan också utbildningssystemet i vilket kunskaper om tillämpningar och funktion av olika tekniska system och digitala verktyg har blivit en nödvändighet. Programmering har blivit en naturlig del av processen att förstå dagens digitala system men också ett verktyg för problemlösning och design av digitala lösningar. Processen att lära sig programmering kan för många elever bli utmanande och omges av en mängd svårigheter på vägen. En känd problematik för nybörjare har sedan länge varit felsökning som är en nödvändig kunskap både för att kunna förhindra olika typer av fel men också för att kunna lösa fel som uppstår i ett program. Detta är också ett av lärandemålen i kursen Programmering 1. I detta examensarbete utvecklades och testades en prototyp till en elevhandledning vars syfte är att stödja elever i att lära sig felsökning som en del av undervisningen i kursen Programmering 1 på gymnasiet. Vidare var syftet med studien att identifiera de felsökningsstrategier som elever använder för att åtgärda olika typer av fel i sina program. Examensarbetet genomfördes som en del av projektet K-ULF som bedriver praktiknära forskning genom ett samarbete mellan skolor och universitet i Stockholm. Studien genomfördes i huvudsak i fyra delar där den första var en förstudie bestående av observationer under vilken felsökning identifierades som ett problemområde. Under denna del av studien kunde flera teman identifieras kopplade till problemlösningsstrategier som eleverna använder sig av. Därefter påbörjades utvecklingsarbetet av en prototyp till elevhandledningen. Designen av elevhandledningen utgick från data som samlats in under förstudien i kombination med resultat från tidigare forskning om nybörjares svårigheter med felsökning. Prototypen testades sedan på en elevgrupp bestående av andra- och tredjeårselever som läser ett naturvetenskapligt gymnasieprogram. Elevmaterialet utvärderades sedan ur ett elev- och lärarperspektiv genom en enkät respektive en intervju. Därefter bearbetades den tidigare versionen av prototypen utifrån det som framkommit under den utvärderande fasen av arbetet. Att behovet av ett elevmaterial som stödjer elever i felsökning finns, blev tydligt under arbetets gång och bekräftades sedan i den senare delen av arbetet. Resultatet av studien visar att det finns fyra huvudteman kopplade till elevers felsökningsstrategier. Dessa är Lärarstöd, Självständig lösning, Stöd från klasskamrat och Google. Vidare framkom att elevmaterialet visat sig ha en positiv effekt på elevers lärande genom att bidra till en ökad förståelse om felens orsak och uppkomst vilket ledde till att fler elever kunde lösa problem i sin kod självständigt. / The rapid digitalization has not only led to major changes in society but also in the education system in which knowledge of the applications and functions of various technical systems and digital tools has become a necessity. Programming has become a natural part of the process of understanding today's digital systems, but also a tool for problem solving and designing digital solutions. The process of learning programming can be challenging for many students and beset with many difficulties along the way. A known problem for beginners has long been troubleshooting, which is a necessary knowledge both to be able to prevent various types of errors but also to be able to solve errors that occur in a program, which is also one of the learning objectives in the course Programming 1. In this thesis a prototype for a student guide was developed and tested whose purpose is to support students in learning debugging as part of the teaching in the course Programming 1 in upper secondary school. Furthermore, the purpose of the study was to identify the debugging strategies that students use to fix different types of errors in their programs. The thesis was carried out as part of the K-ULF project, which conducts practical research through a collaboration between schools and universities in Stockholm. The study was mainly carried out in four parts where the first was a pilot study consisting of observations during which troubleshooting was identified as a problem area. During this part of the study, several themes could be identified linked to problem-solving strategies that the students use. Then the development work of a prototype for the student guide began. The design of the student guide was based on data collected during the pilot study combined with results from previous research on beginners' difficulties with troubleshooting. The prototype was then tested on a student group consisting of second- and third-year students studying a high school science program. The student material was thereafter evaluated from a student and teacher perspective through a questionnaire and an interview respectively. The initial version of the prototype was then revised based on what emerged during the evaluation phase of the work. The need for a student material that supports students in troubleshooting became clear during the course of the work and was then confirmed in the latter part of the work. The results of the study show that there are four main themes linked to students' troubleshooting strategies. These are Teacher Support, Independent Solution, Classmate Support and Google. Furthermore, it emerged that the student material proved to have a positive effect on students' learning by contributing to an increased understanding of the cause and origin of the errors which resulted in more students being able to solve issues in their code independently.
|
32 |
How to Estimate Local Performance using Machine learning Engineering (HELP ME) : from log files to support guidance / Att estimera lokal prestanda med hjälp av maskininlärningEkinge, Hugo January 2023 (has links)
As modern systems are becoming increasingly complex, they are also becoming more and more cumbersome to diagnose and fix when things go wrong. One domain where it is very important for machinery and equipment to stay functional is in the world of medical IT, where technology is used to improve healthcare for people all over the world. This thesis aims to help with reducing downtime on critical life-saving equipment by implementing automatic analysis of system logs that without any domain experts involved can give an indication of the state that the system is in. First, a literature study was performed where three potential candidates of suitable neural network architectures was found. Next, the networks were implemented and a data pipeline for collecting and labeling training data was set up. After training the networks and testing them on a separate data set, the best performing model out of the three was based on GRU (Gated Recurrent Unit). Lastly, this model was tested on some real world system logs from two different sites, one without known issues and one with slow image import due to network issues. The results showed that it was feasible to build such a system that can give indications on external parameters such as network speed, latency and packet loss percentage using only raw system logs as input data. GRU, 1D-CNN (1-Dimensional Convolutional Neural Network) and Transformer's Encoder are the three models that were tested, and the best performing model was shown to produce correct patterns even on the real world system logs. / I takt med att moderna system ökar i komplexitet så blir de även svårare att felsöka och reparera när det uppstår problem. Ett område där det är mycket viktigt att maskiner och utrustning fungerar korrekt är inom medicinsk IT, där teknik används för att förbättra hälso- och sjukvården för människor över hela världen. Syftet med denna avhandling är att bidra till att minska tiden som kritisk livräddande utrustning inte fungerar genom att implementera automatisk analys av systemloggarna som utan hjälp av experter inom området kan ge en indikation på vilket tillstånd som systemet befinner sig i. Först genomfördes en litteraturstudie där tre lovande typer av neurala nätverk valdes ut. Sedan implementerades dessa nätverk och det sattes upp en datapipeline för insamling och märkning av träningsdata. Efter att ha tränat nätverken och testat dem på en separat datamängd så visade det sig att den bäst presterande modellen av de tre var baserad på GRU (Gated Recurrent Unit). Slutligen testades denna modell på riktiga systemloggar från två olika sjukhus, ett utan kända problem och ett där bilder importerades långsamt på grund av nätverksproblem. Resultaten visade på att det är möjligt att konstruera ett system som kan ge indikationer på externa parametrar såsom nätverkshastighet, latens och paketförlust i procent genom att enbart använda systemloggar som indata. De tre modeller som testades var GRU, 1D-CNN (1-Dimensional Convolutional Neural Network) och Transformer's Encoder. Den bäst presterande modellen visade sig kunna producera korrekta mönster även för loggdata från verkliga system.
|
33 |
Hybrid Debugger Software on RISC-V MCU : A no cost debugging solution foreducational use / Hybriddebugger för RISC-V MCU : En kostnadsfri debuglösning för utbildningssyfteRemahl, Linus January 2022 (has links)
This work details the implementation of a debugger for a small embedded RISC-V system. KTH uses an in-house designed microcontroller development board for computer and electronics design courses. The boards did not incorporate hardware debugging capabilities and no prior software implementation fulfilled the requirements for the specific target system. The debugger used a hybrid software and hardware approach for achievingbasic debugging features such as breakpoints, stepping and break signals. The hybrid approach repurposed the microcontrollers debug module to enable debugging with no external hardware. The debugger implementation met all of the requirements for being ableto be used in the intended educational setting, and had a limited footprint withregard to resource usage, but with room for further optimization. / Detta arbete beskriver implementationen av en debugger för ett mindre RISC-V system. KTH använder ett internt framtaget utvecklingskort med en mikrokontroller för kurser inom programmering för inbyggda system och elektronikdesign. Korten inkluderade inte stöd för hårdvarubaserad debugging och inga befintliga mjukvarulösningar mötte kraven för det specifika systemet. Debuggern använde en blandad hårdvaru- och mjukvarulösning för att uppnå debug-funktionalitet som brytpunkter, stegning och brytsignaler. Implementationen nyttjade den i mikrokontrollern inbyggda debugmodulen(debug module) för att tillgängliggöra debugging utan någon extern hårdvara. Implementationen mötte alla krav för att kunna användas i den tilltänkta studiemiljön, och hade en begränsad resursanvändning, men med rum för ytterligare optimeringar.
|
34 |
Datoriserad felsökning av CAN-kommunikation i tre domäner / Computerized troubleshooting of CAN communication in three domainsGall, David, Lövdahl, Björn January 2024 (has links)
Detta examensarbete har genomförts i samarbete med elbilsföretaget Luvly AB. Arbetet syftar till att utveckla en teori för datoriserad felsökning av kommunikationsbussen CAN i tredomäner som utgörs av meddelanden, signaler och den elektriska karaktäristiken vilket är avvikt för testning i kommersiella tillämpningar. Resultatet av arbetet består av två delar, ettmjukvaruprogram som tillämpar meddelandedomänen och en teoretisk sammanställning förhur implementering av resterande två domänerna kan utföras.Dessa tre domäner ger tillsammans en enkel och fullständig felsökningsteori som likväl kanautomatiseras och byggas in i CAN-bussystem inom industri och fordon.Den utvecklade programvaran finns tillgänglig att hämta på Kungliga Tekniska HögskolansOneDrive och MediaFire. / This bachelor thesis has been carried out in cooperation with Luvly AB, a light urban vehiclestartup working out of Stockholm. The project’s goal has been to develop a theory regardingcomputerized troubleshooting of the CAN-bus in three domains, the messages, the signals,and the electrical characteristics, which is of importance for testing in commercial applications. The result of this report consists of two parts, a software program applying the messagedomain and a theoretical part explaining how the two other domains can be implemented.These three domains together give an intuitive and complete troubleshooting theory thatcould be automated as well as built into the CAN-bus itself in industrial and vehicular applications.The developed program is available for download on the Royal Institute of Technology’sOneDrive and on MediaFire.
|
Page generated in 0.0602 seconds