Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by discipline "Tietojenkäsittelytiede"

Sort by: Order: Results:

  • Tuulos, Natalia (2014)
    Animaatiotekniikat tarjoavat tehokkaita menetelmiä hahmojen ja jäykkien kappaleiden animoimiseen. Tutkielmassa kuvataan yleisemmät 3D-animaatiotekniikat unohtamatta muita edeltäneitä tekniikoita, tutustutaan grafiikkaluikuhihnaan ja luurankomalliin sekä käydään läpi peliresurssien hallintaan, luontiin, käsittelyyn ja talletukseen liittyviä asioita. Lisäksi tutkielmassa tutustutaan animaatiojärjestelmän jäsentelyyn ohjelmistoarkkitehtuurin näkökulmasta sekä esitellään Unreal- ja Unity-pelimoottorit ja niiden animaatiojärjestelmät. Tutkielman konstruktiivisessa osuudessa kuvataan molemmissa pelimoottoreissa toteutetut esimerkkisovellukset ja toteutukseen liittyvät kokemukset sekä tehdään kokemuksiin perustuva vertaileva analyysi.
  • Sairanen, Samuli (2013)
    The term 'botnet' has surfaced in the media in recent years, showing the complications of manipulation of massive amounts of computers. These zombie computers provide platform for many illegal or otherwise shady actions, like spam mailing and denial of service-attacks. The power of such networks is noticeable on global scale, but what is really known about these networks? Why do they exist in the first place? How are botnets being created today and how they work on a technical level? How is the emergence of mobile internet computing affecting botnet creation and what kind of possibilities does it offer? Goal of this work is to illustrate the history of botnets, understand the structure of botnets, how they are built, and how they affect the whole internet culture. Also the methods for fighting against the threat of botnets are speculated.
  • Silvennoinen, Aku (2018)
    De-anonymization is an important requirement in real-world V2X systems (e.g., to enable effective law enforcement). In de-anonymization, a pseudonymous identity is linked to a long-term identity in a process known as pseudonym resolution. For de-anonymization to be acceptable from political, social and legislative points of view, it has to be accountable. A system is accountable if no action by it or using it can be taken without some entity being responsible for the action. Being responsible for an action means that the responsible entity cannot deny its responsibility of or relation to an action afterwards. The main research question is: How can we achieve accountable pseudonym resolution in V2X communication systems? One possible answer is to develop an accountable de-anonymization service, which is compatible with existing V2X pseudonym schemes. The accountability can be achieved by making some entities accountable for the de-anonymization. This thesis proposes a system design that enables, i) fine-grained pseudonym resolution; ii) the possibility to inform the subject of the resolution after a suitable time delay; and iii) the possibility for the public to audit the aggregate number of pseudonym resolutions. A TEE is used to ensure these accountability properties. The security properties of this design are verified using symbolic protocol analysis.
  • Huang, Biyun (2018)
    Text classification, also known as text categorization, is a task to classify documents into predefined sets. As the prosperity of the social networks, a large volume of unstructured text is generated exponentially. Social media text, due to its limited length, extreme imbalance, high dimensionality, and multi-label characteristic, needs special processing before being fed to machine learning classifiers. There are all kinds of statistics, machine learning, and natural language processing approaches to solve the problem, of which two trends of machine learning algorithms are the state of the art. One is the large-scale linear classification which deals with large sparse data, especially for short social media text; the other is the active deep learning techniques, which takes advantage of the word order. This thesis provided an end-to-end solution to deal with large-scale, multi-label and extremely imbalanced text data, compared both the active trends and discussed the effect of balance learning. The results show that deep learning does not necessarily work well in this context. Well-designed large linear classifiers can achieve the best scores. Also, when the data is large enough, the simpler classifiers may perform better.
  • Oksanen, Miika (2018)
    In software product line engineering (SPLE), parts of developed software is made variable in order to be able to build a whole range of software products at the same time. This is widely known to have a number of potential benefits such as saving costs when the product line is large enough. However, managing variability in software introduces challenges that are not well addressed by tools used in conventional software engineering, and specialized tools are needed. Research questions: 1) What are the most important requirements for SPLE tools for a small-to-medium sized organisation aiming to experiment with SPLE? 2) How well those requirements are met in two specific SPLE tools, Pure::Variants and Clafer tools? 3) How do the studied tools compare against each other when it comes to their suitability for the chosen context (a digital board game platform)? 4) How common requirements for SPL tools can be generalized to be applicable for both graphical and text-based tools? A list of requirements is first obtained from literature and then used as a basis for an experiment where support for each requirement is tried out with both tools. Then a part of an example product line is developed with both tools and the experiences reported on. Both tools were found to support the list of requirements quite well, although there were some usability problems and not everything could be tested due to technical issues. Based on developing the example, both tools were found to have their own strengths and weaknesses probably partly resulting from one being GUI-based and one textual. ACM Computing Classification System (CCS): (1) CCS → Software and its engineering → Software creation and management → Software development techniques → Reusability → Software product lines (2) CCS → Software and its engineering → Software notations and tools → Software configuration management and version control systems
  • Havukainen, Heikki (2015)
    Managing a telecommunications network requires collecting and processing a large amount of data from the base stations. The current method used by the infrastructure providers is hierarchical and it has significant performance problems. As the amount of traffic within telecommunications networks is expected to continue increasing rapidly in the foreseeable future, these performance problems will become more and more severe. This thesis outlines a distributed publish/subscribe solution that is designed to replace the current method used by the infrastructure providers. In this thesis, we propose an intermediate layer between the base stations and the network management applications which will be built on top of Apache Kafka. The solution will be qualitatively evaluated from different aspects. ACM Computing Classification System (CCS): Networks -> Network management Networks -> Network architectures
  • Hirvikoski, Kasper (2015)
    Software delivery has evolved notably over the years, starting from plan-driven methodologies and lately moving to principles and practises shaped by Agile and Lean ideologies. The emphasis has moved from thoroughly documenting software requirements to a more people-oriented approach of building software in collaboration with users and experimenting with different approaches. Customers are directly integrated into the process. Users cannot always identify software needs before interacting with actual implementations. Building software is not only about building products in the right way, but also about building the right products. Developers need to experiment with different approaches, directly and indirectly. Not only do users value practical software, but the development process must also emphasise on the quality of the product or service. Development processes have formed to support these ideologies. To enable a short feedback-cycle, features are deployed often to production. A software is primarily delivered through a pipeline consisting of tree stages: development, staging and production. Developers develop features by writing code, verify these by writing related tests, interact and test software in a production-like 'staging' environment, and finally deploy features to production. Many practises have formed to support this deployment pipeline, notably Continuous Integration, Deployment and Experimentation. These practises focus on improving the flow of how software is being developed, tested, deployed and experimented with. The Internet has provided a thriving environment for using new practises. Due to the distributed nature of the web, features can be deployed without the need of any interaction from users. Users might not even notice the change. Obviously, there are other environments where many of these practises are much harder to achieve. Embedded systems, which have a dedicated function within a larger mechanical or electrical system, require hardware to accompany the software. Related processes and environments have their limitations. Hardware development can only be iterative to a certain degree. Producing hardware takes up front design and time. Experimentation is more expensive. Many stringent contexts require processes with assurances and transparency - usually provided by documentation and long-testing phases. In this thesis, I explore how advances in streamlining software delivery on the web has influenced the development of embedded systems. I conducted six interviews with people working on embedded systems, to get their view and incite discussion about the development of embedded systems. Though many concerns and obstacles are presented, the field is struggling with the same issues that Agile and Lean development are trying to resolve. Plan-driven approaches are still used, but distinct features of iterative development can be observed. On the leading edge, organisations are actively working on streamlining software and hardware delivery for embedded systems. Many of the advances are based on how Agile and Lean development are being used for user-focused software, particularly on the web.
  • Linkola, Simo (2016)
    A measurement for how similar (or distant) two computer programs are has a wide range of possible applications. For example, they can be applied to malware analysis or analysis of university students' programming exercises. However, as programs may be arbitrarily structured, capturing the similarity of two non-trivial programs is a complex task. By extracting call graphs (graphs of caller-callee relationships of the program's functions, where nodes denote functions and directed edges denote function calls) from the programs, the similarity measurement can be changed into a graph problem. Previously, static call graph distance measures have been largely based on graph matching techniques, e.g. graph edit distance or maximum common subgraph, which are known to be costly. We propose a call graph distance measure based on features that preserve some structural information from the call graph without explicitly matching user defined functions together. We define basic properties of the features, several ways to compute the feature values, and give a basic algorithm for generating the features. We evaluate our features using two small datasets: a dataset of malware variants, and a dataset of university students' programming exercises, focusing especially on the former. For our evaluation we use experiments in information retrieval and clustering. We compare our results for both datasets to a baseline, and additionally for the malware dataset to the results obtained with a graph edit distance approximation. In our preliminary results we show that even though the feature generation approach is simpler than the graph edit distance approximation, the generated features can perform on a similar level as the graph edit distance approximation. However, experiments on larger datasets are still required to verify the results.
  • Juvonen, Atte (2019)
    We present a new framework to evaluate the security of voting schemes. We utilize the framework to compare a wide range of voting schemes, including practical schemes in realworld use and academic schemes with interesting theoretical properties. In the end we present our results in a neat comparison table. We strive to be unambiguous: we specify our threat model, assumptions and scope, we give definitions to the terms that we use, we explain every conclusion that we draw, and we make an effort to describe complex ideas in as simple terms as possible. We attempt to consolidate all important security properties from literature into a coherent framework. These properties are intended to curtail vote-buying and coercion, promote verifiability and dispute resolution, and prevent denial-of-service attacks. Our framework may be considered novel in that trust assumptions are an output of the framework, not an input. This means that our framework answers questions such as ”how many authorities have to collude in order to violate ballot secrecy in the Finnish paper voting scheme?”
  • Ruonala, Henna-Riikka (2017)
    A systematic literature review was conducted to examine the usage of agile methods in game development. A total of 23 articles were found which were analysed with the help of concept matrices. The results indicate that agile methods are used to varying degrees in game development. Agile methods lead to improved quality of games through a prototyping, playtesting, and feedback loop. Communication and ability of the team to take responsibility are also enhanced. Challenges arise from multidisciplinary teams, management issues, lack of training in agile methods, and quality of code.
  • Aintila, Eeva Katri Johanna (2016)
    Expected benefits from agile methodologies to project success have encouraged organizations to extend agile approaches to areas they were not originally intended to such as large scale information systems projects. Research regarding agile methods in large scale software development projects have existed for few years and it is considered as its own research area. This study investigates agile methods on the large scale software development and information systems projects and its goal is to produce more understanding of agile methods suitability and the conditions under which they would most likely contribute to project success. The goal is specified with three research questions; I) what are the characteristics specific to large scale software engineering projects or large scale Information Systems project, II) what are the challenges caused by these characteristics and III) how agile methodologies mitigate these challenges? In this study resent research papers related to the subject are investigated and characteristics of large scale projects and challenges associated to them are recognized. Material of the topic was searched starting from the conference publications and distributions sites related to the subject. Collected information is supplemented with the analysis of project characteristics against SWEBOK knowledge areas. Resulting challenge categories are mapped against agile practises promoted by Agile Alliance to conclude the impact of practises to the challenges. Study is not a systematics literature review. As a result 6 characteristics specific to large scale software development and IS projects and 10 challenge categories associated to these characteristics are recognized. The analysis reveals that agile practises enhance the team level performance and provide direct practises to manage challenges associated to high amount of changes and unpredictability of software process both characteristic to a large scale IS project but challenges still remain on the cross team and overall project level. As a conclusion it is stated that when seeking the process model with agile approach which would respond to all the characteristics of large scale project thus adding the likelihood of project success adaptations of current practises and development of additional practises are needed. To contribute this four areas for adaptations and additional practises are suggested when scaling agile methodologies over large scale project contexts; 1) adaptation of practises related to distribution, assignment and follow up of tasks, 2) alignment of practises related to software development process, ways of working and common principles over all teams, 3) developing additional practises to facilitate collaboration between teams, to ensure interactions with the cross functional project dimensions and to strengthen the dependency management and decision making between all project dimensions and 4) possibly developing and aligning practises to facilitate teams' external communication. Results of the study are expected to be useful for software development and IS project practitioners when considering agile method adoptions or adaptations in a large scale project context. ACM Computing Classification System (CCS) 2012: - Social and professional topics~Management of computing and information systems - Software and its engineering~Software creation and management
  • Kallonen, Susanna (2013)
    Aivokäyttöliittymätutkimus on nuori, poikkitieteellinen tutkimusala, jonka pyrkimyksenä on kehittää ajatuksen voimalla toimivia käyttöliittymiä lääketieteellisistä häiriöistä kärsiville apu- ja kuntoutusvälineiksi sekä terveille ihmisille viihde- ja hyötykäyttöön. Aivokäyttöliittymät mahdollistavat ihmisen aivojen ja tietokoneen välille uudenlaisen, suoran viestinvälitysyhteyden, joka ei ole riippuvainen ääreishermostosta ja lihaksista. Tässä tutkielmassa kartoitetaan aivokäyttöliittymien aihealueesta tehtyä tutkimusta sekä perehdytään aivokäyttöliittymien sovellusalueisiin ja toteutusperiaatteisiin. Aivokäyttöliittymillä pystytään jo nykyään parantamaan vaikeasti liikuntakyvyttömien ihmisten elämänlaatua tarjoamalla heille tavan kommunikoida ympäristönsä kanssa. Aivokäyttöliittymän avulla he pystyvät kirjoittamaan virtuaalisella tietokoneen näppäimistöllä pelkästään ajatuksen voimalla. Tekniikan hyödyntämistä raajaproteesien liikuttamiseen, pyörätuolin ohjaamiseen, epilepsian oireiden lievittämiseen, tietokonepelien pelaamiseen ja lukuisiin muihin käytännön sovelluksiin tutkitaan parhaillaan. Aivokäyttöliittymien toiminnan perustana voi olla invasiivinen mittaustekniikka, jossa aivojen toimintaa mitataan kallon sisältä, tai ei-invasiivinen mittaustekniikka, jossa mittaus tehdään päänahan ulkopuolelta. Tutkielmassa selviää, että sekä invasiivisella että ei-invasiivisella tekniikalla pystytään toteuttamaan toimivia aivokäyttöliittymiä. Invasiiviset menetelmät soveltuvat parhaiten sovelluksiin, joiden toiminta vaatii hyvää signaalin tarkkuutta ja joiden kohderyhmänä ovat sairaat tai vammautuneet henkilöt. Ei-invasiiviset menetelmät sopivat sovelluksiin, joissa pienempi mittaustarkkuus riittää tai joita käyttävät myös terveet henkilöt. Tutkielmassa todetaan, että aivokäyttöliittymät soveltuvat sekä terveille ihmisille että erilaisista lääketieteellisistä häiriöistä kärsiville. Lisäksi otetaan kantaa siihen, minkälaisia aivokäyttöliittymäsovelluksia kannattaa kehittää perustaen käsitys esiteltyyn tutkimustietoon. Tätä tulosta verrataan haastatteluun, jossa kartoitetaan aivokäyttöliittymien kohderyhmään kuuluvan henkilön ajatuksia aivokäyttöliittymistä, niiden sovelluskohteista ja niille asetettavista vaatimuksista. Haastattelun tuloksena löydetään viisi uutta, aiemmin tutkimatonta, aivokäyttöliittymien sovelluskohdetta: nielun puhdistamiseen tarkoitettu limaimuri, kirjoitetun tekstin ääneen lausuva puhesyntetisaattori, nostolaite jolla henkilö voi nostaa itsensä sängystä, pesun suorittava WC-istuin ja monitoiminen, ruokailussa ja asennon vaihtamisessa avustava laite. Lisäksi tunnistetaan kaksi uutta vaatimusta aivokäyttöliittymille: tarve huomioida sovellusten helppokäyttöisyys avustajien näkökulmasta ja vaatimus aivokäyttöliittymien joustavuudesta eli siitä, että yhdellä aivokäyttöliittymällä pystyisi suorittamaan monia erilaisia toimintoja. Haastattelun perusteella vahvistuu käsitys siitä, että loppukäyttäjät kannattaa ottaa mukaan aivokäyttöliittymien kehitystyöhön ja näkökulmaksi tulisi ottaa entistä enemmän käyttäjälähtöisyys, joka nykyisin ei ole ollut tutkimusten lähtökohtana.
  • Hietasaari, Antti (2016)
    Tutkielmassa arvioidaan aktoripohjaisten rinnakkaistamisratkaisujen soveltuvuutta pelimoottoreihin. Tutkielmassa esitellään ensin pelimoottoreiden ja aktoripohjaisen rinnakkaisuuden perusperiaatteet ja sitten aktoripohjainen Stage-pelimoottoritoteutus. Tutkielman lopuksi tutkitaan Stage-moottorin tehokkuutta ja helppokäyttöisyyttä verrattuna perinteisiä lukkopohjaisia rinnakkaistamisratkaisuja hyödyntävään pelimoottoriin.
  • Linnainmaa, Seppo (2020)
    Algoritmien kumulatiivista pyöristysvirhettä liukuvan pilkun aritmetiikassa pyritään analysoimaan kehittämällä tämä yksittäisten pyöristysvirheiden Taylor-kehitelmäksi. Tähän tarkoitukseen esitetään sekä analyyttinen että tietokoneelle soveltuva menetelmä. Yksittäiselle suhteelliselle pyöristysvirheelle konstruoidaan tilastollinen malli. Sovellutuksina käsitellään pienalgoritmia a² -b² = (a+b)·(a-b) sekä Horner-shemaa ja Gauss-Jordanin matriisinkääntöalgoritmia. Sovellutuksiin liittyvät ohjelmat on ajettu IBM 7094-tietokoneella.
  • Hyvärinen, Ada-Maaria (2019)
    Sanojen vektoriesityksiä käytetään moniin luonnollista kieltä käsitteleviin koneoppimistehtäviin, kuten luokitteluun, tiedonhakuun ja konekääntämiseen. Ne ilmaisevat sanat tietokoneelle ymmärrettävässä muodossa. Erityisen hyödyllinen tapa esittää sanat vektoreina on esittää sanat pisteinä jatkuvassa sana-avaruudessa, jolla on joitakin satoja ulottuvuuksia. Tällaisessa mallissa samankaltaiset sanat sijaitsevat avaruudessa lähekkäin, ja sanavektorien erotukset kuvaavat sana-analogiasuhteita, jos vektorit on tuotettu siihen tarkoitukseen luodulla neuroverkolla. Pelkästään tällaisia vektoreita katsomalla saadaan tietää jotakin sanan merkityksestä ja muodosta. Perinteisesti sanavektoreita opettaessa on käsitelty opetusaineiston sanat erillisinä merkkijonoina. Englannin kielessä tämä on usein toimiva menetelmä. Suomen kieli taas on vahvasti taivuttava, joten myös sananmuodot sisältävät paljon informaatiota. Osa informaatiosta menee hukkaan, jos sanat opetetaan kokonaan erillisinä. Lisäksi malli ei osaa yhdistää kahta saman sanan sanamuotoa toisiinsa. FastText-mallit ratkaisevat taivuttamisen ja johtamisen tuomat ongelmat hyödyntämällä tietoa sanojen sisältämistä alimerkkijonoista. Vektoriesitysmalli opetetaan siis paitsi sanojen, myös niiden sisältämien lyhyempien merkkijonojen perusteella. Tämän takia fastText-mallin voisi ajatella toimivan hyvin paljon taivuttavilla kielillä, kuten suomella. Tässä tutkielmassa on haluttu selvittää, toimiiko fastText-menetelmä hyvin suomen kielellä. Lisäksi on tutkittu, millä parametreilla malli toimii parhaiten. Tutkielmassa on kokeiltu erilaisia alimerkkijonojen pituuksia ja sanavektorin kokoja. Mallin laatua voidaan testata semanttista samankaltaisuutta mittaavilla aineistoilla sekä sana-analogiakyselyillä. Semanttista samankaltaisuutta mittaavissa testeissä tutkitaan, ovatko samaa tarkoittavat sanat lähekkäin vektoriavaruudessa. Aineistot pohjautuvat ihmisarvioijien antamiin pisteytyksiin sanojen samankaltaisuudesta. Sana-analogiatesteissä kokeillaan, onnistuuko malli löytämään analogiaparista puuttuvan sanan vektorilaskutoimituksen perusteella. Analogia-aineistot koostuvat sanapareista, jotka ovat tietyssä analogiasuhteessa keskenään. Analogiat voivat liittyä sanan merkitykseen, kuten ``mies ja nainen'' tai muotoon, kuten ``positiivi ja komparatiivi''. Tutkielmaa varten käännettiin suomeksi kaksi englannin kielellä usein käytettyä datasettiä: semanttista samankaltaisuutta mittaava WS353 ja sana-analogioita sisältävä SSWR, jonka käännöksestä käytetään nimeä SSWR-fi. Käännöksissä huomioitiin se, että monet datasettien sanat eivät käänny suomeen yksikäsitteisesti. SSWR-fi-datasetistä ongelmalliset sanat poistettiin, WS353-datasetin rinnalle taas tehtiin erillinen lyhennetty datasetti WS277-josta ongelmalliset sanat on poistettu. Tutkielmassa havaittiin, että alimerkkijonojen käyttäminen on hyödyllistä suomen kielen käsittelyssä. Semanttista samankaltaisuutta mittaavien testien mukaan mallin laatu parani alimerkkijonojen ansiosta. Sana-analogiatesteissä alimerkkijonojen käyttäminen paransi muotokyselyissä onnistumista, mutta huononsi merkityskyselyissä onnistumista. Tämä johtunee siitä, että muotokyselyt perustuvat sanojen taivuttamiselle ja johtamiselle, mutta merkityskyselyissä sananmuodoilla ei ole juuri väliä.
  • Virtanen, Teemu (2020)
    Nykyaikaisessa alustataloudessa on kyse toiminnasta, jossa yrityksen tarjoaman digitaalisen alustan välityksellä eri sidosryhmät toteuttavat yhdessä lisäarvoa tuottavaa toimintaa. Alustatalous on noussut vuosituhannen vaihteen jälkeen muuttamaan perinteisellä arvoketjun logiikalla toimivien yritysten markkinoita. Alustatalouden yleistyminen näkyy uusien alustayritysten syntymisenä ja myös siinä, miten monet yritykset ovat siirtäneet tai laajentaneet liiketoimintaansa perinteisen arvoketjun mallista alustamalliin. Ilmiö on maailmanlaajuinen ja ajankohtainen myös Suomessa. Valtaosa yrityksistä toimii edelleen perinteisellä arvoketjun logiikalla, mutta suuren osan niistäkin kilpailukyvyn kannalta on tarpeellista huomioida alustatalouden vaikutukset rakentamalla tulevaisuuden liiketoimintaa tavalla tai toisella osana alustatalouden ekosysteemejä. Alustayrityksiä on toistaiseksi vähän, minkä vuoksi niiden johtamiseen erikoistuneita ja niistä johtamiskokemusta hankkineita henkilöitä on vähän. Alustataloudesta ja alustatalouden yrityksistä on tehty lukuisia tutkimuksia, mutta tähänastisten tutkimusten pääasiallinen painopiste on muualla kuin yrityksen johtamista käsittelevissä aiheissa. Tässä työssä etsittiin yrityksen johtamisen näkökulman kannalta relevantteja eroja perinteisen arvoketjun yrityksen ja digitaalisen alustayrityksen välillä. Valittuna johtamisen ulottuvuutena oli johtaminen toimintojen toteuttamisena. Yritysten välisistä eroista laadittiin yhteenveto, jonka on tarkoitus tukea esimerkiksi perinteisen arvoketjun logiikan yrityksen johtamisen taustalla olevaa johtoa painottamaan ja määrittelemään vastuullaan olevan alustaliiketoiminnan johtamisen osa-alueita tarkoituksenmukaisella tavalla. Lisäksi tutkittiin alustayrityksen menestymisen edellyttämiä keskeisiä osaamisia sekä teknologian roolia ja merkitystä nykyaikaisen alustayrityksen johtamisessa. Tutkimuksessa hahmoteltiin myös muutamia mittareita alustayrityksen johtamisen tueksi. Tässä työssä tutkittiin suhteellisen laajaa joukkoa johtamisen eri osa-alueita yleisellä tasolla mahdollisimman kattavan yleiskuvan saamiseksi ja tässä mielessä tavoite saavutettiin. Tulosten konkretia-aste kuitenkin vaihtelee ja näin ollen jatkossa olisikin hyödyllistä tutkia valikoiden kutakin johtamisen osa-aluetta yksityiskohtaisemmin mahdollisimman konkreettisen ja syvällisen tiedon saavuttamiseksi käytännön johtamisen tueksi.
  • Heinonen, Kenny (2015)
    Opetuksessa käytetyt materiaalit ovat sisällöltään tyypillisesti muuttumattomia. Kirjat ja kuvat ovat esimerkkejä muuttumattomista opetusmateriaaleista. Muuttumattoman opetusmateriaalin tueksi on kehitetty älykkäitä oppimisjärjestelmiä, jotka ovat yleistyneet tietojenkäsittelytieteen opetuksessa. Älykkään oppimisjärjestelmän ominaispiirteisiin kuuluu dynaamisuus ja interaktiivisuus. Järjestelmän tarjoamien interaktiivisten mekanismien ansiosta käyttäjä voi kommunikoida järjestelmän kanssa ja oppia järjestelmän opettamaa aihetta. Oppimisjärjestelmän tarjoama sisältö ja käyttäjälle annettu palaute vaihtelee käyttäjän syötteen perusteella. Älykkäillä oppimisjärjestelmillä on useita luokituksia, joihin kuuluu niin visualisointi- ja simulointijärjestelmiä, arviointi- ja tuutorointijärjestelmiä, ohjelmointiympäristöjä ja oppimispelejä. Tässä tutkielmassa tarkastellaan millaisia älykkäitä oppimisympäristöjä on olemassa ja mikä niiden käyttötarkoitus on. Järjestelmät kartoitetaan etsimällä niitä SIGCSE konferenssissa julkaistuista artikkeleista vuosilta 2009–2014. Kartoitettujen järjestelmien teknistä toteutusta tutkitaan muutamien yleisluontoisten ominaisuuksien, kuten web-pohjaisuuden, näkökulmasta. Viiden vuoden aikavälillä järjestelmät eivät ole yleisesti ottaen kehittyneet. Älykkäät oppimisjärjestelmät ovat laajasti hyödynnettyjä, mutta ne eivät kuitenkaan ole korvaamassa perinteistä lähiopetusta, vaan ne ovat tarkoitettu enimmäkseen lähiopetuksen tueksi.
  • Sarakontu, Minna (2019)
    Verkkosovelluksilla ja muilla sähköisillä järjestelmillä voidaan säästää resursseja, kun esimerkiksi työaikakirjanpito siirretään paperilta mobiiliin ja tietokoneen näytölle. Työntekoa tehostava sovellus vaatii kuitenkin hyvän käytettävyyden. Käytettävyydellä tarkoitetaan muun muassa sovelluksen käytön opittavuutta, tehokkuutta ja miellyttävyyttä. Tämän tutkielman lähtökohtana on toimeksianto yritykseltä, jolla on tarve uudistaa työaikasovelluksen käyttöliittymää. Nykyisen käyttöliittymän suurin puute on sen skaalautumattomuus työntekijöiden määrän kasvaessa. Lisäksi käyttöliittymä on toteutettu vanhanaikaisilla tekniikoilla, eikä sen visuaalinen ulkoasu vastaa yrityksen muiden sovellusten tyylisuuntaa. Tutkielmassa suunniteltiin ja toteutettiin työaikasovellukselle uuden käyttöliittymän prototyyppi, joka tarjoaa ratkaisut nykyisen käyttöliittymän ongelmakohtiin. Prototyypin suunnittelussa ja arvioinnissa hyödynnettiin kirjallisuuskatsauksessa kerättyä tietoa ihmisen ja koneen välisestä vuorovaikutuksesta, käytettävyydestä ja verkkosovellusten suunnittelusta. Prototyypissä onnistuttiin toteuttamaan tuhansille työntekijätiedoille skaalautuva listanäkymä sekä kaikki nykyisen käyttöliittymän ominaisuudet modernimmalla ulkoasulla ja kehitystyökaluilla. Vasteaika- ja käytettävyystestauksessa havaittiin jonkin verran puutteita, jotka huomioidaan uuden käyttöliittymän jatkokehityksessä.
  • Sarakontu, Minna (2019)
    Verkkosovelluksilla ja muilla sähköisillä järjestelmillä voidaan säästää resursseja, kun esimerkiksi työaikakirjanpito siirretään paperilta mobiiliin ja tietokoneen näytölle. Työntekoa tehostava sovellus vaatii kuitenkin hyvän käytettävyyden. Käytettävyydellä tarkoitetaan muun muassa sovelluksen käytön opittavuutta, tehokkuutta ja miellyttävyyttä. Tämän tutkielman lähtökohtana on toimeksianto yritykseltä, jolla on tarve uudistaa työaikasovelluksen käyttöliittymää. Nykyisen käyttöliittymän suurin puute on sen skaalautumattomuus työntekijöiden määrän kasvaessa. Lisäksi käyttöliittymä on toteutettu vanhanaikaisilla tekniikoilla, eikä sen visuaalinen ulkoasu vastaa yrityksen muiden sovellusten tyylisuuntaa. Tutkielmassa suunniteltiin ja toteutettiin työaikasovellukselle uuden käyttöliittymän prototyyppi, joka tarjoaa ratkaisut nykyisen käyttöliittymän ongelmakohtiin. Prototyypin suunnittelussa ja arvioinnissa hyödynnettiin kirjallisuuskatsauksessa kerättyä tietoa ihmisen ja koneen välisestä vuorovaikutuksesta, käytettävyydestä ja verkkosovellusten suunnittelusta. Prototyypissä onnistuttiin toteuttamaan tuhansille työntekijätiedoille skaalautuva listanäkymä sekä kaikki nykyisen käyttöliittymän ominaisuudet modernimmalla ulkoasulla ja kehitystyökaluilla. Vasteaika- ja käytettävyystestauksessa havaittiin jonkin verran puutteita, jotka huomioidaan uuden käyttöliittymän jatkokehityksessä.
  • Kettunen, Elina (2020)
    In software development, requirements define the expected behaviour of a system. Requirements can have relationships to other requirements and these relationships are called dependencies or constraints. Requirements are usually assigned to releases, which means that there is an order in which the requirements will be implemented. A single requirement model can be constructed from requirements and their properties, releases and dependencies. Large software development projects can have tens of thousands of requirements and managing large-scale requirement models is challenging. In the OpenReq project, the aim was to develop better tools for requirements engineering. In this thesis, which is a part of OpenReq, the aim was to research analyses that have been done to requirement models or that could be done to requirement models. In OpenReq, requirement models consist of requirements as statements and their relationships. The research is conducted as a systematic literature review using snowballing as the search strategy. At the moment, the consistency check and diagnosis of inconsistencies are the only analyses performed on the OpenReq requirement models. While there exist very little analyses for requirement models, we found several analyses, especially from the domain of feature modelling, which could be applicable to requirement models. The most promising of these analyses are detection of dead requirements and redundant constraints, but the original analyses must be adopted to consider the properties of requirement models such as releases. In the future, there should be research on how relevant these analyses are for real-life industrial requirement models.