Materiały do nauki programowania

Tutaj będziemy zamieszczać materiały przydatne do nauki programowania - zarówno w celu rozwiązywania naszych zadań, jak i pisania aplikacji na własny użytek.

Pomocne przy zadaniu nr 1

Spis przydatnych komend, czyli krótka ściągawka;)

  • # -> Znak '#' rozpoczyna komentarz (program go nie wykonuje)
  • print() -> Wypisuje na konsolę swój argument (tekst lub zmienną)
  • zmienna1 = "Napis" -> Tworzy zmienną typu string o nazwie zmienna1
  • zmienna2 = 123 -> Tworzy zmienną typu całkowitego o nazwie zmienna2 i wartości 123
  • tablica = ["a", "b", "c"] -> Tworzy zmienną zawierającą tablicę z trzema stringami
  • len(zmienna1) -> Zwraca długość zmiennej tekstowej zmienna1 (w tym wypadku 5)
  • zmienna1[początek:koniec] -> Zwraca fragment stringu pomiędzy literami na pozycjach wyznaczonych przez indeksy początek i koniec (np.zmienna1[1:3] da “api”).
  • zmienna1.lower() -> Zwraca string napisany małymi literami (“napis”)
  • zmienna1.upper() -> Zwraca string napisany dużymi literami (“NAPIS)
  • W języku Python blok instrukcji, który ma być traktowany przez program jako pewna całość, należy oznaczyć za pomocą tabulacji (wcięcia)
  • for(x in tablica): -> Wykona blok instrukcji dla każdego elementu tablicy (więc 3 razy)
  • while(warunek): -> Wykona blok instrukcji do czasu, tak długo jak warunek logiczny będzie spełniony

Pomocne przy zadaniu nr 2

W tym zadaniu przyda Ci się zrozumienie, czym są i jak działają funkcje. Całkiem nieźle tłumaczy to ten fragment kursu (po polsku): https://www.learnpython.org/pl/Funkcje - może po jego przeczytaniu coś będzie jaśniejsze?

Jeśli nie, to zachęcamy Cię do przerobienia rozdziału 4 tego interaktywnego kursu: https://www.codecademy.com/learn/learn-python. Kurs jest w języku angielskim, ale nie martw się - znajomość angielskiego na poziomie 7. klasy powinna Ci tu wystarczyć.

Chcesz zobaczyć, co jeszcze potrafi Python?

Spodobało Ci się programowanie? Chcesz się rozwijać w tym kierunku? Poniżej zebraliśmy dla Ciebie materiały, które pozwolą Ci rozwijać umiejętności zdobyte w czasie rozwiązywania zadań DressCode. Pogrupowaliśmy linki tematycznie, według możliwych kierunków rozwoju.

W miarę możliwości staraliśmy się zebrać materiały napisane w języku polskim, ale niestety bardzo duża część kursów, samouczków i opisów jest dostępna tylko w języku angielskim. Zachęcamy Cię jednak do zajrzenia także i do nich - pamiętaj, że wcale nie musisz znać angielskiego perfekcyjnie, aby z nich skorzystać, wystarczy średni poziom :) Bardzo wielu programistów znało język angielski średnio lub całkiem słabo (zwłaszcza na początku przygody z programowaniem), a jednak korzystanie z anglojęzycznych materiałów daje od razu dwa efekty: pozwala zdobyć wiedzę dotyczącą programowania, a jednocześnie rozwija znajomość języka.

Zacznijmy od Pythona. Poniżej trzy świetne kursy z podstaw tego języka:

http://www.learnpython.org/pl - bezpłatny, częściowo interaktywny kurs w języku polskim

https://tutorial.djangogirls.org/pl/python_introduction/ - bezpłatny kurs tworzenia stron WWW z wykorzystaniem Pythona, w języku polskim 

https://www.codecademy.com/learn/learn-python - w większości bezpłatny, interaktywny kurs w języku angielskim

Kanały na Youtube o programowaniu stron www w Pythonie: https://www.youtube.com/user/dekoza https://www.youtube.com/user/PjakProgramowanie

Python ma też wiele innych zastosowań - na przykład jeżeli zamiast tworzenia stron WWW wolisz napisać jakąś grę, polecamy:
http://programarcadegames.com/
https://inventwithpython.com/chapters/ 

Tworzenie stron WWW

Kursy HTML i CSS

Jeżeli interesuje Cię tworzenie stron WWW i chcesz pogłębić wiedzę zdobytą w zadaniach konkursowych, polecamy zapoznanie się z poniższymi kursami. Opisują one wszystkie elementy, jakie mogą być użyte do stworzenia strony, wraz z prostymi przykładami:
http://www.kurshtml.edu.pl/html/zielony.html
http://www.kurshtmlcss.pl/kurs-html/

Kompendium wiedzy o wszystkich możliwych stylach CSS:
http://kodcss.pl/

Projektowanie stron:
http://webdesign.tutsplus.com/series/web-design-for-kids--cms-823

Interaktywny kurs HTML i CSS w języku polskim, przeznaczony szczególnie dla młodzieży:
https://pl.khanacademy.org/computing/computer-programming/html-css

JavaScript

HTML i CSS stanowią szkielet stron WWW, ale większość programistów chce, aby ich strony były bardziej dynamiczne i oferowały więcej funkcji. Do tego celu używany jest język programowania JavaScript - umożliwia on pisanie instrukcji programu, które wykonają się w przeglądarce internetowej użytkownika i w dynamiczny sposób zmodyfikują stronę www (na przykład wyświetlą coś dopiero po kliknięciu na przycisk na stronie, pobiorą dane z serwera i wyświetlą je użytkownikowi).

Poniżej znajduje się kilka kursów JavaScript:
http://shebang.pl/kursy/wszystko-jasne/
http://www.poradnik-webmastera.com/kursy/javascript/
https://pl.khanacademy.org/computing/computer-programming/programming
https://pl.khanacademy.org/computing/computer-programming/html-css-js

Kanał Youtube:
http://miroslawzelent.pl/

Polecamy także przejrzenie kursów dostępnych na CodeAcademy i SnoopCode. Kursy te są interaktywne i pozwalają na żywo przetestować to, co się pisze; są jednak prowadzone w języku angielskim:
http://www.codecademy.com
http://www.snoopcode.com/
https://www.udacity.com/ 

Tworzenie stron WWW - dalsze kroki

Jeżeli masz już opanowane podstawy HTML, CSS i JavaScript, być może zainteresują Cię poniższe materiały:

Bootstrap

Bootstrap to darmowy framework, czyli zestaw gotowych elementów i kawałków programów, wykorzystywany przez programistów do łatwiejszego tworzenia stron WWW. Dzięki niemu nie trzeba pisać podstawowych elementów (np. ładnie wyglądających przycisków, najczęściej spotykanych układów strony) od zera, ale można wykorzystać gotowe elementy.
http://getbootstrap.com/getting-started/
http://www.w3schools.com/bootstrap/

jQuery

jQuery to biblioteka do języka JavaScript (czyli zestaw różnych przydatnych małych funkcji, programów) ułatwiająca wykonywanie wielu rzeczy przy pomocy JavaScript
https://learn.jquery.com/
http://www.w3schools.com/jquery/