Zanurzyłem palce w programowaniu w C ++, ale nie zagłębiłem się w to. Chcę wiedzieć, czy naprawdę muszę się tego nauczyć lub innych języków, zanim pójdę na studia inżynierskie, czy po prostu i tak nauczę się w szkole?
Zanurzyłem palce w programowaniu w C ++, ale nie zagłębiłem się w to. Chcę wiedzieć, czy naprawdę muszę się tego nauczyć lub innych języków, zanim pójdę na studia inżynierskie, czy po prostu i tak nauczę się w szkole?
Odpowiedzi:
Tak, z kilku powodów.
Jako absolwent CS (BS, MS, doktorat), zaleciłbym jak najszybsze zmoczenie stóp. Będziesz miał wystarczająco dużo innych rzeczy na pierwszym roku studiów. W szczególności w przypadku programowania:
Sprawdź stronę internetową uczelni docelowej i zajrzyj do katalogu klas niższych klas lub na stronie instruktorskiej instruktora, aby zapoznać się ze wstępnymi zajęciami programowania. Poszukaj nauczanego języka programowania i zobacz, jakie rzeczy są omawiane w pierwszej klasie. Zanim zaczniesz, przeczytaj ten materiał.
Ponownie, patrząc na stronę sylabusa klasy, spójrz na poprzednie zadania programowania i zobacz, jakie narzędzia programistyczne i środowisko są używane. Czy to vi i gcc (tego używają prawdziwi mężczyźni)? Microsoft Visual Studio? Zaćmienie? Spróbuj użyć tych narzędzi przed rozpoczęciem.
Programowanie oprogramowania to tylko jedna z rzeczy nauczanych w programie CS. Inne to algorytmy (np. QuickSort), struktury danych (drzewa, listy połączone, tabele skrótów) i czysta teoria (NP-kompletność i logika zestawów). Powiedziałbym, że są one co najmniej tak samo ważne jak każdy język programowania, którego się uczysz.
To zależy od uczelni. Kiedy studiowałem coś, co nazywają „informatyką” na California State University, (słusznie, moim zdaniem) skoncentrowali się na jej naukowym aspekcie i spodziewali się, że wszyscy (nawet pierwszoklasowcy) już będą umieli korzystać z systemów operacyjnych i napisz kod w jakimś popularnym języku. Nie wyrazili zgody na przeniesienie części punktów, które zdobyłem podczas kursów językowych na State University of Ohio. (To był dla mnie kłopot, ale znowu to rozumiem.) To także miało plus: ukończyłem zadanie raz, pisząc mój kod w C; profesor nie mógł odczytać C, więc poprosił mnie o przepisanie go w Pascalu. Zapytałem kierownika działu o zasadność tej prośby, a on powiedział, że skoro nie uczą języków, nie mogą też oczekiwać, że ktoś wykona zadanie w danym języku. Więc mój profesor musiał żyć z moim zadaniem napisanym w C. Tak więc, sedno sprawy brzmi: sprawdź na uniwersytecie, do którego zamierzasz się udać. Ale jeśli chcesz mojej rady, nigdy wcześniej nie dowiesz się jak najwięcej.
Jeśli musisz zapytać, czy powinieneś nauczyć się języka programowania, zadaj sobie pytanie, czy to naprawdę to, co chcesz zrobić. Większość pierwszych lat informatyki jest już całkiem dobra w programowaniu, zanim jeszcze się zacznie, więc będziesz konkurować z tymi typami, które naturalnie dążą do maniaka. Albo wskocz do niego najpierw, albo zrób coś, co kochasz. Nie bądź na płocie. Kocham to co robisz. Nie potrzebuję ani nie chcę głosować na ten, chcę po prostu z tobą porozmawiać.
Nie sądzę, że musisz się tego nauczyć, zanim pójdziesz na studia. Jednak uważam, że podobnie jak większość rzeczy w życiu, jeśli jesteś przygotowany wcześniej przed wzięciem udziału w jakimś wydarzeniu itp., To najprawdopodobniej będziesz w stanie lepiej podejmować świadome decyzje dotyczące tego, jakie informacje należy wchłonąć, a jakie usunąć.
Mówiąc dokładniej, przynajmniej zanurzając palce, możesz być w stanie słuchać tego, co mówią twoi wykładowcy, zamiast kopiować to, co mówią dosłownie, ale nie wchłaniając pojęć, które starają się przekazać, co moim zdaniem jest najważniejsze część uniwersytetu (a nie część uczenia się składni języka itp.).
Co do tego, jakiego języka programowania się uczyć. Prawdopodobnie nie ma to znaczenia, ale może być przydatne, aby zacząć czytać o tych, które prawdopodobnie pokryjesz w pierwszym roku.
Jednak drugą stroną wstępnego uczenia się jest to, że kiedy dojdziesz do pierwszych kilku miesięcy, może ci się wydawać nudne i elementarne. Może to prowadzić do tego, że nie będziesz uczestniczyć w zajęciach lub odrzucisz to, co wykładowcy starają się przekazać, a zatem brakuje niektórych istotnych informacji, takich jak uświadomienie sobie, że sposób, w jaki się czegoś nauczyłeś, jest niewłaściwy, tzn. Nauczyłeś się złego nawyku przed pójściem na studia.
Korzystając już z tego rodzaju witryn, prawdopodobnie już jesteś na dobrej drodze, aby być o krok do przodu i tym samym pomóc w nauce podczas studiów. Tak czy inaczej, to, czego nauczysz się, prawdopodobnie będzie tylko wierzchołkiem góry lodowej. Będziesz musiał kontynuować tę krzywą uczenia się w materiałach szkolnych i poza nimi, jeśli chcesz kontynuować korzyści, które może zapewnić.
Tak, ale nie zaczynaj od najbardziej skomplikowanego języka, będzie na to dużo czasu później.
Zacznij od czegoś prostego, aby zmoczyć stopy. O wiele łatwiej jest ominąć koncepcje programowania, gdy sam język nie jest obciążony. Podobnie, niektóre języki robią rzeczy lepiej niż inne.
Naucz się języka Python w zakresie programowania dynamicznego, prostych technik programowania obiektowego i prawidłowego wcięcia. Dowiedz się javascript + JQuery lub Lua, aby dowiedzieć się o zamknięciach. Naucz się języka Java lub C #, aby dowiedzieć się na temat pisania statycznego. Naucz się wyrażeń regularnych do analizowania ciągów. Naucz się trochę SQL, ponieważ każdy programista musi w pewnym momencie dotknąć bazy danych. Następnie naucz się PHP, aby rozpoznać kod spaghetti.
Ta lista może się różnić, ale w zasadzie wybierz kilka zabawnych języków i użyj ich do nauki pojęć . Następnie nauczysz się dostosowywać, zamiast stagnacji na jeden język do końca życia i ze złością próbujesz go bronić w Internecie przez cały czas.
Powiem, że nie sądzę, aby miało to zbyt duże znaczenie, jaki język znasz, kiedy zaczynasz, ale prawdopodobnie da ci to przewagę w tym sensie, że kiedy dostaniesz pierwsze zadanie programistyczne, nie będziesz miał zmagać się z problemem myślenia w kategoriach kodu - będziesz już miał tam trochę doświadczenia. Jedna krzywa uczenia się do pokonania jest dobra. Bonus, jeśli nauczysz się języka, którego nauczają w pierwszym roku, ale nie jest to konieczne.
Nie dowiesz się, czy inżynieria komputerowa jest dla ciebie odpowiednim programem studiów, dopóki przynajmniej nie dowiesz się, jak trudne lub łatwe jest programowanie, a także, jak dobry jesteś w tym. Jedynym sposobem, aby naprawdę wiedzieć, jest próba nauczenia się co najmniej jednego języka programowania i zrobienia dużo kodowania, JAK NAJSZYBCIEJ.
Niektóre rzeczy, które mogą Cię zainteresować przed rozpoczęciem studiów (wybierz spośród nich):
Nie polecam skupiania się w wąski sposób na C ++; inne języki, książki, umiejętności przyniosą Ci znacznie więcej. Nie wydawaj wszystkich wysiłków na C ++.
Życzymy miłej nauki.
Szczerze mówiąc, jeśli masz na to czas. IT będzie miało więcej sensu podczas nauczania nauczyciela. Wydobędziesz z tego jak najwięcej, niż studenci, którzy nigdy nie programowali.
Zdecydowanie! Jeśli nie programowałeś wcześniej, nauka języka C ++ lub C, Java lub C # pozwoli Ci zacząć od razu. Wszystkie te języki (z grubsza) są oparte na Algolu - gdy tylko nauczysz się jednego z nich, naucz się Lisp lub Haskell. Wspaniała zmiana paradygmatu między dwiema rodzinami pomoże ci bez względu na to, jakie są twoje kursy.
Osobiście poleciłbym to. Nie dotyczy to wszystkich szkół, ale poszedłem do bardzo dobrej szkoły inżynierskiej, a zajęcia z programowania wstępnego były okropne. Znajomość podstaw pomoże ci uniknąć wielu złych praktyk / niewłaściwej wiedzy, których możesz się nauczyć. I jak wspomniano w innej odpowiedzi, będziesz przechodzić przez te proste zajęcia z programowania, podczas gdy inni będą się zmagać. A jeśli jesteś podobny do mnie, daje to więcej możliwości pomocy znajomym, którzy sami sobie z tym radzą.
Myślę, że powinieneś. Oprócz powodów podanych przez innych tutaj dodam, że wielu profesorów uniwersyteckich nie jest zbyt dobrzy w nauczaniu i dlatego nie można polegać na nich, że bardzo dobrze nauczają tego, czego się uczą. Zrozumiesz, co mówią o wiele lepiej, jeśli znasz już podstawy.
Ponadto stosunek materiałów do zajęć jest często zbyt wysoki na uniwersytetach, więc nawet jeśli profesor jest przyzwoitym nauczycielem, nie może cię skutecznie uczyć w dostępnym czasie zajęć. Każda wiedza zdobyta z wyprzedzeniem pomoże ci nadążyć za szybkim tempem zajęć.
IMO C ++ jest jednym z najgorszych języków dla początkujących. Śledź C ++, jeśli nie jest to zbyt trudne, ale inne języki, takie jak C #, VB, Ruby lub Python, są znacznie łatwiejsze.
Byłoby to bardzo mądre posunięcie, aby znać jakiś język przed podjęciem studiów. Nauczanie na kierunku informatyka jest często ponurej jakości, udzielane przez TA, którzy nie są przeszkoleni lub nie mówią po angielsku. Kursy wprowadzające nie są priorytetem, a złe nauczanie jest regułą. Uniwersytety zarabiają na kosztach stypendiów; otrzymywanie stypendiów jest priorytetem większości wykładowców uczelni, a nie nauczania studentów. To smutna zasada z kilkoma wyjątkami.
Jednak jakość programów w szkołach średnich może być również niska. Wiele administracji szkolnych uważa, że szkolenie w korzystaniu z Micosoft Word to informatyka. Ach, bzdury emanujące ze szkół ed!
Chciałbym być bardziej optymistyczny. Jeśli masz dobry program Compsci w liceum, zatrzaśnij się na nim. Przekraczaj granice i bądź agresywny w nauce. Jeśli jesteś dość przedsiębiorczy, nie jest trudno nauczyć się języka Python i nabrać wprawy. Gdy się go nauczysz, nauka innych języków nie będzie trudna. Prosta gramatyka Pythona sprawia, że nauka jest stosunkowo łatwa.
Tak.
To, czego powinieneś się nauczyć, zależy od tego, co oznacza „inżynieria komputerowa”. To dość niestandardowy termin. Tam, gdzie studiowałem, było to połączenie elektroniki i informatyki.
Jeśli spodziewasz się przede wszystkim pracy ze sprzętem komputerowym, sugeruję naukę języka C i Forth. Jeśli zamierzasz przede wszystkim robić to, co uważam za „informatykę”, sugerowałbym nauczenie się czegoś takiego jak Python lub Smalltalk w celu wypróbowania „prawdziwej pracy” i wybranego funkcjonalnego języka programowania (sugerowałbym jakiś wariant seplenienia lub schematu, ale wybierz to, co najłatwiejsze i najfajniejsze).
Podzielę się własnym doświadczeniem.
Zacząłem programować około 10-11 miesięcy temu. Po raz pierwszy zetknąłem się z nim w języku PHP, ale potem zacząłem uczyć się języka C # na kursie wprowadzającym (CS 140) w lokalnym college'u. Po tym, jak nauczyłem się podstaw, prawie z nim latałem i od tamtej pory nie przestałem. Po C # postanowiłem zacząć uczyć się mechaniki niższego poziomu działania komputerów. Pracuję nad aplikacją, która ma być wieloplatformowa i ma pomagać silnikom gier wideo w interakcjach ze sobą (podobnie do SDL, ale prawdopodobnie bardziej niższego poziomu, ze ścisłym naciskiem na GUI, matematykę) i inne funkcje pomocnicze).
Zasadniczo, gdyby nie ta klasa, nie znalazłbym tego, co kochałem, dużo, dużo później. Tak naprawdę nie wiemy, że lubisz programowanie, aż naprawdę zrozumieć pojęcia za nim. Jeśli chcesz się dowiedzieć, polecam wybrać wprowadzenie do książki o programowaniu i zacząć od C / C ++, ponieważ musisz zrozumieć, co robisz, zamiast używać języka, który będzie trzymał cię za rękę, takiego jak Java lub C # lub tylko jakiś język skryptowy - pamiętajcie, mają one swoje miejsce i są dobrymi narzędziami do użycia, ale bardzo ważne jest, abyście rozumieli pojęcia niższego poziomu na początku. To był błąd, który popełniłem na początku.
Następnie kontynuuj programowanie, jeśli Ci się spodoba. Jeśli nie, naucz się czegoś innego. Cokolwiek zdecydujesz się zrobić, powinieneś poświęcić na to jak najwięcej czasu, zanim pójdziesz na jakiś uniwersytet 2-4 lat, aby się tego nauczyć, ponieważ NAPRAWDĘ utrzyma cię na czele gry. Będzie to również stanowić motywację dla każdego pracodawcy, który potencjalnie mógłby cię zatrudnić.
Mogę ci powiedzieć, że dziedziny informatyki / elektrotechniki są zdecydowanie najszybsze pod względem tempa ewolucji (które rosną z roku na rok) i będziesz musiał uczyć się nowych technologii, aby nadążyć za tym, co jest najnowszy i największy (który powinien być co najmniej nieco interesujący, choć tak naprawdę zależy od dziedziny specjalizacji, w której się specjalizujesz) Na przykład nienawidzę programowania internetowego i nie interesuję się wcale istniejącymi technologiami za to, ale niektórzy naprawdę to lubią i są zainteresowani). Mimo to C / C ++ są świetnymi językami do nauki, ponieważ podczas gdy wiele innych języków (np. C #, Java), ma swoje własne gotowe interfejsy API, aby „ułatwić życie”, nie nauczysz się cholernie rzeczy o tym, co się naprawdę dzieje pod maską, aż „
Zasadniczo programuję od 10-11 miesięcy i nie uczęszczałem ani trochę na uniwersytet. Wziąłem klasę C # na uniwersytecie (moja pierwsza klasa programowania, która nauczyła mnie podstaw) i co najmniej 95% reszty nauczyłem się samodzielnie. Jest tak, ponieważ po wzięciu udziału w tych zajęciach wiedziałem, że chcę zostać programistą. Dowiesz się, kiedy to zrozumiesz. Niezależnie od tego, którą ścieżkę wybierzesz, powinieneś studiować ją niezależnie, jeśli naprawdę chcesz odnieść sukces, ponieważ zwiększa to twoje umiejętności motywacji i zaangażowania. Programista mabyć zmotywowanym do odniesienia sukcesu. Mają do czynienia z czymś więcej niż tylko „pisaniem kodu”. Aplikacja musi być stale testowana, debugowana i zrozumiana od podstaw. Zazwyczaj, czy to małe, czy duże, prawie nauczysz się czegoś nowego dla każdego podejmowanego projektu. To dobra rzecz, ponieważ musisz utrzymać ten mózg aktywny.