Temat pracy inżynierskiej.

0

Przeglądnąłem 5 pierwszych stron odnośnie tematów pracy inżynierskiej i nie znalazłem odpowiedzi która by mnie satysfakcjonowała. A więc:
Na pracę inżynierską, chcę zrobić dwa projekty. Jeden będzie aplikacją Rest napisaną wykorzystując Spring Boota. Drugi - klient do tej aplikacji napisany w Angularze/React'cie. O ile Spring Boota i Javę w jakimś stopniu znam, o tyle Js się dopiero uczę, po ogarnięciu podstaw zadecyduję który framework wybrać do frontendu. Zostało mi jeszcze jakieś półtora roku do oddania pracy więc powinienem się jakoś wyrobić. Ale nie mam jeszcze tematu pracy inżynierskiej. Najpierw myślałem nad stworzeniem Symulatora Kryptogiełdy i klienta do niego, ale wydaje mi się że temat mógłby być bardziej "javowy". Macie jakieś pomysły na temat taki, który mógłbym napisać w rok (przy okazji ucząc się frontendu i douczając spring boota) i byłby dobrym projektem który wrzucając na Githuba, pomógłby mi znaleźć pracę pod kontem Rest Api w Springu?
Uważam, że projekt typowo o tematyce javowej będzie bardziej wartościowy od projektu o "innej tematyce".

3

Macie jakieś pomysły na temat taki, który mógłbym napisać w rok (przy okazji ucząc się frontendu i douczając spring boota)

Tak. Mamy. Nie dobieraj problemu do technologii tylko technologię do problemu. :P

0

Nie dobieraj tematu ani technologii ale starannie wybierz sobie promotora.

Inżyniera zrobiłem szybko i bezboleśnie bo miałem szczęście do ludzkiego promotora.
Magistra wybrałem pod kontem tematu i technologii nie zwracając na opinie o promotorze. Pisałem poprawki do poprawianych zmienianych wersji aż w końcu cudem obroniłem się w ostatnim możliwym terminie po którym musiałbym nadrabiać różnice programowe.

0

Jak pochodzisz do problemu w sposób najpierw wybiorę narzędzie, a potem wymyślę do niego problem, to na 98% albo zrobisz straszną kupę która nie robi nic konkretnego i zarówno Ty, jak i Twój promotor będziecie się wstydzić tej pracy, albo poświęcisz na nią stanowczo za dużo pracy przez niedopasowanie narzędzia do problemu ;)

Praca inżynierska jest pracą odtwórczą, ale jednak powinna rozwiązywać jakiś problem techniczny lub przynajmniej stanowić jakiś nie wiem, przegląd i zestawienie rozwiązań problemu i ocenę różnych podejść. Napisanie REST API z którym gada aplikacja napisana w JS niczego nie rozwiązuje ani nie porównuje, bo to tylko jedno z podejść do wytwarzania oprogramowania ;)

Co innego gdybyś napisał np. Jakiś własny framework/mikroframework i porównał go z tym, co jest na rynku, wtedy mógłbyś to już np porównywać jak sobie radzi z jakiś prostym CRUDem na zasadzie "ile req/s przetwarza, a ile przetwarza Spring"

0

A ja wymyśliłem technologie, potem wymyśliłem do technologii projekt a na koniec znalazłem promotora który to przyjął. Wszystko nie tak jak niby powinno się robić :D

0

Zgadzam się, że lepiej wybrać dobrego promotora i takiego wybrałem, a dodatkowym plusem jest to, że sam jest "javowcem" i dużo umie. Problem jest tylko z tematem. W pewnym stopniu, zgadzam się też, że podejście "wybiorę technologię, dobiorę problem" nie jest zbyt dobre, ale jednak wolę zrobić pracę inżynierską w technologii którą lubię i znam/chcę poznać, a docelowo w niej pracować niż uczyć się kolejnego języka tylko po to, aby zrobić pracę inżynierską, zwłaszcza że Java mi przypadła Jednakże, tak jak wcześniej wspomniałem. Pisząc pracę mam zamiar douczyć się Javy + JS oraz mieć "większy" projekt którym mógłbym się pochwalić w portfolio przy wysyłaniu CV - fajnie byłoby, gdyby sam temat był w jakimkolwiek stopniu związany z tym co się robi w Javie, pewniej bym się czuł w pierwszej pracy. Sam pomysł z frameworkiem brzmi ciekawie, tylko: po pierwsze, tutaj też nie mam pomysłu jakie problemy pomógłby rozwiązywać, a po drugie wydajnościowo to byłaby porażka. Tworzenie własnego kontenera zależności pokroju Springa - obawiam się, że nie wyrobię się do terminu, nawet jakoś mega-okrojonej wersji.

