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)