Rzeczy, których powinieneś się nauczyć w szkole, ale nie zwracałeś na nie uwagi w tym czasie [zamknięte]

42

To pytanie sprawiło, że pomyślałem, że jest lepsze pytanie.

Czego nauczyłeś się w szkole, że w tym czasie Cię nie obchodziło, ale okazało się przydatne lub musiałeś ponownie uczyć się w miejscu pracy, ponieważ miałeś je w szkole, ale nie zachowałeś informacji i potrzebujesz ich? (Mam na myśli zadania związane z oprogramowaniem.)

Myślę, że może to pomóc uczniom w określeniu, na co powinni zwrócić uwagę podczas nauki.

HLGEM
źródło
16
Żałuję, że nie spędziłem więcej czasu na nauce języków mówionych (po prostu kliknąłem 10-20 lat później), ale nie jest to związane z programowaniem.
LennyProgrammers

Odpowiedzi:

36

Większość programistów, których widziałem świeżo po szkole, nie miało dużego doświadczenia w tworzeniu OO . Słyszeli o tym, ale większość z nich to po prostu „wkładanie rzeczy na zajęcia”.

W szkole dostajesz mnóstwo przykładów samochodów i ludzi, które można umieścić w ramach OO. To uczy polimorfizmu, przeciążania i tym podobnych rzeczy. Raczej „podstawowe” rzeczy. Dobrze jest wiedzieć o tych rzeczach i o tym, jak one działają, ale nigdy nie znalazłem przykładu takiego zastosowania w świecie rzeczywistym. Myślę, że ważne jest, aby pokazać uczniom niektóre scenariusze z prawdziwego świata, w których zastosowano pewne elementy projektu.

Inną rzeczą, za którą tęskniłem na studiach, jest wykorzystanie (lub niewłaściwe użycie) użytecznych wzorców projektowych . Myślę, że obecnie najważniejsze wzorce należy wprowadzić gdzieś pod koniec pierwszego roku lub na początku drugiego roku. Studenci powinni się z nimi zapoznać.

Pisanie czystego kodu to coś, czego nie uczy się (wystarczająco) w szkole. Możemy zrobić prawdziwy bałagan w kodzie i nadal uzyskać A +. „Jeśli aplikacja działa, jest dobra”. było motto. Uczniowie powinni nauczyć się pisać czysty kod o wysokiej jakości i otrzymywać za to wynagrodzenie, co oznacza również refaktoryzację i stosowanie wzorców lub najlepszych praktyk, których się nauczyli.

Oczywiście chętni uczniowie nauczyli się tego wszystkiego samodzielnie, ale inni, którzy nie byli tak chętni, nie zrobili tego. Może to wynikać z braku motywacji lub po prostu nie wiedzieli, gdzie i jak szukać. Płacąc za szkołę dużo pieniędzy, myślę, że powinni naprawdę nauczyć cię tego na wpół zaawansowanego.

Ponadto niektórym ludziom brakuje przyzwoitego (profesjonalnego) pisania . Szkoda, ponieważ jest to bardzo ważne w prawdziwym świecie. Najważniejsza jest umiejętność wyrażania się w języku ojczystym. Jeśli nie umiesz pisać wyraźnie w swoim głównym języku, trudno jest porozumieć się w firmie.

Nie wiem, czy możesz nauczyć kogoś pisać w tym wieku, powinien on już znać tę umiejętność. Można powtórzyć rzeczy nauczane w szkole średniej. Może naucz uczniów, jak pisać komentarze i dokumentację techniczną. Nadal trudno mi pisać dokumenty techniczne, ponieważ wydaje się, że nikt nigdy nie wie, jak to zrobić lub jaki jest domyślny format.

