PODSTAWY PROGRAMOWANIA M
Semestr letni 2009/2010, realizacja G i realizacja H
Prowadzący dr. inż. Andrzej Podgórski, pok. 431, tel. 22 234 5453
Zasady zaliczenia
Do zdobycia jest w sumie 100
punktów. Do zaliczenia przedmiotu wystarcza 51 punktów, ale warunkiem
koniecznym jest zdobycie w sumie co najmniej 15 punktów (na 50) z
kolokwiów wykładowych (dwa w semestrze) i co najmniej 15 punktów (na 50) z
laboratoriów. Kolokwia wykładowe polegają na samodzielnym rozwiązaniu
zadań bez posługiwania się notatkami. W trakcie czterech pierwszych zajęć
laboratoryjnych studenci wykonują zadania postawione przez prowadzących. Każde
ćwiczenie jest punktowane (ćwiczenie numer 1 i 2 w przedziale 0 – 3; ćwiczenie
numer 3 i 4 w przedziale 0 –
4). Na kolejnych zajęciach laboratoryjnych studenci opracowują samodzielnie
trzy zadania (projekty) otrzymane od prowadzących: pierwszy projekt powinien
być wykonany i oceniony w trakcie zajęć numer 5 i 6; drugi projekt – w trakcie
zajęć numer 7, 8 i 9 oraz trzeci projekt – w trakcie zajęć numer 10, 11 i
12. Zadania projektowe punktowane są odpowiednio: do dziesięciu, do
dwunastu i czternastu punktów.
Zalecana literatura
N. Wirth: Algorytmy + struktury
danych = programy
B.
Kernighan, D. Ritchie: Język
C
P. Silvester: System
operacyjny unix
Lp. |
PON. |
WT. |
TEMATYKA ZAJĘĆ |
Punkty |
0 |
01.03 |
04.03 |
Zajęcia organizacyjne, sprawdzenie kont i haseł |
|
1 |
08.03 |
11.03 |
0 – 3 |
|
2 |
15.03 |
18.03 |
0 – 3 |
|
3 |
22.03 |
25.03 |
0 – 4 |
|
4 |
29.03 |
08.04 |
Lab4, rozdanie tematów zadań na zajęcia 5 – 6 (Proj1) |
0 – 4 |
5 |
12.04 |
15.04 |
Proj1,
specyfikacja funkcjonalna Proj1, specyfikacja strukturalna |
0 –
2 0 – 4 |
6 |
19.04 |
22.04 |
Proj1, ocena wykonania, rozdanie zadań na zajęcia 7 – 9 (Proj2) |
0 – 4 |
7 |
26.04 |
29.04 |
Proj2, specyfikacja funkcjonalna |
0 – 3 |
8 |
10.05 |
06.05 |
Proj2, specyfikacja strukturalna |
0 – 4 |
9 |
17.05 |
13.05 |
Proj2, ocena wykonania, rozdanie zadań na zajęcia 10 – 12 (Proj3) |
0 – 5 |
10 |
24.05 |
20.05 |
Proj3, specyfikacja funkcjonalna |
0 – 3 |
11 |
31.05 |
27.05 |
Proj3, specyfikacja strukturalna |
0 – 5 |
12 |
07.06 |
10.06 |
Proj3, ocena wykonania |
0 – 6 |
|
|
|
SUMA |
0 – 50 |
Na każdych
zajęciach studenci są oceniani. Po uzyskaniu oceny mogą opuścić salę
laboratoryjną. Osoby nieobecne, usprawiedliwione mają szansę poprawienia
swego dorobku punktowego na ostatnich zajęciach laboratoryjnych.
Uwaga: Oto przykłady specyfikacji funkcjonalnej i specyfikacji strukturalnej (technicznej).
Wykaz prowadzących zajęcia laboratoryjne
Grupa |
Termin |
Imię i nazwisko |
|
Telefon |
Pokój |
1M1 |
Poniedziałek 12.15 – 14.00 |
Michał
Borecki Marek Niewiński |
234 7749 234 7781 |
GRT p.537 GRT p.539 |
|
1M2 |
Poniedziałek 10.15 – 12.00 |
Grzegorz
Nieradka Paweł
Zieliński |
234 7729 234 5884 |
GE p.330 GE p.236 |
|
1M3 |
Czwartek 17.15 – 19.00 |
Aleksandra
Rutczyńska Rafał Jóźwiak |
234 7739 234 5772 |
GE p.11 GE p.11 |
|
1M4 |
Poniedziałek 16.15 – 18.00 |
Piotr
Firek Piotr Wąsiewicz |
234 7932 234 7718 |
GRT p.432b GE p.226 |
|
1M5 |
Poniedziałek 14.15 – 16.00 |
Michał
Borecki Marek Niewiński |
234 7749 234 7781 |
GRT p.537 GRT p.539 |
|
1M6 |
Czwartek 15.15 – 17.00 |
Piotr Wąsiewicz Paweł Zieliński |
234 7718 234 5884 |
GE p.226 GE p.236 |
|
1M7 |
Czwartek 8.15 – 10.00 |
Łukasz
Włodarczyk Jarosław
Beksa |
234 7739 234 7739 |
GE p.11 GE p.11 |
|
1M8 |
Poniedziałek 18.15 – 20.00 |
Jakub
Olszyna Przemysław Korpas |
234 7346 234 7624 |
GE p.439 GE p.542 |
Lp. |
DATA |
TEMATYKA WYKŁADU |
|
1 |
25.02 |
26.02 |
Podstawowe pojęcia: algorytm, sieci działań, programowanie. Pierwszy program w języku C. |
2 |
04.03 |
05.03 |
Ogólna struktura programu w języku C. Przedstawienie (bez szczegółowego omawiania) konstrukcji sterujących, formatów funkcji, konstrukcji danych i operatorów jakie dostępne są dla programisty. |
3 |
11.03 |
12.03 |
Funkcja printf (formatowanie wydruku). Typy zmiennych prostych, sposoby reprezentacji, zakres wartości. Funkcja scanf. Operatory arytmetyczne, przypisania, inkrementacji i dekrementacji, relacyjne. Priorytety operatorów. Instrukcje cyklu (for i while). |
4 |
18.03 |
19.03 |
Pętla do while. Instrukcje break, continue. Instrukcje decyzyjne. Operatory logiczne. Operator warunkowy. Funkcje zwracające wartość. Przekazywanie zmiennych prostych jako argumentów. |
5 |
25.03 |
26.03 |
Zmienne statyczne.
Dyrektywa preprocesora #define. Tablice jedno i wielowymiarowe, inicjalizacja
tablic. Tablice jako argumenty funkcji (sortowanie). Łańcuch jako tablica
znaków. |
6 |
01.04 |
31.03 |
Funkcje do obróbki łańcuchów. Wskaźniki. Przekazywanie adresów do funkcji. Użycie wskaźników do działań na tablicach i łańcuchach. Wskaźniki do wskaźników. |
7 |
08.04 |
09.04 |
Zmienne strukturalne. Inicjowanie struktur. Przekazywanie struktury do funkcji. Wskaźniki do struktur. Tworzenie list. Unie. |
8 |
15.04 |
16.04 |
Kolokwium |
9 |
22.04 |
23.04 |
Dyskowe operacje wejścia/wyjścia. Funkcje rekordowe, formatowane, łańcuchowe, znakowe. |
10 |
29.04 |
30.04 |
Dostęp swobodny, obsługa błędów, systemowe funkcje wejścia/wyjścia. |
11 |
06.05 |
07.05 |
Dynamiczne przydzielanie pamięci. Modele pamięci. Zakres i zasięg deklaracji. Atrybuty pamięci. Przesłanianie identyfikatorów. |
12 |
13.05 |
11.05 |
Operatory bitowe. Algorytmy rekurencyjne. Przykłady. |
13 |
20.05 |
21.05 |
Uzupełnienia. Algorytmy sortowania. Rozwiązywanie przykładowych zadań z kolokwiów. |
14 |
27.05 |
28.05 |
Kolokwium |
15 |
10.06 |
11.06 |
WPISY OCEN |
Proszę o sygnalizowanie problemów i błędów: A.Podgorski@ire.pw.edu.pl
Data ostatniej modyfikacji:
24 lutego 2010 r.