Vaihtoehtoisia tekstipohjaisia ohjelmointikieliä Lego Mindstorms NXT–alustalle korkeamman asteen opetuskäytössä
Pelli, Iiro (2016)
Kandidaatintyö
Pelli, Iiro
2016
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2016091623818
https://urn.fi/URN:NBN:fi-fe2016091623818
Tiivistelmä
Tässä kandidaatintyössä selvitetään eri vaihtoehtoisten tekstipohjaisten ohjelmointikielien saatavuus opetuskäytössä olevalle Lego Mindstorms NXT –alustalle. Soveltuvia ohjelmointikieliä havainnollistetaan esimerkkiohjelmien avulla sekä esitellään näiden käyttöönottomenetelmät. Myös kielien välisiä vertailuja tehtiin verraten niiden nopeutta, kokoa, ohjelmistoympäristöjen ominaisuuksia ja ohjelmointirajapintojen selkeyttä. Tiedon haku suoritettiin kirjallisuusselvityksenä.
Taustaselvityksessä havaittiin, että opetuskäyttöön soveltuvia ohjelmointikieliä on useita: leJOS nxtOSEK (C/C++), RobotC (C), Not eXactly C (C), leJOS NXJ (Java), Next Byte Codes (C /Assembly), pyNXC (Python/C) ja pbLua (Lua).
RobotC on suunnattu hieman kokeneemmille C-ohjelmoijille tarjoten monipuolisen ohjelmistoympäristön sekä tehokkaan suorituskyvyn. NxtOSEK tukee reaaliaikakäyttöjärjestelmiä ja se on suunnattu edistyneille C/C++ -ohjelmoijille. Not eXactly C on sen sijaan suunnattu hieman vähemmän ohjelmointia harrastaneille, C-kielestä kiinnostuneille henkilöille. LeJOS NXJ edistyneille Java-ohjelmoijille tarjoten erittäin monipuolisen APIn. Assemblystä kiinnostuville opiskelijoille soveltuu Next Byte Codes ja vastaavasti Pythonille pyNXC ja Lualle pbLua. This bachelor’s thesis is a study on text-based programming languages for Lego Mindstorms NXT. The applicable languages are demonstrated lightly with code examples and the procedures for installing required applications are given. Some comparison between languages are done by comparing written applications’ speeds, sizes, given IDEs’ features and APIs’ plainnesses. The information was gathered via internet.
Several applicable programming languages were discovered: leJOS nxtOSEK (C/C++), RobotC (C), Not eXactly C (C), leJOS NXJ (Java), Next Byte Codes (C /Assembly), pyNXC (Python/C) and pbLua (Lua).
The main results of this thesis are that RobotC is oriented for a little advanced C programmers offering them a versatile IDE and good performance. LeJOS nxtOSEK has a real-time operating system support and it is targeted for advanced C/C++ programmers. Not eXactly C is for little less experienced programmers. LeJOS NXJ is for advanced Java programmers and supports a very complex API. Next Byte Codes is for Assembly rookies, pyNXC for Python and pbLua for Lua.
Taustaselvityksessä havaittiin, että opetuskäyttöön soveltuvia ohjelmointikieliä on useita: leJOS nxtOSEK (C/C++), RobotC (C), Not eXactly C (C), leJOS NXJ (Java), Next Byte Codes (C /Assembly), pyNXC (Python/C) ja pbLua (Lua).
RobotC on suunnattu hieman kokeneemmille C-ohjelmoijille tarjoten monipuolisen ohjelmistoympäristön sekä tehokkaan suorituskyvyn. NxtOSEK tukee reaaliaikakäyttöjärjestelmiä ja se on suunnattu edistyneille C/C++ -ohjelmoijille. Not eXactly C on sen sijaan suunnattu hieman vähemmän ohjelmointia harrastaneille, C-kielestä kiinnostuneille henkilöille. LeJOS NXJ edistyneille Java-ohjelmoijille tarjoten erittäin monipuolisen APIn. Assemblystä kiinnostuville opiskelijoille soveltuu Next Byte Codes ja vastaavasti Pythonille pyNXC ja Lualle pbLua.
Several applicable programming languages were discovered: leJOS nxtOSEK (C/C++), RobotC (C), Not eXactly C (C), leJOS NXJ (Java), Next Byte Codes (C /Assembly), pyNXC (Python/C) and pbLua (Lua).
The main results of this thesis are that RobotC is oriented for a little advanced C programmers offering them a versatile IDE and good performance. LeJOS nxtOSEK has a real-time operating system support and it is targeted for advanced C/C++ programmers. Not eXactly C is for little less experienced programmers. LeJOS NXJ is for advanced Java programmers and supports a very complex API. Next Byte Codes is for Assembly rookies, pyNXC for Python and pbLua for Lua.