Uczenie się Javy i ćwiczenia

Uczenie się Javy i ćwiczenia
Daniellon17 axb
  • Rejestracja:prawie 2 lata
  • Ostatnio:ponad rok
  • Postów:1
0

Cześć wszystkim, zacząłem uczyc się javy od kompletnych podstaw. Wiedzę czerpie z kursu na Udemy i wszystko jest tam dobrze wytłumaczone ale jak dla mnie kurs zawiera troche za mało praktycznych zastosowań danych zagadnień i troche za mało ćwiczeń. Przykładowo takie podstawy jak zmienne itp ćwiczyłem sobie sam. Brałem jakiś dokument i starałem się go odwzorować w programie ale obliczenia, zastosowania operatorów, instrukcje warunkowe wolałbym mieć jakieś zadania do których sam muszę podejść i ewentualnie później sprawdzić rozwiązanie. A może to ja popełniam błąd w nauce? Czy najpierw trzeba poznac bardzo podstawowa teorie i później rożnego rodzaju przykłady i zastosowania tego? Prosiłbym o pomoc jak wy do tego podeszliście.

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:9 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
2
Daniellon17 axb napisał(a):

Czy najpierw trzeba poznac bardzo podstawowa teorie i później rożnego rodzaju przykłady i zastosowania tego? Prosiłbym o pomoc jak wy do tego podeszliście.

IMHO Najlepiej napisać jeden większy projekt a potem wrzucić tu do oceny


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
T3
  • Rejestracja:ponad 13 lat
  • Ostatnio:około rok
  • Postów:23
1

Jeżeli nie masz pomysłu na własny projekt to zawsze możesz skorzystać ze stron www, które oferują ćwiczenia w praktycznie każdym języku. Chociaż osobiście zdecydowanie bym polecał znalezienie własnego pomysłu (ważne jednak aby mierzyć siły na zamiary) - najlepiej coś co Tobie się przyda i nie ważne, że już takie narzędzie istnieje. Daje to dużą satysfakcję i motywacje na dalsze działanie. Pisząc coś bardziej złożonego będziesz napotykał problemy, które nauczą Cię wiele, zostaną w głowie i w przyszłości gdy podobny problem znów się pojawi będziesz miał w rękawie rozwiązanie.

Co do teorii i praktyki musisz znaleźć swój balans, ale uważam, że praktyki musi być zdecydowanie więcej niż teorii.

JB
  • Rejestracja:około 2 lata
  • Ostatnio:3 dni
  • Lokalizacja:Holandia
  • Postów:843
0

Wiesz od czego ja zaczynałem? Od narysowania kwadratu w programie (to był jeszcze dos i uruchamianie ręczne trybu graficznego) i sterowanie nim za pomocą klawiatury. A potem to już baza danych podpięta pod interfejs użytkownika (takie coś jak Norton Commander). W C i C++. I bardzo dogłębne analizowanie przykładów z helpa borlanda. Widzisz gdzieś w tym teorię?


edytowany 1x, ostatnio: johnny_Be_good
Z3
  • Rejestracja:prawie 2 lata
  • Ostatnio:prawie 2 lata
  • Postów:3
1

@Daniellon17 axb,

gdyby w świecie programistów mogła istnieć jakaś bogini to z całą pewnością byłaby nią: frustracja. To ona daje najwięcej do myślenia i co ważne to ona pomaga wpłynąć na zmianę perspektywy. Tak jak Alan Key określił, zmiana perspektywy jest warta +80 IQ. Liczy się wyłącznie to co jesteś w stanie dostrzec, reszta jest marginalna.

Jeśli będziesz próbował się od tego odciąć od frustracji szukając w książkach metody na dowolne problemy jakie wyręczą Cię z myślenia to będziesz wiele lat stał w miejscu. Te materiały nie uczą myślenia, lecz skupiają się na zaprezentowaniu narzędzia i niestety tylko od tej dobrej strony. Najgorszą rzecz jaką mogą te materiały dla Ciebie zrobić to przedstawienie jakiegoś szablonu wedle którego masz dalej robić rozwiązanie. To jest najgorsza opcja, bo odłącza Twój mózg od myślenia, zmyka Cię w jednym dość szczelnym schemacie, i w efekcie utrudnia zrozumienie szeregu wielu rzeczy jakie na siebie wzajemnie wpływają podczas rozwiązywania problemów. Byle głupiec da się prowadzić za pomocą szablonu.

Frustracja mówi Ci co jest problematyczne. Warto tą rzecz wziąć pod lupę. Zidentyfikować problem jaki dokucza w pracy. Ocenić z czego się wziął, czy można go zamienić na coś innego. Jakie są plusy / minusy, a jeśli poczujesz się wyczerpany zostaw temat na inny dzień bądź wróć do sprawy, gdy będziesz miał więcej informacji.

