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

A.Podgorski@ire.pw.edu.pl

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

Rozkład zajęć w laboratorium

Lp.

PON.

WT.

TEMATYKA ZAJĘĆ

Punkty

0

01.03

04.03

Zajęcia organizacyjne, sprawdzenie kont i haseł

 

1

08.03

11.03

Lab1

0 – 3

2

15.03

18.03

Lab2

0 – 3

3

22.03

25.03

Lab3

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

e-mail

Telefon

Pokój

1M1

Poniedziałek

12.15 – 14.00

Michał Borecki

Marek Niewiński

borecki@imio.pw.edu.pl

M.Niewinski@imio.pw.edu.pl 

234 7749

 234 7781

GRT p.537

GRT p.539

1M2

Poniedziałek

10.15 – 12.00

Grzegorz Nieradka

Paweł Zieliński

G.Nieradka@elka.pw.edu.pl

P.Zielinski@stud.elka.pw.edu.pl

234 7729

234 5884

GE p.330

GE p.236

1M3

Czwartek

17.15 – 19.00

Aleksandra Rutczyńska

Rafał Jóźwiak

A.Rachocka@ire.pw.edu.pl r.jozwiak@ire.pw.edu.pl

234 7739

234 5772

GE p.11

GE p.11

1M4

Poniedziałek

16.15 – 18.00

Piotr Firek

Piotr Wąsiewicz

P.Firek@elka.pw.edu.pl

P.Wasiewicz@ise.pw.edu.pl

234 7932

234 7718

GRT p.432b

GE p.226

1M5

Poniedziałek

14.15 – 16.00

Michał Borecki

Marek Niewiński

borecki@imio.pw.edu.pl M.Niewinski@imio.pw.edu.pl

234 7749

234 7781

GRT p.537

GRT p.539

1M6

Czwartek

15.15 – 17.00

Piotr Wąsiewicz

Paweł Zieliński

P.Wasiewicz@ise.pw.edu.pl

P.Zielinski@stud.elka.pw.edu.pl

234 7718

234 5884

GE p.226

GE p.236

1M7

Czwartek

8.15 – 10.00

Łukasz Włodarczyk

Jarosław Beksa

lukasz.wlodarczyk@gmail.com

jarek@lookatme.pl

234 7739

234 7739

GE p.11

GE p.11

1M8

Poniedziałek

18.15 – 20.00

Jakub Olszyna

Przemysław Korpas

J.Olszyna@ire.pw.edu.pl

pkorpas@radiopolska.pl

234 7346

234 7624

GE p.439

GE p.542

 

Harmonogram wykładów

 

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.

   powrót do strony głównej