Poziom programowania na dobrych uczelniach

0

Moje pytanie kieruje do studentów "najlepszych kierunków informatycznych": samogłoski na AGH, MIMUW na UW, jakies Politechniki, algorytmy na UJ. A więc jak wyglądają zajęcia z programowania na waszych uczelniach? Studiuje informatyke na słabej, ekonomicznej uczelni i "programowanie" tam wygląda tak, że piszemy wszystko za wykładowcą jak małpy, czasem tylko mamy do zrobienia jakiś prosty projekt w domu. Czasem mnie to denerwuje, bo jestem bezrobotny i nudzi mi sie w domu, a uczelnia nie daje mi wystarczającego wyzwania i musze go szukać na własną ręke. Najgorsze jest zdecydowanie siedzienie na tych wykładach i gadanie z tymi idiotami i oglądanie jak wykładowcy równają do tego niskiego poziomu bo nie mogą wszystkich oblać. Podejrzewam, że na dobrych uczelniach jest lepiej z tego powodu, ale to głównie przez matematyczną selekcje w pierwszym roku, przez co na kolejnych pozostają tylko najlepsi. Powiedzcie mi prosze jak to u was wygląda, na którym jesteście roku i czy piszecie już jakieś własne kernele albo własne kompilatory (nie mówie, że to jest jakieś mega trudne, ot - przykład). oraz może ktoś wie jak to wygląda za granicą, np w MIT (heh, wiem, że głupie porównanie ale uderzmy z grubej rury).

1

a uczelnia nie daje mi wystarczającego wyzwania i musze go szukać na własną ręke.

W sensie że to źle czy co?
Bo jeśli potrzebujesz ciągłego prowadzenia za rączkę, mam złe informacje dla Ciebie ;-)

0

a to dobrze wg ciebie? Jak ktos chce zostac spawaczem, idzie do szkoly spawaczy, jak ktos chce zostac lekarzem, idzie do szkoły medycznej, ale nie: programowanie jest wyjątkowe, jego sie trzeba uczyć NA WŁASNĄ RĘKE

0
Uczynny Ogórek napisał(a):

a to dobrze wg ciebie? Jak ktos chce zostac spawaczem, idzie do szkoly spawaczy, jak ktos chce zostac lekarzem, idzie do szkoły medycznej, ale nie: programowanie jest wyjątkowe, jego sie trzeba uczyć NA WŁASNĄ RĘKE

Jak na własną rękę, przecież sam mówiłeś, że możecie sobie przepisywać za wykładowcą jak małpy :D

Żeby nauczyć się dobrze spawać, musisz dużo rzeczy zespawać, najlepiej pod czyjąś opieką żebyś sobie pręta do d**y nie przyspawał.

Żeby nauczyć się dobrze leczyć ludzi, musisz leczyć wielu ludzi, najlepiej pod czyjąś opieką żebyś nie faszerował antybiotykami gościa z grzybicą albo nie zeszył mu jelit w pętelkę.

Żeby się nauczyć programować, musisz dużo programować, najlepiej pod czyjąć opieką żebyś nie nauczył się pisać gniotów których po miesiącu-dwóch nawet Ty sam nie rozszyfrujesz.

Tylko problem jest taki, że nawet jak prowadzący są dobrzy, to ich czas dla kursanta/studenta jest mocno ograniczony. Efekt jest taki, że na ile się da działasz pod okiem prowadzącego/nauczyciela, a potem musisz dokształcać się sam NA WŁASNĄ RĘKĘ - z książek, dokumentacji, tutoriali, stackoverflow, czy nawet blogów programistycznych, no i samemu pisząc dużo kodu. A jak już zaczniesz coś tam mniej więcej z grubsza umieć, idziesz na praktyki/staż i tam już założenia ktoś powinien dopilnować, żebyś nie tylko był w stanie pisać kod (nikt nie będzie Ci tłumaczył co to jest pętla i czemu kod w C nie skompiluje się bez średników, a w Pythonie już działa, nie ma tak dobrze), ale żebyś go pisał jak należy.

0