Jan_V
źródło
1
ta odpowiedź nie dotyczy OP, ale jej uzupełnienia: czego powinni cię nauczyć lepiej / bardziej dogłębnie
davka,
1
Celem edukacji licencjackiej jest zapoznanie studenta z szeroką dziedziną. Specjalizacja jest tym, co się robi na poziomie absolwenta. Oczekuję, że kandydaci świeżo po studiach będą ekspertami we wszystkim. Oczekuję, że niedawni absolwenci uniwersytetów będą mieli dobrze zaokrąglony zestaw zasad, które obejmują lukę między organizacją komputera a podstawową analizą algorytmu. Nie obchodzi mnie, czy kandydat zapamiętał asymptotyczne granice wszystkich algorytmów wyszukiwania i sortowania. Wolę kandydata, który potrafi ustalić asymptotyczne granice dla prawdziwego kodu.
bit-twiddler
3
Czy jestem jedynym, który kuli się, gdy „uczenie się” jest (niepoprawnie) używane zamiast „uczyć”?
dr-Jan
1
@ dr-jan: Dziękujemy za zwrócenie na to uwagi. Edytowane.
Jan_V
1
Moim zdaniem jedynym poważnym sposobem na nauczenie pisania poważnego oprogramowania jest prowadzenie wieloletnich kursów, podczas których możesz poznać swoje własne błędy z przeszłości.
Paul Nathan
120

Dziewczyny. Możesz myśleć, że żartuję, ale nie jestem.

Nie wariuj ani nic, nadal musisz się uczyć akademickich rzeczy. Ale musisz również poświęcić trochę czasu na naukę o ludziach, od ludzi wokół ciebie.

Obejmuje to połowę ludzkości, która ma zupełnie inne zainteresowania i postawy niż ty i twoi przyjaciele, ale z którą nadal będziesz chciał się dogadać.

Ben
źródło
16
Chciałbym móc wyrazić więcej pozytywnych opinii.
5arx
3
Dobrą rzeczą jest spędzanie więcej czasu z ludźmi, którzy nie używają komputerów w ogóle (tm)
Rob Allen
16
Ponad 48 osób, które opowiedziały się za tym, po prostu cicho westchnęły.
George
W przeciwnym razie znany jako „Użytkownicy”.
Gary Willoughby
61

Wydaje mi się, że powinienem poświęcić około 42% więcej energii na statystyki.

FrustratedWithFormsDesigner
źródło
10
Mój brat i ja powiedzieliśmy w zeszłym roku naszej matce, że chcielibyśmy studiować więcej statystyk. Jestem kwantem, a on jest lekarzem. Aha, a moja matka jest nauczycielką statystyk ...
chrisaycock
4
@davka: Częściej pojawia się w testach, szczególnie w testach wydajności. Również w analizie danych, którą mam obecnie dużo.
FrustratedWithFormsDesigner
4
@davka - Pracuję w firmie opartej na danych i dobra analiza statystyczna byłaby pomocna dla programistów, którzy mogliby przedstawić swoje ustalenia dotyczące „dlaczego kod x jest lepszy od kodu y” lub „tak, mogę udowodnić, że jeśli mi na to pozwolicie zainwestować 2 tygodnie, aby to poprawić, analiza statystyczna pokazuje, że przyspieszy on o x% ”. Wiedza o tym, jak zastosować techniki statystyczne do projektowania eksperymentów jest naprawdę celem tutaj.
wkl
3
Myślę, że istnieje szansa 70 +/- 2%, że powinienem był wziąć statystyki.
Zachary K
10
W 60% przypadków działa za każdym razem.
Mateusz
51

Pisanie byłoby dla mnie jednym z największych. Nie sądzę jednak, że ogranicza się to tylko do programistów.

Erin
źródło
przepełnienie stosu i blogowanie bardzo mi w tym pomogło.
Svish
36

Programowanie funkcjonalne. Wówczas wydawało się, że jest to rój nawiasów, który nic nie może zrobić. Teraz, gdy wyrażenia lambda znajdują szerokie zastosowanie, musiałem ponownie wyszkolić swój mózg, aby myśleć w ten sposób. Na studiach chciałem tylko umieścić LISP i program tak daleko w lusterku wstecznym, jak to możliwe i nigdy nie oglądać się za siebie. Gdybym miał pojęcie, jak przydatne mogą być niektóre aspekty programowania funkcjonalnego, zwróciłbym większą uwagę.