0

fajnie byłoby, gdyby sam temat był w jakimkolwiek stopniu związany z tym co się robi w Javie, pewniej bym się czuł w pierwszej pracy

Postaw zatem system bankowy bazujący na powszechnie znanych i używanych. Na plecy daj Spring 3.2.x bądź JEE w wersji nie wyższej niż 5. Na front może być nowoczesny framework żeby było miło dla oka. Widok czegoś takiego na pewno zrobi wrażenie na niejednym technicznym rekrutującym. Przyjmą Cię jak swojego ;-)

0

Z opisu to mi wygląda na crud :-) Musisz najpierw określić problem jaki chcesz rozwiązać :-) Potem dobieraj sobie stack :-)

0

Problemem jaki chcę rozwiązać, jest brak pomysłu na pracę inżynierską do napisania w Javie :D
A tak serio, czy jeżeli byłby to jakiś Crud z logiką (tak jak np wcześniej wspomniany symulator kryptogiełdy) to czy jest to coś złego? Chociaż jak tak teraz myślę, to napisanie jakiegoś frameworka (np wcześniej wspomniane coś ala Spring) zaczyna mi się podobać. Wydajnościowo może to nie będzie potwór, ale jakiś ciekawy temat :D

Edit: Tylko pytanie, czy ktoś kto nie robił czegoś takiego wcześniej, będzie wstanie napisać to w rok +-?

0
Aisekai napisał(a):

Problemem jaki chcę rozwiązać, jest brak pomysłu na pracę inżynierską do napisania w Javie :D

To napisz system ekspercki, który na podstawie znanych studentowi technologii i jego zainteresowań dobiera mu temat pracy inżynierskiej.

0
Aisekai napisał(a):

Problemem jaki chcę rozwiązać, jest brak pomysłu na pracę inżynierską do napisania w Javie :D
A tak serio, czy jeżeli byłby to jakiś Crud z logiką (tak jak np wcześniej wspomniany symulator kryptogiełdy) to czy jest to coś złego?

A ile byłoby w tym CRUDa, a ile logiki? :p jeśli Twoim tematem będzie implementacja symulatora kryptogiełdy, a dajmy na to REST API w Springu będzie jedynie interfejsem do niego, no to właściwie co komu robi za różnicę, czy symulator miałby interfejs RESTowy, GUI desktopowe czy co tam jeszcze ;) Ale jak wszystko będzie się kręcić wokół CRUDa a symulator będzie jedynie miłym dodatkiem gdzieś tam na boku, no to inna sprawa.

Edit: Tylko pytanie, czy ktoś kto nie robił czegoś takiego wcześniej, będzie wstanie napisać to w rok +-?

Zależy czy będziesz to robił przez rok, czy przez 9 miesięcy zabierał się do roboty i dopiero na 3 miesiące przed obroną zaczniesz to faktycznie robić :P Ale to już sam sobie musisz odpowiedzieć, czy masz na tyle silną wolę by zabrać się w porę do roboty ;)

1

Z pracami inżynierskimi/magisterskimi to jest tak że najlepiej dojść do rozwiązania prostymi środkami. (3 dni temu obroniłem mgr na AGH więc jestem na bieżąco :E) Pisałem 1 rok z czego pierwsze 3 msc poszły "do piachu" z powodu przeinżynierowania technologicznego.
Po 3 msc stworzyłem "projekt" który NIC nie robił ale był - baza danych , dockery , kilka seriwsów, frontendy cuda tylko dodawało to narzut czasowy na rozwijanie a nie rozwiązywało żadnego problemu. (Se myślałem wtedy warto bo do portfolio bedzie :P nic z tego)
Zaorałem baze danych i zamieniłem na plik 'csv' , docker nie był mi potrzebny mikroserwisy w teorii fajnie wygladaly w praktyce prosta applikacja standalone w Django z prostym Bootstrapem była OK. Myślę że gdybym brnął dalej w uber rozwiązanie nie starczyłoby mi czasu zwyczajnie i bym miał "świetny" w połowie zrobiony projekt bez magistra ;E

