Zasady prowadzenia zajęć projektowych z przedmiotu „Metody i
Transkrypt
Zasady prowadzenia zajęć projektowych z przedmiotu „Metody i
Zasady prowadzenia zajęć projektowych z przedmiotu „Metody i języki programowania” studia zaoczne wersja 1.0 1. Cel i zakres projektu Celem jest zaprojektowanie oraz wykonanie pewnego programu (preferowany kompilator to FreePascal; do pobrania ze strony producenta www.freepascal.org). Oceniane będą następujące elementy (w nawiasach podano ich „wagę”): a) projekt systemu (20%), b) funkcjonalność gotowanego programu (60%), c) sposób (estetyka) sformatowania finalnego kodu źródłowego (5%), d) jakość umieszczonych w programie komentarzy (15%). Ad a) Student otrzymuje tylko bardzo skrótowo podany temat projektu (np. Wykonanie programu implementującego grę w warcaby). Jak widać sam temat nakreśla tylko bardzo ogólnie zadanie do wykonania. Brakuje tutaj doprecyzowania wielu elementów. Przykładowo temat nie precyzuje, czy i w jakim zakresie będzie wykorzystywana grafika. Nie wiemy też, czy chodzi o to, aby komputer był jednym z graczy (zadanie dość trudne do implementacji, przy założeniu, że komputer ma grać logicznie!), czy też grać mają dwaj „ludzcy” przeciwnicy, a komputer ma tylko „obsługiwać” planszę do gry. Nie wiemy w końcu, w jaki sposób należy podawać swoje ruchy (wskazywać pionki myszką, czy też podawać ich współrzędne – np.: „ruch pionka z A1 na B4”). Wszystkie te elementy wchodzą w zakres etapu nazwanego „Projekt systemu” i muszą być przygotowane w postaci PISEMNEJ (maksymalnie 1 strona tekstu przy czcionce o wielkości 12pt i pojedynczych odstępach między wierszami). Jeżeli poprawi to komunikatywność, tekst może być uzupełniony o rysunki, schematy, szkice itp. Wówczas opracowanie może mieć maksymalnie 2 strony. Proszę pamiętać o podpisaniu projektu imieniem, nazwiskiem oraz numerem grupy. Ad b) Warunkiem koniecznym przyjęcia projektu jest oczywiście to, że program musi działać (czyli dać się uruchomić w środowisku Windows/Linux). Program może jednak działać lepiej lub gorzej, może być ergonomiczny lub też jego obsługa może być bardzo nieefektywna. Te i tym podobne elementy też będą podlegały ocenie. Należy również zwrócić szczególną uwagę na prawidłową obsługę wszystkich ew. błędów, które mogą pojawić się podczas działania programu. Przykładowo, gdy użytkownik ma podać dowolną liczbę z przedziału od 1 do 10, to należałoby programowo sprawdzić, czy użytkownik rzeczywiście podał liczbę z tego przedziału. Gdy podana liczba jest inna należy na ekranie wypisać stosowny komunikat. Ponadto program testowany na tzw. „warunki krytyczne” musi takowe testy przejść. Przykładowo, gdy piszemy program, który mnoży dwie macierze, musi on działać zarówno dla macierzy o rozmiarze 1x1, jak i dla macierzy 100x100 (oczywiście istnieją jakieś sensowne granice, które wyznacza np. ilość fizycznej pamięci w komputerze, czy czas potrzebny na ukończenie obliczeń). Ad c) Kody programów muszą być jednolicie sformatowane. Przykładowo, gdy wykonujesz wcięcia kodu na głębokość 2. znaków, to zasada ta powinna być przestrzegana w całym kodzie i nie może być od niej wyjątków. Ponadto należy przyjąć jakiś jednolity schemat nazewnictwa zmiennych, stałych itd. Przykładowo można przyjąć, że wszystkie nazwy zmiennych pisane będą wyłącznie małymi literami a nazwy stałych dużymi. Bardziej istotne od przyjętego schematu jest jednak jego konsekwentne stosowanie! Ad d) Kod programu, aby był czytelny dla osób innych niż autor, powinien być sensownie skomentowany. Komentarze powinny być umieszczane tylko w istotnych miejscach. Nie należy wpisywać komentarzy nieistotnych (np. całkowicie zbędny będzie komentarz w stylu: „Poniższa funkcja writeln wypisuje na ekranie tekst powitania”). Z drugiej strony celowym będzie napisanie w 2-3 zdaniach co robi dana procedura lub jakie znaczenie mają poszczególne parametry tej procedury. Pamiętaj więc, że będzie oceniana jakość a nie ilość umieszczonych w kodach źródłowych komentarzy! 2. Terminy i zasady oceny Gotowy program (kod źródłowy oraz wersja skompilowana) muszą być oddane najpóźniej do dnia 04-02-2007. Musi on zostać przesłany jako załącznik do poczty elektronicznej w postaci archiwum ZIP. Warunkiem dopuszczenia do obrony projektów jest dostarczenie zarówno projektu systemu, jak i działającego programu. Na samej górze kodu źródłowego należy umieścić swoje imię, nazwisko oraz numer grupy (jest to bardzo ważne, gdyż wyklucza różne pomyłki i trudności typu „który student przysłał mi ten plik”). Za każdy tydzień spóźnienia ocena obniżana jest o jeden. Prowadzący zastrzega sobie prawo do nie przyjęcia projektu ze względu na jego złą jakość. Zaliczenie projektu będzie zrealizowane w salach uniwersytetu w czasie sesji egzaminacyjnej. Dzień, godzina spotkania oraz numer sali zostanie ustalony pod koniec semestru i umieszczony na stronie serwisu https://e-weit.uz.zgora.pl. Podczas zaliczenia student będzie musiał zaprezentować swój program i go obronić (m.in. wykazać, że jest jego autorem). Prowadzący może podczas zaliczenia zadawać studentowi różne, nawet bardzo szczegółowe, pytania dotyczące zrealizowanego projektu. W przypadku niedostarczenia na czas projektu lub jego złej jakości student nie otrzymuje wpisu zaliczeniowego oraz nie ma możliwości zdawania „w późniejszym terminie”. Jedyne uwzględniane usprawiedliwienia mogą dotyczyć tylko przypadków losowych (za taki nie będą uznawane np. „niespodziewane awarie dysku”, „rozsypanie się systemu operacyjnego”, „zgubienie dyskietki” oraz tym podobne często stosowane tłumaczenia). 3. Kontakt Zajęcia realizowane są w trybie zdalnym (kontakt za pomocą internetu). Kontaktujemy się ze sobą tylko za pośrednictwem serwisu https://e-weit.uz.zgora.pl. W szczególnych przypadkach możemy spotykać się osobiście w terminach zjazdów.