TL;DR Trzeba powótrzyć podstawy. Źródła do nauki. Dlaczego Coursera? Kurs z Youtube i notatki do niego.

Muszę uczciwie przypomnieć sobie co umiem, bo inaczej nie ruszę z miejsca. Przy okazji  możesz zobaczyć od początku jak wygląda nauka programowania w moim wykonaniu. Dodatkowo znajdziesz tu kilka ciekawych źródeł od których warto zacząć.

Przede wszystkim polecam Ci protal Coursera. Ja robiłem kurs z Rise University, ale kursy tam nie odbywają się w sposób ciągły tylko w konkretnych terminach więc poszukaj co akurat jest dostępne.

Dlaczego Coursera?

Przede wszystkim ze względu na zadania do wykonania, które są sprawdzane przez społeczność. Ty sprawdzasz komuś a ktoś Tobie! Proste a bardzo dużo wnoszące do nauki. Do tego masz za zadanie zrobić konkretny projekt a to też dość ważne, żeby wiedza lepiej się wślizgiwała do głowy.

Łee, ale to po angielsku

Tak, po angielsku! Chyba wszyscy podkreślają, że lepiej z takich źródeł korzystać. Zresztą prędzej czy później będziesz musiał skorzystać ze Stack Overflow (jeśli napotykasz jakiś problem to prawdopodobnie, ktoś przed Tobą już go napotkał i rozwiązanie jest właśnie na tej stronie) czy choćby z Google a to ma sens głównie po angielsku. Nie zrażaj się, że nie jesteś native speakerem. Wystarczy, że trochę ogarniasz angielski. To kurs programowania a nie filologii angielskiej.

YouTube

Ciężko uczyć się od zupełnej niewiedzy z youtube, bo kursy, które tam znajdziesz to najczęściej kompendium wiedzy. Ciężko to przełożyć potem na samodzielne kodowanie. Natomiast po kursie dla początkujących z Coursery, taki youtube może spełnić fajną rolę usystematyzowania twojej wiedzy. To tylko moje odczucia, tak czy siak warto zajrzeć na youtube i zobaczyć czy kodowanie w ogóle cię kręci. Ja polecam zacząć od tej playlisty, bo gość jest spoko i fajnie tłumaczy:

Dobra, sam zabieram się teraz za oglądanie…

