Om te solliciteren op deze stage, moet je met je HvA-emailadres een account aanmaken.

account aanmaken

Bedrijfsinformatie

Sogyo
Utrechtseweg 301
3731GA
De Bilt

Afstudeeropdracht: Visualizing Code in VR


Virtual Reality wordt veelal ingezet in de game wereld, maar biedt VR ook mogelijkheden voor het vakgebied van Software Engineering? Wat gebeurt er wanneer je code niet 'plat' op een scherm weergeeft, maar hier werkelijk doorheen zou kunnen lopen? Sogyo wil de mogelijkheden van VR benutten om daarmee de werkzaamheden van een Software Engineer te ondersteunen en doet hier gedegen onderzoek naar.

Sogyo wil de mogelijkheden van VR benutten om daarmee de werkzaamheden van een Software Engineer te ondersteunen. Op 3 vlakken zou VR een bijdrage kunnen leveren: Grasping Code, Collaboration en Education.

Grasping code

Een belangrijke voorwaarde voor Software Engineering is dat code op een goede manier beheerd en geanalyseerd worden, om hier grip op te krijgen. Er bestaan veel tools om dit te doen. Denk aan Source Code Management tools en tools om metrieken uit code bases te halen. Sogyo zou graag willen zien dat VR deze tools en/of processen ondersteunt

Collaboration

In het vakgebied van Software Engineering wordt er veelvuldig in team-verband gewerkt en wordt er op verschillende niveaus samengewerkt. Niet alleen bestaan er samenwerkingsverbanden tussen ontwikkelaars onderling, maar ook met personen met andere rollen. VR biedt mogelijkheden om de samenwerking op een ander (visueel) niveau te bevorderen.

Education

Naast Code management en Collaboration vormt Education een belangrijk gebied waar de Sogyo Academy stappen in wilt maken. Met VR technieken is het mogelijk om engineers op de academy te ondersteunen in het eigen maken van concepten, processen en technieken.

Opdracht 1

Een belangrijk vereiste bij het halen van bovenstaande doelstelling is dat code binnen VR gevisualiseerd kan worden. De afstudeerder zou hiervoor een component moeten bouwen dat code bases kan importeren uit een repository. Daarna zou de code vertaald moeten worden naar semaforen die getoond kunnen worden in VR. De opdracht bestaat uit 2 delen:

  • Een VR omgeving bouwen dat source code kan importen uit bekende source code repositories (GIT)
  • De code moet vertaald (parsing) worden en omgezet worden in visuele componenten.

Resultaat

Als resultaat verwachten we een VR omgeving dat voldoet aan de volgende eisen:

  • Er moet een component gebouwd worden geïntegreerd kan worden met de API’s van source code repositories (Git API’s)
  • Er moet een vertaling (DSL) bedacht worden waarbij elementen uit code (Classes, methods, variables e.d.) geconverteerd worden naar VR representaties
  • De omgeving moet de mogelijkheid hebben om ‘door’ te klikken, zoals dat mogelijk is binnen een normale IDE.

