Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Oulun ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Oulun ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Tekoälyavusteinen ohjelmistokehitys : tekoälyn kyvyt ja ohjelmoijan osaamistarpeet

Asamäki, Matti; Juntunen, Olli; Korhonen, Kimmo; Lämsä, Tomi (2025)

 
Avaa tiedosto
Asamaki_Juntunen_Korhonen_Lamsa.pdf (2.581Mt)
Lataukset: 

Avoin saatavuus / Open access / Öppen tillgång
Asamäki, Matti
Juntunen, Olli
Korhonen, Kimmo
Lämsä, Tomi
2025
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025121034340
Tiivistelmä
Tämän opinnäytetyön tavoite oli selvittää tekoälytyökalujen vaikutusta ohjelmistokehitykseen, ja miten ohjelmointia tulisi jatkossa opettaa ja opiskella. Opinnäytetyössä tutustuttiin Anthropicin kehittämään Claude-tekoälyyn toteuttamalla sen avulla full stack –ohjelmistokehitysprojekti. Projektista saadun kokemuksen pohjalta pyrittiin tunnistamaan tekoälyn parhaita käyttötapoja sekä hyviä käytänteitä tekoälyavusteisessa ohjelmoinnissa. Lopuksi pohditaan, miten tekoäly tulee vaikuttamaan ohjelmistokehitykseen, mitkä taidot tulevat olemaan tärkeitä tulevaisuuden ohjelmistokehittäjille ja miten nämä tulisi huomioida ohjelmoinnin opetuksessa ja opiskelussa.
Projektissa suunniteltiin Clauden avustuksella selainpohjainen arcade-pelialusta sekä neljä yksinkertaista peliä. Alustalle tehtiin vaatimusmäärittely sekä valittiin ydinteknologiat, joiden pohjalle alusta rakennetaan. Clauden avulla valittiin sitten näiden pohjalta projektiin parhaiten soveltuvat teknologiat. Clauden avulla laadittiin näiden pohjalta suunnitteludokumentti, johon viitaten Claudea ohjeistettiin toteuttamaan projekti osa kerrallaan.
Projektissa korostui tarve täsmällisyydelle, sekä ohjelmistoarkkitehtuurin ja käytettävien teknologioiden tuntemukselle. Claude saattoi tulkita vaatimuksia erittäin vapaasti, jolloin se yritti lisätä projektiin ei-toivottuja toiminnallisuuksia. Tämän vuoksi kielimalleja käytettäessä on tärkeää antaa kehotteita, jotka ovat selviä ja jättävät mahdollisimman vähän tulkinnanvaraa. Toteutusta tulisi edeltää yksityiskohtainen suunnitteluvaihe. Työnkulun helpottamiseksi on tärkeää, että kaikki tarvittava dokumentaatio mallin ohjeistamiseen on joko helposti saatavilla tai sisällytetty mallin koulutusdataan. Vaikka kielimallit kykenevät tuottamaan laadukasta ohjelmakoodia hämmästyttävän nopeasti, tarve perinteiselle ohjelmointiosaamiselle tuskin on häviämässä kielimallien myötä. Ihmiset ovat loppukädessä vastuussa tekoälyn tuotoksista, ja ohjelmointitaidot ovat ehdoton edellytys tekoälyn tehokkaalle ohjeistukselle, sekä niiden tuotosten arvioinnille.
 
The objective of this thesis was to investigate the effectiveness of large lan-guage models in software development and their effects on the profession of programming. A full-stack software development project was completed using Claude, a large language model developed by Anthropic, with the goal of as-sessing the strengths and weaknesses of AI programming tools and the best ways to work with them. Experience gained from this project was used to at-tempt to identify what skills will be critical for programmers in the age of AI tools, and whether and how programming education should adapt to the changing realities of the IT industry.
A browser-based arcade game platform, including four simple games, was de-signed with a list of desired features and technologies to be used. Claude was used in the design process to help determine what frameworks and technolo-gies would best suit the project. Based on a refined list of features and tech-nologies determined during the design process, a master design document was drafted by Claude to use as reference during the implementation process. Claude was then prompted to implement the project as specified, section by section, debugging issues as necessary. The project was completed at a rapid pace with all core features and functionality implemented.
The project highlighted a need for specificity and architectural understanding when working with AI programming tools. It was found that Claude would in-terpret requirements very liberally and try to add unplanned functionality. In-structions should be clear and leave little room for interpretation, which calls for a detailed design process. Easily accessible reference documents were also found to be vitally important to a smooth workflow by getting new instances of Claude up to date more quickly. Programming knowledge remains essential to properly judge the quality of AI generated code, especially in performance and safety critical areas. Large language models show promise as analytical and instructional tools in programming, being able to analyse code bases or answer programming related questions in depth at remarkable speeds.
 
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste