Czy muszę być dobry z matematyki, aby kodować
Nie „osoba matematyczna”? Możesz być lepszy w nauce kodowania, niż myślisz
Umiejętności językowe są silniejszym predyktorem umiejętności programowania niż wiedza matematyczna, zgodnie z nowym badaniem University of Washington. Tutaj współautorka badań Malayka Mottarella pokazuje kodowanie w Pythonie podczas noszenia specjalistycznego zestawu słuchawkowego, który mierzy aktywność elektryczną w mózgu. Justin Abernethy/U. Waszyngtonu
Chcesz nauczyć się kodować? Odłóż książkę matematyczną. Zamiast tego ćwicz te umiejętności komunikacyjne.
Nowe badania z University of Washington stwierdzają, że naturalna zdolność języków uczenia się jest silniejszym predyktorem nauki programowania niż podstawowa wiedza matematyczna lub liczenie. To dlatego, że pisanie kodu obejmuje również naukę drugiego języka, zdolność do nauczenia się słownictwa i gramatyki tego języka oraz tego, jak współpracują ze sobą w celu przekazywania pomysłów i intencji. Inne funkcje poznawcze powiązane z obiema obszarami, takie jak rozwiązywanie problemów i użycie pamięci roboczej, również odgrywają kluczowe role.
„Wiele barier w programowaniu, od wymagań wstępnych po stereotypy tego, jak wygląda dobry programista, koncentruje się na idei, że programowanie opiera się w dużej mierze na zdolnościach matematycznych, a ten pomysł nie narodził się w naszych danych” – powiedział główny autor Chantel Prat, powiązanie psychologii w UW i w Instytucie Uczenia się i mózgu. „Nauka programowania jest trudna, ale jest coraz ważniejsza dla uzyskania wykwalifikowanych pozycji w sile roboczej. Informacje o tym, co trzeba być Dobry w programowaniu jest krytycznie zaginione w dziedzinie, która notorycznie powoli w zamknięciu luki płciowej.”
Opublikowane online 2 marca w Raportach Scientific, czasopismo o otwartym dostępie z Nature Publishing Group, badania zbadały zdolności neurokognitywne ponad trzech tuzinów dorosłych, gdy nauczyli się Pythona, wspólnego języka programowania. Po baterii testów w celu oceny ich funkcji wykonawczych, umiejętności językowych i matematycznych uczestnicy ukończyli serię lekcji i quizów online w Python. Ci, którzy nauczyli się Pythona szybciej i z większą dokładnością, zwykle mieli mieszankę silnych umiejętności rozwiązywania problemów i języków.
W dzisiejszym świecie skoncentrowanym na STEM nauka kodowania otwiera różne możliwości pracy i rozszerzonej edukacji. Kodowanie jest związane z matematyką i inżynierią; Kursy programowania na poziomie uczelni zwykle wymagają zaawansowanej matematyki, aby się zapisać i są ucząc się w oddziałach informatycznych i inżynierii. Inne badania, a mianowicie profesora psychologii UW Sapna Cheryan, wykazały, że takie wymagania i postrzeganie kodowania wzmacniają stereotypy dotyczące programowania jako męskiej dziedziny, potencjalnie zniechęcając do dążenia kobiet do kontynuowania go.
Ale kodowanie ma również podstawę w języku ludzkim: programowanie polega na tworzeniu znaczenia przez łączenie symboli w sposób oparty na regułach.
Chociaż kilka badań dotyczyło powiązań poznawczych między uczeniem języka a programowaniem komputerowym, niektóre dane mają dziesięciolecia, przy użyciu języków takich jak Pascal, które są już nieaktualne, i żaden z nich nie używał miar umiejętności naturalnego w celu przewidywania indywidualnych różnic w uczeniu się programowania.
Tak więc Prat, który specjalizuje się w neuronalnych i poznawczych predyktorach uczenia się języków ludzkich, postanowił zbadać indywidualne różnice w tym, jak ludzie uczą się Pythona. Python był naturalnym wyborem, wyjaśnił Prat, ponieważ przypomina struktury angielskie, takie jak wgłębienie akapitu i używa wielu prawdziwych słów, a nie symboli funkcji.
Aby ocenić cechy neuronowe i poznawcze „programowania umiejętności”, Prat zbadał grupę rodzimych użytkowników angielskich w wieku od 18 do 35 lat, którzy nigdy nie nauczyli się kodować.
Przed nauczeniem kodowania uczestnicy wzięli dwa zupełnie różne rodzaje ocen. Po pierwsze, uczestnicy przeszli pięciominutowy skanowanie elektroencefalografii, który odnotował aktywność elektryczną ich mózgów, gdy rozluźnili się z zamkniętymi oczami. W poprzednich badaniach Prat wykazał, że wzorce aktywności neuronowej, podczas gdy mózg jest w spoczynku, mogą przewidzieć do 60% zmienności prędkości, z jaką ktoś może nauczyć się drugiego języka (w takim przypadku francuski).
„Ostatecznie te wskaźniki mózgu w stanie spoczynku mogą być wykorzystywane jako bezblobowe miary tego, jak ktoś się uczy”-powiedział Prat.
Następnie uczestnicy przeprowadzili osiem różnych testów: taki, który konkretnie obejmował liczenie; taki, który mierzył umiejętności językowe; i inne, które oceniały uwagę, rozwiązywanie problemów i pamięć.
Aby nauczyć się Pythona, uczestnikom przypisano 10 45-minutowe sesje instrukcji online za pomocą narzędzia edukacyjnego CodeAcademy. Każda sesja koncentrowała się na koncepcji kodowania, takiej jak listy lub jeśli/wtedy warunki, i zakończyło się quizem, który użytkownik musiał przejść, aby przejść do następnej sesji. Aby uzyskać pomoc, użytkownicy mogą zwrócić się do przycisku „wskazów”, blogu informacyjnego od poprzednich użytkowników i przycisku „rozwiązania” w tej kolejności.
Kluczowe punkty:
- Umiejętności językowe są silniejszym predyktorem umiejętności programowania niż wiedza matematyczna.
- Nauka kodu obejmuje naukę drugiego języka.
- Rozwiązywanie problemów i pamięć robocza odgrywają kluczowe role w programowaniu.
- Bariery w programowaniu często obracają się wokół idei, że matematyka jest niezbędna.
- Brak informacji o tym, czego potrzeba, aby być dobrym w programowaniu, utrudnia równość płci w terenie.
- Nauka Python może być punktem wyjścia dla niekoderów do odkrywania programowania.
- Podobieństwa Pythona do języka angielskiego ułatwiają uczniom języków.
- Badano zdolności neurokognitywne dorosłych, gdy nauczyli się Pythona.
- Aktywność neuronowa w spoczynku może przewidzieć uczenie się języka i programowanie.
- Umiejętności matematyczne nie są najważniejszym czynnikiem w nauce kodowania.
Pytania:
- W jaki sposób umiejętności językowe są związane z umiejętnościami programowania?
- Czy rozwiązywanie problemów i pamięć robocza jest ważna w programowaniu?
- Jakie są bariery dla programowania?
- Dlaczego ważne jest zamknięcie luki płciowej w programowaniu?
- Jaki jest związek między kodowaniem a językiem ludzkim?
- Jakie jest znaczenie uczenia się Pythona?
- Jakie cechy poznawcze badano w odniesieniu do programowania umiejętności?
- Jak można zastosować wskaźniki mózgu w stanie spoczynku do przewidywania uczenia się?
- Jakie były metody nauczania Pythona dla uczestników?
- Dlaczego umiejętności matematyczne nie są najważniejszym czynnikiem w nauce kodowania?
Umiejętności językowe są silniejszym predyktorem umiejętności programowania niż wiedza matematyczna. Pisanie kodu jest jak nauka drugiego języka, a zdolność jednostki do nauki tego języka i gramatyka wpływa na ich umiejętności programowania.
Tak, rozwiązywanie problemów i pamięć robocza odgrywają kluczowe role w programowaniu. Te funkcje poznawcze są powiązane zarówno z umiejętnościami językowymi, jak i programowaniem i są niezbędne do zrozumienia i wdrażania kodu.
Wiele barier w programowaniu obraca się wokół błędnego przekonania, że zdolności matematyczne są niezbędne. Istnieją wymagane kursy i stereotypy na temat tego, jak wygląda dobry programista, który zniechęca ludzi do kontynuowania programowania.
Uzyskiwanie wykwalifikowanych pozycji w sile roboczej coraz bardziej wymaga umiejętności programowania. Jednak pole programowania było powolne w zamykaniu luki płciowej. Brak informacji o tym, co potrzeba, aby być dobrym w programowaniu przyczynia się do tej nierówności.
Kodowanie ma podstawy w ludzkim języku. Programowanie polega na tworzeniu znaczenia przez łączenie symboli w sposób oparty na regułach, podobnie jak sposób, w jaki język jest wykorzystywany do komunikowania pomysłów i intencji.
Nauka Python może być punktem wyjścia dla niekoderów do odkrywania programowania. Podobieństwa Pythona do angielskich struktur i użycie prawdziwych słów ułatwiają uczącym się języka.
W badaniu oceniono cechy neuronowe i poznawcze umiejętności programowania. Uczestnicy przeszli oceny liczenia, umiejętności języka, uwagi, rozwiązywania problemów i pamięci.
Metryki mózgu w stanie spoczynku, rejestrowane za pomocą elektroencefalografii, mogą przewidzieć do 60% zmienności w nauce drugiego języka. Te wskaźniki mogą być wykorzystywane jako środki bez kultury tego, jak ktoś się uczy.
Uczestnikom przypisano 10 sesji instrukcji online za pomocą narzędzia edukacyjnego CodeAcademy. Każda sesja koncentrowała się na konkretnej koncepcji kodowania i zakończyła się quizem.
Podczas gdy umiejętności matematyczne są związane z kodowaniem i często wymagane na kursach programowania, badanie to wykazało, że umiejętności językowe są silniejszym predyktorem umiejętności programowania. Uczenie się kodeksu wiąże się tylko z wiedzą matematyczną.
Czy muszę być dobry z matematyki, aby kodować
Opublikowane online 2 marca w Raportach Scientific, czasopismo o otwartym dostępie z Nature Publishing Group, badania zbadały zdolności neurokognitywne ponad trzech tuzinów dorosłych, gdy nauczyli się Pythona, wspólnego języka programowania. Po baterii testów w celu oceny ich funkcji wykonawczych, umiejętności językowych i matematycznych uczestnicy ukończyli serię lekcji i quizów online w Python. Ci, którzy nauczyli się Pythona szybciej i z większą dokładnością, zwykle mieli mieszankę silnych umiejętności rozwiązywania problemów i języków.
Ani ‘osoba matematyczna’? Możesz być lepszy w nauce kodowania, niż myślisz
Umiejętności językowe są silniejszym predyktorem umiejętności programowania niż wiedza matematyczna, zgodnie z nowym badaniem University of Washington. Tutaj współautorka badań Malayka Mottarella pokazuje kodowanie w Pythonie podczas noszenia specjalistycznego zestawu słuchawkowego, który mierzy aktywność elektryczną w mózgu. Justin Abernethy/U. Waszyngtonu
Chcesz nauczyć się kodować? Odłóż książkę matematyczną. Zamiast tego ćwicz te umiejętności komunikacyjne.
Nowe badania z University of Washington stwierdzają, że naturalna zdolność języków uczenia się jest silniejszym predyktorem nauki programowania niż podstawowa wiedza matematyczna lub liczenie. To’S, ponieważ pisanie kodu obejmuje również naukę drugiego języka, zdolność do nauki tego języka’S Słownictwo i gramatyka oraz sposób, w jaki współpracują, aby komunikować pomysły i intencje. Inne funkcje poznawcze powiązane z obiema obszarami, takie jak rozwiązywanie problemów i użycie pamięci roboczej, również odgrywają kluczowe role.
“Wiele barier w programowaniu, od wymagań wstępnych po stereotypy tego, jak wygląda dobry programista, koncentruje się wokół idei, że programowanie opiera się w dużej mierze na zdolnościach matematycznych, a ten pomysł nie narodzi się w naszych danych,” powiedział główny autor Chantel Prat, profesor psychologii w UW oraz w Institute for Learning & Brain Sciences. “Nauka programowania jest trudna, ale jest coraz ważniejsza dla uzyskania wykwalifikowanych pozycji w sile roboczej. Informacje o tym, co trzeba być Dobry w programowaniu jest krytycznie zaginione w dziedzinie, która notorycznie powoli w zamknięciu luki płciowej.”
Opublikowane online 2 marca w Raportach Scientific, czasopismo o otwartym dostępie z Nature Publishing Group, badania zbadały zdolności neurokognitywne ponad trzech tuzinów dorosłych, gdy nauczyli się Pythona, wspólnego języka programowania. Po baterii testów w celu oceny ich funkcji wykonawczych, umiejętności językowych i matematycznych uczestnicy ukończyli serię lekcji i quizów online w Python. Ci, którzy nauczyli się Pythona szybciej i z większą dokładnością, zwykle mieli mieszankę silnych umiejętności rozwiązywania problemów i języków.
Dzisiaj’Świat skoncentrowany na STEM, nauka kodowania otwiera różne możliwości pracy i rozszerzonego edukacji. Kodowanie jest związane z matematyką i inżynierią; Kursy programowania na poziomie uczelni zwykle wymagają zaawansowanej matematyki, aby się zapisać i są ucząc się w oddziałach informatycznych i inżynierii. Inne badania, a mianowicie profesora psychologii UW Sapna Cheryan, wykazały, że takie wymagania i postrzeganie kodowania wzmacniają stereotypy dotyczące programowania jako męskiej dziedziny, potencjalnie zniechęcając do dążenia kobiet do kontynuowania go.
Ale kodowanie ma również podstawę w języku ludzkim: programowanie polega na tworzeniu znaczenia przez łączenie symboli w sposób oparty na regułach.
Chociaż kilka badań dotyczyło powiązań poznawczych między uczeniem języka a programowaniem komputerowym, niektóre dane mają dziesięciolecia, przy użyciu języków takich jak Pascal, które są już nieaktualne, i żaden z nich nie używał miar umiejętności naturalnego w celu przewidywania indywidualnych różnic w uczeniu się programowania.
Tak więc Prat, który specjalizuje się w neuronalnych i poznawczych predyktorach uczenia się języków ludzkich, postanowił zbadać indywidualne różnice w tym, jak ludzie uczą się Pythona. Python był naturalnym wyborem, wyjaśnił Prat, ponieważ przypomina struktury angielskie, takie jak wgłębienie akapitu i używa wielu prawdziwych słów, a nie symboli funkcji.
Ocenić cechy neuronowe i poznawcze “Programowanie umiejętności,” Prat studiował grupę rodzimych użytkowników angielskich w wieku od 18 do 35 lat, którzy nigdy nie nauczyli się kodować.
Przed nauczeniem kodowania uczestnicy wzięli dwa zupełnie różne rodzaje ocen. Po pierwsze, uczestnicy przeszli pięciominutowy skanowanie elektroencefalografii, który odnotował aktywność elektryczną ich mózgów, gdy rozluźnili się z zamkniętymi oczami. W poprzednich badaniach Prat wykazał, że wzorce aktywności neuronowej, podczas gdy mózg jest w spoczynku, mogą przewidzieć do 60% zmienności prędkości, z jaką ktoś może nauczyć się drugiego języka (w takim przypadku francuski).
“Ostatecznie te wskaźniki mózgu w stanie spoczynku mogą być wykorzystywane jako środki wolne od kultury tego, jak ktoś się uczy,” Prat powiedział.
Następnie uczestnicy przeprowadzili osiem różnych testów: taki, który konkretnie obejmował liczenie; taki, który mierzył umiejętności językowe; i inne, które oceniały uwagę, rozwiązywanie problemów i pamięć.
Aby nauczyć się Pythona, uczestnikom przypisano 10 45-minutowe sesje instrukcji online za pomocą narzędzia edukacyjnego CodeAcademy. Każda sesja koncentrowała się na koncepcji kodowania, takiej jak listy lub jeśli/wtedy warunki, i zakończyło się quizem, który użytkownik musiał przejść, aby przejść do następnej sesji. Aby uzyskać pomoc, użytkownicy mogą zwrócić się do “wskazówka” Button, blog informacyjny od poprzednich użytkowników i “rozwiązanie” przycisk w tej kolejności.
Z wspólnego ekranu lustra badacz podążył za każdym uczestnikiem i był w stanie obliczyć swój “Wskaźnik uczenia się,” lub prędkość, z jaką opanowali każdą lekcję, a także dokładność quizu i liczbę czasów, kiedy poprosili o pomoc.
Ten wykres pokazuje, w jaki sposób umiejętności uczestników badań, takie jak liczenie i umiejętności językowe, przyczyniają się do nauki Pythona. Zgodnie z wykresem poznanie i umiejętności językowe są większymi predyktorami uczenia się niż liczenia. Prat i in./Raporty naukowe
Po zakończeniu sesji uczestnicy przystąpili do testu wielokrotnego wyboru w celu funkcji (słownictwo Pythona) i struktury kodowania (gramatyka Pythona). Do swojego ostatniego zadania zaprogramowali grę – rock, papier, nożyczki – uważali projekt wprowadzający do nowego kodera Python. Pomogło to ocenić ich zdolność do pisania kodu za pomocą informacji, których nauczyli się.
Ostatecznie naukowcy odkryli, że wyniki z testu umiejętności językowych były najsilniejszymi predyktorami uczestników’ Wskaźnik uczenia się w Python. Wyniki z testów liczenia i rozumowania płynnego były również powiązane z wskaźnikiem uczenia się Pythona, ale każdy z tych czynników wyjaśnił mniej wariancji niż umiejętności językowe.
Przedstawiono inną stronę, w różnych wynikach uczenia się, uczestnicy’ Umiejętność języka, rozumowanie płynne i pamięć robocza oraz aktywność mózgu w stanie spoczynku były większymi predyktorami uczenia się w Pythonie niż liczenie, co wyjaśniło średnio 2% różnic między ludźmi. Co ważne, Prat stwierdził również, że te same cechy danych mózgu w stanie spoczynku, które wcześniej wyjaśniły, jak szybko ktoś nauczy się mówić po francusku, wyjaśnił również, jak szybko nauczy się kodować w Python.
”Jest to pierwsze badanie, które łączy zarówno neuronowe, jak i poznawcze predyktory zdolności języka naturalnego z indywidualnymi różnicami w językach programowania uczenia się. Byliśmy w stanie wyjaśnić ponad 70% zmienności w tym, jak szybko różni ludzie uczą się programować w Python, a tylko niewielka część tej kwoty była powiązana z liczeniem,” Prat powiedział. Dalsze badania mogą zbadać połączenia między umiejętnościami językowymi a instrukcją programowania w warunkach klasowych lub z bardziej złożonymi językami, takimi jak Java lub z bardziej skomplikowanymi zadaniami w celu wykazania biegłości w kodowaniu, powiedział Prat.
Badanie zostało sfinansowane przez Office of Naval Research. Dodatkowymi współautorami byli Tara Madhyastha, informatyka i były profesor badawczy w Departamencie Radiologii UW; oraz Chu-Hsuan Kuo i Malayka Mottarella, doktoranci z Departamentu Psychologii UW i w I-Labs.
Aby uzyskać więcej informacji, skontaktuj się z Prat na [email protected].
Czy muszę być dobry z matematyki, aby kodować?
Autor: Lillian Xiao
- Udostępnij artykuł na Twitterze
- Udostępnij artykuł na Facebooku
- Udostępnij artykuł na LinkedIn
Tutaj w Codecademy jedno pytanie, które wiele słyszymy, brzmi: “Czy muszę być dobry z matematyki, aby kodować?” Aby odpowiedzieć na to pytanie, rozmawialiśmy z programistami z zespołu Codecademy i naszej większej społeczności podczas ostatniego wydarzenia na żywo w panelu Women in Tech, aby usłyszeć ich przemyślenia na ten temat.
Ogólnie rzecz biorąc, programowanie jest niezwykle różnorodnym dziedziną. Bycie dobrym z matematyki jest ważne dla niektórych rodzajów programowania, takich jak projektowanie gier i wymyślanie złożonych algorytmów. Ale w przypadku wielu innych rodzajów programowania, takich jak opracowywanie aplikacji biznesowych lub internetowych, możesz zostać odnoszącym sukcesy programistą bez konieczności studiowania zaawansowanej matematyki.
“Jesteś skończony’Nie musi być dobry z matematyki, aby być dobrym programistą oprogramowania. Mamy tu tak wielu ludzi [w Codecademy], którzy może Don’T mają tyle doświadczenia z matematyką i informatyką i są świetnymi programistami,” Udziela Sanam, inżyniera oprogramowania w naszym zespole.
Rozwiązywanie problemów
Jako programista, ty’większe prawdopodobieństwo zastosowania istniejących algorytmów i technologii w celu rozwiązania konkretnego problemu. I chociaż matematyka zamierza budować wiele z tych narzędzi, nie masz’Trzeba koniecznie wiedzieć, jak działa matematyka, aby skutecznie korzystać z tych narzędzi. W ten sam sposób możesz zostać wykwalifikowanym kierowcą, nie znając szczegółów działania silnika samochodowego.
“To’jest świetne, jeśli masz to tło matematyczne, ale wystarczy być w stanie rozwiązać problem. Wiele z nich po prostu trzyma się problemu,” mówi Mariel, programista programu nauczania Codecademy.
Negar, inżynier uczenia maszynowego, który prowadzi rozdział Codecademy Georgia, podziela podobne porady: “Myślę, że powinieneś być dobry w rozwiązywaniu problemów i tak’S Dlaczego ludzie są zdezorientowani, że muszą robić rachunek różniczkowy podczas kodowania. Nie, wystarczy rozwiązać problemy i użyć podstawowej logiki, że to’S It.”
Duża część rozwiązywania problemów polega na zdefiniowaniu problemu i rozbiciu go na mniejsze, łatwiejsze do opanowania zadania. “Nauka, jak rozbić problem i wyrazić ten problem’jest naprawdę kluczem do bycia odnoszącym sukcesy programistą,” mówi Taylor, pełny program deweloper i konsultant dla naszej ścieżki kariery inżyniera zaplecza.
Sophie, programista programowy koncentrujący się na Codecademy’S Data Science Treści, udostępnianie, które są wykwalifikowane w matematyce – choć nie jest to warunki kodowania – może być przydatnym narzędziem do rozwiązywania problemów. “Ty’Będzie mieć problem, który musisz rozwiązać, i musisz dowiedzieć się, jakie narzędzia możesz użyć, aby go rozwiązać. Matematyka jest naprawdę jak narzędzia, które można wykorzystać, aby rozwiązać te problemy. W mojej codziennej pracy używam umiejętności rozwiązywania problemów i badań, aby dowiedzieć się, z jakich narzędzi do użycia,” Sophie mówi nam.
Współpraca z innymi
Oprócz rozwiązywania problemów kodowanie polega na współpracy z innymi w celu rozwiązywania złożonych wyzwań. “W sprawie zwinnego i w każdej firmie, którą ja’Pracowała, kultura polegała na pracy jako zespół, w którym ty’Ponowne rozwiązywanie problemów, ale ty’Rów. Musisz mieć świetne umiejętności komunikacyjne i umiejętności współpracy,” Sanam mówi.
Kreatywne myslenie
Kolejną ważną umiejętnością dla programistów jest kreatywne myślenie. Jeśli chodzi o rozwiązanie problemu kodowania, ty’LL często napotyka szereg możliwych rozwiązań. Twoim zadaniem jako dewelopera jest odkrycie najlepszego możliwego rozwiązania, biorąc pod uwagę twój unikalny zestaw ograniczeń, które wymaga połączenia kreatywności, ciekawości i determinacji.
Shirley, inżynier oprogramowania tutaj w Codecademy, a wcześniej projektantka mody, dzieli się swoimi przemyśleniami na temat kreatywności: “Wiele osób uważa, że kodowanie jest wyjątkowo analityczne i musisz mieć szalone umiejętności techniczne. Ale osobiście uważam, że kodowanie jest niezwykle kreatywne. Jeśli pochodzisz z tła, w którym kochasz sztukę, i uwielbiasz rozwiązywanie problemów, myślę, że jesteś bardzo przygotowany na kodera.”
Najważniejsze jest to, że nie masz’Muszę być dobry z matematyki, aby stać się świetnym programistą. Zamiast tego skupienie się na rozwiązywaniu problemów, współpracy i kreatywnego myślenia może pozwolić ci przenieść swoje umiejętności programowania na wyższy poziom, gdziekolwiek jesteś w podróży kodowania.
Gotowy do rozpoczęcia własnej podróży kodowania? Sprawdź nasz pełny katalog kursów, aby dowiedzieć się więcej i zacząć.
Czy programowanie wymaga znaczenia matematyki?
Czy programowanie wymaga znaczenia matematyki? Niekoniecznie.
Kiedy to mówię, głównie mówię o tworzeniu stron internetowych, nie pracując z grafiką lub konkretnymi aplikacjami, które wymagają zaawansowanej matematyki.
Możesz być świetnym programistą, nawet jeśli byłeś zły z matematyki w szkole.
Mam na myśli, że programuję przez ostatnie 20 lat i nigdy nie musiałem otwierać książki matematycznej, aby przypomnieć sobie coś, co musiałem wiedzieć, ale zapomniałem. Zrobiłem sporo matematyki zarówno w szkole średniej, jak i na uniwersytecie. Rzeczy zaawansowane i abstrakcyjne, że nawet nie pamiętam, jaki był cel ich nauki (jeśli byłby nawet cel, z wyjątkiem zdania egzaminu).
To jest jakiś rodzaj konwencjonalna mądrość że absolutnie musisz być świetny z matematyki, aby być świetnym programistą. Może dlatego, że pierwszymi komputerami programowymi byli matematycy, głównie dlatego, że nie było szkoły „programisty komputerowej”. Ponadto studiowanie informatyki lub inżynierii komputerowej wiąże się z dużą matematyką, ale nie jest to tak naprawdę konieczne w terenie. 90% stopnia CS obejmuje badanie rzeczy, które są naprawdę interesujące, pewne, ale prawie praktyczne. Potrzebujesz matematyki, aby zrozumieć teorię podstawową. Ale w programowaniu codziennym? Prawie tak.
Och, kiedy mówię programowanie, mam na myśli tworzenie stron internetowych, ponieważ jest to moja dziedzina.
Z pewnością istnieje wiele zadań programowych, które wymagają matematyki. Na przykład, jeśli pracujesz nad silnikiem renderującym 3D, aplikacją GIS lub kryptografią / blockchain / sztucznej inteligencji / uczenia maszynowego, która z pewnością wymaga dużo matematyki, ale to nie jest nawet matematyka, która jest nauczana w szkołach, jest to bardzo specyficzna matematyka matematyka. Każda grafika na niskim poziomie lub programowanie gier będzie również wymagały matematyki, a będziesz musiał ją przestudiować, zanim spróbujesz to zrobić. Matematyka jest również niezbędna do zrozumienia złożoności algorytmów, ale nie wymyślisz nowych algorytmów, przynajmniej w ciągu pierwszych kilku lat programowania.
Musisz być jednak dobry Rozwiązywanie problemów. Myślę, że matematyka w szkole uczy dobrego stopnia rozwiązywania problemów, ale podobnie jak sudoku lub inne hobby.
Oczywiście potrzebujesz podstawowych pojęć matematycznych, takich jak rachunek różniczkowy lub algebra lub logika, ale same podstawy, jeśli to. Nie musisz znać żadnej liczby złożonych, prawdopodobieństwa, równań, wykresów, wykładniczych i logarytmu, limitów, pochodnych, integracji, równań różniczkowych i. Ani jednej rzeczy.
Nie słuchaj strażników: Jeśli powiedzą, że nie będziesz programistą, ponieważ nie jesteś dobry w matematyce, nie słuchaj. Zawsze możesz nauczyć się wszystkiego, czego potrzebujesz po drodze. Otwarcie na naukę jest znacznie ważniejsze niż już znajomość rzeczy.
Pierwotnie opublikowane na Flaviocopes.com
Ile matematyki muszę wiedzieć, aby kodować?
Kreatywne, ekscytujące i powszechnie niezrozumiane – opieki w branży technologicznej są często postrzegane jako nieosiągalne przez ludzi’Nie ekscytuj się wykonywanie matematyki przez cały dzień lub obawiają się, że mogą nie mieć specjalistycznej wiedzy, aby zarabiać na życie.
Tutaj’S Rzeczywistość: podczas gdy matematyka i takie rzeczy, jak rozwój stron internetowych wydają się iść w parze, faktyczna ilość matematyki na wysokim poziomie potrzebnym do pracy w technologii jest szalenie przesadzona.
“I’M osobiście przerażający w matematyce,” mówi Monica Lent, główny inżynier frontowy w Sump. “[I] walczyłem z tym [wszystkie] przez [szkołę]. Okropne w geometrii, okropne w Algebrze, tak’t Ukończ rachunek różniczkowy. I’M nawet wolno w arytmetyce.”
Dzisiaj Lent zarządza zespołem pięciu programistów stron internetowych, udowadniając, że matematyka i informatyka są’t jedyne bezpośrednie drogi do kariery technologicznej. “Wiele osób, z którymi pracuję, ma niewielkie szkolenie zawodowe w dziedzinie informatyki,” Mówi Wielki Post. “To’absolutnie nie jest barierą dla zostania programistą stron internetowych.”
Według programisty internetowego Charlotte O’Hara, to’S Nie tylko łatwo nauczyć się kodować bez wykonywania matematyki, ale poza rutynową arytmetyką, większość projektów tworzenia stron internetowych Don’w ogóle polegam na matematyce.
Jest to szczególnie prawda, o’Hara podkreśla, że każdy pracujący nad projektowaniem stron internetowych lub rozwoju front-end . Mówi, że skupienie się na krytycznym myśleniu i okiem na projektowanie jest ważniejsze niż zaawansowane obliczenia “rzadko używaj matematyki na co dzień.”
Ludzie, którzy po prostu mogą’Mam wystarczającą liczbę równań często częściowo studiując technologię, ponieważ tradycyjne uniwersytety donują’Justin Morse, prezes Arrow Software, niekoniecznie rozróżniaj umiejętności matematyki i technologiczne. Właśnie dlatego, jeśli wybierzesz trasę uniwersytecką, aby uzyskać dyplom z informatyki, ty’będą zobowiązane do wzięcia udziału w wielu kursach matematycznych na wysokim poziomie-tak jak Morse. Ale jeśli chodzi o jego pracę w prawdziwym świecie? “I’D oszacuj, że… używam rzeczy, których nauczyłem się na tych zajęciach matematycznych raz lub dwa razy w roku,” Morse mówi. Morse’Głównym profesjonalnym celem jest oprogramowanie komputerowe i tworzenie stron internetowych, a on mówi, że większość jego kolegów z programistów używa matematyki na wysokim poziomie równie rzadko, jak on.
Więc gdzie kończą się te obliczenia? “Są ludzie, którzy piszą kod, który wymaga umiejętności matematycznych znacznie wykraczających poza moje umiejętności,” mówi Morse, “Ale ci ludzie stanowią niewielką część programistów. Pomyśl NASA.”
W tym momencie powinno być jasne, że matematyka ISN’T jest koniecznością, jeśli ty’chce zostać koderem – ale na szerszą skalę, co może być obok sedna. Jasne, możesz czuć się bardziej wykwalifikowany do kodowania (tak jak powinieneś), ale co, jeśli pomyślisz, że po kilku latach technologii praca w NASA brzmi niesamowicie? Co jeśli chcesz, abyś mógł wykorzystać swoje umiejętności technologiczne w bardziej matematyczny sposób, ale pomyśl, że nie’t bardzo dobrze w tym? Cóż, twój niepokój matematyki może nie mieć żadnej korelacji z Twoją rzeczywistą zdolnością.
2017 Magazyn naukowy Badanie wskazuje, że to nasze postrzeganie naszych własnych zdolności, a nie sama zdolność determinują sukces – szczególnie jeśli chodzi o to, co mówią nasi rówieśnicy. Dotyczy to szczególnie kobiet. W niej Los Angeles Times Raport z badania, Amina Kahn napisała “ Badania wykazały, że pomysł, że mężczyźni są lepsi niż kobiety w matematyce, faktycznie upośledza kobiety’S Performance i podważa ich zainteresowanie dziedzinami matematyki.” To’s pomysł , Nie ma żadnej różnicy w zdolnościach poznawczych. Pola ciężkie matematyczne są często zdominowane przez mężczyzn, z innego powodu niż fakt, że jedna płeć ma większą zachętę niż inna. Więc ten mały głos z tyłu głowy, który mówi ci, że możesz’T Obsługuj matematykę? Śmiało i zignoruj to.
Tutaj’s dolna linia: strach przed matematyką powinien’t niech cię uczyli się kodeksu – po prostu tego nie’nie wchodzę tak często. Ale jeśli ty’Szukam dalej swoich umiejętności technologicznych i odkryć więcej STEM, tam’nie ma powodu do zastraszania. Masz wszystkie potrzebne możliwości; To’jest tylko kwestią zamknięcia głosów, które niesłusznie mówią ci, że nie’T.
A kiedy ty’zrobiłem to, pobierz bezpłatny Ultimate Guide to Coding dla początkujących . Dowiedz się dokładnie, jakie umiejętności’Potrzebujesz kariery jako programista, jak wykorzystać te umiejętności, aby znaleźć pracę’Miłość i jak odnieść sukces w swojej pierwszej pracy i nie tylko.
Jest dla Ciebie odpowiednia technologia? Weź nasz 3-minutowy quiz!
Jeśli kariera w technologii jest dla Ciebie odpowiednia