Zasady zaliczenia projektu Informatyka 3 Zasady ogólne 1) Podstawą zaliczenia projektu jest oddanie programu który spełnia wymagania określone jako podstawowe oraz dokumentacji, w terminie podanym na początku zajęć. 2) Oprócz wyznaczonych spotkań kontrolnych zajęcia polegają na pracy samodzielnej w pracowni komputerowej lub w domu. Z ewentualnymi wątpliwościami i problemami można zgłaszać się zawsze w terminie zajęć (wg planu). 3) Projekty powinny być wybrane z przedstawionej listy, lub w przypadku własnych pomysłów (zachęcam) uzgodnione indywidualnie. 4) Maksymalna ilość wykonawców danego projektu nie może przekraczać liczby podanej w tabelce. 5) Projekt powinien być stworzony w jednym z języków dostępnych w MS VS 2003/2005 (lub wyższej wersji), dopuszczalne są inne języki po wcześniejszym uzgodnieniu z prowadzącym. 6) Projekty oznaczone znakiem *, to zadania dla ambitnych, sugerowane dla osób zainteresowanych programowaniem, z pewnym doświadczeniem. Nie oznacza to jednak, że są to zadnia niewykonalne. Wręcz przeciwnie łatwo znaleźć liczne przykłady. 7) Dopuszczalne (a nawet zalecane) jest korzystanie z przykładów dostępnych w literaturze oraz Internecie, jednak pod pewnymi warunkami: a) w dokumentacji należy wyraźnie podać wszystkie wykorzystane źródła b) wykorzystany kod musi być dla piszącego w pełni zrozumiały (należy dokładnie znać i potrafić opisać zasadę działania całego kodu) c) program nie może być zbyt wierną kopią istniejącego przykładu (dyskwalifikacja) 8) W dokumentacji należy opisać zasadę działania programu (skrócona instrukcja obsługi) oraz jego budowę, tj.: wykorzystane klasy obiektów i ich rolę w aplikacji i sposób komunikacji. 9) Dopuszczalne jest wybranie jednego projektu przez maksymalnie 2 zespoły. Wtedy każdy zespół musi wykonać dany projekt w innym środowisku programistycznym lub z użyciem innych bibliotek graficznych. 10) Darmowe biblioteki graficzne do C++ : SDL - (jest kurs w Internecie po polsku, biblioteka dobra do gier, łatwa implementacja ruchu klawiaturą i myszką), ALLEGRO, ALLEGROGL - dobre biblioteki graficzne Qt - darmowa biblioteka graficzna o dużych możliwościach (warto zapoznać się z narzędziem QtCreator (biblioteka o tyle ciekawa, że Nokia zapowiedziała użycie Qt jako głównej platformy programistycznej w Symbianie 4 oraz systemie MeeGo) MinGW - darmowe środowisko programistyczne C++ WinBGI - kolejna dobra biblioteka graficzna dla Borland C++ GLUT - The OpenGL Utility Toolkit i wiele innych. 1
Ocena Przybliżone kryteria oceniania przedstawia poniższa tabelka. Wszystkie osoby w zespole otrzymują tę samą ocenę, o ile okaże się ze ich udział w projekcie był porównywalny. Pewien wpływ na ocenę ma również regularność pracy (sprawdzana na spotkaniach kontrolnych). ocena kryteria (sumują się) dst - dst+ działająca wersja programu, spełnienie większości wymagań określonych jako podstawowe, prosta dokumentacja, dobry wygląd GUI db obsługa sytuacji wyjątkowych, program odporny na błędy użytkownika db+ bdb spełnienie wymagań rozszerzonych, dokładna dokumentacja (mile widziane wygenerowanie pliku XML por. dokumentacja MS VS) 2
Spis tematów projektów r projektu: 1 Maksymalna ilość wykonawców: 2 Zamiennik programu PAINT podstawowe: odczyt i zapis grafiki w formacie BMP rysowanie ręczne za pomocą pędzla o zadanym przez użytkownika kolorze i grubości zmiana koloru tła czyszczenie rysunku : odczyt i zapis grafiki w formatach TIFF i JPG rysowanie kształtów (linie proste, prostokąty i elipsy) Np. Visual C#, pomoc na stronie centrum XP r projektu: 2 Maksymalna ilość wykonawców: 2 Program do katalogowania płyt CD podstawowe: zapis struktury plików i katalogów z płyty do pliku (własny format) możliwość nadania płytce tytułu i zapisania komentarzy wyświetlanie zawartości płytki w formie drzewa plików i katalogów : wykorzystanie bazy danych (plik lokalny) do stworzenia kartoteki płyt CD przeglądanie i edycja rekordów w bazie wyszukiwanie po tytułach lub zawartości warto zapoznać się z podobnymi programami freeware dla przykładu (np.disclib lub Visual CD). Ograniczyć się do kluczowych, wyżej opisanych opcji. r projektu: 3 ** Maksymalna ilość wykonawców: 4 Rejestrator / generator sygnałów wykorzystujący kartę dźwiękową podstawowe: program umożliwia rejestrację (tj. wyświetlenie i zapis) sygnału podanego na wejście mikrofonowe karty dźwiękowej w komputerze oraz podanie na wyjście karty dźwiękowej zadanego przez użytkownika sygnału dostępne powinny być 2 kanały wejściowe i 2 wyjściowe (stereo) użytkownik może zadać jeden z kilku dostępnych sygnałów do podania na wyjście (mini generator funkcyjny) : wizualizacja sygnału (prosta, bez gadżetów ) możliwość zadania dowolnego sygnału wyjściowego (z pliku tekstowego) wybór jednej z wielu dostępnych kart (jeśli jest zainstalowana więcej niż jedna) możliwość eksportu wykresu do pliku graficznego Podstawową sprawą będzie ustalenie czy program korzysta z DirectX czy jedynie z Windows API. Warto obejrzeć kody źródłowe podobnych programów dostępnych w Internecie. Projekt dla osób zainteresowanych programowaniem sprzętu. 3
r projektu: 4 Maksymalna ilość wykonawców: 2 Program do rozmów w sieci LAN (tzw. chat ) podstawowe: program umożliwia prowadzenie rozmów między wszystkimi użytkownikami sieci lokalnej którzy uruchomili aplikację brak centralnego serwera rozgłaszanie w całej sieci : szyfrowanie przesyłanych danych (za pomocą gotowych algorytmów dostępnych w bibliotece klas.net) rozwiązanie problemu polegającego na tym że wszyscy się widzą własne pomysły mile widziane Jako przykład formy wizualnej projektu powinien posłużyć dowolny popularny komunikator. Warto prześledzić przykłady w MSDN. Łatwo znaleźć w Internecie przykłady w języku C#, zaznajomić się z komponentem BackgroundWorker r projektu: 5 Maksymalna ilość wykonawców: 2 Książka adresowa podstawowe: program jest zubożonym zamiennikiem książki adresowej dostępnej w systemie Windows (tylko podstawowe informacje) pracuje z bazą danych (plik lokalny, typ określony przez autora) w wersji podstawowej pozwala jedynie na dodawanie, usuwanie i przegładzenie kontaktów : praca z wieloma książkami kontaktów (osobne pliki baz) eksport/import do formatu XML przeszukiwanie bazy Projekt można napisać praktycznie w każdym środowisku Visual C++ Visual C# r projektu: 6 Maksymalna ilość wykonawców: 2 Program wspomagający naukę słownictwa języka obcego podstawowe: program wyświetla na ekranie małe okienko w którym widoczne jest słówko w języku obcym i jego tłumaczenie co zadany odstęp czasowy wyświetlane jest następne słówko z listy okienko jest zawsze widoczne na wierzchu menu sterujące jest dostępne jako ikonka w pasku zadań (tray) baza słówek zapisana jest w plik tekstowym (1 plik = 1 lista słowek) : możliwość wyboru kolejnego lub losowo wybranego słówka z listy lista słówek w formacie XML zmiana odstępu czasowego oraz pauza sprawdzanie poprawności pliku zawierającego słówka Projekt dosyć łatwo zrealizować w Visual C#, zapoznać się z obiektem Timer 4
r projektu: 7 Maksymalna ilość wykonawców: 2 Informacje o sprzęcie zainstalowanym w systemie podstawowe: program wyświetla informacje o sprzętowej konfiguracji komputera : eksport raportu o zainstalowanym sprzęcie do pliku tekstowego w formacie RTF Wzorem może być np. aplikacja SiSoft Sandra (tylko opcje dot. informacji, bez benchmarków) W Visual Studio zapoznać się np. z WMI Creator (MSDN) lub z biblioteką Wbemidl.h r projektu: 8 Maksymalna ilość wykonawców: 2 Przeglądarka plików graficznych podstawowe: przeglądarka plików graficznych w popularnych formatach (min. to BMP i JPG) GUI składa się z dwóch części: z lewej strony drzewko plików i katalogów, z prawej wyświetlenie aktualnie wybranego obrazu i podstawowe informacje o pliku : opcja wyświetlania miniatur plików graficznych danego katalogu Jako przykład może posłużyć np. IrfanView r projektu: 9 Maksymalna ilość wykonawców: 3 Gra logiczna Pamięć podstawowe: prosta gra dla dzieci polegająca na znalezieniu pasujących do siebie obrazków, wśród rozłożonej puli na początku gry kartoniki leżą obrócone rysunkami w dół; po kliknięciu w dany obrazek odwraca się on na chwilę; jeśli jako następny zostanie wskazany obrazek pasujący, to para znika; gra kończy się z chwilą znalezienia wszystkich par w wersji podstawowej istnieje stała liczba kartoników (np. 10) ; można zamiast obrazków użyć prostych wzorów (kropki, kwadraty itp.) : zmiana liczby kartoników możliwość załadowania innego zestawu obrazków Projekt można zrealizować w języku C# lub Visual Basic, zapoznać się trzeba z biblioteką kontrolek Games Library r projektu: 10 Maksymalna ilość wykonawców: 2 Edytor plików typu ICO podstawowe: edytor ikonek systemu Windows (pliki typu *.ICO) duży obraz ikonki, wybór koloru : konwersja obrazów BMP do formy ikonki ICO Przykładem (nieco zbyt rozbudowanym) może być edytor ikonek dostępny razem z MS Visual Studio 5
r projektu: 11 * Maksymalna ilość wykonawców: 2 Kółko i krzyżyk Podstawowe Rozszerzone gra w kółko i krzyżyk z komputerem (komputer to przeciwnik) jak najprostszy GUI skupić się na grze GUI okienkowe implementacja podstaw AI Dla zainteresowanych tematyką AI. Dobre wprowadzenie do algorytmów AI. Warto przejrzeć przykłady dostępne w MSDN i Internecie. Krótki kod programu dużo czytania. r projektu: 12 ** Maksymalna ilość wykonawców: 2 Elektroniczny system rozwiązywania oraz sprawdzania testów oceniających wiedzę studentów podstawowe do wyboru 4 5 odpowiedzi student zaznacza prawidłową odpowiedź ptaszkiem/checkboxem automatyczne odliczanie czasu, zakończenie testu po upływie czasu sprawdzenie testu oraz opcjonalny wydruk wyników z oceną wczytanie pytań z pliku tekstowego program ma możliwość losowej zamiany kolejności pytań oraz zamiany kolejności odpowiedzi w poszczególnych pytaniach logowanie przez www, konta użytkowników, jedno administracyjne administrator systemu decyduje ile pytań, ile odpowiedzi, określa nazwę testu system oparty na bazie SQL implementacja prostego szyfrowania Projekt może być kontynuowany w przyszłości w ramach pracy inżynierskiej/magisterskiej r projektu: 13 Maksymalna ilość wykonawców: 2 Realizacja efektów dźwiękowych podstawowe realizacja efektów dźwiękowych echo, fuzz, flanger, kaczka wah-wah wczytanie pliku *.wav obróbka z możliwościami regulacji siły efektu zapis do pliku *.wav 6
r projektu: 14 Maksymalna ilość wykonawców: 2 Realizacja efektów graficznych podstawowe wczytanie pliku *.bmp, *.jpg aplikacja ma umożliwić dokonania efektów: rozmycia, wyostrzania, siłę efektu można regulować zapis do pliku Projekt można zrealizować z wykorzystaniem Visual C++ klasy MFC Alternatywnie wykorzystać bibliotekę AForge.NET r projektu: 15 Maksymalna ilość wykonawców: 2 Sterowanie programowym odtwarzaczem mp3 poprzez port USB Podstawowe / Włączenie/wyłączenie utworu powinno następować poprzez wciśniecie przycisku na kontrolerze Drugi przycisk powinien służyć do wybrania następnego utworu r projektu: 16 Maksymalna ilość wykonawców: 2 Informatyczny system zarządzania klubem fitness podstawowe rejestracja klienta uwzględnienie różnych abonamentów/karnetów/zajęć uwzględnienie rabatów / karta lojalnościowa system informuje ile wejść zostało system informuje do kiedy ważny jest karnet klient używa karty elektronicznej / wszystkie informacje są na niej zapisywane rejestracja instruktora fitnessu oraz ilości osób na jego zajęciach przemyślane GUI - dostosowane do szybkiego tempa pracy na recepcji klubu fitness r projektu: 17 Maksymalna ilość wykonawców: 2 Informatyczny system sklepu detalicznego podstawowe Wystawienie paragonu Wystawienie faktury VAT z danymi kontrahenta i sprzedawcy (należy zajrzeć do ustawy, w której jest napisane co faktura VAT powinna zawierać Określenie formy faktury VAT do wydruku (można zrobić drukuj do pdf) Wykorzystanie elektronicznego czytnika (RFID Tag, na którym zapisana jest nazwa towaru i cena) 7
r projektu: 18 Maksymalna ilość wykonawców: 2 Softwareowa realizacja metronomu elektronicznego podstawowe Realizacja podstawowego metrum 4/4 z akcentem na 1 GUI ma umożliwiać dołożenie osemek i szesnastek zmiana tempa wirtualnym pokrętłem triole, sekstole metrum 6/8 możliwość wyboru dźwięku (kliku) Zobaczyć realizacje jako aplety Javy - metronom online r projektu: 19 Maksymalna ilość wykonawców: 2 Gra SNAKE podstawowe program wykonany w środowisku consolowym program wykonany w środowisku Visualnym (okienkowym) Mile widziane wykorzystanie bibliotek OpenGL r projektu: 20 Maksymalna ilość wykonawców: 2 Rozbudowany kalkulator podstawowe GUI podobne do stylu matlabowskiego podstawowe operacje matematyczne funkcje trygonometryczne całkowanie numeryczne (różne metody) działania na macierzach Projekt można napisać w Visual C++, zapoznać się trzeba z bibliotekami vcl, math, fstream r projektu: 21 Maksymalna ilość wykonawców: 2 podstawowe Odtwarzacz plików mp3 r projektu: 22 Maksymalna ilość wykonawców: 2 Gra w statki podstawowe gra w statki na jednym komputerze gra w statki online, np. klient - serwer, możliwość porozumiewania się graczy podczas gry, np. komunikowanie trafienia lub pudła Projekt można stworzyćw Visual C# (centrumxp.pl), online -> BacgroundWorker r projektu: 23 Maksymalna ilość wykonawców: 2 Rozbudowana wersja kółko i krzyżyk podstawowe gracz musi ułożyć 4 elementy poziomo, pionowo lub po skosie, układany element nie może zawisnąć w powietrzu 8
r projektu: 24 Maksymalna ilość wykonawców: 2 podstawowe Gra PACMAN r projektu: 25 Maksymalna ilość wykonawców: 2 podstawowe Gra SAPER r projektu: 26 Maksymalna ilość wykonawców: 2 Gra PUZZLE podstawowe Obrazek standardowy lub możliwość wczytania własnego obrazka, podział na elementy, program oblicza całkowitą ilość ruchów Zapis stanu gry, możliwość późniejszego wczytania r projektu: 27 Maksymalna ilość wykonawców: 2 podstawowe Gra Tetris Np. Visual Basic, klasa VB Collection(Of type)znajdująca się w System.Collections.ObjectModel.Name r projektu: 28 Maksymalna ilość wykonawców: 1 Program budzik podstawowe wybór godziny wystąpienia zdarzenia lub określenia czasu, po którym nastąpi zdarzenie, wybór czynności jaką program wykona (np. wygeneruje dźwięk 9