26 resultados para Java (Programming language of computer)
em Doria (National Library of Finland DSpace Services) - National Library of Finland, Finland
Resumo:
Tämä kandidaatintyö tutkii tietotekniikan perusopetuksessa keskeisen aiheen,ohjelmoinnin, alkeisopetusta ja siihen liittyviä ongelmia. Työssä perehdytään ohjelmoinnin perusopetusmenetelmiin ja opetuksen lähestymistapoihin, sekä ratkaisuihin, joilla opetusta voidaan tehostaa. Näitä ratkaisuja työssä ovat mm. ohjelmointikielen valinta, käytettävän kehitysympäristön löytäminen sekä kurssia tukevien opetusapuvälineiden etsiminen. Lisäksi kurssin läpivientiin liittyvien toimintojen, kuten harjoitusten ja mahdollisten viikkotehtävien valinta kuuluu osaksitätä työtä. Työ itsessään lähestyy aihetta tutkimalla Pythonin soveltuvuutta ohjelmoinnin alkeisopetukseen mm. vertailemalla sitä muihin olemassa oleviin yleisiin opetuskieliin, kuten C, C++ tai Java. Se tarkastelee kielen hyviä ja huonoja puolia, sekä tutkii, voidaanko Pythonia hyödyntää luontevasti pääasiallisena opetuskielenä. Lisäksi työ perehtyy siihen, mitä kaikkea kurssilla tulisi opettaa, sekä siihen, kuinka kurssin läpivienti olisi tehokkainta toteuttaa ja minkälaiset tekniset puitteet kurssin toteuttamista varten olisi järkevää valita.
Resumo:
The question of the trainability of executive functions and the impact of such training on related cognitive skills has stirred considerable research interest. Despite a number of studies investigating this, the question has not yet been solved. The general aim of this thesis was to investigate two very different types of training of executive functions: laboratory-based computerized training (Studies I-III) and realworld training through bilingualism (Studies IV-V). Bilingualism as a kind of training of executive functions is based on the idea that managing two languages requires executive resources, and previous studies have suggested a bilingual advantage in executive functions. Three executive functions were studied in the present thesis: updating of working memory (WM) contents, inhibition of irrelevant information, and shifting between tasks and mental sets. Studies I-III investigated the effects of computer-based training of WM updating (Study I), inhibition (Study II), and set shifting (Study III) in healthy young adults. All studies showed increased performance on the trained task. More importantly, improvement on an untrained task tapping the trained executive function (near transfer) was seen in Study I and II. None of the three studies showed improvement on untrained tasks tapping some other cognitive function (far transfer) as a result of training. Study I also used PET to investigate the effects of WM updating training on a neurotransmitter closely linked to WM, namely dopamine. The PET results revealed increased striatal dopamine release during WM updating performance as a result of training. Study IV investigated the ability to inhibit task-irrelevant stimuli in bilinguals and monolinguals by using a dichotic listening task. The results showed that the bilinguals exceeded the monolinguals in inhibiting task-irrelevant information. Study V introduced a new, complementary research approach to study the bilingual executive advantage and its underlying mechanisms. To circumvent the methodological problems related to natural groups design, this approach focuses only on bilinguals and examines whether individual differences in bilingual behavior correlate with executive task performances. Using measures that tap the three above-entioned executive functions, the results suggested that more frequent language switching was associated with better set shifting skills, and earlier acquisition of the second language was related to better inhibition skills. In conclusion, the present behavioral results showed that computer-based training of executive functions can improve performance on the trained task and on closely related tasks, but does not yield a more general improvement of cognitive skills. Moreover, the functional neuroimaging results reveal that WM training modulates striatal dopaminergic function, speaking for training-induced neural plasticity in this important neurotransmitter system. With regard to bilingualism, the results provide further support to the idea that bilingualism can enhance executive functions. In addition, the new complementary research approach proposed here provides some clues as to which aspects of everyday bilingual behavior may be related to the advantage in executive functions in bilingual individuals.
Resumo:
Työssä perehdytään verkkokäyttöliittymien suunnitteluun ja toteutukseen. Erityisen huomion kohteena ovat Java-ohjelmointikieli ja ohjelmistosuunnittelussa suurta huomiota herättäneet suunnittelumallit. Java on kehittynyt lyhyen elinikänsä aikana huomattavasti, ja viimeaikaiset vakioluokkakirjastot ovat mahdollistaneet monipuolisten ja siirrettävien ohjelmistojen toteuttamisen. Vaikka Java ei sovellukaan kaikkiin tarkoituksiin, on se luotettavuutensa, siirrettävyytensä ja luokkakirjastojensa ilmaisuvoiman ansiosta hyvin houkutteleva kieli käyttöliittymien tekemiseen. Suunnittelumallit ovat merkittävä osa ammattimaista oliosuunnittelua. Ne tarjoavat valmiita ratkaisuja yleisiin suunnitteluongelmiin ja säästävät siten aikaa suunnittelu- ja toteutusvaiheissa. Suunnittelumallit voidaan jakaa kolmeen ryhmään: luontimallit, rakennemallit ja toiminnalliset mallit. Käytännön osuudessa tarkastellaan Java-käyttöliittymän toteutusta olemassa olevaan Soneran TradeXpress-tietojärjestelmään. Tässä tehtävässä Java ja suunnittelumallit ovat olleet keskeisellä sijalla. Java-käyttöliittymä, JavaGUI, koostuu kahdesta osasta: asiakasappletista ja Jrls-palvelimesta. Näiden kahden väliseen tiedonsiirtoon käytetään pääasiassa Javan RMI-yhteyskäytäntöä. Jrls-palvelin toimii asiakkaana RLS-palvelimelle erityisen RLS-yhteyskäytännön avulla.
Resumo:
Tässä työssä kehitetään yleiskäyttöinen palvelupyyntömalli, jonka avulla Lahden kaupungin Lahti Fenix –projektin Kuntalaistilijärjestelmän palveluväylän kautta voidaan kutsua järjestelmän tietokantatasoa tai muita palveluväylän avulla integroituja järjestelmiä. Työn tavoitteena oli suoraviivaistaa järjestelmäintegraatioihin liittyvien palveluiden kehittämistä suunnittelemalla sellainen palvelupyyntömuodostin, joka ei sisällä staattisia viittauksia jossakin tietyssä palvelussa käytettäviin luokkiin tai muihin ominaisuuksiin. Työssä hyödynnettiin Java-kielen kehittyneitä ominaisuuksia; reflektiivistä ohjelmointia, geneeristä ohjelmointia ja Java-virtuaalikoneen metodipinon lukemista. Tavoitteen saavuttamista mitattiin käyttäen avuksi McCaben syklomaattista kompleksisuutta ja metodeissa käytettyä rivimäärää. Työ aloitettiin joulukuussa 2008 ja saatiin valmiiksi helmikuussa 2009. Työn tuloksena syntyi toimiva, syklomaattiselta kompleksisuudeltaan matala ja helppokäyttöinen palvelukutsumuodostin.
Resumo:
As the national language of the PRC, the world's growing economic power and the sovereign of Hong Kong, Putonghua is a language with multiple facets of relevance for the current Special Administrative Region. This paper seeks to explore and explain different representations of Putonghua in Hong Kong's leading English-language newspaper South China Morning Post in articles published between January 2012 and February 2013. The representations are studied in the context of the different discourses in which they appear, some of which feature language(s) as a central theme and some more marginally. An overview is first presented of the scholarly research on the most important developments in Hong Kong's complex language scene from the beginnings of the colony until present day, with the aim of detecting developments and attitudes with potential relevance or parallels to the context of Putonghua today. The paper then reflects on the media and its role in producing and perpetuating discourses in the society, before turning to more practical considerations on Hong Kong's English and Chinese language media and the role of South China Morning Post in it. The methods used in analysing the discourses are those of discourse analysis, with textual analysis as its starting point, in which close attention is paid to linguistic forms as the concrete representations of meanings in a text. Particularly the immediate contexts of the appearances of the word “Putonghua” in the articles were studied carefully to detect vocabulary, grammar and semantical choices as signs of different discourses, potentially also revealing fundamental underlying assumptions and other “hidden meanings” in the text. Some of the most distinctive discourses in which different representations of Putonghua appeared were the Instrumental value for the individual (in which Putonghua was represented as a form of social capital); Othering of the mainlanders (in which Putonghua served as a concrete marker of distinction); Belonging to China (Putonghua as a symbol of unity); and Cultural distinctiveness of Hong Kong (Putonghua as a threat to Hong Kong's history and culture, as embodied in Cantonese). Some of these discourses were more prominent than others, and for example the discourse of Belonging to China was relatively rarely enacted in Hongkongers' voices. In general, the findings were not surprising in the light of the history, but showed a fair degree of consistency with what has been written earlier about the languages and attitudes towards them in Hong Kong. It has often been noted that Putonghua and its relation with Cantonese is a matter linked with the social identity of the colony and its citizens. While it appeared that there were no strict taboos in the representations of Putonghua in the societal context, the possibility of self-censorship cannot be ruled out as a factor toning down political discourses in the representations.
Resumo:
Tässä työssä esiteltiin Android laitteisto- ja sovellusalustana sekä kuvattiin, kuinka Android-pelisovelluksen käyttöliittymä voidaan pitää yhtenäisenä eri näyttölaitteilla skaalauskertoimien ja ankkuroinnin avulla. Toisena osiona työtä käsiteltiin yksinkertaisia tapoja, joilla pelisovelluksien suorituskykyä voidaan parantaa. Näistä tarkempiin mittauksiin valittiin matalatarkkuuksinen piirtopuskuri ja näkymättömissä olevien kappaleiden piilotus. Mittauksissa valitut menetelmät vaikuttivat demosovelluksen suorituskykyyn huomattavasti. Tässä työssä rajauduttiin Android-ohjelmointiin Java-kielellä ilman ulkoisia kirjastoja, jolloin työn tuloksia voi helposti hyödyntää mahdollisimman monessa eri käyttökohteessa.
Resumo:
In this thesis, tool support is addressed for the combined disciplines of Model-based testing and performance testing. Model-based testing (MBT) utilizes abstract behavioral models to automate test generation, thus decreasing time and cost of test creation. MBT is a functional testing technique, thereby focusing on output, behavior, and functionality. Performance testing, however, is non-functional and is concerned with responsiveness and stability under various load conditions. MBPeT (Model-Based Performance evaluation Tool) is one such tool which utilizes probabilistic models, representing dynamic real-world user behavior patterns, to generate synthetic workload against a System Under Test and in turn carry out performance analysis based on key performance indicators (KPI). Developed at Åbo Akademi University, the MBPeT tool is currently comprised of a downloadable command-line based tool as well as a graphical user interface. The goal of this thesis project is two-fold: 1) to extend the existing MBPeT tool by deploying it as a web-based application, thereby removing the requirement of local installation, and 2) to design a user interface for this web application which will add new user interaction paradigms to the existing feature set of the tool. All phases of the MBPeT process will be realized via this single web deployment location including probabilistic model creation, test configurations, test session execution against a SUT with real-time monitoring of user configurable metric, and final test report generation and display. This web application (MBPeT Dashboard) is implemented with the Java programming language on top of the Vaadin framework for rich internet application development. The Vaadin framework handles the complicated web communications processes and front-end technologies, freeing developers to implement the business logic as well as the user interface in pure Java. A number of experiments are run in a case study environment to validate the functionality of the newly developed Dashboard application as well as the scalability of the solution implemented in handling multiple concurrent users. The results support a successful solution with regards to the functional and performance criteria defined, while improvements and optimizations are suggested to increase both of these factors.
Resumo:
The vast majority of our contemporary society owns a mobile phone, which has resulted in a dramatic rise in the amount of networked computers in recent years. Security issues in the computers have followed the same trend and nearly everyone is now affected by such issues. How could the situation be improved? For software engineers, an obvious answer is to build computer software with security in mind. A problem with building software with security is how to define secure software or how to measure security. This thesis divides the problem into three research questions. First, how can we measure the security of software? Second, what types of tools are available for measuring security? And finally, what do these tools reveal about the security of software? Measuring tools of these kind are commonly called metrics. This thesis is focused on the perspective of software engineers in the software design phase. Focus on the design phase means that code level semantics or programming language specifics are not discussed in this work. Organizational policy, management issues or software development process are also out of the scope. The first two research problems were studied using a literature review while the third was studied using a case study research. The target of the case study was a Java based email server called Apache James, which had details from its changelog and security issues available and the source code was accessible. The research revealed that there is a consensus in the terminology on software security. Security verification activities are commonly divided into evaluation and assurance. The focus of this work was in assurance, which means to verify one’s own work. There are 34 metrics available for security measurements, of which five are evaluation metrics and 29 are assurance metrics. We found, however, that the general quality of these metrics was not good. Only three metrics in the design category passed the inspection criteria and could be used in the case study. The metrics claim to give quantitative information on the security of the software, but in practice they were limited to evaluating different versions of the same software. Apart from being relative, the metrics were unable to detect security issues or point out problems in the design. Furthermore, interpreting the metrics’ results was difficult. In conclusion, the general state of the software security metrics leaves a lot to be desired. The metrics studied had both theoretical and practical issues, and are not suitable for daily engineering workflows. The metrics studied provided a basis for further research, since they pointed out areas where the security metrics were necessary to improve whether verification of security from the design was desired.
Resumo:
The nature of client-server architecture implies that some modules are delivered to customers. These publicly distributed commercial software components are under risk, because users (and simultaneously potential malefactors) have physical access to some components of the distributed system. The problem becomes even worse if interpreted programming languages are used for creation of client side modules. The language Java, which was designed to be compiled into platform independent byte-code is not an exception and runs the additional risk. Along with advantages like verifying the code before execution (to ensure that program does not produce some illegal operations)Java has some disadvantages. On a stage of byte-code a java program still contains comments, line numbers and some other instructions, which can be used for reverse-engineering. This Master's thesis focuses on protection of Java code based client-server applications. I present a mixture of methods to protect software from tortious acts. Then I shall realize all the theoretical assumptions in a practice and examine their efficiency in examples of Java code. One of the criteria's to evaluate the system is that my product is used for specialized area of interactive television.
Resumo:
Viime aikoina matkapuhelimet ovat alkaneet tukea Javaa matkapuhelinsovellusten ohjelmointikielenä. Javan perusajatus on, että kerran käännetty sovellus voidaan suorittaa useilla laitealustoilla ilman uudelleenkääntämisen tarvetta. Jotta sovellukset voisivat toimia uudella alustalla, niiden käyttämät kirjastot tulee siirtää uudelle alustalle. Tämä diplomityö tutkii tämänkaltaiseen siirtoprojektiin liittyviä asioita. Diplomityön aikana käyttöliittymäkirjasto siirrettiin olemassa olleelta alustalta kahdelle uudelle alustalle. Toinen uusista alustoista oli vanhan alustan uusi versio, ja toinen oli kokonaan uusi alusta. Ohjelmiston siirtämistä helpottaa jos alkuperäinen ohjelmisto on suunniteltu siirrettävyyttä silmälläpitäen. Varsinaiset ohjelmaan tehtävät muutokset ovat tällöin helppoja tehdä. Hyvälaatuisen lopputuloksen saaminen vaatii kuitenkin aina että ohjelmisto myös testataan huolellisesti.
Resumo:
The main objective of this master's thesis is to study robot programming using simulation software, and also how to embed the simulation software into company's own robot controlling software. The further goal is to study a new communication interface to the assembly line's components -more precisely how to connect the robot cell into this new communication system. Conveyor lines are already available where the conveyors use the new communication standard. The robot cell is not yet capable of communicating with to other devices using the new communication protocols. The main problem among robot manufacturers is that they all have their own communication systems and programming languages. There has not been any common programming language to program all the different robot manufacturers robots, until the RRS (Realistic Robot Simulation) standards were developed. The RRS - II makes it possible to create the robot programs in the simulation software and it gives a common user interface for different robot manufacturers robots. This thesis will present the RRS - II standard and the robot manufacturers situation for the RRS - II support. Thesis presents how the simulation software can be embedded into company's own robot controlling software and also how the robot cell can be connected to the CAMX (Computer Aided Manufacturing using XML) communication system.
Resumo:
In this thesis, a computer software for defining the geometry for a centrifugal compressor impeller is designed and implemented. The project is done under the supervision of Laboratory of Fluid Dynamics in Lappeenranta University of Technology. This thesis is similar to the thesis written by Tomi Putus (2009) in which a centrifugal compressor impeller flow channel is researched and commonly used design practices are reviewed. Putus wrote a computer software which can be used to define impeller’s three-dimensional geometry based on the basic geometrical dimensions given by a preliminary design. The software designed in this thesis is almost similar but it uses a different programming language (C++) and a different way to define the shape of the impeller meridional projection.
Resumo:
Programming and mathematics are core areas of computer science (CS) and consequently also important parts of CS education. Introductory instruction in these two topics is, however, not without problems. Studies show that CS students find programming difficult to learn and that teaching mathematical topics to CS novices is challenging. One reason for the latter is the disconnection between mathematics and programming found in many CS curricula, which results in students not seeing the relevance of the subject for their studies. In addition, reports indicate that students' mathematical capability and maturity levels are dropping. The challenges faced when teaching mathematics and programming at CS departments can also be traced back to gaps in students' prior education. In Finland the high school curriculum does not include CS as a subject; instead, focus is on learning to use the computer and its applications as tools. Similarly, many of the mathematics courses emphasize application of formulas, while logic, formalisms and proofs, which are important in CS, are avoided. Consequently, high school graduates are not well prepared for studies in CS. Motivated by these challenges, the goal of the present work is to describe new approaches to teaching mathematics and programming aimed at addressing these issues: Structured derivations is a logic-based approach to teaching mathematics, where formalisms and justifications are made explicit. The aim is to help students become better at communicating their reasoning using mathematical language and logical notation at the same time as they become more confident with formalisms. The Python programming language was originally designed with education in mind, and has a simple syntax compared to many other popular languages. The aim of using it in instruction is to address algorithms and their implementation in a way that allows focus to be put on learning algorithmic thinking and programming instead of on learning a complex syntax. Invariant based programming is a diagrammatic approach to developing programs that are correct by construction. The approach is based on elementary propositional and predicate logic, and makes explicit the underlying mathematical foundations of programming. The aim is also to show how mathematics in general, and logic in particular, can be used to create better programs.
Resumo:
Software plays an important role in our society and economy. Software development is an intricate process, and it comprises many different tasks: gathering requirements, designing new solutions that fulfill these requirements, as well as implementing these designs using a programming language into a working system. As a consequence, the development of high quality software is a core problem in software engineering. This thesis focuses on the validation of software designs. The issue of the analysis of designs is of great importance, since errors originating from designs may appear in the final system. It is considered economical to rectify the problems as early in the software development process as possible. Practitioners often create and visualize designs using modeling languages, one of the more popular being the Uni ed Modeling Language (UML). The analysis of the designs can be done manually, but in case of large systems, the need of mechanisms that automatically analyze these designs arises. In this thesis, we propose an automatic approach to analyze UML based designs using logic reasoners. This approach firstly proposes the translations of the UML based designs into a language understandable by reasoners in the form of logic facts, and secondly shows how to use the logic reasoners to infer the logical consequences of these logic facts. We have implemented the proposed translations in the form of a tool that can be used with any standard compliant UML modeling tool. Moreover, we authenticate the proposed approach by automatically validating hundreds of UML based designs that consist of thousands of model elements available in an online model repository. The proposed approach is limited in scope, but is fully automatic and does not require any expertise of logic languages from the user. We exemplify the proposed approach with two applications, which include the validation of domain specific languages and the validation of web service interfaces.
Resumo:
The state of the object-oriented programming course in Lappeenranta University of Technology had reached the point, where it required changes to provide better learning opportunities and thus the learning outcomes. Based on the student feedback the course was partially dated and ineffective. The components of the course were analysed and the ineffective elements were removed and new methods were introduced to improve the course. The major changes included the change from traditional teaching methods to reverse classroom method and the use of Java as the programming language. The changes were measured by the student feedback, lecturer’s observations and comparison to previous years. The feedback suggested that the changes were successful; the course received higher overall grade than before.