OK, zrobimy tak, że wrzucę tutaj najważniejsze info z każdego odcinka. Takie moje notatki z tego kursu. Może mi się to przydać, żeby szybko wrócić do konkretnego zagadnienia. Czy tobie się to przyda? Wątpie, lepej obejrzyj i zrób takie notatki samemu, ale kto wie. Szarym kolorem zaznaczyłem tematy na obecnym etapie nieprzydatne.

  1.  Instalacja: nie ma co się tu rozpisywać
  2.  Numbers:
    kolejność działań jest uwzględniana;
    ** potęgowanie, % modulo, a//b zaokrągla wynik do pełnej liczby
    variable tworzymy przez: nazwa = wartość i wtedy możemy dodać tuńczyki do siebie
  3.  Strings: tworzymy przez „” lub ;
    „It\‚s time” – ignoruje apostrof w zdaniu;
    r„C:\Dokumety\nudepics” – podaje string w niezmienionej formie
    \n = przenosi do kolejnej lini
  4. Operacje na string: liczymy od 0
    user = ‚Ale Ludziak’
    user[0] zwraca pierwszą literę
    user[-1] zwraca ostatnią literę
    user[1:6] zwraca litery w podanym przedziale, tutaj: le Lu
    user[:-1] od początku do końca
    len(‚abcde’) zwraca liczbę liter
  5. Lists: tworzymy przez: lista = [1, 3, 8, 11]
    lista[1] zwraca drugą pozycję z listy
    lista[1] = 4 podmienia wartość pozycji w liście
    lista + [5, 7] dodawanie pozycji do listy
    lista.append(0) dodaje wartość do listy
    operacje które działają na string działają też na listach (patrz pkt. 4)
  6. Instalacja IDE – PyCharm czyli programu do wygodniejszego pisania kodu
  7. if, elif, else: nie wiesz co chodzi to obejrzyj ten odcinek
  8. for: zrób coś „dla” każdej wartości z listy
  9. range: zrób coś w zakresie; while: wykonaj jeśli spełniony jest warunek
  10. Dodawanie kompentarzy + „break„: zatrzymanie pętli
  11. Continue: jeśli wartość w pętli się zgadza pomija zadanie i wykonuje dalej pętlę
  12. Functions: nie wiesz co to funkcje? Obejrzyj!
  13. Return values: zwraca wartość funkcji
  14. Default Values for Argument: jeśli nie podasz argument w funkcji to wrzuci tam wcześniej ustaloną wartość (pewnie sam nie będę za chwilę wiedzieć o co mi w tym skrócie myślowym chodzi 😉
  15. Variable Scope: różnica pomiędzy zmienną w funkcji(działa tylko w tej funkcji w której jest) i poza nią (działa dla każdej funkcji)
  16. Keyword Argument: więcej niż jeden argument w funcji
  17. Flexible Number of Arguments: jeszcze nie wiemy ile chcemy arguments
  18. Unpacking Arguments: mamy listę, która zawiera arguments, żeby ją użyć w funkcji dajemy *lista w miejsce argument
  19. Sets: {} taka lista bez duplikatów
  20. Dictionaries: {key=value}
  21. Modules: super fajna sprawa, można zapisać funkcję do pliku i używać jej w innych projektach
  22. Download an Image from the Web: tłumaczy jak dodawać moduły z netu do PyCharm, str(5) – robi z liczby string
  23. How to Read and Write Files: zapisywanie i odczytywanie pliku. Super przydatne!!!
  24.  Downloading txt file from internet
  25.  Ściąganie danych i zapisywanie ich do pliku
  26.  Przeszukiwanie strony i wyciąganie informacji ze strony
  27.  Przeszukiwanie podstron i wyciąganie informacji
  28.  Exception: Pętla while i wyjątki w razie błędów, przydatne szczególnie do GUI
  29. Classes and Object: Super ważne! Podstawy
  30. __init__: Funkcja w class, która zawsze jest odpalana bez wywoływania
  31. Class vs Instance Variables: Rozszerzenie poprzedniego punktu
  32. Inheritance: Dziedziczenie, class dziecko i rodzic, jedna klasa odwołuje się do drugiej. Super przydatne!
  33. Multiple Inheritance: rozwinięcie poprzedniego punktu, jedna class odwołuje się do kilku class
  34. threading: wywołanie wielu funkcji w tym samym czasie. Może być przydatne!
  35. Word Frequency Counter: przeszukuje stronę i zbiera wszystkie słowa tam użyte
  36. Word Frequency Counter: robi listę słów i czyści je z dodatkowych znaków np. %$@!
  37. Word Frequency Counter: liczy ilość słów
  38. Unpack List or Tuples: wyciąganie danych z list i tuple. Super przydatne!
  39. Zip: robi z dwóch list jeden tuple, przydatne
  40. lambda: taka mała funkcja jednorazowego użytku, przydatne do tkintera
  41. Min, Max, and Sorting Dictionarie: sortowanie albo podawanie min lub max wartości w dictionary za pomocą Zip (patrz pkt 39)
  42. – 48. Działania na obrazie, fotoszop dla ubogich, na razie nieprzydatne
  43. struct: nie ogarniam co to i do czego może się przydać, konwertowanie danych na bity
  44. map: takie inne loop, do każdej pozycji w liście wykonuje funkcję, może być przydatne
  45. Bitwise Operators: znowu odpływa tym razem w przestworza binarne, na razie nieprzydatne
  46.  Finding Largest or Smallest Items: heapq – inny sposób wyszukiwania i sortowania w dictionary, może być przydatne
  47.  Dictionary Calculations: Kalkulacje wartości w dictionary, może się okazać turbo przydatne!
  48.  Finding Most Frequent Items – collection import Counter: zwraca najpopularniejsze items w liście, counter.most_common(3) – np. 3 najpopularniejsze
  49.  Dictionary Multiple Key Sort: Sortowanie dictionery zarówno po key jak i value. Czyli np. po imieniu a potem nazwisku jak powtarzają się imiona. Może być super przydatne!
  50. Sorting Custom Objects: Sorting Custom Objects __repr__ – reperezentacja class, jeśli chcemy wywołać daną klasę to tam wrzucamy co chcemy otrzymać + kolejny sposób na sortowanie dictionary

Fajnie się oglądało. Trochę mi się zachciało znów programować 🙂

2 uwagi do wpisu “Krok w tył – dwa do przodu

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s