**Wstęp, czyli jak się ma "Wstęp do programowania w języku C" do "Wstępu do
programowania w języku Python"**
Studenci 1-go roku studiow 1-go stopnia mogą rozpocząć naukę programowania i
podstaw informatyki w jednym z dwoch językow: **C albo Python** (można wybrać
tylko jeden z tych dw och kursow!). Każdy z tych kursow pozwala opanować
podstawy informatyki i programowania a w dalszych semestrach doskonalić się w
programowaniu w innych (lub tych samych) językach. W szczegolności zaczynając
od "Kursu: Wstęp do programowania w języku C", nie skazujecie się na zawsze na
ten język (i nieznajomość Pythona) oraz _vice versa_. W drugim semestrze studi
ow (i kolejnych) pojawiają się kursy językow programowania (C++, Java, Ruby,
Python), ktore pozwalają opanować rożne języki, przy założeniu, że studenci
mają ogolne pojęcie o programowaniu, ktore zdobywają na obu przedmiotach
"Kurs: Wstęp do programowania w języku C/Python".
**O samym kursie "Wstęp do programowania w języku C"**
Celem tego kursu jest nauczenie i rozwinięcie podstawowych umiejętności
programowania w jednym z najbardziej rozpowszechnionych językow imperatywnych
- języku C. Wykład jest ilustrowany wieloma przykładami, a towarzyszące mu
zajęcia w pracowniach uczą (poprzez wiele drobnych zadań i końcowy projekt)
praktyki dobrego programowania. Nie wymaga on od uczestnikow żadnych
wcześniejszych umiejętności programowania, ale studenci startujący od zera
będą musieli poświęcić mu więcej pracy w domu, aby szybko wyrownać poziom.
Elementy języka są wprowadzane stopniowo, zaczynając od konstrukcji
podstawowych, a kończąc na bardziej zaawansowanych zagadnieniach, jak
wskaźniki i dynamiczne struktury danych, operacje na plikach czy funkcje
rekurencyjne. Ostatnie wykłady poświęcone są obiektowym elementom języka C++.
Pochod językow programowania trwa od zarania informatyki. Studium językow C i
C++ ułatwia start w naturalną ich kontynuację, do ktorej obecnie zaliczają się
ważne z komercyjnego punktu widzenia języki i środowiska: Java (Sun) oraz C#
(.NET Microsoft).
**Wymagane przygotowanie:** Brak, chociaż przydatna będzie podstawowa
umiejętność programowania.
**Program:**
* Podstawowe konstrukcje języka: instrukcje i deklaracje.
* Standardowe typy danych, wyrażenia.
* Standardowe wejście/wyjście, filtry.
* Funkcje, moduły i struktura programu.
* Metody agregacji danych: tablice, struktury i unie.
* Wskaźniki.
* Dynamiczne zarządzanie pamięcią, standardowe biblioteki C.
* Sekwencyjne i swobodne przetwarzanie plikow.
* Klasy, obiekty i strumienie w C++.
**Literatura:**
* Kernighan B.W., Ritchie D.M.: Język ANSI C. Seria "Klasyka Informatyki". Warszawa, Wydawnictwa Naukowo-Techniczne 2003. Podręcznik podstawowy.
* Schildt B., C: The Complete Reference: covers C++ and ANSI C, Osborne McGraw-Hill,
* ISO/IEC 9899 - Programming languages - C (aktualny standard ISO 1999).
w semestrze zimowym 2015/16 konsultacje mam w terminach: wt. 11-12, cz. 11-12; w razie potrzeby można umówić się też na inny termin przez e-mail (generalnie preferuję wtorki i czwartki)