Jak uczę programowania?

15
Jak uczę programowania? Joanna Śmigielska XIV LO im. Stanisława Staszica W Warszawie

description

Jak uczę programowania?. Joanna Śmigielska XIV LO im. Stanisława Staszica W Warszawie. O szkole. Profile i rozkład godzin w 3_letnim cyklu kształcenia: Matematyczno-informatyczny 3 + 2 + 3 Matematyczno-fizyczny 1 + 1 + 1 Matematyczny 1 + 1 +1. Grupa i cele. - PowerPoint PPT Presentation

Transcript of Jak uczę programowania?

Page 1: Jak uczę programowania?

Jak uczę programowania?

Joanna ŚmigielskaXIV LO im. Stanisława StaszicaW Warszawie

Page 2: Jak uczę programowania?

O szkole

Profile i rozkład godzin w 3_letnim cyklu kształcenia:

Matematyczno-informatyczny 3 + 2 + 3

Matematyczno-fizyczny 1 + 1 + 1

Matematyczny 1 + 1 +1

Page 3: Jak uczę programowania?

Grupa i cele

o Klasy nie informatyczne – 18 godzin nauki programowania w 1 semestrze klasy pierwszej

o Zachęcić do dalszego uczenia się samodzielnego lub na kółkach

o Rozpocząć przygotowanie do matury

nie przygotowuję do olimpiady

Page 4: Jak uczę programowania?

Język

C++ (C z wybranymi elementami C++)o Podstawowe typy danych:

int, float, char, klasa stringo Typy złożone: tabliceo Instrukcje:

warunkowa: ifiteracyjne: for, while, do while

o Czytanie i wypisywanie danych strumieniami cin i cout zamiast printf i scanf

Page 5: Jak uczę programowania?

Na co zwracać uwagę?

Czytelność kodu Znaczące nazwy zmiennych Komentarze - przed ważnymi

fragmentami programu, co przechowują ważne zmienne

Testowanie - wypisywanie częściowych wynikówprzykład programu ucznia - nominaly.cpp

Page 6: Jak uczę programowania?

Skąd biorę zadania na podstawy programowania

http://main.edu.pl/ http://pl.spoj.pl/ Mistrzostwa Wielkopolski

w Programowaniu Zespołowym (zadania próbne)

Zadania z OIG I etap

Page 7: Jak uczę programowania?

Typowe zadanie

o Opis zadanieo Specyfikacja wejściao Specyfikacja wyjściao Przykład

Page 8: Jak uczę programowania?

Zadania na podstawy programowania – na co zwracać uwagę uczniom

Zrozumienie treści i problemu Czytanie danych i wypisanie wyniku

zgodne ze specyfikacjąo Przekierowanie wejścia / wyjścia

podczas testowaniao Działanie automatycznej

sprawdzarki

Page 9: Jak uczę programowania?

Zadania na podstawy programowania – jakie?

o Proste zadania, których jedyną trudnością jest zrozumienie treści, a rozwiązanie ogranicza się do elementarnych operacji np. odjęcia dwóch liczb

Przykłady zadań i rozwiązań uczniów:jablka.pdf - jab.cppskladka.pdf - skl.cpp

Page 10: Jak uczę programowania?

Zadania na podstawy programowania – jakie?

o Zadania, które po przeanalizowaniu na „kartce” redukują się do kilku przypadków np. dla podanego n znaleźć ostatnia cyfrę 2n lub znaleźć ostatnią cyfrę n!

Przykład zadania i rozwiazania ucznia:autobusy.pdf - aut.cpp

Page 11: Jak uczę programowania?

Problemy algorytmiczne

Minimum, maksimum Liczby pierwsze - sito Eratostenesa Problem wyszukiwania – liniowe,

binarne Problem flagi holenderskiej Problem sortowania – przez wybór,

przez wstawianie, bąbelkowe

Page 12: Jak uczę programowania?

Dlaczego warto uczyć programować?

Programowanie to nie wiedza tajemna – pomaga rozwiązywać problemy

Algorytmika to nie bułka z masłem

Page 13: Jak uczę programowania?

Problem 1

Wykonano dodawanie, odejmowanie, mnożenie i dzielenie pewnych dwóch liczb naturalnych. Analizując zapis, w którym literą P oznaczona cyfrę parzystą, a literą N - nieparzystą, oraz wiedząc, że PP i NP po lewej stronie każdej równości to ta sama para liczb, znajdź te liczby.

PP : NP = P PP + NP = PP PP - NP = NP PP * NP = NNPmatematyka.cpp – rozwiązanie ucznia

Page 14: Jak uczę programowania?

Problem 2

Napisanie programu rozwiązującego proste łamigłówki sudoku to jest takie, do których rozwiązania wystarcza analiza pojedynczych kolumn, wierszy lub kwadratów.

sudoku.cpp – rozwiązanie ucznia

Page 15: Jak uczę programowania?

Warto uczyć programowania na TI w klasach o profilach ścisłych.