Jason
źródło
9
+1. Jestem głęboko przekonany, że dla kogoś, kto nie umie programować, programowanie funkcjonalne jest łatwiejsze do nauczenia niż programowanie imperatywne, że programowanie imperatywne jest łatwe do nauczenia, jeśli znasz programowanie funkcjonalne, a programowanie funkcjonalne jest trudne, jeśli najpierw nauczyłem się programowania imperatywnego. Dlatego sensowne jest nie tylko nauczanie programowania funkcjonalnego, ale przede wszystkim jego techniki , a co najważniejsze , nie rób z tego tak wielkiej zabawy ! Ja kocham jak SICP robi. Pierwsze zadanie pojawi się dopiero za kilkaset stron, a ty nawet tego nie zauważysz.
Jörg W Mittag
1
+1. Schemat odrzucił mnie od paradygmatów funkcjonalnych na kilka lat na studiach, ponieważ zanim zacząłem ten kurs, miałem doświadczenie w C i C ++. Nie wymieniłem tego jako czegoś, na co uważałem, że powinienem był poświęcić więcej uwagi, ponieważ w poprzednim roku wziąłem kurs językowy, korzystałem z SML i bardzo mi się podobało, a także Lisp. Prawdopodobnie tylko produkt doświadczeń na studiach, dzięki czemu znacznie łatwiej jest mi zrozumieć, jak korzystać z tych paradygmatów. Uczę się teraz Scali i bardzo mi się to podoba. : D
wkl
1
Generalnie się zgadzam (bardziej funkcjonalny w szkole), ale nie można udowodnić, że łatwiej lub trudniej jest nauczyć się programowania funkcjonalnego w oparciu o styl, którego się nauczyłeś.
Kevin
34

Wyrażenia regularne. Wyraźnie pamiętam, jak zdmuchnąłem je na studiach. Były niezbędne do pracy.

patrickmcgraw
źródło
2
Wyrażeń
Tak! Pamiętam, jak myślałem wtedy, jak bardzo tego nienawidziłem ... Nauczyłem się tego dla klasy i usunąłem z pamięci, dopóki nie potrzebowałem go kilka lat później. Potem przeklinałem się, bo musiałem się tego ponownie nauczyć.
Bmw
4
@ m.edmondson, wyrażenia regularne świetnie nadają się do prostych zadań. Być może robisz coś złego, jeśli używasz ich w kodzie (w końcu parsowanie kombinatorów jest o wiele lepsze), ale dla typowego wyszukiwania i zamiany w edytorze tekstu są w porządku.
SK-logic
3
Wyrażenia regularne są doskonałym narzędziem do używania w wierszu poleceń oraz w potężnych edytorach, takich jak vim lub emacs. Nie tylko do użytku w kodzie.
Stephen Paulger,
1
@ m.edmonson, no - wyrażenia regularne to fantastyczne narzędzia, które należy wybrać w pierwszej kolejności ! W sytuacjach, w których mają zastosowanie - wiedza, kiedy tego nie robi, wymaga doświadczenia.
33

Moja ulubiona odpowiedź (statystyki) jest zajęta, więc dam drugą ulubioną odpowiedź. Notacja Big-O i znajomość wydajności różnych algorytmów kluczowych. Jest to dla mnie mniej „tajna broń” niż statystyki, ale wciąż jest bardzo cenna.

btilly
źródło
2
Może po prostu nie piszę wystarczająco skomplikowanych rzeczy, ale jedyny raz musiałem wiedzieć, że Big O był na rozmowie w firmie z branży high-tech. Podczas gdy nauczyłem się tego 20 lat temu, ponieważ nie używam, ale raz na około 10 lat nie pamiętam tego.
Bill Leeper
2
@ bill-leeper: Z mojego doświadczenia wynika, że ​​Big-O nie jest czymś, z czego korzystasz na co dzień, ale jest czymś, o czym, o ile wiesz, tak często pomaga znaleźć problem, o którym nie wiedziałeś, lub inaczej by się nie domyślił. Jeśli tego nie wiesz, nigdy nie masz takich wglądów i nie wiesz, czego brakuje.
btilly,
1
@bill, big-O to po prostu sformalizowany sposób mówienia, że ​​musisz uważać, ile pętli umieszczasz na innym, gdy potrzebujesz skalować. Większość programistów uczy się w ten czy inny sposób bez konieczności znajomości oficjalnej nazwy.
23