@Uczynny Ogórek: spawacze chodzą na studia czy do szkół zawodowych?

Zresztą zauważ, że informatyka to bardzo szeroka dziedzina - wchodzi w nią tak samo programowanie, jak i np. grafika komputerowa; nic więc dziwnego, że na samo klepanie kodu nie jest poświęcone 100% czasu czy uwagi.

0

Tak, ale chodzilo mi o to, że na studiach poziom programowania jest za niski, nie nadążają za realiami rynku, przez samemu sie trzeba wszystkiego uczyć (to co jest wymagane+to co jest na studiach, część wspólna obu zbiorów nie jest wcale taka duża). Sądze, że jak ktoś chce zostać lekarzem to idzie na studia medyczne i tam go nauczą fachu ZANIM zabierze sie za żywych pacjentów. Tylko w IT to wszystko jest na odwrót

0

na studiach poziom programowania jest za niski, nie nadążają za realiami rynku

Bo studia to nie szkoła zawodowa - dlatego uczysz się o teorii kompilacji, a nie najnowszym Angularze, choć prawdopodobnie nie będziesz się zawodowo zajmował wymyślaniem nowych kompilatorów.

0

Studia nie muszą nadążać za realiami rynku, bo umiejętności są ponadczasowe. Po co uczyć kolejnych frameworków JavaScriptowych, skoro można nauczyć ludzi myśleć? Tak, żeby nikt nie musiał prowadzić za rękę przy czytaniu dokumentacji czy tutoriali, bo chyba tego własnie tacy pojękiwacze oczekują.

0
Uczynny Ogórek napisał(a):

Tak, ale chodzilo mi o to, że na studiach poziom programowania jest za niski, nie nadążają za realiami rynku, przez samemu sie trzeba wszystkiego uczyć (to co jest wymagane+to co jest na studiach, część wspólna obu zbiorów nie jest wcale taka duża). Sądze, że jak ktoś chce zostać lekarzem to idzie na studia medyczne i tam go nauczą fachu ZANIM zabierze sie za żywych pacjentów. Tylko w IT to wszystko jest na odwrót

Bo to jest po prostu nierealne, niewykonalne i bezsensowne.

  1. Uczelnie oferują niezbyt atrakcyjne warunki zatrudnienia pracownikom naukowym, a doktoranci to już w ogóle nieraz udowadniają, że minimum egzystencji jest zawyżone. Oczywiście są stypendia, ale nie dla wszystkich, są też granty, ale nie dla wszystkich - jak uda Ci się uszczyknąć parę stypendiów czy załapać na grant za który będą Ci płacić, wyżyjesz. Jak nie - głodujesz. Ewentualnie dorabiasz gdzieś na część etatu w trakcie studiów doktoranckich. Słyszałem o różnych wariantach.

  2. Przez niezbyt atrakcyjne warunki, szczególnie w porównaniu z zarobkami w IT, często gęsto brakuje kadr, a ktoś musi prowadzić zajęcia.

  3. Skoro ktoś musi prowadzić zajęcia, a ludzi brakuje, to generalnie pracownicy uczelni mają nieraz naprawdę dużo godzin dydaktycznych do wyrobienia.

  4. Oprócz godzin dydaktycznych do wyrobienia, pracownik naukowy/naukowo-dydaktyczny musi jeszcze zajmować się - tu zaskoczenie - nauką. Z tego, co zrobi, co zbada, co napisze i jakie to będzie mialo znaczenie jest rozliczany.

Zastanów się, ile taki doktor mający na głowie zajęcia ze studentami, projekt badawczy, publikacje do napisania i jeszcze paru dyplomantów pod skrzydłami ma czasu, żeby śledzić nowinki i móc uczyć studentów coraz to nowszych frameworków? Ile czasu ma na to doktorant, który żeby się utrzymać musi albo też być w jakimś projekcie na który jest grant i znajdzie się kasa na wynagrodzenie dla niego, albo wali publikacjami jak z kałacha, żeby się załapać na stypendia dla doktorantów, albo dorabia gdzieś na część etatu, będzie mieć czasu na douczanie się (o ile nie pracuje jako programista w projekcie w którym się akurat używa świeżutkich technologii)?

