Om mig
Jag är en mycket engagerad, målmedveten och tekniskt intresserad person som alltid strävar efter att förstå system på djupet och hitta de bästa lösningarna på komplexa problem. Jag började arbeta med programmering redan vid 15 års ålder och har sedan dess kontinuerligt utvecklat mina kunskaper inom mjukvaruutveckling, systemdesign och teknik.
Jag studerar för närvarande civilingenjörsprogrammet i teknisk datavetenskap vid Umeå universitet där fokus ligger på algoritmer, matematik, tekniska system och problemlösning. Mitt mål är att i framtiden arbeta professionellt inom mjukvaruutveckling eller systemutveckling där jag kan bidra till att skapa robusta och effektiva tekniska lösningar.
Genom flera projekt har jag byggt erfarenhet av distribuerade system, multitrådade program, nätverksprotokoll och optimeringsalgoritmer. Jag drivs av att förstå hur system fungerar på djupet och att utveckla effektiva tekniska lösningar på komplexa problem.
Färdigheter
-
C / C++ / C# / Python / Java
Objektorienterad programmering, datastrukturer och minneshantering.
-
HTML / CSS / JavaScript / PHP
Fullstack webbutveckling, responsiv design och backend-logik.
-
Nätverk och operativsystem
Linux-programmering, nätverksprogrammering (TCP & UDP) och systemsäkerhet.
-
Dataanalys
Hantering, bearbetning och analys av data.
-
CAD (AutoCAD)
2D/3D-modellering och teknisk ritning för mekaniska komponenter.
-
Problemlösning och algoritmer
Optimering av kod, tidskomplexitet och logiskt tänkande.
Utmärkelser
Microsoft Technology Associate Certifikat
-
HTML & CSS / JavaScript Programming
Certifierad inom grundläggande och avancerad webbutveckling (Exam 98-383 m.fl.).
-
Security & Operating Systems
Förståelse för operativsystemens kärnfunktioner och säkerhetsprinciper (Exam 98-367, 98-349).
-
Software Development (Java/Python)
Certifierad inom mjukvaruutvecklingens grunder i flera språk (Exam 98-388, 98-361, 98-381).
Stipendium
-
Stipendium för goda studier (2022-2023)
Tilldelad för exceptionella akademiska prestationer under gymnasietiden.
-
Bästa gymnasiearbete (2023)
Prisad för ett innovativt och tekniskt avancerat slutprojekt.
Projekt
-
CAD-design av motor och hus i AutoCAD
Detaljerad modellering av mekaniska delar och arkitektoniska strukturer med exakta mått.
Detta projekt innebar att designa och rita upp en fullt fungerande motor samt en detaljerad husritning i AutoCAD från grunden. Fokus låg på precision, skalenlighet och en djup förståelse för både mekanisk och arkitektonisk design, inklusive ritningsstandarder.
-
C++ adresshanteringssystem
Ett terminalbaserat program med effektiv filhantering och sökalgoritmer för kontakter.
Ett terminalbaserat system utvecklat helt i C++ för att hantera en stor mängd adresser och kontaktuppgifter. Programmet implementerar avancerad filhantering (I/O) och anpassade sökalgoritmer och datastrukturer för att snabbt och minneseffektivt kunna lägga till, uppdatera och söka bland kontakter.
-
Genetisk evolution-simulering i Unreal Engine
Ett AI-projekt där virtuella varelser lär sig och utvecklas över generationer.
Detta projekt är en visuell och teknisk simulering där AI-agenter lär sig och anpassar sig genom artificiell evolution. Syftet var att bygga ett system där virtuella varelser själva kan lista ut det mest effektiva sättet att överleva och lösa uppgifter, helt drivet av principer från naturlig selektion istället för hårdkodade instruktioner.
I simuleringen tävlar agenterna om att samla resurser (i detta fall äpplen). Efter varje "livscykel" utvärderas deras prestation. De agenter som presterar bäst får föra sina "gener" (parametrar som till exempel rörelsehastighet) vidare till nästa generation genom processer som efterliknar biologisk korsning och mutation. Svagare egenskaper sorteras bort över tid.
Över flera generationer kunde jag observera hur populationen automatiskt anpassade sig och konvergerade mot den optimala lösningen för uppgiften. Projektet gav en stark praktisk förståelse för evolutionära algoritmer, optimeringsproblem och hur modern AI och maskininlärning kan användas för att låta system själva hitta svar på komplexa problem.
-
C Fil-storlek sökare med POSIX trådar
Ett multitrådat systemprogram i C som parallellt beräknar diskstorleken för filer och kataloger.
Detta projekt är ett systemprogram utvecklat i C vars syfte är att beräkna hur mycket diskutrymme en eller flera filer eller kataloger använder. Om användaren anger en katalog traverserar programmet hela katalogstrukturen rekursivt och summerar storleken på alla filer, inklusive filer i underkataloger. För att utforska katalogstrukturen används en bredden-först-sökning (BFS) där kataloger läggs i en uppgiftskö som sedan behandlas av en trådpool.
Programmet använder POSIX-trådar (pthreads) för att parallellisera arbetet så att flera kataloger kan analyseras samtidigt. Istället för att gå igenom kataloger sekventiellt kan flera trådar arbeta parallellt, vilket minskar den totala exekveringstiden. För att säkerställa trådsäkerhet används mutex-lås som skyddar delade resurser såsom den globala variabeln för total filstorlek samt uppgiftskön där nya kataloger läggs till. Detta förhindrar race conditions när flera trådar försöker uppdatera samma data samtidigt.
Projektet inkluderade även en prestandaanalys där programmet kördes med mellan 1 och 100 trådar för att analysera hur parallellisering påverkar körtiden. Resultaten visade att prestandan förbättras markant när flera trådar används, men att förbättringen planar ut efter en viss punkt på grund av I/O-begränsningar och den kvarvarande tidskomplexiteten i algoritmen.
-
Webbaserat administrationssystem
Fullstack webbapplikation med PHP och databashantering.
Ett webbaserat system utvecklat med PHP, HTML, CSS och JavaScript där användare kan skapa konton, lagra data och hantera information via en databas (MySQL). Projektet fokuserade på backend-logik, databashantering och säker dataöverföring mellan klient och server.
-
Distribuerat nätverkssystem i C
Ett distribuerat hash-tabellssystem som hanterar sammankopplade noder via TCP och UDP.
Detta projekt är en implementation av en nod i ett distribuerat nätverk (en så kallad Distributed Hash Table, eller DHT) skrivet i C. Systemet låter flera datorer (noder) kopplas samman för att gemensamt lagra och hämta information. Varje nod tar ansvar för en specifik del av datan, och de kommunicerar kontinuerligt med varandra för att se till att all information hamnar på och hämtas från rätt plats i nätverket.
Programmet är byggt för att hantera ett nätverk i ständig förändring. Om nya noder ansluter eller befintliga noder lämnar nätverket, omfördelas datan automatiskt mellan de aktiva noderna så att inget går förlorat. För att hantera många nätverksanslutningar samtidigt, både via TCP och UDP, används I/O-multiplexering (med icke-blockerande sockets). Detta gör att systemet kan övervaka och reagera på en stor mängd nätverkstrafik blixtsnabbt, utan att programmet någonsin låser sig i väntan på svar.
Systemet stöder effektiv sökning, lagring och borttagning av data. Om en nod får en förfrågan om data den inte hanterar lokalt, dirigeras frågan smart vidare genom nätverket tills den når rätt destination. Projektet gav en mycket djup praktisk förståelse för nätverksprogrammering på låg nivå, distribuerade system och hur man bygger robusta program som måste hantera många samtidiga händelser på ett resurseffektivt sätt.
Projektet gjordes i grupp.
-
Simulering av Rumor routing (Java)
Avancerad objektorienterad systemarkitektur och simulering av ruttalgoritmer i storskaliga nätverk.
Designade och implementerade en storskalig nätverkssimulator i Java från grunden. Programmet modellerar "rumor routing", en algoritm där autonoma agenter kartlägger nätverk och dynamiskt optimerar distribuerade routingtabeller. Systemet är byggt för att hantera tusentals noder över tiotusentals tidssteg, där asynkrona händelser och nätverksförfrågningar effektivt beräknar den kortaste vägen (pathfinding) helt utan central styrning.
Projektets tyngdpunkt låg på robust mjukvaruarkitektur och ren kod. Genom rigorös systemdesign (UML och CRC-metodik) byggdes en strikt objektorienterad, modulär och löst kopplad arkitektur. Avancerade datastrukturer, som distribuerade tabeller och optimerade HashMaps, implementerades för att hantera minneseffektivitet och snabba uppslag under tunga simuleringar.
Projektet gjordes i grupp där jag hade rollen som projektledare.
-
portfolio-webbplats
Responsiv developer-portfolio med animationer och dynamisk UI.
Denna portfoliowebbplats utvecklades från grunden med HTML, CSS och JavaScript med Bootstrap. Den innehåller kodade partiklar i bakgrunden, terminalanimationer, expanderbara element och scroll-baserad navigation. Fokus låg på UX-design och strukturerad frontend-arkitektur.
Kontakt
- Email: Leyondaken@gmail.com
- Telefon: 076-3442819
- Plats: Umeå