Początek nauki programowania - prośba o podpowiedź.

Początek nauki programowania - prośba o podpowiedź.
M0
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:1
0

Dzień dobry. Mam 15 lat i jestem 8 klasie szkoły podstawowej. Ostatnio zainteresowała mnie tematyka programowania, więc postanowiłem, że od jutra rozpocznę naukę. Nie wiem nic, na niczym się nie znam, więc będzie to nauka od totalnego zera. Potrzebuję jednak opinii osób, które już ogarniają programowanie i mają naukę podstaw za sobą. Nie wiem czy mój plan nauki jest właściwy. A więc plan wygląda tak: Nauka podstaw w językach (poprzez oglądanie filmików z YT ok. 3 godzinnych, robienie zadań i samodzielnego eksperymentowania) : 1. Python 2. Java 3. JavaScript 4. C++ no i jeszcze opcjonalnie HTML i CSS które z tego co wiem to budują strony internetowe. 2. Zrobienie darmowego kursu CS50, który jest zalecany dla początkujących programistów (tyle przynajmniej wiem z YT) No i na tym mój plan się kończy bo nie mam pojęcia co dalej robić ze względu na mój brak wiedzy. Stąd moja prośba o sugestie i porady na temat nauki programowania. Czy ktoś zna darmowe dobre kursy (najlepiej po polsku, bo mój angielski jest przeciętny, jednak też przyjmę te po angielsku) dla osób takich jak ja? Czy ktoś mógłby mi podesłać jakieś link do strony, które pokazują jakie zagadnienia z programowania przerabiać, w jakim tempie i kolejności? Ile trwa nauka podstaw programowania (mam plan uczyć się w każdy dzień tygodnia oprócz niedzieli) ? Jeszcze druga kwestia. Zakładając, że po nauce podstaw programowanie by mi się spodobało i bym chciał wiązać z nim swoją karierę zawodową to... Czy jest szansa przygotowania się do Olimpiady Informatycznej w 3 lata? Byłbym nią zainteresowany, bo daje przepustkę na najlepsze uczelnie w Polsce i wymaga (tak jak każda olimpiada) ponad przeciętnej wiedzy na temat, a ja właśnie chcę być tym który jest ponad przeciętny. Będę wdzięczny za rozwianie moich wątpliwości i pomoc 😀

P1
  • Rejestracja:około 2 lata
  • Ostatnio:12 miesięcy
  • Lokalizacja:Wrocław
  • Postów:12
4

Programowanie głównie polega na wyszukiwaniu informacji na własną rękę w Internecie w celu rozwiązania problemów w projekcie/aplikacji etc.
Więc Twoim zadaniem ode mnie jest odnalezienie odpowiedzi na pytania które zadałeś u wujka Google.
Najpierw naucz się podstaw programowania, później będzie można myśleć dalej.

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:23 minuty
  • Lokalizacja:Silesia/Marki
  • Postów:5505
3
mmek09 napisał(a):

Dzień dobry. Mam 15 lat i jestem 8 klasie szkoły podstawowej.

Eh, chciało by się powiedzieć klasykiem z Jody Za stary

Ostatnio zainteresowała mnie tematyka programowania, więc postanowiłem, że od jutra rozpocznę naukę.

A ja od jutra zaczynam chodzić na jogę

Nie wiem nic, na niczym się nie znam, więc będzie to nauka od totalnego zera. Potrzebuję jednak opinii osób, które już ogarniają programowanie i mają naukę podstaw za sobą.

No to jestem

Nie wiem czy mój plan nauki jest właściwy. A więc plan wygląda tak: Nauka podstaw w językach (poprzez oglądanie filmików z YT ok. 3 godzinnych, robienie zadań i samodzielnego eksperymentowania) : 1. Python 2. Java 3. JavaScript 4. C++ no i jeszcze opcjonalnie HTML i CSS które z tego co wiem to budują strony internetowe.

Na początek skup się na jednym, to nie pięciubój nowoczesny

  1. Zrobienie darmowego kursu CS50, który jest zalecany dla początkujących programistów (tyle przynajmniej wiem z YT)

Nie mam pojęcia co to ten CS50, to coś związanego z końcem świata w 2050?

No i na tym mój plan się kończy bo nie mam pojęcia co dalej robić ze względu na mój brak wiedzy.

Jak już nauczysz się pythonga, Javy, Javy z Krypty i C++ to będziesz dobrze wiedzieć co robić dalej

