Nu vet jag inte vilken erfarenhet och kunskap du har av programmering, men här har du lite inspiration (med tanke på det du skrev om mer hårdvarunära och självklrande fordon):
OpenCV (Volvo och sannolikt många flera använder någon liknande plattform i självkörande fordon):
https://docs.opencv.org/3.4.3/df/d65/tutorial_table_of_conten...
https://newatlas.com/volvo-auto-braking-cyclist-detection-sys...
TensorFlow (och machine learning generellt, inte direkt hårdvarunära men mycket bra att ha förståelse för underliggande logik och matematik):
https://www.tensorflow.org/
https://en.wikipedia.org/wiki/Machine_learning
http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
R (programmeringsspråk med fokus på statistik):
https://en.wikipedia.org/wiki/R_(programming_language)
Oavsett om du går vidare inom programmering eller ej rekommenderar jag att du lär dig lite Regex (implementerat i alla språk jag provat, användbart när helst du behöver extrahera/byta ut små delar i stora mängder data):
https://en.wikipedia.org/wiki/Regular_expression
(exempel:) https://www.regexpal.com/?fam=105773
Nu jobbar jag inte som mjukvaruutvecklare och hade inte det som inriktning efter gymnasiet, men just machine learning och "AI" är det väldigt få som har någon förståelse för alls, och när det kommer till machine learning och big data så är behovet mycket större än tillgången på folk som förstår det och kan utveckla lösningar för det (se bara på vad t.ex. IBM gör med Watson). Statistik och matematisk modellering kopplat till detta är det ännu färre som förstår och kan tillämpa.
För de som tror de vill lära sig programmering brukar jag ge samma råd, kom på något du vill skapa/lösa som du kan göra med hjälp av att programmera. Att programmera är bara själva skrivandet av kod, alltså att översätta i maskinspråk vad du vill att datorn skall göra, om du jobbar rätt kommer du spendera mycket mer tid med penna och papper för att strukturera och bryta ner ditt problem i hanterbara delproblem innan du överhuvudtaget skriver någon kod. Och du kommer lära dig att olika språk (och bibliotek) kommer lämpa sig olika väl för olika problemställningar.
Om du saknar matematiken i den programmering du gjort hittills är det inte nödvändigtvis konstigt, syftet med nästan alla bibliotek, oavsett språk, syftar till att abstrahera bort komplexiteten så att du inte ska behöva tänka på den och bygga något som funkar. Det betyder inte att matematiken inte finns där och inte är viktig, faktum är att det kan vara kul att återskapa funktionalitet som någon redan implementerat för att lära sig själv hur det funkar. Om du skriver kod från grunden så kommer du med tid förstå varför dessa bibliotek finns och varför man efter ett tag hellre spenderar flera timmar på att leta efter någon annan som redan utvecklat en lösning på ett problem istället för att skriva kod själv.
När (och om) du väl hittar ett problem du vill och kan lösa genom att skriva kod, då kommer det vara mycket lättare att navigera i djungeln som är programmering då du blir bättre och bättre på att beskriva (och googla) vad du vill åstadkomma. Om du dessutom (till skillnad från jag själv) förstår matematik och beräkning, så kan du hitta mycket mer eleganta och effektiva lösningar än många andra.
Och sist men inte minst, du kommer behöva skriva mycket kod. Du kommer behöva misslyckas många gånger, komma tillbaka till kod efter några dagar och inte förstå vad den gör eller hur du kunde varit så dum som skrev den som du gjorde. Det är så man lär sig, och vad du lär dig beror mer på hur du väljer att lösa problem än vad ditt problem är.
Edit:
Skrivet av 4cyberspace:
Okej. Vad tror du om det jag skrev till användaren innan ? Alltså om du vet om det är någon skillnad i programmering om man jämför en mekatronik ingenjör/elektroingenjör jämfört med dataingenjör ? Har de en annan infallsvinkel och lär sig andra system ?
En mekatronik ingejör ska ju programmera robotar, styrsystem osv. Ställ det i kontrast med vad en dataingenjör programmerar.
Jag svarar lite kort på denna. Det jag skrev ovan är definitivt inom sfären datavetenskap, det är också det som intresserar mig mer. Någon annan kanske kan berätta mer om deras upplevelser om mekatronikprogram på högskola men jag skulle säga att den stora skillnaden är reglertekniken. Inom mekatronik styr du hårdvara, hårdvara som i allra högsta grad är analog, bara för att du lägger en "etta" på en utgång på t.ex. en PLC betyder det inte att t.ex. en solenoid i samma millisekund ändrar läge. Du måste ta hänsyn till alla parametrar för hårdvaran du styr, vilket för t.ex. förbränningsmotorer som påverkas i allra högsta grad av omgivande temperatur, lufttryck etc.
En dataingenjör, som är ett mycket mer brett begrepp än vad det borde vara, behöver i de allra flesta fall inte bry sig om hur hårdvaran rent elektromekaniskt fungerar, hårdvaran i de flesta fall är datorer som pratar med varandra över kända protokoll, en dataingenjör går inte ut i en serverhall och skruvar i ett rack pga något udda hårdvaruproblem som gör att hennes/hans applikation hänger sig.