Nazwa modułu: Język C++ Rok akademicki: 2016/2017 Kod: JFT-1-306-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: - Poziom studiów: Studia I stopnia Forma i tryb studiów: - Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 3 Strona www: Osoba odpowiedzialna: dr hab. inż. Krawczyk Małgorzata (krawczyk@fis.agh.edu.pl) Osoby prowadzące: dr hab. inż. Krawczyk Małgorzata (krawczyk@fis.agh.edu.pl) dr inż. Bołd Tomasz (tomasz.bold@fis.agh.edu.pl) dr inż. Wołoszyn Maciej (woloszyn@newton.fis.agh.edu.pl) Krótka charakterystyka modułu Celem modułu jest poznanie języka programowania C++ w stopniu umożliwiającym samodzielne przeprowadzenie obliczeń i symulacji. Opis efektów kształcenia dla modułu zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza M_W001 Student wie kiedy stosować proceduralne, a kiedy obiektowe podejście do rozwiązywanego problemu. FT1A_W02 M_W002 Student rozumie istotę polimorfizmu i hermetyzacji. FT1A_W02, FT1A_W04 Kolokwium Umiejętności M_U001 Student potrafi utworzyć klasę i wykorzystać mechanizm dziedziczenia do stworzenia odpowiedniej hierarchii klas. FT1A_U11, FT1A_U08 M_U002 Student potrafi korzystać z programowania uogólnionego. FT1A_U11 1 / 5
M_U003 Student umie zarządzać pamięcią w programie. FT1A_U08 Matryca efektów kształcenia w odniesieniu do form zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć Wykład audytoryjne laboratoryjne projektowe Konwersatori um seminaryjne praktyczne terenowe warsztatowe Inne E-learning Wiedza M_W001 M_W002 Umiejętności M_U001 M_U002 M_U003 Student wie kiedy stosować proceduralne, a kiedy obiektowe podejście do rozwiązywanego problemu. Student rozumie istotę polimorfizmu i hermetyzacji. Student potrafi utworzyć klasę i wykorzystać mechanizm dziedziczenia do stworzenia odpowiedniej hierarchii klas. Student potrafi korzystać z programowania uogólnionego. Student umie zarządzać pamięcią w programie. + - + - - - - - - - - + - + - - - - - - - - Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Wstęp obiektowość w C++ standardy języka słowa kluczowe języka pierwszy program w C++ podstawy instrukcji sterujących Typy danych, zmienne zmienne proste typy liczbowe typ znakowy typ logiczny operatory arytmetyczne konwersja typu 2 / 5
Typy złożone ciągi znaków struktury, wyliczenia tablice, alokacja i zwalnianie pamięci wskaźniki Instrukcje sterujące instrukcje warunkowe instrukcje iteracyjne Funkcje przekazywanie wartości do funkcji zwracanie wartości z funkcji przeciążanie funkcji szablony funkcji funkcje anonimowe Klasy konstruktor i destruktor metody klas dziedziczenie szablony klas przeciążenie metod przeciążanie operatorów klasy zaprzyjaźnione Biblioteka STL kontenery algorytmy Wyjątki słowa kluczowe obsługi wyjątków obsługa wyjątków asercje Operacje wejścia/wyjścia strumienie obiekty cout i cin operacje na plikach laboratoryjne wprowadzające Student potrafi samodzielnie napisać program wypisujący komunikat na ekran Student potrafi wykonywać operacje na zmiennych całkowitych i zmiennoprzecinkowych Student potrafi skompilować i uruchomić napisany program Instrukcje sterujące Student potrafi napisać złożoną instrukcję warunkową Student potrafi skorzystać z konstrukcji switch Student potrafi napisać pętle typu for i while Student potrafi wykorzystać w programie argumenty wiersza poleceń Tablice Student potrafi zaalokować i zwolnić tablice jedno- i dwuwymiarową Student umie poruszać się po tablicy za pomocą indeksu 3 / 5
Student potrafi poruszać się po tablicy za pomocą wskaźnika Funkcje Student potrafi przekazywać parametry do funkcji Student umie zwracać wartości z funkcji Student potrafi korzystać w wyrażeń lambda Student potrafi tworzyć szablony funkcji Klasy Student potrafi utworzyć klasę zawierającą elementy niezbędne do jej prawidłowego funkcjonowania Student potrafi utworzyć metody zwracające bądź nie wartość oraz przyjmujące bądź nie parametry Student potrafi skorzystać z przeciążania metod Student potrafi utworzyć egzemplarz zdefiniowanej przez siebie klasy i wywołać metody Student potrafi utworzyć i wywołać metodę statyczną Student potrafi przeciążyć operator Dziedziczenie Student potrafi skorzystać z mechanizmu dziedziczenia Ciągi znaków Student potrafi skorzystać z metod dostępnych w klasie Sting Szablony klas Student potrafi utworzyć uogólnioną klasę Student potrafi utworzyć egzemplarz klasy uogólnionej Biblioteka STL Student potrafi dobrać i skorzystać z odpowiedniego kontenera dla zadanego problemu Student potrafi wykorzystać algorytmy dedykowane do wykonywania operacji na określonych kontenerach Operacje na plikach Student potrafi odczytać dane z pliku Student potrafi zapisać dane w pliku Wyjątki Student potrafi zastosować obsługę wyjątków Student rozumie do czego służą asercje i potrafi je wykorzystać Sposób obliczania oceny końcowej Każde zajęcia laboratoryjne (oprócz dwóch pierwszych) rozpoczynają się krótką kartkówką z materiału wcześniejszego, za które można uzyskać 25% punktów. Pozostałe 75% punktów można uzyskać za program napisany w czasie zajęć. Przy obliczaniu oceny końcowej z laboratorium, która równoważna jest ocenie końcowej przedmiotu, anulowana jest najsłabsza ocena z kartkówek i najsłabsza ocena z programów. Wysokość oceny końcowej będzie ustalana zgodnie ze skalą ocen obowiązującą w regulaminie AGH, przyporządkowującą procent opanowania materiału konkretnej ocenie (Par.13, pkt.1). Wymagania wstępne i dodatkowe Podstawowa umiejętność posługiwania się komputerem 4 / 5
Zalecana literatura i pomoce naukowe 1. Dokumentacja aktualnego standardu języka 2. Stephen Prata, Język C++, ISBN 83 7361 958 5 (najnowsze wydanie) 3. Bjarne Stroustrup, Programowanie. Teoria i praktyka z wykorzystaniem C++, ISBN 978-83-246-2233-7 4. Bruce Eckel, Thinking in C++, edycja polska, wydanie IV, ISBN 83-7197-709-3 Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu Nie podano dodatkowych publikacji Informacje dodatkowe laboratoryjne: dwa pierwsze zajęcia laboratoryjne (wliczając w to zajęcia w tygodniu rozpoczęcia roku akademickiego) mają charakter wstępny i nie będą oceniane, jednak obecność na nich jest wymagana tak samo, jak na wszystkich laboratoriach pozostałe zajęcia rozpoczynają się krótką kartkówką z materiału wcześniejszego, następnie Studenci samodzielnie realizują projekt według instrukcji podanej przez prowadzącego zajęcia (tematyka określana z tygodniowym wyprzedzeniem) Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach: ćwiczenia laboratoryjne: usprawiedliwiona nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału i jego zaliczenia w formie i terminie wyznaczonym przez prowadzącego zajęcia obecność na wykładzie: zgodnie z Regulaminem Studiów AGH Zasady zaliczania zajęć: ćwiczenia laboratoryjne: podstawowym terminem uzyskania zaliczenia jest koniec zajęć w danym semestrze. W przypadku braku zaliczenia w terminie podstawowym Student może je uzyskać poprzez poprawę ocen z dwóch laboratoriów. Student który bez usprawiedliwienia opuścił więcej niż dwa zajęcia i jego cząstkowe wyniki w nauce były negatywne może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć. Od takiej decyzji prowadzącego zajęcia Student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana. Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Samodzielne studiowanie tematyki zajęć Udział w wykładach Udział w ćwiczeniach laboratoryjnych Przygotowanie do zajęć Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 35 godz 30 godz 45 godz 35 godz 145 godz 5 ECTS 5 / 5