Dodatkowo zamiast mówić Ci co możesz zrobić, aby zmniejszyć frustrację, lepiej byś się dowiedział co możesz zrobić, by ją podkręcić na wyższy poziom:

  1. Zacznij pisać tak, aby w kodzie stosować wyłącznie to co niezbędne, niby proste, ale większość rzeczy w IT to coś w rodzaju "polepszaczy". Niby dają kopa, ale w efekcie tylko utrudniają zrozumienie i przeciwdziałanie złym skutkom. Jak chcesz być dobry to idź w odwrotnym kierunku i poświęć trochę czasu na eliminowanie złożoności przy przerośniętych rozwiązaniach. Ten krok prowadzi do zrozumienia środków jakimi dysponujesz. Bądź tutaj trochę jak kucharz, czy malarz, który jak już coś dodaje to w jasnym i konkretnym celu. Eliminując złożoność szybciej zrozumiesz jakim celom odpowiadają poszczególne środki, masz nad tym większą kontrolę i co ważne stokroć łatwiej jest tak odpowiadać na awaryjne sytuacje.

  2. Zacznij pomagać innym osobom bądź pisz np. na blogu o programowaniu. Zobaczysz niejednokrotnie, że mimo dobrych intencji nie będziesz potrafisz objąć tematu / problemu w słowa i problemem nie jest bycie słabym w humanistycznych przedmiotach (to dobra wymówka swoją drogą), lecz fakt, że jeszcze wiele rzeczy nie widzisz i tym bardziej trudno o tym jakoś jasno się wyrażać. Opisuj te rzeczy jakie dały Ci do myślenia, pozwól im leżakować, niech dojrzewają, a będą lepsze. Jeśli masz problem z publicznymi notatkami (ja ich nie lubię, bo mi blokują mi głębsze rozkminy) to pisz w notatniku i wracaj do nich co jakiś czas.

  3. Oczywiście skok w większe projekty też jest na miejscu, ale rozmiar projektów lepiej dobierać stopniowo. Mniejsze projekty dają więcej szans na odkręcenie złego ruchu.

edytowany 2x, ostatnio: znowutosamo3
AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:4 dni
  • Postów:3561
0
johnny_Be_good napisał(a):

Wiesz od czego ja zaczynałem? ... Widzisz gdzieś w tym teorię?

To widać.


Bo C to najlepszy język, każdy uczeń ci to powie
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8403
0

są takie stronki jak LeetCode czy inne, gdzie można poćwiczyć. Takie coś często czasem się określa code kata. Możesz szukać tez pod code excercises itp.

Tylko o ile nic nie ma złego w ćwiczeniach, to jeśli to jest jedyny sposób nauki, to się oddalasz od praktyki. Programowanie to budowanie. Programiści nie uczą się najwiecej na ćwiczeniach, tylko na realnych projektach.

A może to ja popełniam błąd w nauce? Czy najpierw trzeba poznac bardzo podstawowa teorie

Trzeba po prostu umieć robić coś ze świadomością, że jesteś w tym słaby i ciagle ci się coś nie udaje i wszystko musisz sprawdzać albo robisz źle. To nie jest tak, że nauczysz się prawidłowego programowania z ćwiczeń i nagle zaczniesz pisać większe programy dobrze jeśli wcześniej nie pisałeś nic poza ćwiczeniami. Programowanie to rozwiązywanie problemów, więc potrzebujesz mieć kontakt z tymi problemami i uczyć się je rozwiązywać (a nie tylko pisać kod wg schematu).

Trzeba powoli się oswajać z programowaniem ( np. Zaczynać od jakichś mniejszych projektów) ale jednak zacząć robić to samodzielnie.


edytowany 8x, ostatnio: LukeJL
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:dzień
  • Postów:3277
0

Jeżeli uczysz się od zera i jest to twój pierwszy język programowania, to polecam zacząć od podstaw, czyli prostych algo w Java: https://adventofcode.com/2022/events kilkaset ćwiczeń, które pozwolą ogarnąć myślenie algorytmiczne, instrukcje sterowania przepływem, zmienne itd. Do tego jakiś podręcznik do Java + analiza tego co zrobili inni (sporo jest na githubach).

P7
  • Rejestracja:prawie 2 lata
  • Ostatnio:prawie 2 lata
  • Postów:3
0

@Daniellon17 axb:
aż dziwi mnie to, że nikt Ci nie polecił:
https://hyperskill.org/tracks/8?category=2

Multum ludzi z tego teraz korzysta. Na bieżąco omawiana teoria + zadania praktyczne. Warto to przerobić. Są też kursy bardziej doświadczone. Generalnie na reddicie są reflinki że masz 3 miesiące za darmo.

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)