Chciałbym słuchać tego, co powiedział mi mój nauczyciel, gdy miałem 14 lat. Niestety nie mogę ci powiedzieć, co to było, ponieważ nie słuchałem.

użytkownik4051
źródło
21

Musi to być kurs języka skończonego i teorii automatów.

Myślałem, że to zbyt teoretyczne, dopóki moja praca nie wymagała ode mnie tworzenia od podstaw kompilatora języka specyficznego dla domeny.

Fanatyk 23
źródło
4
Whoa. Co dokładnie robisz ? Jeśli nie masz nic przeciwko, że pytam =)
fouronnes
1
@otibom: Pracuję z półprzewodnikami i ma swoje własne języki specyficzne dla domeny z dość surowymi wymaganiami dotyczącymi wydajności.
Fanatic23
18

Powiedziałbym C, a także UNIX. Chociaż nauczyłem się systemu UNIX wkrótce po studiach, wydaje mi się, że skorzystałbym na tym, aby wcześniej lepiej się zakorzenić w systemach UNIX i C.

Craig Maloney
źródło
UNIX? Czy nadal uczy się tego na uczelniach?
apoorv020
1
Powinno być ... lub cóż, bardziej jak Linux. Każdy programista powinien znać odrobinę bash (lub inną powłokę).
Per Wiklander
17
  • Artificial Intelligence / Data Mining - wziął udział w zajęciach, był znudzony, lata później sam uczę się takich tematów jak inteligencja zbiorowa. Analiza dużych zbiorów danych to wielka sprawa w mojej pracy i poprzednich pracach.
  • Teoria / projektowanie baz danych - Znów wziąłem udział w zajęciach, nudziłem się, więc sam uczyłem się rzeczy o bazach danych
  • Po prostu matematyka na wysokim poziomie i ogólnie ciekawe techniki matematyczne - wziąłem 4 klasy rachunku różniczkowego, algebrę liniową, statystyki, prawdopodobieństwo, dyskretne ... ale czułem, że powinienem był zrobić:
    • Metody numeryczne
    • Zaawansowane metody statystyczne, nawet takie jak łańcuchy Markowa - znowu, związane z analizą dużych zbiorów danych
  • Interakcja człowiek-komputer - w szkole nie czułem, by było to w jakikolwiek sposób przydatne w tym, co robiłbym w swojej pracy (lubiłem pracować na niskim poziomie lub za kulisami), ale w każdej pracy, którą miałem, użyteczność była czasami przedmiotem zainteresowania.
  • Drugi język - zawsze miałem dar dla języków, ale na studiach nie brałem języka i trudno mi nauczyć się japońskiego.
wkl
źródło
13

Techniczne pisanie. Spędzam dużo czasu na pisaniu wymagań, komunikowaniu się z klientami i współpracownikami. Jest to obszar, w którym miałem 1 godzinę zajęć w College. Jedyną inną klasą, która naprawdę pomogła w mojej karierze, była kolejna klasa godzin kredytowych. Tak było w programowaniu C. Reszta, choć interesująca i prawdopodobnie pomogła mi w ogólnych umiejętnościach analitycznych, nie była tak naprawdę bezpośrednią korzyścią dla mojej kariery.

To prawda, że ​​20 lat temu poszedłem do szkoły, a C uznano za najnowocześniejszy w dziale elektrotechniki. CS ludzie robili trochę rzeczy z Lispem i C ++, ale nadal prawdopodobnie nie tyle OO, ile mam nadzieję, że dzieje się z dzisiejszymi absolwentami.

Bill Leeper
źródło
11

Dokumenty projektowe

Zawsze zakładałem, że ktoś inny będzie tym, który tworzy te rzeczy, lub że są to tylko proste dokumenty. Nie są wcale takie proste, a mój zespół jest na tyle mały, że wykonuję własne dokumenty projektowe.

Rachel
źródło
ktoś jeszcze je napisze, jeśli nie jestem w tym dobry, tak mi się podoba.
Kevin
10

