matematykaszkolna.pl
algorytmy i struktury danych programowanie Pavlowicz: Siema, potrzebuję książek i tutoriali z podstaw algorytmów i struktur danych używanych w programowaniu możecie coś polecić drodzy Informatycy/studenci itd Od czego dobrze byłoby zacząć?
18 mar 20:20
Trivial: Cormen ma w sobie wszystko. Nie musisz całego ogarniać − im dalej tym bardziej specyficzne algorytmy. Jest też kurs z MIT ocw − dobrze prowadzony. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/
18 mar 20:29
Pavlowicz: ok dzięki, znalazłem to u siebie na półce Cormena wyd. Polskie, jest tego trochę w pseudokodzie co wystarczy zrozumieć,wykuć,umieć przekuć na kod , algorytmy na początku się nie przydają ale sporo słyszałem,że na rozmowach kwalifikacyjnych o nie pytają i dostajesz jakieś zadanie algorytmiczne do rozwiązania. Swoją drogą z programowani mógłbyś np zapodać kilka takich zadań gdzie trzeba posłużyć się jakimś algorytmem z Cormena, any idea? Te zadania z Cormena są dość nie mało realistyczne tzn nie zawierają żadnych zadań związanych z programowaniem, natomiast pełno tam zadań z teorii które z programowaniem nie mają nic z wspólnego, a z biadoleniem na jakimś uniwerku wiele.
18 mar 20:42
Trivial: Algorytmy z natury rzeczy są dużo bardziej teoretyczne. Podstawowe idee, opisane między innymi w Cormenie używane są wszędzie − z wyjątkiem tych bardziej zaawansowanych, które używane są w wyspecjalizowanych zastosowaniach. Każdy przyzwoity język programowania ma bibliotekę standardową z drzewami, listami, stosami, mapami, tablice haszowane, itd. Korzysta się z nich w codziennej pracy, więc warto wiedzieć w jaki sposób działają. Nie wiem jak jest z zadaniami, ale czy nie możesz sobie sam ich wymyślić? Przykładowo, zaimplementować jakiś algorytm i porównać z innym, który robi to samo. Jak działają dla dużej ilości danych? Jak dla małej? A na rozmowach kwalifikacyjnych mogą pytać o cokolwiek.
18 mar 21:03
Pavlowicz: ok zrozumiałem,dziękuje za odp, a kojarzysz dobry tutorial do assembly x86 na pc/windows lub linuks książki itd ? Miałeś coś styczności z tym językiem na studiach/w pracy? chodzi o wytłumaczenie tych rzeczy które trzeb wiedzieć przy programowaniu niskopoziomowym,rejestry,flagi,ogólne zasady działania peceta, oraz składnia assembera. Obecnie na stronie helionu nie znalazłem nic ciekawegoemotka Assembly może jako 3−ci język programowania zaczne przeglądać go po C i C++ jak już sobie popisze coś w C i C++ to zerkne i zobacze czy taki diabeł straszny,może napisze kilka prostych programów ale bardziej mnie interesuje zrozumienie jak co działa w assembly i jak to się przekłada na inne języki programowania.
19 mar 17:48
Trivial: Pavlowicz, zamiast uczyć się wszystkiego na raz, proponuję uczyć się tych rzeczy po kolei... Zacznij od C i naucz się go dobrze. Język C jest minimalistyczny − jego nauka nie powinna zająć zbyt długo. Na pewno nie warto zaczynać od assembly.
20 mar 10:40
wredulus_pospolitus: Pavlowicz ... dobra rada −−− jako programista/informatyk będziesz częściej miał styczność z tym 'biadoleniem na jakimś uniwerku' niż z właściwym programowaniem. Pisanie kodu to zabawa na parę godzin ... 'rozwiązanie problemu' to zabawa na długie miesiące. Proponuję Ci teraz zastanowić się poważnie nad tym kim chcesz być w drabince: 1) Programistą (czyli człowiekiem, którego zadaniem jest 'przeklepanie' kodu do komputera) 2) Twórcą kodu (czyli człowiekiem, który dostając konspekt tworzy program ubierając go w kod) 3) Twórcą programu (czyli człowiekiem, który tworzy algorytmy, które później twórcy kodu 'przekują' na kod programu) 4) Przedstawicielem (czyli człowiekiem, który wyciągnie wszelkie konieczne informacje od klienta, na temat tego jak program <który zleca stworzyć> ma pracować ... tworzy coś na wzór 'schematu blokowego', który przekazuje do twórcy programu) To są cztery stanowiska − oczywiście, w niektórych firmach są one połączone (ze względu na małe środki finansowe i/lub zdolnych ludzi). Jeżeli myślisz nad tym, aby być kolejnym Billem Gates'em (czy kto tam teraz jest 'na topie') ... albo chociaż porządniej zarabiać ... to właśnie te "zadania z teorii" musisz mieć opanowane w mały paluszku. To nie problem wklepać kod, to nie problem kod stworzyć ... problemem jest stworzyć 'całą otoczkę' czyli wpaść na pomysł, jak program ma działać, co będzie potrzebował, co ma dawać, co i gdzie może się 'wyhaczyć' −−− za to 'kasę się dostaje', a kod może przeklepać pierwszy lepszy człowiek po 2 miesięcznym przeszkoleniu.
20 mar 10:59
Trivial: wredulus, nie rozumiem czym różni się w tej Twojej drabince programista od twórcy kodu.
20 mar 11:47
wredulus_pospolitus: Programista "nie tworzy" kodu −−− trochę idiotyczne stanowisko, ale spotkał się z takim kolega pracujący dla specjalizującej się w oprogramowaniu analitycznym. W tejże firmie 'programiści' implementują kod stworzony przez przełożonego i go testują, ale nie nanoszą żadnych korekt.
20 mar 12:07
Trivial: Rzeczywiście idiotyczne. emotka
20 mar 12:10
asdf: Pavlowicz − zacznij od C: jak chcesz to zrob sobie: 1 − kolko i krzyzyk 2 − obliczanie wyznacznika metodą Gaussa 3 − sudoku (to moze byc juz trudniejsze) 4 − saper (tu tez trzeba chwile pomyslec, zeby fajnie dzialalo trzeba znac rekurencje) mala podpowiedź: zacznij robić, a nie rozpisywac sie ktora ksiazka jest najlepsza..
20 mar 15:28
Woźniak: Oj Woźniak, Woźniak...
20 mar 22:58
Pavlowicz: ok dziękuje wredulus za zwrócenie uwagi na pewną istotną sprawę, jest w tym logika emotka C jest proste już przeczytałem do niego 700 stronnicowy podręcznik w 20−25 dni.Teraz czytam C++ S.Praty i to trochę dłużej zajmie. Billem Gatesem nie chcem zostać, ale zaczne od tego co każdy czyli od algorytmów i klepania kodu. Jak trochę popisze w C i C++ poczytam Cormena to spróbuje coś samemu wykombinować, na początku może gra w 2D z prostą kolorową grafiką.Chociaż na chwilę obecną nie mam pomysłu z jakiego środowiska i bibliotek skorzystać.
21 mar 16:04
asdf: do gry mozesz wykorzystac te biblioteki: http://cpp0x.pl/kursy/Kurs-OpenGL-C++/Pierwszy-program/103 poczytaj tez o glut, QT − mozliwosci jest duzo, np. https://informatyka.wroc.pl/node/473 P.S na poczatku jednak bym nie zajmowal sie takimi rzeczami − po prostu poznawal jak dzialają klasy, dziedziczenie, operatory. proste, male programiki, pozniej listy, drzewa − ogolnie: slowniki. Dopiero przy fundamentalnych podstawach brac się za gre, bo nie widze sensu tworzenia gry bez znajomosci struktur danych, ale to tylko moje zdanie
21 mar 21:57