Technieken

  • HTC Vive
  • Unity (C#)
  • Unreal Engine 4 (C++)
  • Git
  • Maven/Gradle
  • GitLab API
  • DSL
  • ANTLR4/Rascal

Opdracht 2: Visualizing Object Orientation using VR

Sogyo heeft twee sets HTC Vive brillen aangeschaft en wil daarmee de mogelijkheden van VR op de academy onderzoeken. Voor de opleiding zijn de begeleiders op zoek naar mogelijkheden om het begrip van bepaalde onderwerpen te verbeteren. Het onderzoek van de afstudeerder bestaat uit de mogelijkheden verkennen om VR in te zetten tijdens de opleiding. Een van de modules van de opleiding waar de VR voor ingezet kan worden is Object Oriëntatie.  

De afstudeerder moet een omgeving creëren waarbij het concept Object Oriëntatie gevisualiseerd wordt. Denk daarbij aan de volgende onderwerpen:

  • Encapsulatie
  • Objecten
  • Inheritance
  • Referenties
  • Classes
  • Methodes
  • Variabelen
  • Koppelingen 

De oplossing moet aan de volgende eisen voldoen.

  1. De VR omgeving moet snel opgestart kunnen worden, waarbij een gebruiker kan kiezen uit verschillende onderwerpen.

  2. De VR omgeving moet een mogelijkheid hebben om 2 personen tegelijkertijd in dezelfde omgeving te laten werken. Denk aan een begeleider die iets wilt laten zien.

  3. De visualisatie moet intuïtief zijn. Misschien moet er een Domain Specific Language (DSL) ontwikkelt worden.

  4. Er moet een mogelijkheid zijn voor de gebruiker om een presentie (Google Presentation/Powerpoint) te zien.

  1. De gebruiker kan oefeningen doen binnen de omgeving.

  2. De gebruiker kan een cursus volgen.

 

Resultaat

Als resultaat verwachten we een VR omgeving die makkelijk op te zetten is en waarbij gebruikers direct hun taken kunnen doen. Eisen:

  • Twee personen moeten tegelijk in dezelfde VR omgeving kunnen werken.
  • Gebouwd op een Agile Scrum manier met sprints.
  • Alles moet gedocumenteerd worden.
  • Project moet direct toepasbaar zijn op de module Object Oriëntatie uit de opleiding 

Waar kom je terecht?

Sogyo is een informele, energieke, inhoudelijk gedreven IT-dienstverlener en is gevestigd in omgeving Utrecht. Wij ontwikkelen maatwerk software en geven organisaties advies op het gebied van IT. Daarnaast is een belangrijk onderdeel van ons bedrijf de Sogyo Academy, waarin we afgestudeerde starters door verdiepende opleiding de mogelijkheid bieden om zich verder te ontwikkelen in software engineering. Als afstudeerder maak je deel uit van deze Academy. Je komt dus terecht in een jonge omgeving, waar leren centraal staat en veel kennis in huis is!

Wat is er allemaal mogelijk?

We vinden het erg leuk wanneer je zelf ideeën hebt wat betreft onderwerpen waarin je je tijdens je afstudeerperiode verder in zou willen verdiepen. We gaan dan graag met je om tafel om te bespreken hoe we hier vanuit Sogyo een leuke opdracht van kunnen maken. Daarnaast hebben we zelf diverse suggesties voor opdrachten waar wij enthousiast over zijn en die geschikt zijn als afstudeerproject. Afhankelijk van je eigen voorkeur en de specifieke vereisten vanuit jouw Hogeschool of Universiteit, hebben we binnen deze opdrachten het volgende onderscheid gemaakt:

  • Onderzoeksopdrachten: Dit zijn opdrachten met een primaire onderzoeksdoel. Binnen dit onderzoek is het wenselijk dat je een implementatie maakt om je onderzoeksresultaat te ondersteunen.
  • Realisatie opdrachten: Dit zijn opdrachten waarin het ontwikkelen van een softwaretoepassing centraal staat. Waar nodig wordt dit ondersteund met literatuurstudie.

Begeleiding

We hebben veel ervaring in het begeleiden van afstudeertrajecten; we kennen de eisen van een goed onderzoek en bijbehorende scriptie en zijn bekend met mogelijke valkuilen tijdens een afstudeerproces. We zullen je hierin dan ook goed begeleiden, door vaste contactmomenten met begeleiders te plannen en het geven van handvaten en feedback om je scriptie naar het juiste niveau te krijgen. Concreet betekent dit:

  • regelmatig overleg met je afstudeerbegeleider, op een vast moment, volgens een vaste agenda
  • doorlopend de mogelijkheid om kritische en opbouwende feedback te krijgen op je scriptie
  • de mogelijkheid om deel te nemen aan workshops die je helpen in het afstudeerproces
  • samenwerken en sparren met andere afstudeerders om tips en ideeën met hen uitwisselen
  • de Sogyo Academy tot je beschikking waar veel vakinhoudelijke kennis aanwezig is

Kennismaken?

Ben jij in de laatste fase van je studie, heb je een leergierige instelling en passie voor nieuwe IT-ontwikkelingen? Kom langs bij Sogyo om samen na te denken over een interessante afstudeeropdracht! Je kunt hiervoor contact opnemen met Annemieke de Hoop of kijk op: http://www.sogyo.nl/afstudeeropdrachten/.


Geschikt voor studenten
  • Game Development
  • Software Engineering
  • Technische Informatica