Search results for "ohjelmointi"
showing 10 items of 139 documents
Finding Software Bugs in Embedded Devices
2021
AbstractThe goal of this chapter is to introduce the reader to the domain of bug discovery in embedded systems which are at the core of the Internet of Things. Embedded software has a number of particularities which makes it slightly different to general purpose software. In particular, embedded devices are more exposed to software attacks but have lower defense levels and are often left unattended. At the same time, analyzing their security is more difficult because they are very “opaque”, while the execution of custom and embedded software is often entangled with the hardware and peripherals. These differences have an impact on our ability to find software bugs in such systems. This chapt…
Progress Checking for Dummies
2018
Verification of progress properties is both conceptually and technically significantly more difficult than verification of safety and deadlock properties. In this study we focus on the conceptual side. We make a simple modification to a well-known model to demonstrate that it passes progress verification although the resulting model is intuitively badly incorrect. Then we point out that the error can be caught easily by adding a termination branch to the system. We compare the use of termination branches to the established method of addressing the same need, that is, weak fairness. Then we discuss another problem that may cause failure of catching progress errors even with weak fairness. Fi…
Concept Analysis in Programming Language Research : Done Well It Is All Right
2017
Programming language research is becoming method conscious. Rigorous mathematical or empirical evaluation is often demanded, which is a good thing. However, I argue in this essay that concept analysis is a legitimate research approach in programming languages, with important limitations. It can be used to sharpen vague concepts, and to expose distinctions that have previously been overlooked, but it does not demonstrate the superiority of one language design over another. Arguments and counter-arguments are essential to successful concept analysis, and such thoughtful conversations should be published more. peerReviewed
Assessing 4th Grade Students’ Computational Thinking through Scratch Programming Projects
2020
Computational thinking (CT) has been introduced in primary schools worldwide. However, rich classroom-based evidence and research on how to assess and support students’ CT through programming are particularly scarce. This empirical study investigates 4th grade students’ (N = 57) CT in a comparatively comprehensive and fine-grained manner by assessing their Scratch projects (N = 325) with a framework that was revised from previous studies to aim towards enhancing CT. The results demonstrate in detail the various coding patterns and code constructs the students programmed in assorted projects throughout a programming course and the extent to which they had conceptual encounters with CT. Notab…
Crossfit lajianalyysi ja harjoittelu
2014
Lajin ominaispiirteet. CrossFitissä pyritään kehittämään urheilijan suorituskykyä mahdollisimman monipuolisesti välttäen erikoistumista. Urheilijan tavoitteena on kehittyä kaikissa seuraavista osa-alueista: 1) hengitys- ja verenkiertoelimistön kestävyys, 2) kestovoima, 3) maksimivoima, 4) nopeusvoima, 5) nopeus, 6) liikkuvuus, 7) koordinaatio, 8) ketteryys, 9) tasapaino ja 10) tarkkuus. Kilpailusuoritukset sisältävät monipuolisesti elementtejä eri lajeista, kuten juoksusta, uinnista soudusta, voimistelusta ja painonnostosta. Oleellinen osa CrossFit-harjoittelua ovat erilaiset WOD-harjoituskokonaisuudet (Workout of the Day), joita käytetään myös niin kutsuttuina Benchmark-harjoitteina. Bench…
EJB:n eri käyttötapojen tehokkuus tiedonsiirrossa tietokantaan käyttäen OC4J palvelinta
2002
Array programming with NumPy.
2020
Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data in vectors, matrices and higher-dimensional arrays. NumPy is the primary array programming library for the Python language. It has an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, materials science, engineering, finance and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves1 and in the first imaging of a black hole2. Here we review how a few fundamental array concepts lead to a simple and powerful programmi…
Factors and actors leading to the adoption of a JavaScript framework
2018
The increasing popularity of JavaScript has led to a variety of JavaScript frameworks that aim to help developers to address programming tasks. However, the number of JavaScript frameworks has risen rapidly to thousands of versions. It is challenging for practitioners to identify the frameworks that best fit their needs and to develop new ones which fit such needs. Furthermore, there is a lack of knowledge regarding what drives developers towards the choice. This paper explores the factors and actors that lead to the choice of a JavaScript framework. We conducted a qualitative interpretive study of semi-structured interviews. We interviewed 18 decision makers regarding the JavaScript framew…
Identifying Pathways to Computer Science : The Long-Term Impact of Short-Term Game Programming Outreach Interventions
2019
Short-term outreach interventions are conducted to raise young students’ awareness of the computer science (CS) field. Typically, these interventions are targeted at K–12 students, attempting to encourage them to study CS in higher education. This study is based on a series of extra-curricular outreach events that introduced students to the discipline of computing, nurturing creative computational thinking through problem solving and game programming. To assess the long-term impact of this campaign, the participants were contacted and interviewed two to five years after they had attended an outreach event. We studied how participating in the outreach program affected the students’ perceptio…
GPU-laskennan optimointi
2013
Näytönohjaimet, grafiikkasuorittimet, tarjoavat rinnakkaisen laskennan alustan, jossa voidaan suorittaa ohjelmakoodia satojen ydinten toimesta. Tämä alusta mahdollistaa matemaattisesti työläiden ongelmien ratkaisemisen tehokkaasti. Grafiikkasuorittimen rinnakkainen suoritusympäristö kuitenkin eroaa suuresti tietokoneen suorittimen peräkkäisestä suoritusympäristöstä. Ongelmien ratkaisemiseksi tehokkaasti rinnakkaisympäristössä on noudettava ohjelmointimenetelmiä, jotka soveltuvat erityisesti rinnakkaisympäristöön. Tässä työssä tarkastellaan rinnakkaisen laskennan perusteita, miten erilaiset ohjelmointimenetelmät vaikuttavat ohjelman suoriutumiseen grafiikkasuorittimella sekä miten voidaan sa…