Fundamentals of Computer Programming S1/14 Plik
Transkrypt
Fundamentals of Computer Programming S1/14 Plik
Załącznik Nr 5 do Zarz. Nr 33/11/12 Z1-PU7 (pieczęć wydziału) WYDANIE N1 Strona 1 z 4 KARTA PRZEDMIOTU 2. Kod przedmiotu: FCP 1. Nazwa przedmiotu: FUNDAMENTALS OF COMPUTER PROGRAMMING 3. Karta przedmiotu ważna od roku akademickiego: 2012/2013 4. Forma kształcenia: studia pierwszego stopnia 5. Forma studiów: studia stacjonarne 6. Kierunek studiów: MAKROKIERUNEK (RAU) 7. Profil studiów: ogólnoakademicki 8. Specjalność: 9. Semestr: I 10. Jednostka prowadząca przedmiot: Wydział Automatyki, Elektroniki i Informatyki 11. Prowadzący przedmiot: dr inż. Piotr Fabian 12. Przynależność do grupy przedmiotów: przedmioty wspólne 13. Status przedmiotu: obowiązkowy 14. Język prowadzenia zajęć: angielski 15. Przedmioty wprowadzające oraz wymagania wstępne: Program kursu zakłada, że student posiada elementarną wiedzę matematyczną na poziomie szkoły średniej (maturalnym) oraz umiejętność logicznego myślenia, również abstrakcyjnego. Dodatkowym wymaganiem jest znajomość języka angielskiego. It is assumed, that the student has an elementary knowledge of mathematics at the secondary level and logical thinking skills, including abstract thinking. An additional requirement is knowledge of English. 16. Cel przedmiotu: Celem kursu jest przekazanie studentom wiedzy niezbędnej do rozumienia, projektowania i pisania programów w języku C. Wstępem jest wprowadzenie do metod przetwarzania informacji: historia komputerów, idea architektury von Neumanna, języki programowania niskiego i wysokiego poziomu, translatory. Następnie na przykładzie konkretnych problemów przedstawiane są szczegółowo kolejne elementy języka C, pozwalające bądź ułatwiające rozwiązanie tych problemów. Przedstawiane są podstawowe algorytmy, struktury danych i niektóre zaawansowane techniki przetwarzania informacji. Podczas zajęć laboratoryjnych studenci ćwiczą konstrukcje językowe poznane na wykładzie oraz rozwiązują przydzielane indywidualnie zadania programistyczne. The course provides the knowledge required to understand, design and write computer programs in the C language. The aim of the course is to lay a solid foundation of good software engineering and programming language practice. The program contains: introduction to imperative programming in C language (basic knowledge required to create and understand programs as well as skills essential for good software engineering and programming practice), basic algorithms and data structures and some advanced problems and techniques essential for programmers. Lectures are illustrated with slides with many sample programs. They are supported by laboratories, which give students an opportunity to create programs on their own. 17. Efekty kształcenia:1 Nr 1 Opis efektu kształcenia należy wskazać ok. 5 – 8 efektów kształcenia Metoda sprawdzenia Forma Odniesienie do efektów efektu kształcenia prowadzenia zajęć dla kierunku studiów 1 2 3 4 5 zna podstawowe konstrukcje programistyczne (przypisanie, instrukcje sterujące, wywoływanie podprogramów i przekazywanie parametrów) oraz pojęcia składni i semantyki języków programowania zna podstawowe metody projektowania, analizowania i programowania algorytmów (projektowanie strukturalne, rekurencja, metoda dziel i rządź, programowanie z nawrotami, poprawność, metoda niezmienników, złożoność obliczeniowa) zna podstawowe struktury danych i wykonywane na nich operacje (reprezentacja danych liczbowych, arytmetyka i błędy zaokrągleń, tablice, napisy, zbiory, rekordy, pliki, wskaźniki i referencje, struktury wskaźnikowe, listy, stosy, kolejki, drzewa i grafy) potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym potrafi przygotować dokumentację opracowanego programu Sprawdzian pisemny wykład K_W03 Sprawdzian praktyczny laboratorium K_W04, K_W01-02 Program komputerowy Laboratorium K_W05 Program komputerowy Laboratorium K_U05 Sprawozdanie pisemne Laboratorium K_U02, K_U03, K_W13 18. Formy zajęć dydaktycznych i ich wymiar (liczba godzin) W. 30 L. 30 19. Treści kształcenia: Tematyka wykładów: · · · · · · · · · · · · · · Wprowadzenie. Pierwszy program. Środowiska programistyczne. Zmienne, podstawowe typy. Operatory, wyrażenia. Instrukcje i sterowanie. Struktura programu. Funkcje, zarządzanie pamięcią. Tablice, wskaźniki, alokacja pamięci. Struktury i unie. Dynamiczne struktury danych. Preprocesor. Pliki nagłówkowe, kompilacja rozdzielna. Biblioteki. Powtórzenie i sprawdzenie wiadomości. · · · · · · · · · · Introduction. The first program. Development environments Variables, basic types. operators and expressions. Instructions and program control. The structure of a program Functions Memory management. Arrays and pointers, memory allocation. Structures and unions · · · Dynamic data structures. The preprocessor, separate compilation. Header files and libraries. Tematyka laboratorium: · Laboratoria: ćwiczenia konstrukcji językowych poznanych na wykładach, rozwiązywanie indywidualnych zadań programistycznych. Laboratories: small programming exercises and one individual programming assignment. · 20. Egzamin: nie 21. Literatura podstawowa: B. W. Kernighan, D.M. Ritchie, The C Programming Language (ANSI C), Prentice-Hall. Also available in Polish: Język ANSI C, WNT. B. Stroustrup, The C++ Programming Language. Addison-Wesley, Reading, MA. Also available in Polish: Język C++, WNT. J. Grębosz: Symfonia C++ (1-3), Pasja C++ (1-2), Oficyna Kallimach (for Polish speaking students). 22. Literatura uzupełniająca: Jerzy Kisilewicz, Język C w środowisku Borland C++ - Wrocław: Oficyna Wydawnicza Politechniki Wrocławskiej , 1998 Jerzy Kisilewicz, Język C++ : programowanie obiektowe - Wrocław: Oficyna Wydawnicza Politechniki Wrocławskiej, 1999 A. Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++. Wyd. Nakom, Poznań, 1997 J. Grębosz, Symfonia C++ Standard, tom I/II, Edition2000, Kraków, 2006 J. Grębosz, Pasja C++, tom I/II. Edition2000, Kraków Nicolai M. Josuttis: C++ Biblioteka standardowa Podręcznik Programisty, Helion 2003 C. Delannoy, Ćwiczenia z języka C++, W-wa, WNT, 1994 (lub późniejsze) B. Stroustroup, Projektowanie i rozwój języka C++. 23. Nakład pracy studenta potrzebny do osiągnięcia efektów kształcenia Lp. Forma zajęć 1 Wykład 2 Ćwiczenia 3 Laboratorium 4 Seminarium -/- 5 Inne (przygotowanie do egzaminu) -/- Suma godzin Liczba godzin kontaktowych / pracy studenta 30 / 15 -/30 / 15 60 / 30 24. Suma wszystkich godzin: 90 25. Liczba punktów ECTS:2 5 26. Liczba punktów ECTS uzyskanych na zajęciach z bezpośrednim udziałem nauczyciela akademickiego: 1 2 1 punkt ECTS – 30 godzin. 27. Liczba punktów ECTS uzyskanych na zajęciach o charakterze praktycznym (laboratoria, projekty): 2 26. Uwagi: - Zatwierdzono: ……………………………. (data i podpis prowadzącego) ………………………………………………… (data i podpis dyrektora instytutu/kierownika katedry/ Dyrektora Kolegium Języków Obcych/kierownika lub dyrektora jednostki międzywydziałowej)