**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 studiów 1-go stopnia mogą rozpocząć naukę programowania i
podstaw informatyki w jednym z dwóch języków: **C albo Python** (można wybrać
tylko jeden z tych dwóch kursów!). Każdy z tych kursów pozwala opanować
podstawy informatyki i programowania a w dalszych semestrach doskonalić się w
programowaniu w innych (lub tych samych) językach. W szczególnoś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ów (i kolejnych) pojawiają się kursy języków programowania (C++, Java,
Ruby, Python), które pozwalają opanować różne języki, przy założeniu, że
studenci mają ogólne pojęcie o programowaniu, które 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 razie potrzeby uprasza się o powiadomienie listelem (pocztą elektroniczą, e-mailem). Odpowiedź na listel jest wysyłana zazwyczaj w ciągu tygodnia od daty jego nadejścia. zpl