Czy jest szansa przygotowania się do Olimpiady Informatycznej w 3 lata?

Chciałby zażartować iż jak nie zacząłeś w przedszkolu to nie ma szans, ale w zasadzie nie wiem co to OI. Jak ja byłem w liceum to wszyscy startowali w Olimpadzie Matematycznej

Byłbym nią zainteresowany, bo daje przepustkę na najlepsze uczelnie w Polsce i wymaga (tak jak każda olimpiada) ponad przeciętnej wiedzy na temat, a ja właśnie chcę być tym który jest ponad przeciętny.

No ogólnie fajnie iż jeszcze nic nie wiesz o informatyce, ale już wiesz iż chcesz być w tym ponadprzeciętny, powodzenia


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
PR
  • Rejestracja:około 11 lat
  • Ostatnio:3 miesiące
  • Lokalizacja:Pomorskie (Stare Kabaty)
2

@mmek09: Niestety, nikt tutaj Ci nie powie czy jesteś w stanie wystartować w jakiejś olimpiadzie, ani informatycznej, ani sportowej. (Moim zdaniem, że ktoś ma jakiś medalik, al'a gwiazdę przodownika pracy nie robi wrażenia. Staram skupiać się na czynach (Tak, ofc. ten medalik to też jakiś "czyn", Chyba źle to ująłem :> ) ).

Jak startowałem (W programowaniu) to moim głównym celem było po prostu działać w temacie - klepać kod - próbować dalej - szukać w google. Coś w rodzaju pętli.

Jedyna odpowiedź która prawdopodobnie ma jakiś sens to - po prostu wybierz sobie kierunek i zacznij działać.
Ja (ale to tylko moja propozycja) proponowałbym zacząć od Pythona.

Powodzonka.

edytowany 5x, ostatnio: Proxima
RJ
  • Rejestracja:ponad 2 lata
  • Ostatnio:około 3 godziny
  • Postów:431
0

@Proxima: a ja bym Pythona nie polecał na pierwszy język, tylko coś z rodziny C, bo jednak syntaktycznie Python jest dość specyficzny, a np. JavaScript, chociaż też ma ugly syntax to chociaż trochę przypomina klasyczne języki OOP.

Dodatkowo jeśli chodzi o JS to materiały się mu do śmierci nie skończą i jakoś tak naturalnie ten frontend jakoś tak na start najfajniej wchodzi, bo widzisz od razu coś zrobił 😛

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:23 minuty
  • Lokalizacja:Silesia/Marki
  • Postów:5505
2
rjakubowski napisał(a):

@Proxima: a ja bym Pythona nie polecał na pierwszy język, tylko coś z rodziny C, bo jednak syntaktycznie Python jest dość specyficzny, a np. JavaScript, chociaż też ma ugly syntax to chociaż trochę przypomina klasyczne języki OOP.

Jak OP chce klepać OI to pewnie szybciej to wyklepie w Pythongu niż w C


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
RJ
No tak ale OP mówi jako tako o nauce programowania 😛
KamilAdam
ale o OI też mówi, ogólnie o wielu rzeczach mówi. Trochę jak jak gdy mam dobry dzień i chcę i nauczyć się Haskella i Niemieckiego i drążek zamontować, a potem przychodzi wieczór i kończę na netflixie z piwem w ręku XD
Ornstein
  • Rejestracja:około 2 lata
  • Ostatnio:około 4 godziny
  • Postów:109
3
  1. Zacznij od nauki angielskiego. Do czytania polecam zainstalować sobie wtyczkę Tłumacz DeepL i jak czegoś nie rozumiesz, to tłumacz sobie na bieżąco. Bez angielskiego tutaj ani rusz. Sam to przerabiałem.

  2. Odpal sobie jakiś kurs na yt, jest tego masa. Tu masz Pythona po polsku link.

  3. Nie przepisuj wszystkiego bezmyślnie z kursu tylko po to, by go ukończyć. Staraj się wymyślać jakieś własne przykłady/zadania. Ewentualnie użyj google i znajdź sobie gotowe zadania.

    Powodzenia

Edit.
I nie napalaj się od razu na nie wiadomo co. Może być tak, że po 3 dniach zamiast się uczyć, będziesz wolał grać w cs'a. Wyluzuj.

edytowany 7x, ostatnio: Ornstein
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)