Drugi język obcy. Rosyjski w moim przypadku. Wiele książek, zasobów i więcej w tym konkretnym języku w mojej otaczającej przestrzeni.

lfx
źródło
@FrustratedWithFormsDesigner tak teraz, ale kiedy byłem dzieckiem ... :)
lfx
Studiowałem osobiście francuski i niemiecki, a właściwie spędziłem trochę czasu w Niemczech. To coś, czego każdy powinien doświadczyć.
Ken
12
Naprawdę? Zasoby związane z programowaniem w języku rosyjskim? Jestem rodzimym językiem rosyjskim, ale rzadko kiedy z niego korzystam, szukając rzeczy na temat programowania. W większości przypadków wpisanie angielskiego zapytania w Google daje mi odpowiedź. Również książki techniczne w języku rosyjskim są często bardzo złymi tłumaczeniami z języka angielskiego.
Dima,
@Dima, jaka jest obecnie sytuacja, nie wiem, ale kiedy byłem w collage'u i w szkole, każdy nauczyciel to powiedział.
lfx
3
@FrustratedWithFormsDesigner: że uwierzę. W języku rosyjskim z pewnością jest dużo materiałów matematycznych. Ale jeśli mówisz o zagadnieniach związanych z komputerem, lepiej poznaj angielski.
Dima,
8

Od strony CS rzeczy:

  • Projekt interfejsu użytkownika
  • Testowanie
  • Kontrola wersji
  • Konkurencja

Z kategorii wszystko:

  • Techniczne pisanie
  • Komunikacja głosowa
  • Umiejętność szacowania czasu
Tyanna
źródło
+1 za testowanie i kontrolę wersji. Poważnie, słyszeliśmy bardzo, że testowanie było bardzo ważne ... nigdy tak naprawdę nie nauczyliśmy się, jak to zrobić ... (i to nie była nasza wina. Po prostu nigdy tak naprawdę nie mieliśmy nic na ten temat)
Svish
7

Wektor matematyki i rachunku różniczkowego. Miałem je, ale moje profesje były okropne i właściwie nie uczyłem przedmiotów. Ale jako ktoś, kto intensywnie zajmuje się programowaniem graficznym ... pomogłaby lepsza podstawa matematyki wektorowej.

Grandmaster B.
źródło
7

Oczywiście, historia i literatura. Problem często polega na tym, że szkoła ich nie interesuje.

żart
źródło
Ucząc się ich jako ucznia domowego, mogą być znacznie bardziej interesujące.
Matthew Rodatus
6

Elektronika

W szkole nie miałem wiele rzeczy związanych z oprogramowaniem . Ach - informatyka, ale to anulowałem. :) Ale później łatwo było się nauczyć. Podczas gdy elektronika często tego nie rozumiem. Mikrokontrolery, PWM, GPIO - wtf? Chciałbym to zrozumieć.

nieznany użytkownik
źródło
Wziąłem elektronikę w liceum (odpowiednik UE), ponieważ nie było „czystego” wyboru IT. Do dziś cieszę się, że nie tylko wiem, jak korzystać z komputerów i urządzeń peryferyjnych, ale także jak one działają.
Vincent Vancalbergh
5

Rozproszone sieci / komputery . Programowanie nie jest wyzwaniem, ale warunkiem obecnej architektury jest dogłębna znajomość koncepcji rozproszonych.

Szczegółowy kurs był oferowany jako przedmiot do wyboru, ale musiał wybierać między tym a sztuczną inteligencją: tak naprawdę nie jest to żal.

CMR
źródło
5

Wzory projektowe: sposób, w jaki zostały zaprezentowane, nie powiedział ci, jak bardzo są one użyteczne, od tego czasu przeczytałem o nich kilka książek i uważam, że są niezwykle przydatne.

Omar Kooheji
źródło
To mnie ogólnie wkurza za programowanie szkoleń, jesteśmy w stanie wyjaśnić, jak, ale nie dlaczego. I nie ma dobrych praktycznych przykładów. Właśnie dlatego mamy peole, który używa technik pracowniczych dla problemu, wybierają pierwszą, która przychodzi im do głowy, która będzie działać bez wiedzy, aby powiedzieć, że ta inna technika jest lepsza dla tego konkretnego problemu.
HLGEM,
4

