Zasady zaliczenia projektu – Informatyka 3

Transkrypt

Zasady zaliczenia projektu – Informatyka 3
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
dst
dst+
db
db+
bdb
kryteria (sumują się)
działająca wersja programu, spełnienie większości wymagań określonych jako
„podstawowe”, prosta dokumentacja, dobry wygląd GUI
obsługa sytuacji wyjątkowych, program odporny na błędy użytkownika
spełnienie wymagań rozszerzonych, dokładna dokumentacja (mile widziane
wygenerowanie pliku XML – por. dokumentacja MS VS)
2
Spis tematów projektów
r projektu:
Temat projektu:
1
Maksymalna ilość wykonawców:
2
Zamiennik programu „PAINT”
Wymagania:
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
rozszerzone:
•
•
odczyt i zapis grafiki w formatach TIFF i JPG
rysowanie kształtów (linie proste, prostokąty i elipsy)
Uwagi:
Np. Visual C#, pomoc na stronie centrum XP
r projektu:
Temat projektu:
2
Maksymalna ilość wykonawców:
2
Program do katalogowania płyt CD
Wymagania:
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
rozszerzone:
•
•
•
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
Uwagi:
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:
Temat projektu:
3
**
Maksymalna ilość wykonawców:
4
Rejestrator / generator sygnałów wykorzystujący kartę dźwiękową
Wymagania:
podstawowe:
•
•
•
rozszerzone:
Uwagi:
•
•
•
•
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:
Temat projektu:
4
Maksymalna ilość wykonawców:
2
Program do rozmów w sieci LAN (tzw. „chat”)
Wymagania:
podstawowe:
•
•
rozszerzone:
•
•
Uwagi:
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:
Temat projektu:
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
5
Maksymalna ilość wykonawców:
2
Książka adresowa
Wymagania:
podstawowe:
rozszerzone:
Uwagi:
•
•
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:
Temat projektu:
6
Maksymalna ilość wykonawców:
2
Program wspomagający naukę słownictwa języka obcego
Wymagania:
podstawowe:
rozszerzone:
Uwagi:
•
•
•
•
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:
Temat projektu:
7
Maksymalna ilość wykonawców:
2
Informacje o sprzęcie zainstalowanym w systemie
Wymagania:
podstawowe:
•
program wyświetla informacje o sprzętowej konfiguracji komputera
rozszerzone:
•
eksport raportu o zainstalowanym sprzęcie do pliku tekstowego w formacie RTF
Uwagi:
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:
Temat projektu:
8
Maksymalna ilość wykonawców:
2
Przeglądarka plików graficznych
Wymagania:
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
rozszerzone:
•
opcja wyświetlania miniatur plików graficznych danego katalogu
Uwagi:
Jako przykład może posłużyć np. IrfanView
r projektu:
Temat projektu:
9
Maksymalna ilość wykonawców:
3
Gra logiczna „Pamięć”
Wymagania:
podstawowe:
•
•
•
rozszerzone:
Uwagi:
•
•
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:
Temat projektu:
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.)
10
Maksymalna ilość wykonawców:
2
Edytor plików typu ICO
Wymagania:
podstawowe:
•
•
edytor ikonek systemu Windows (pliki typu *.ICO)
duży obraz ikonki, wybór koloru
rozszerzone:
•
konwersja obrazów BMP do formy ikonki ICO
Uwagi:
Przykładem (nieco zbyt rozbudowanym) może być edytor ikonek dostępny razem z MS Visual Studio
5
r projektu:
Temat projektu:
11
*
Maksymalna ilość wykonawców:
2
Kółko i krzyżyk
Wymagania:
Podstawowe
•
•
gra w „kółko i krzyżyk” z komputerem (komputer to przeciwnik)
jak najprostszy GUI – skupić się na grze
Rozszerzone
•
•
GUI okienkowe
implementacja podstaw AI
Uwagi:
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:
Temat projektu:
12
**
Maksymalna ilość wykonawców:
2
Elektroniczny system rozwiązywania oraz sprawdzania testów oceniających wiedzę studentów
Wymagania:
podstawowe
rozszerzone
Uwagi:
•
•
•
•
•
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:
Temat projektu:
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
13
Maksymalna ilość wykonawców:
2
Realizacja efektów dźwiękowych
Wymagania:
podstawowe
•
•
•
•
rozszerzone
Uwagi:
•
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:
Temat projektu:
14
Maksymalna ilość wykonawców:
2
Realizacja efektów graficznych
Wymagania:
podstawowe
rozszerzone
Uwagi:
•
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:
Temat projektu:
15
Maksymalna ilość wykonawców:
2
Sterowanie programowym odtwarzaczem mp3 poprzez port USB
Wymagania:
Podstawowe
/rozszerzone
Uwagi:
•
•
r projektu:
Temat projektu:
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
16
Maksymalna ilość wykonawców:
2
Informatyczny system zarządzania klubem fitness
Wymagania:
podstawowe
rozszerzone
•
•
•
•
•
•
•
•
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
Uwagi:
r projektu:
Temat projektu:
17
Maksymalna ilość wykonawców:
2
Informatyczny system sklepu detalicznego
Wymagania:
podstawowe
rozszerzone
•
•
•
•
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)
Uwagi:
7
18
r projektu:
Temat projektu:
Maksymalna ilość wykonawców:
2
Softwareowa realizacja metronomu elektronicznego
Wymagania:
podstawowe
rozszerzone
Uwagi:
•
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:
Maksymalna ilość wykonawców:
2
Temat projektu:
Gra SNAKE
Wymagania:
podstawowe
rozszerzone
Uwagi:
r projektu:
•
program wykonany w środowisku consolowym
•
program wykonany w środowisku Visualnym (okienkowym)
Mile widziane wykorzystanie bibliotek OpenGL
20
Maksymalna ilość wykonawców:
2
Temat projektu:
Rozbudowany kalkulator
Wymagania:
podstawowe
rozszerzone
Uwagi:
19
•
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:
Temat projektu:
Wymagania:
podstawowe
rozszerzone
Uwagi:
21
Wymagania:
podstawowe
rozszerzone
Uwagi:
Maksymalna ilość wykonawców:
2
•
•
22
Gra w statki
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:
Temat projektu:
2
Odtwarzacz plików mp3
r projektu:
Temat projektu:
Maksymalna ilość wykonawców:
23
Maksymalna ilość wykonawców:
2
Rozbudowana wersja kółko i krzyżyk
Wymagania:
podstawowe
•
rozszerzone
•
gracz musi ułożyć 4 elementy poziomo, pionowo lub po skosie, układany element nie może
„zawisnąć” w powietrzu
8
r projektu:
Temat projektu:
Wymagania:
podstawowe
rozszerzone
Uwagi:
24
Wymagania:
podstawowe
rozszerzone
Uwagi:
Wymagania:
podstawowe
rozszerzone
Uwagi:
25
Wymagania:
podstawowe
rozszerzone
Uwagi:
Wymagania:
podstawowe
rozszerzone
Uwagi:
Maksymalna ilość wykonawców:
2
•
•
26
Gra PUZZLE
•
•
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
27
Maksymalna ilość wykonawców:
2
Gra Tetris
•
•
Np. Visual Basic , klasa VB Collection(Of type)znajdująca się w
System.Collections.ObjectModel.Name
r projektu:
Temat projektu:
2
Gra SAPER
r projektu:
Temat projektu:
Maksymalna ilość wykonawców:
•
•
r projektu:
Temat projektu:
2
Gra PACMAN
r projektu:
Temat projektu:
Maksymalna ilość wykonawców:
28
Maksymalna ilość wykonawców:
1
Program budzik
•
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