To czy użyjesz Springa i Hibernate czy zamiast bazy danych będziesz pisał do pliku i zrobisz aplikacje konsolową nie ma znaczenia.
Zawsze dobieraj najprostsze rozwiązanie jeśli się nie sprawdza to dobieraj bardziej zaawansowane. W pracy tego typu chodzi o to zeby sie skoncentrowac na celu a nie narzędziu. A ty robisz na odwrót.

Nie wiem czy to Cie zainteresuje ale może zainspiruje do poszukania np. możesz zrobić jakaś aplikację webową / "dashboarda" który "wykrywa anomalia" z jakichś danych.
Ogólnie dziedzina "wykrywania anomaliów" jest ciekawa technicznie i ma zastosowanie w wielu rzeczach myślę również że wiedzą na ten temat można też się pochwalić na rozmowie ze rozwiązało się "rzeczywisty problem"w nieoczywisty dla każdego sposób.
Te dane to zależy Co cie tak naprawdę interesuje i do czego masz dostęp defacto można próbować szukać anomaliów we wszystkim:

  • próbki ruchu sieciowego z jakichś maszynek (lub CPU, memory, cokolwiek).
  • dane o pogodzie itp (no nie wiem globalne ocieplenie, czy dane temperaturowe ze swiata z jakichs miejsc, wysychanie oceanow ;E )
  • dane z obrazów (przetwarzanie obrazów, dane medyczne z jakichs obrazow itp itd)
  • jakies dane finansowe, notowanie spółek na giełdzie w US itp itd
  • jakieś dane z serwisów społecznościowych może (opinii, w jakichś grupach, polityczne preferencje no nie wiem cos ciekawe pewnie można znaleźć)
  • można na przykład wyciągać z API AWS dane o tym ile hajsu nam ciągną różne instancje/zasoby i w tym doszukiwać się anomaliów
    (ale to oczywiście jeśli ktoś ma do tego dostęp)

-.... i możesz użyć tutaj wszystkiego co Ci przyjdzie do glowy

Dla przykładu:
Tworzysz webowa aplikację, która ma bazę danych gdzie trzymasz jakieś dane. Wizualizujesz te dane na wykresie w postaci np. x - oś czasu , y - wielkość jakiegoś parametru. No i tematem pracy jest skuteczne wykrycie danych, ktore odbiegają od pozostałych.
Uwaga podpowiedź - nie wystarczy ustawienie wartości granicznej na np. 100 :P
Można pokminić uczenia maszynowe (np. One Class SVM, Local Outlier, Isolation Forest itp itd)

Kwestia pozyskania i doboru danych ofc dane pewnie jakoś trzeba znormalizować np. do postaci wektora liczbowego cech no ale w zależności od danych można kombinować w każdą stronę i dobierać do tego algorytmy jest tego sporo.

Biorąc pod uwagę fakt że magisterka ma ramy czasowe szedłbym w rozwiązanie "Quick and Dirty" jak najszybciej i jak starczy czasu to poprawiał.

0

Napisanie SE który rozwiązywałby problem pracy inżynierskiej byłby dla mnie strzałem w stopę.
Trochę mi się rozjaśniło. Wydaje mi się, że najlepiej będzie jak pójdę do promotora i przedstawię mu oba tematy. Jeżeli się zgodzi na łatwiejszy - Crud, to chyba będę się skłaniał w stronę tego Cruda, żeby się nie okazało że nie dam rady sobie z drugim tematem czyli mini-frameworkiem pokroju Springa którego jedynym zadaniem będzie powstrzykiwać odpowiednie obiekty.

0

Na studiach najbardziej zaawansowanym produktem jest magister albo inż.
Portfolio, optymalizacja, technologie będą w pracy. W produkcie nazywanym DYPLOM to tylko środki a nie cel.
Praca magisterska nie ma cię dopiero przy jej pisaniu uczyć. Doświadczenie i extra wiedzę nabędziesz w pracy.
Robisz rachunek sumienia, z tym co już potrafisz szukasz promotora. Ustalacie temat bazujący na tym co już potrafisz.
Mgr to tytuł zawodowy. Piszesz pracę, bronisz, pokazujesz, że nadajesz się i umiesz na tyle żeby napisać i obronić.
Na naukę tematu już za późno. W pracy i tak na 99% nie licz na tematy z dyplomu.