Unix, Shellscripting, C. Miał okazję dobrze się tego nauczyć w szkole, ale musiał to zrobić później w pracy.

użytkownik 281377
źródło
4

Rzeczy niezwiązane z informatyką:
Osobiście chciałbym mieć język ojczysty, jak większość normalnych ludzi tutaj. Rozumiem przez to, że większość ludzi urodziła się w jednym głównym języku i może wybrała inny lub dwa później. W tej sytuacji dodatkowe języki zwykle nie wpływają na język ojczysty, ponieważ masz już solidne podstawy, które obejmują mowę, pisanie i słuchanie. Dorastałem, mówiąc i pisząc jednocześnie w trzech różnych językach. Mimo że zawsze dobrze sobie radziłem na zajęciach językowych zarówno w szkole, jak i na studiach, chciałbym mieć pełną płynność w JEDNYM języku. To powoduje, że muszę ułamek sekundy zastanowić się przed sformułowaniem odpowiedzi. Niektórzy zauważają to i dochodzą do wniosku, że jestem zbyt nieśmiały (co do pewnego stopnia nie jest złe).

chiurox
źródło
4

Ekonomia. Może to być nudne (i nieco okrutne), ale w każdym razie jest to jedyne, co jest naprawdę niezbędne w tym społeczeństwie. Następnie statystyki.

Víctor Pimentel
źródło
4

Myślę, że trzy klasy, które dały mi najlepszy wgląd w sposób działania komputerów w wykonywaniu oprogramowania (które to zrozumienie pozwala na bardziej optymalne programowanie) to:

Kompilatory systemów operacyjnych w języku asemblera

Być może bardzo łatwo jest pomyśleć, że te zajęcia nie są tak przydatne, chyba że przejdziesz do kariery zawodowej skoncentrowanej na którejkolwiek z tych rzeczy, ale nawet jeśli jesteś programistą i nie korzystasz z żadnej z tych metod bezpośrednio byłoby nadal niezwykle pomocne w efektywnym kodowaniu.

Kenneth
źródło
3

Jest około tuzina zajęć, które chciałbym wziąć na studia, ale tego nie zrobiłem. Głównie nie CS. Fotografia, General Chem, więcej pisania!

Zachary K.
źródło
3

To zabawne, że liczba ludzi mówiących o sztukach wyzwolonych: byłem studentem kognitywistyki (Filozofia / CompSci / Anatomia) ... Skończyłem z przejściem na filozofię / CompSci z ciężką nieletnią w języku angielskim (mogłem dostać licencjat, ale nie zawracałem sobie głowy wzięciem 101, które pominąłem).

Zajęłoby mi tydzień opowieści, aby opowiedzieć o wszystkich bzdurach, jakie dostałem od moich kolegów z CS za wzięcie udziału w tych zajęciach sztuk wyzwolonych. Bez względu na to, że pół tuzina klas logiki zrobiło więcej dla mojego programowania niż jakakolwiek ilość rachunku różniczkowego. Bez względu na to, że wszystkie moje najlepsze kursy AI to kursy filozofii. Bez względu na to, że na moich lekcjach angielskiego zdarzały się cholernie DZIEWCZYNY. Nie, nie. Byłem jakimś nieprzyzwoitym pozerem za udział w tych kursach.

Weź jednak serce. Przynajmniej ty nie trzeba wyjaśniać swoje wykształcenie za każdym razem ktoś patrzy na CV.

Satanicpuppy
źródło
Czy mógłbyś wyjaśnić, co rozumiesz przez „moje najlepsze kursy AI to kursy filozofii”?
Mark C
@mark: „Kognitywistyka”, która była moją pierwotną specjalizacją, jest w zasadzie niczym innym jak sztuczną inteligencją i składa się głównie z filozofii. Istnieją dwa rodzaje filozofii: analityczna i kontynentalna. Całe to głupie gówno ma charakter kontynentalny. Analityczność jest logiką, trybikiem. science fiction, językoznawstwo i takie gówno.
Satanicpuppy
+1: Jako major filozofii sam wziąłem udział w lekcji o nazwie Filozofia umysłu. Ta klasa była zasadniczo poświęcona maszynom Turinga. Mój doradca filozoficzny był studentem specjalizacji CS w licencjacie, a mój doradca CS miał doktorat z filozofii.
Morgan Herlocker
+ 1: „nie musisz wyjaśniać swojej edukacji”. I oto byłem, myśląc, że w USA / Wielkiej Brytanii sprawy wyglądają inaczej ... Wiem dokładnie, co masz na myśli.
Raveline,
3

