Aby spróbować sprawdzić, czy algorytm dla jakiegoś problemu jest prawidłowy, zwykle punktem wyjścia jest próba uruchomienia algorytmu ręcznie na kilku prostych przypadkach testowych - wypróbuj go na kilku przykładowych przypadkach problemów, w tym na kilku prostych „przypadkach narożnych” „. To świetna heurystyka: to świetny sposób na szybkie wyeliminowanie wielu niepoprawnych …
Wiele programów informatycznych wymaga dwóch lub trzech klas rachunku różniczkowego. Zastanawiam się, jak i kiedy stosuje się rachunek różniczkowy w informatyce? Treść CS pewnego stopnia w dziedzinie informatyki zwykle koncentruje się na algorytmach, systemach operacyjnych, strukturach danych, sztucznej inteligencji, inżynierii oprogramowania itp. Czy zdarzają się sytuacje, w których Rachunek jest …
Zastanawiam się nad tym pytaniem, odkąd byłem studentem. To pytanie ogólne, ale opiszę poniżej przykłady. Widziałem wiele algorytmów - na przykład dla problemów z maksymalnym przepływem znam około 3 algorytmów, które mogą rozwiązać problem: Ford-Fulkerson, Edmonds-Karp i Dinic, przy czym Dinic ma najlepszą złożoność. W przypadku struktur danych - na …
Obecnie kończę mgr informatyki. Interesuję się językami programowania, szczególnie systemami typu. Zainteresowałem się badaniami w tej dziedzinie i w następnym semestrze rozpocznę doktorat na ten temat. Oto prawdziwe pytanie: jak mogę wyjaśnić, co (chcę) zrobić osobom bez wcześniejszej wiedzy w dziedzinie informatyki lub dziedzin pokrewnych? Tytuł pochodzi od faktów, że …
Za kilka tygodni będę zaangażowany w pewien „dzień otwarty” na moim uniwersytecie. W ramach tego czasu ja (wraz ze współpracownikiem) dostaję całą grupę uczniów szkół średnich na dwie godziny, a także laboratorium komputerowe wystarczająco duże, aby pomieścić ich wszystkich, i muszę zrobić coś w rodzaju aktywność lub zestaw działań z …
W algorytmach i złożoności skupiamy się na asymptotycznej złożoności algorytmów, tj. Ilości zasobów wykorzystywanych przez algorytm przy wielkości wejściowej do nieskończoności. W praktyce potrzebny jest algorytm, który działałby szybko w skończonej (choć prawdopodobnie bardzo dużej) liczbie instancji. Algorytm, który działa dobrze w praktyce na skończonej liczbie instancji, którymi jesteśmy zainteresowani, …
Od wielu lat jestem kujonem komputerowym. Potrafię programować w kilku językach, a nawet je budować. Pewnego dnia usiadłem z kumplem i zapytałem, w jaki sposób komputer rzeczywiście pobiera prąd i coś z nim robi, i po prostu nie mogliśmy tego zrozumieć, a Google też niewiele pomógł. Mam na myśli, w …
Jako edukator CS na poziomie uniwersyteckim często pojawia się kwestia, którego języka programowania uczyć w pierwszym kursie programowania. Do wyboru są tysiące języków i wiele gorączek religijnych (lub gorączek) wspierających jeden obóz językowy nad drugim. Wszystkie te subiektywne uprzedzenia dotyczące każdego języka programowania bardzo utrudniają nauczycielowi wybór jednego z nich. …
Dijkstra w swoim eseju O okrucieństwie prawdziwego nauczania informatyki przedstawia następującą propozycję wprowadzenia kursu programowania: Z jednej strony uczymy czegoś, co wygląda na rachunek predykatu, ale robimy to zupełnie inaczej niż filozofowie. Aby wyszkolić początkującego programistę w zakresie manipulowania nieinterpretowanymi formułami, uczymy go bardziej jako algebry boolowskiej, zapoznając studenta ze …
Na moim uniwersytecie przydzielono mi ćwiczenie. Zabrałem go do domu i próbowałem zaprogramować algorytm, aby go rozwiązać, było to coś związanego z grafami, znajdowaniem połączonych komponentów, tak myślę. Potem zrobiłem najbardziej trywialną rzecz, która przyszła mi do głowy, a następnie pokazałem jej wykładowcowi. Po krótkiej obserwacji zauważył, że złożoność środowiska …
Jaka jest dobra metafora lub przykład dla wyjaśnienia angielskiej ważnej różnicy między klasyczną informatyką a „byciem dobrym w używaniu MS-Windows” Informatyka programowanie komputerowe za pomocą komputerów 3 bardzo różne rzeczy. Większość ludzi nie ma pojęcia, czym jest informatyka. Widzą tylko słowo „komputer”. Dlatego „on jest studentem informatyki” można interpretować jako …
Przeważnie piszemy program w języku wysokiego poziomu. Podczas nauki natknąłem się na język asemblera. Asembler konwertuje język asemblera na język maszynowy, a kompilator robi to samo z językiem wysokiego poziomu. Odkryłem, że język asemblera zawiera instrukcje takie jak move r1 r3, move 5 itp. I raczej trudno się go uczyć. …
Interesuje mnie pytanie, jak najlepiej uczyć kompletności NP na kierunkach informatycznych. W szczególności, czy powinniśmy tego uczyć stosując redukcje Karp czy redukcje Turinga? Uważam, że koncepcje kompletności i redukcji NP są czymś, czego powinien nauczyć się każdy kierunek informatyki. Jednak ucząc kompletności NP zauważyłem, że stosowanie redukcji Karp ma pewne …
Jaki jest najlepszy sposób, aby ktokolwiek mógł zrobić dobre wprowadzenie do teorii systemu rozproszonego, wszelkich książek lub referencji oraz tematów, które powinny zostać omówione w pierwszej kolejności, a także wymagania, aby rozpocząć naukę w tym temacie.
W niektórych miejscach na świecie ludzie zwykle nie mają dostępu do komputerów (a zatem i niewielkiej wiedzy na ich temat), a nawet jeśli mają, sprzęt i oprogramowanie są przestarzałe, a korzystanie z nich wiąże się z awarią zasilania i tym podobne. Brakuje też dostępu do (dobrych) książek. Jak mogę uczyć …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.