@autor tematu:
Ależ będzie suchar :). Przynajmniej tak się zapowiada.
Nawet stosunkowo doświadczeni programiści, którzy samodzielnie dają sobie radę i piszą JAKIŚ TAM kod, który działa (prawie dobrze!), mają duże problemy gdy nagle mają pracować wspólnie.
Ktoś inny patrzy na Twój kod. Ktoś inny używa Twojego kodu, lub -- o zgrozo! -- próbuje go zmodyfikować. Ty używasz interfejsu stworzonego przez innego kodera i vice versa. Musicie uzgodnić spójny standard kodowania i kulturę pracy, a także korzystać razem z systemu kontroli wersji.
Świetna zabawa i świetny sposób na naukę, bo prawdziwe życie często tak właśnie wygląda. Raczej rzadko programista pracuje w zupełnej próżni. W najlepszym razie Ty pracujesz nad jedną warstwą aplikacji, a ktoś inny -- nad inną. W większych systemach jednak po kilka osób musi rozwijać tę samą warstwę. I wtedy zaczyna się prawdziwa zabawa.
Dobrze, że na studiach Was chcą do tego przygotować. Chyba każdy z nas przechodził to na uczelni.
Martwi mnie jednak Wasz poziom -- taki, jak go opisujesz... Czy każą Wam robić ten projekt za wcześnie? A może to Wy jesteście ciumokami i gdybyście pracowali sporo W DOMU, to już mielibyście jako taki poziom i dawalibyście sobie jakoś tam radę kodując samodzielnie? Bo i tak przecież bywa. Niektórzy myślą, że na wykładach nauczą się programować -- nic bardziej mylnego! Studia to nie podstawówka, a już nie-programowanie na własną rękę, w domu, to dla przyszłego (niedoszłego?) programisty strzał w stopę.
Może podam, jaki uczelniany projekt zespołowy mi najbardziej zapadł w pamięć. To był chyba pierwszy z nich: gra Monopoly, pisana teoretycznie w bodajże 4 osoby. Z czego większość kodu napisałem ja i jeden kumpel, a drugi był designerem, więc robił głównie za grafika. Pomysł całkiem niezły IMO. Nie była to żadna aplikacja internetowa, tylko zwykły program w Javie. W dodatku gra, więc pisało się to i testowało całkiem przyjemnie. No i po wszystkim było to poczucie, że napisało się coś pożytecznego, a nie jakąś teoretyczną aplikacyjkę, która coś tam niby mogłaby robić. Była to gra planszowa, więc nie było wielkich przypałów z grafiką. Z drugiej strony, plansza w Monopolu jest dość skomplikowana, więc z interfejsem było sporo zabawy -- ale nie było wymagane ani żadne 3D, ani złożone animacje. Czasu na to było sporo, niby cały semestr. W praktyce ze 3 miesiące. Jednak na początku szło BARDZO ociężale, jak to zwykle bywa. Realnego, intensywnego kodowania pewnie były ze 2-3 tygodnie.
Powtórzę raz jeszcze: taki projekt jest bardzo cennym doświadczeniem. Może świetnie pokazać potęgę inżynierii oprogramowania (jakości kodu!) -- rzecz ekstremalnie ważną, którą jednak ludzie na studiach często olewają. Koniecznie zastosujcie też system kontroli wersji. Potem, na fali, polecam stosowanie go w każdym jednym swoim projekcie, nawet gdy pracujemy nad nim samodzielnie (dzięki temu systemowi znikną problemy typu "coś dzisiaj spieprzyłem, nie wiem co i teraz 2 dni będę to naprawiał", wysyłanie sobie kodu na maila by odebrać go na innym komputerze ;), a nawet niegroźne będą pady dysku, bo kod będzie jeszcze na zewnętrznym serwerze; z darmowych serwerów SVN polecam np. <url=projectlocker.com/>Project Locker</url>).
Pamiętaj też, że od Ciebie zależy, czy po studiach będziesz dobrym programistą, takim bardzo średniacko-słabym, czy może niemal w ogóle nie będziesz potrafił kodować. Pracy dla programistów jest mnóstwo. Na początku łatwo też o całkiem niezłą płacę. O ile umie się programować. Na studiach można odbębniać kolejne projekty, a można też wynosić z nich cenne doświadczenia. Projekt zespołowy to jeden z projektów, które mogą nauczyć bardzo dużo.