Masz to napisać i zdać. W terminie. To nie jest takie proste, dlatego ministerstwo od razu dało extra rok na pisanie bez żadnych konsekwencji w postaci różnic programowych itp.

KIedy już się obronisz zdziwisz się, że napisanie pracy zajęło ci znacznie więcej czasu niż przewidywałeś, a ile razy miałeś ochotę rzucić to w diabły to druga sprawa.
Kiedy pójdziesz do pracy na cały etat to jeszcze bardziej nie będzie ci się chciało pisać pracy i jeszcze więcej czasu ci to zajmie.
Nie kozacz, nie kombinuj, napisz mocne minimum i obroń się. Jeszcze się do emerytury zdążysz napisać mniej lub bardziej ambitnych i złożonych rzeczy.

1
meego napisał(a):

Praca magisterska nie ma cię dopiero przy jej pisaniu uczyć. Doświadczenie i extra wiedzę nabędziesz w pracy.
Robisz rachunek sumienia, z tym co już potrafisz szukasz promotora. Ustalacie temat bazujący na tym co już potrafisz.

Od kiedy tak jest? Czy jeśli wybierając temat pracy inżynierskiej kierowałem się zainteresowaniami, a nie tym, co naumiałem się na studiach i w efekcie 95% rzeczy douczałem się w trakcie robienia pracy, to powinienem zwrócić dyplom do dziekanatu albo spalić go w piecu?

Mgr to tytuł zawodowy. Piszesz pracę, bronisz, pokazujesz, że nadajesz się i umiesz na tyle żeby napisać i obronić.
Na naukę tematu już za późno. W pracy i tak na 99% nie licz na tematy z dyplomu.

A kiedy nie jest za późno na naukę?

Swoją drogą, OP zabiera się do wyboru tematu pracy inżynierskiej, a nie magisterskiej, więc pewnie dopiero zaczął trzeci rok. Ciekawe, jakie kwalifikacje miałby udowadniać pracą inżynierską pisaną według wiedzy nabytej w ciągu nieco ponad połowy studiów pierwszego stopnia? Czym by się w takiej pracy popisał, piątką z analizy matematycznej, rurek i baz danych?

3

Ja swoją pracę inżynierską pisałem w technologii, z którą nie miałem w ogóle doświadczenia, a magisterska powstała na takiej zasadzie, że chciałem coś osiągnąć, ale nie wiedziałem ani jak ani jakich narzędzi użyć. Jeśli ktoś przez te pół roku - rok przeznaczony na pisanie pracy nie jest w stanie się nauczyć dowolnej technologii, to słabo widzę jego karierę w tym zawodzie.

0

A ja po obronieniu swoich inż. i mgr jednak będę doradzał SRP.

Nauka to nauka, papier to papier.

0

Ale Ty chociaż rozumiesz skrót, którego użyłeś, czy tak sobie wstawiasz w losowe miejsca zdań, żeby mądrze wyglądało?
Bo generalnie w ten sposób, to może HR oszukasz, ale raczej nie nas.

0

A ty napisałeś bo musisz coś napisać bo inaczej się udusisz?

0

A jednak musisz.

1
meego napisał(a):

A ja po obronieniu swoich inż. i mgr jednak będę doradzał SRP.

Nauka to nauka, papier to papier.

meego napisał(a):

A ty napisałeś bo musisz coś napisać bo inaczej się udusisz?

meego napisał(a):

A jednak musisz.

Jedni maniakalnie odpisują na posty, inni maniakalnie wygadują głupoty. Co się z tym światem dzieje :(((

Gadanie, że nie powinieneś się uczyć siedząc nad pracą inżynierską/magisterską bo SRP jest równie sensowne jak mówienie, że programista nie powinien w trakcie pracy czytać dokumentacji ani zaglądać na StackOverflow, bo od tego ma przerwę na sikanie, przerwę obiadową i czas wolny w domu - jak nie doczytał w przerwach i w domu przed rozpoczęciem taska, to trudno, niech zrobi tak, jak umie. Albo niech odda taska komuś i poszuka takiego, który zrobi bez zerkania do dokumentacji i douczania się jakichś niuansów.

W końcu nauka to nauka, a praca to praca :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1