Nauka programowania - Wy dajecie zadania, ja staram się je wykonać.

4

Hej.
Od dłuższego czasu próbuję nauczyć się programować i coś tam już umiem, jednak moim największym problemem jest przeskoczenie pewnej bariery, przejście z tego amatorskiego/hobbystycznego poziomu na kolejny level.
Łapię się na tym, że ciągle wałkuje te same tematy - pętle, zmienne, switche etc... Co dorwę się do jakiegoś kursu czy książki to znowu przechodzę przez te początkowe tematy.

Nie jestem w stanie wymyślić jakichś projektów, czegoś sensowniejszego, czegoś co pozwoli mi uporządkować dotychczasową wiedzę i dodatkowo zmusi mnie do poznania nowych rzeczy. Do tej pory moim największym projektem było coś na wzór snake'a w konsoli, a właściwie jedynie system poruszania się w konsoli + losowe generowanie "pokarmu".

Przechodząc do sedna. Chciałbym z Waszą pomocą stworzyć kilka projektów - na początku coś prostego, coś co pokażę moje miejsce w szeregu.
Wydaję mi się, że taka forma - "ktoś daje mi zadanie - ja staram się je rozwiązać i wstawiam kod - ktoś pokazuje mi co robię źle i co powinienem poprawić" - sprawi, że będę bardziej zmobilizowany do działania.

PS.
Nie jestem kolejnym, który napalił się na programowanie po przeczytaniu artykułu o zarobkach w jakimś brukowcu. Aktualnie studiuję właśnie informatykę + pracuję w branży IT jednak z programowaniem nie mam nic wspólnego.

///

I właśnie, zadania bym rozwiązywał w C# (próbował rozwiązywać).

2

Właśnie mam tak samo, dlatego już zacząłem pisać najprostsze programy przy użyciu WPF, np. todo liste, pomodoro, kalkulator. Następny cel to napisanie czegoś większego przy użyciu klas, interfejsów, zapisu do plików, może przepisanie jakiejś aplikacji z sklepu windows w uproszczonej wersji.

2

A jakie aplikacje chciałbyś robić? Desktopowe/Webowe/Mobilne? Bo od tego dość dużo zależy.

0
Sirvius napisał(a):

A jakie aplikacje chciałbyś robić? Desktopowe/Webowe/Mobilne? Bo od tego dość dużo zależy.

Domyślnie chciałbym iść w programowanie webowe - typowy backend, nie chcę się bawić we wszelkie ficzery frontendowe.

2
AnotherRandomCoder napisał(a):
Sirvius napisał(a):

A jakie aplikacje chciałbyś robić? Desktopowe/Webowe/Mobilne? Bo od tego dość dużo zależy.

Domyślnie chciałbym iść w programowanie webowe - typowy backend, nie chcę się bawić we wszelkie ficzery frontendowe.

Jak webowe to:

  • Strona a'la Sticky Notes w Windowsie 10 -> Tworzenie, zapisywanie, usuwanie notatek + ficzery jakie byś tylko chciał - System logowania, może jakieś odznaczanie rzeczy które zrobiłeś i do tego tracker mówiący ile z tego co zapisałeś udało ci się zrobić, niech twoja wyobraźnia zaszaleje.
  • Aplikacja do Ticketów dla Help Desku - Samo wytłumaczalne chyba.
  • Może jakiś archiwer pozwalający ci automatycznie organizować rzeczy po ich przeznaczeniu. (dokumenty z .pdf do jednego folderu, z .doc do drugiego, itd.)
  • Podstawowa gra tekstowa z logiką jaką tylko byś chciał - Wiem, że działa na konsolowych, więc tutaj też powinno się sprawdzić.

Tak na prawdę ogranicza cię tylko twoja własna wyobraźnia, a we front-end zawsze warto się pobawić, szczególnie jak będziesz miał styczność z webem :D

1

Gra w Zycie w WPFie (np jako NxN grid buttonow)

3

Jak juz napiszesz te [CIACH!] z gory to...

Webcrawler & webscraper. Pobieraj naglowki watkow z reddita i segreguj je wedlug kategorii. Watek pobrany z /r/nodejs automatycznie kieruj do kategorii nodejs. Daj rejestracje, komentarze, system ocen. Z czasem dorzucisz avatary, oceny komentarzy, wyswietlanie trending posts np. Trending in Technology wrzucisz watki zwiazane z nowinkami technologicznymi, Trending in Sport i najpopularniejszy zbior 10 wpisow z dzialow zwiazanych ze sportem - boks, mma, pilka nozna, nba etc. a pod nimi regularne wpisy wraz z opcjami sortowania wedlug uzytkownika. Zapisywanie ustawien personalizacji (na poczatek moze byc ustawienie segregowania wpisow i komentarzy).
Oczywiscie zeby nie bylo za prosto - napiszesz wlasny algorytm do wybierania postow do Trending. Bedzie on wybieral je na podstawie wag, a w ich sklad niech wchodzi ilosc ocen wpisu, ilosc komentarzy, a wpis bedzie wisiec w tym dziale bazujac na stosunku daty ostatniego komentarza i daty dodania wpisu. Im starszy wpis i mlodszy komentarz tym dluzej w trending.
Do uslyszenia za 2 lata :-)

PS. Obrazki pobieraj tylko do trending, a reszte tekstowo. I tylko naglowki.

1

Polecam zaznajomić się z tym artykułem jeśli szukasz pomysłu na swój projekt:
https://profesorek96.blogspot.com/2018/11/co-mam-programowac-pomys-na-projekt.html

4

Dopiero co skończył sie Advent of Code, ale nadal możesz wziąć sobie zadania ;)

6

challenges.png
Daj znać jak skończysz, jest jeszcze parę takich list w necie (:

0
stryku napisał(a):

challenges.png
Daj znać jak skończysz, jest jeszcze parę takich list w necie (:

Nawet nie będę zabierał się za te wszystkie zadania. Wybiorę sobie kilka(naście) i postaram się coś z tego stworzyć, w międzyczasie doczytam o technologiach webowych (w moim przypadku .net core) i postaram się w końcu zrozumieć OOP!

Dziękuje za wszystkie odpowiedzi.

0

Jeżeli szukasz też małych zadanek algorytmicznych to zerknij na stronkę CodeWars.

1

A co myślicie, żeby tu na forum zrobić "kącik" typu zadania, puzzle czy cuś takiego, z autorskimi, nigdzie nie opublikowanymi zadaniami? Autor wątku-zadania, mógł by wtedy ocenić, doradzić itd.

0

Na tej liście jest, moim zdaniem, pewien błąd dot. szachów i Go, bo ktoś kto sporządzał, wziął pewnie pod uwagę ogólne game complexity: https://en.wikipedia.org/wiki/Game_complexity. Samo zrobienie programu, co poprawnie ustawi kamienie w Go jest prostsze niż coś analogicznego dla szachów (lista twierdzi, że odwrotnie). Dopiero przy próbie zrobienia silnika sprawa się sypnie (na liście jest by tego silnika do Go nie robić), bo np. przy alfa-beta stosowanym w silnikach szachowych, w Go będzie od groma więcej kombinacji.

1

https://flaviocopes.com/sample-app-ideas/ tutaj jest kilka propozycji :)

0

colobot ;P

0

Może na dalszym etapie tutaj znajdziesz tez dla siebie: https://www.codingame.com

1 użytkowników online, w tym zalogowanych: 0, gości: 1