1

Te uczelnie są uważane za najlepsze głównie przez wysoki poziom z algorytmiki, czyste programowanie wygląda podobnie, tyle że jest po prostu wyżej poprzeczka podniesiona na zliczeniu. Nie wiem jak jest teraz, ale kiedyś na UJ "wstęp do programowania" czy pierwsze "algorytmy i struktury danych" to były realizowane w pascalu :). Za to później są już kierunkowe przedmioty jak:

  • kompilatory (pisze się kompilator pascala w C++),
  • zaawansowane programowanie abstrakcyjne (C++/Java/C#),
  • programowanie gier (C++/opengl),
  • programowanie aplikacji biznesowych(Java),
  • programowanie rozproszone (C++),
  • zaawansowane algorytmy i struktury danych(C++),
  • programowanie mikrokontolerów(asm,/C),
  • przetwarzanie obrazów(C++),

gdzie właśnie zajmujesz się programowanie w tych specyficznych dziedzinach.

1

Na PJATK w wwa :

  • Podstawy Programowania w Javie
  • Programowanie GUI w Javie
  • C++
  • Zaawansowane metody Javy
  • Prog mobilne
  • Prog rozporoszone

Poziom tak 7/10 zarowno trudnosci jak i przydatnosci - niemniej mozna sie cos nauczyc a potem na tym budowac

0

zaawansowane programowanie abstrakcyjne (C++/Java/C#),

A co sie kryje pod tą nazwą?

0
superdurszlak napisał(a):
Uczynny Ogórek napisał(a):

a to dobrze wg ciebie? Jak ktos chce zostac spawaczem, idzie do szkoly spawaczy, jak ktos chce zostac lekarzem, idzie do szkoły medycznej, ale nie: programowanie jest wyjątkowe, jego sie trzeba uczyć NA WŁASNĄ RĘKE

Jak na własną rękę, przecież sam mówiłeś, że możecie sobie przepisywać za wykładowcą jak małpy :D

Żeby nauczyć się dobrze spawać, musisz dużo rzeczy zespawać, najlepiej pod czyjąś opieką żebyś sobie pręta do d**y nie przyspawał.

Żeby nauczyć się dobrze leczyć ludzi, musisz leczyć wielu ludzi, najlepiej pod czyjąś opieką żebyś nie faszerował antybiotykami gościa z grzybicą albo nie zeszył mu jelit w pętelkę.

Żeby się nauczyć programować, musisz dużo programować, najlepiej pod czyjąć opieką żebyś nie nauczył się pisać gniotów których po miesiącu-dwóch nawet Ty sam nie rozszyfrujesz.

Tylko problem jest taki, że nawet jak prowadzący są dobrzy, to ich czas dla kursanta/studenta jest mocno ograniczony. Efekt jest taki, że na ile się da działasz pod okiem prowadzącego/nauczyciela, a potem musisz dokształcać się sam NA WŁASNĄ RĘKĘ - z książek, dokumentacji, tutoriali, stackoverflow, czy nawet blogów programistycznych, no i samemu pisząc dużo kodu. A jak już zaczniesz coś tam mniej więcej z grubsza umieć, idziesz na praktyki/staż i tam już założenia ktoś powinien dopilnować, żebyś nie tylko był w stanie pisać kod (nikt nie będzie Ci tłumaczył co to jest pętla i czemu kod w C nie skompiluje się bez średników, a w Pythonie już działa, nie ma tak dobrze), ale żebyś go pisał jak należy.

Czekaj czy junior pythona który jaką swoją wizytówkę pokazuje gita na którym ma projekty z plikami po ~1500 linijek kodu w PYTHONIE piszę o wysokiej jakości kodu, nie ośmieszaj się błagam ;)

0
Uczynny Ogórek napisał(a):

oraz może ktoś wie jak to wygląda za granicą, np w MIT (heh, wiem, że głupie porównanie ale uderzmy z grubej rury).

sam zobacz https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/ => ASSIGNMENTS

0

Co do MIT to słyszałem o dziewczynie z Polski, która przerabiała tam na pierwszym roku matmę na poziomie wyliczania delty, ale to informacje z drugiej ręki (od jej kolegi), więc nie mam pewności na sto procent czy było tam tak naprawdę. To chyba nie była infa, ale na pewno jakiś ścisły kierunek (jak zresztą nazwa uczelni sugeruje).

0
Uczynny Ogórek napisał(a):

a to dobrze wg ciebie? Jak ktos chce zostac spawaczem, idzie do szkoly spawaczy, jak ktos chce zostac lekarzem, idzie do szkoły medycznej, ale nie: programowanie jest wyjątkowe, jego sie trzeba uczyć NA WŁASNĄ RĘKE

wow, nie sądziłem, że na jakiejkolwiek stronie związanej z it ktoś walnie czymś takim, a co dopiero 4p :D

0

Hej oddajcie zdjęcie @superdurszlak lud chce dramy XD
A i żeby nie było że spam jeśli chodzi o programowanie raczej na uczelnie idzie się po podstawy więc nie wymagaj za dużo i jak coś cię zainteresuje to szukaj ogarniętych w tym temacie wykladowców i cisnij do nich ze swoimi tematami (bez różnicy jaka uczelnia byle matma była w miarę sensowna :P)

3
Uczynny Ogórek napisał(a):

a to dobrze wg ciebie? Jak ktos chce zostac spawaczem, idzie do szkoly spawaczy, jak ktos chce zostac lekarzem, idzie do szkoły medycznej, ale nie: programowanie jest wyjątkowe, jego sie trzeba uczyć NA WŁASNĄ RĘKE

Lekarz po studiach musi prawie rok odbywać praktyki. A do tego także wiele uczyć się na własną rękę, czytać czasopisma branżowe i książki. Podobnie prawnik, inżynierowie budownictwa, elektroniki, automatyki, robotyki czy procesowi. Tak więc, programowanie w ogóle nie jest wyjątkowe.

0

no ale ile godzin masz tego programowania w tygodniu? Ja też studiuje na niszowej uczelni i robimy najprostsze rzeczy ;d
jednakże patrząc ile jest godzin ramowo na stricte programowanie to zbyt mało, podstawowe książki mają po 700-900 stron. Ja tam uczelnie traktuje jako -> jedź na samych trójkach i skup się na jednej dziedzinie z IT, która Cię interesuję (programowanie).

0

Sądze, że jak ktoś chce zostać lekarzem to idzie na studia medyczne i tam go nauczą fachu ZANIM zabierze sie za żywych pacjentów. Tylko w IT to wszystko jest na odwrót

Nic nie jest na odwrót. Lekarz po studiach nie ma uprawnień do samodzielnego leczenia pacjentów. Zanim zrobi praktyki nawet recepty na antybiotyk nie może wypisać.

0

To już zależy od uczelni. Na Politechnice Śląskiej na Wieży Magów sporo C++, C#, Java, Assembler. Trochę też C, Pythona, JavaScript. Bazy danych - bardzo obszernie. Sensowne podstawy jeśli chodzi o zagadnienia AI. Ogółem sporo programowania.

Teraz też powstają długie, obszerne kursy fundowane z środków UE dotyczące np. Machine Learningu lub node.js. W tym roku otworzyli też angielską wersję informatyki (program ten sam), co może być dobrym lub nawet bardzo dobrym rozwiązaniem patrząc przyszłościowo jeśli chodzi o karierę.

Natomiast jest też wiele obowiązkowych niestandardowych (czyli nie chodzi mi o fizykę czy analizę mat. bo to jest wszędzie) około-informatycznych przedmiotów (nie wiem czy jest jakakolwiek inna Informatyka w Polsce na której byłoby ich więcej) np. teoria układów cyfrowych, konstrukcja układów cyfrowych, arytmetyka systemów cyfrowych, elektronika i miernictwo, elektrotechnika, systemy mikroprocesowe i embedded, itd.

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