Równania kwadratowe i trygonometria.

Bardzo ważne przy pisaniu oprogramowania dla tradycyjnych dyscyplin inżynieryjnych.

złyITguy
źródło
Nie oblicza ... skoro większość dobrych programistów to inżynierowie, dlaczego ktoś, kto uważa, że ​​brakuje im podstawowych umiejętności arytmetycznych do pisania oprogramowania dla dyscyplin inżynierskich, skoro jest mnóstwo inżynierów, którzy rozumieją matematykę, fizykę i informatykę ?
Ben Voigt,
@Ben. Wierzcie lub nie ... DUŻO ludzi zdołało wejść w tworzenie oprogramowania i nie odbyło w nim formalnego szkolenia. To prawdopodobnie przed „twoim czasem”. Ja będąc jednym .. Udało mi się tego nauczyć, ale byłoby znacznie łatwiej, gdybym zwrócił uwagę w szkole.
angryITguy,
W przypadku gdyby nie było to oczywiste, zalecam pisanie oprogramowania inżynierskiego przez inżynierów, którzy nie są przeszkoleni w tworzeniu oprogramowania. Inżynieria oprogramowania nie jest trudna do zdobycia, jeśli jesteś przeszkolony do logicznego myślenia. Nauka OTOH automatycznego rozwiązywania problemów inżynierskich, jeśli brakuje podstawowych umiejętności matematycznych, takich jak równania kwadratowe, będzie prawie niemożliwa.
Ben Voigt
@ben. Ci, którym brakuje umiejętności w zakresie „podstawowej matematyki”, nazywani są teraz konsultantami mediów społecznościowych i robią znacznie więcej niż inżynierowie.
złyITguy
@guilio: Z szacunkiem się nie zgadzam. Na górze jest kilku inżynierów zarabiających niesamowitą sumę pieniędzy (zwykle nazywamy ich „wynalazcami”, ale oni wykorzystali umiejętności inżynieryjne do zaprojektowania produktu). Jest też niewielka grupa najbardziej poszukiwanych konsultantów medialnych. Następnie reszta kompetentnych inżynierów, pod nimi niekompetentni inżynierowie i szeregowi konsultanci medialni są ze sobą powiązani. Wszystkie z nich stanowią więcej niż przeciętny absolwent college'u ze stopniem matematyki, który uczy równania kwadratowe do następnej kadry inżynierów.
Ben Voigt,
1

Tak, nie zwracałem uwagi na kompilatory tak, jak powinienem.

użytkownik6791
źródło
1

CS / Matematyka: więcej logiki, algebry, teorii kategorii. Bardziej podstawowe i mniej stosowane rzeczy: zrozumienie zastosowanych rzeczy, gdy dobrze znasz podstawy, jest znacznie łatwiejsze niż na odwrót i bardziej owocne.

(Miałem A w statystykach, ale zajęło mi dużo czasu, aby połączyć go z prawdziwymi potrzebami programistycznymi, dużo zapomniałem).

„Humanities”: język naturalny, pisanie, formułowanie, rozumienie i bycie zrozumianym. Nie wydaje się to ważne, dopóki nie dołączysz do zespołu złożonego z więcej niż 2-3 innych hakerów, czyli w tak zwanym „prawdziwym życiu”.

9000
źródło
1

Grafika komputerowa (renderowanie 3d w opengl / directx)

Szczerze mówiąc, bardzo mnie to interesowało, ale byłem tak zajęty, że nie mogłem poświęcić czasu, który bym chciał. Stało się obowiązkiem zamiast hobby. Myślę, że być może będę musiał wybrać książkę, aby zainteresować się nią ponownie.

Joe Phillips
źródło