Pytanie:
Czy wykładowca może zmusić Cię do nauki określonej składni / języka programowania?
Student
2018-10-25 20:57:25 UTC
view on stackexchange narkive permalink

Moja klasa jest obecnie w trakcie dalszego uczenia się naszej relacyjnej bazy danych / języka SQL w ramach kursu.

Prowadzący obecnie ogranicza nas do nauki konkretnej składni Oracle SQL, zamiast pozwolić nam na używanie PostgreSQL , MySQL, SQLite itp.

Kiedy mówiliśmy o naszych preferencjach dotyczących korzystania z alternatywnych systemów w związku z pracą z tymi wymienionymi powyżej na stażach lub studiach akademickich z poprzedniego roku, powiedziano nam, że nawet omawiając tę ​​sprawę.

Czy w Wielkiej Brytanii dozwolone jest ograniczanie uczniom korzystania z preferowanej składni bazy danych / środowiska oprogramowania?


Edytuj, aby dodać: dziękuję za spostrzeżenia i opinie. Post powstał w imieniu moim i pół tuzina członków klasy, którzy nie znali najlepszej drogi rozwiązania sprawy, ale dzięki tej społeczności mają teraz lepsze zrozumienie. Jeśli chodzi o to, co jest warte, mogę śmiało powiedzieć, że ja i moi koledzy studenci są pewni Oracle, MySQL i innych podstaw SQL z wcześniejszej edukacji, projektów lub zatrudnienia i nie mam problemu z nauczeniem się czegoś nowego, aby kontynuować rozwój.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/84930/discussion-on-question-by-student-can-a-lecturer-force-you-to-learn-a-specyficzne-p).
Czternaście odpowiedzi:
#1
+306
problemofficer
2018-10-25 21:14:16 UTC
view on stackexchange narkive permalink

Nie, nie mogą. Ale mogą sprawić, że oblejesz klasę.

Wykładowcy zazwyczaj mają swobodę co do specyfiki nauczanego materiału. Dlatego mają swobodę wyboru dowolnej technologii lub dialektu, o ile jest to objęte zakresem kursu.

Nikt nie może zmusić Cię do nauki czegokolwiek, ale jeśli chcesz zdać jego egzamin lub kurs np. zgłaszając zadania laboratoryjne, musisz grać według ich zasad.

Mogą nie znać żadnego innego dialektu i dlatego mogą tylko uczyć (i oceniać) Oracle SQL. Lub mogą uznać to za najlepszy dialekt, np. Ze względu na szerokie zastosowanie w branży.

Na koniec, chociaż byłbym tym również zirytowany, czasami trzeba go wyssać i po prostu zaliczyć kurs. Wykładowcy, którzy przez 20 lat uczą tego samego (przestarzałego) materiału, są niestety rzeczywistością na uczelniach. Przynajmniej możesz się dowiedzieć, czego unikać w przyszłości.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/85334/discussion-on-answer-by-problemofficer-can-a-lecturer-force-you-to-learn-a-speci).
#2
+142
Patricia Shanahan
2018-10-25 21:28:51 UTC
view on stackexchange narkive permalink

O ile w opisie kursu nie ma czegoś innego, co mówi inaczej, wykładowca może wybrać składnię dla wszystkich przesłanych zajęć i egzaminów. Wybór określonej składni sprawia, że ​​wykłady są mniej zagmatwane, a także upraszcza testowanie i ocenianie prac i egzaminów. Aby zaliczyć kurs, będziesz musiał nauczyć się Oracle SQL.

Możesz pomylić „wymaganie nauki X” z „ograniczeniem nauki Y”. W dłuższej perspektywie będziesz musiał nauczyć się wielu materiałów w trakcie swojej kariery i nie zawsze będzie możliwe zdobycie zajęć z dokładnie tego, czego musisz się nauczyć. Samodzielna nauka może stać się niezbędna.

Rozważ powtórzenie niektórych zadań z wybranej bazy danych dla własnego wykształcenia.

Chciałbym dodać do doskonałej odpowiedzi Patricii, mówiąc, że jeśli w końcu zaczniesz zarabiać na życie, będziesz musiał rozwinąć umiejętność poruszania się między podobnymi językami i strukturami, aby przetrwać.W szczególności SQL nie jest technologią, na której należy się cenić, ponieważ jest używany wszędzie.Ponadto ilość dodatkowego wysiłku z Twojej strony jest znikoma w porównaniu z ilością pracy, którą instruktor musiałby wykonać, gdyby każdy wybrał własną wersję.To jest szalone.To byłoby jak biznes, który pozwoliłby każdemu działowi używać własnej wersji SQL, a następnie próbował znormalizować ją w pojedynczej bazie danych.
#3
+75
Oleg Lobachev
2018-10-26 02:34:48 UTC
view on stackexchange narkive permalink

Twoje pytanie brzmi trochę inaczej:

Czy wykładowca może oprzeć swój kurs na określonym dialekcie narzędzia?

Mogę i ja do zrobienia.


Ale chciałbym podkreślić nieco inny aspekt tego. Właściwy wykład na poziomie uniwersyteckim (prawie) nigdy nie dotyczy konkretnych narzędzi i języków. Chodzi o koncepcje.

W tym semestrze uczę programowania funkcjonalnego. Materiał wykładowy mówi o Haskellu. Ćwiczenia są w Haskell. Gdyby ktoś przesłał je w ML, na pewno by się nie udało. Ale właśnie koncepcje programowania funkcjonalnego są tym, o czym właściwie jest ten wykład. Koncepcje się nie zmieniają.

W pełni oczekuję, że studenci będą umieli programować w ML, Swift lub czymkolwiek innym, o ile jest to funkcjonalny język programowania i dostosowali się do składni. Z pewnością przegapiliby niektóre koncepcje. Z pewnością mieliby pewne koncepcje, z którymi nie spotkali się na wykładzie. Ale podstawowe podejście, ogólny sposób myślenia i większość koncepcji nadal będą obecne. I o to tak naprawdę jest mój kurs.

W rzeczywistości mogą nigdy w życiu nie napisać ani jednej linijki Haskella po uzyskaniu oceny. I to wciąż czyni ich lepszymi programistami i informatykami.


Mogę w zasadzie zamieniać słowa i uzyskać to samo stwierdzenie o relacyjnych bazach danych. Fakt, że nauczyłeś się Oracle, powinien mieć niewielki wpływ na twoją zdolność korzystania z MySQL (lub czego nie) w późniejszym życiu. Z Oracle i tak korzysta całkiem sporo dużych firm. Być może twój wykładowca biegle posługuje się Oracle niż czymś innym, a może twój wydział ma tę wielką błyszczącą licencję Oracle, której wstyd byłoby nie używać, lub coś zupełnie innego. Powód jest nieistotny, musisz się nauczyć Oracle.

To, czego faktycznie się uczysz, to podstawy relacyjnych baz danych. Te podstawy mają zastosowanie do wszystkich rzeczy * SQL, a nawet niektórych, które nie są. Wszystko inne to niewielkie dostosowanie do składni i lokalnych dziwactw, które nie są przedmiotem studiów uniwersyteckich.

`Fakt, że uczysz się Oracle, powinien mieć niewielki wpływ na twoją umiejętność korzystania z MySQL`, to prawda.Musisz użyć * jakiegoś * istniejącego języka, a każda implementacja może mieć swoje różnice.Mimo to, jeśli umiesz pisać zapytania w * dowolnym * dialekcie języka SQL, będziesz w stanie pisać je w dowolnym dialekcie.Tabela działałaby tak samo w Oracle, PostgreSQL, MySQL itp., Jeśli chodzi o wybór i aktualizację, i tak dalej.Niektóre specjalne przypadki mogą się różnić, ale w prawdziwym świecie nie zawsze masz wybór dostawcy bazy danych, prawdopodobnie będziesz musiał po prostu użyć X i Y, podczas gdy znasz tylko Z.
Jako pedagodzy lubimy pretendować do przekonania o „koncepcjach, a nie o konkretnych technologiach”, ale nie widzę zbyt wielu dowodów, które by to potwierdzały.Moi studenci C ++ nie czują się dobrze w Javie, mimo że na każdym kroku mówię im, jakie 95% jest takie samo, a co 5% inne.Czteroletni college, do którego przenosi się większość moich 2-letnich studentów, nie akceptuje zajęć w C ++ jako spełniających wymagania programowania w języku Java.Oferty pracy będą wymagały wyraźnie jednego, a nie drugiego.Itp.
Apple i Google dzielą rynek i stosują głównie strategie niechętne współpracy.Microsoft był odpowiedzialny za niedrogi komputer PC, wcześniej komputer osobisty z Macintosha itp. Był luksusem.Teraz każdy może mieć pełny dostęp i posiadać w pełni programowalny komputer (w przeciwieństwie do inteligentnych urządzeń z systemem Android / Apple, które nie są w pełni programowalne).Jak ktokolwiek może racjonalnie temu zaprzeczyć?I nie tylko to, Windows również znajduje optymalne rozwiązania i dobrze.Bez poświęcania wydajności, kompatybilności czy przystępnej ceny.
Windows 95-windows 10 era Microsoftu to naprawdę nowoczesny cud, a teraz wraz z rozwojem innych systemów operacyjnych.Firmy takie jak Apple i Google coraz wyraźniej pokazują, jakie mieliśmy szczęście.Obawiam się, że ta epoka skraca się w wyniku zmiany do bardziej regularnych czasów, analogicznych do okresu sprzed lat 80.To powiedziawszy, środowisko akademickie nigdy tak naprawdę nie korzystało z okien do nauki, jak na ironię, zawsze jest to zepchnięte na drugi plan i poza miejsce.
Teraz jestem pewien, że firmy wybiorą każdy aspekt 95-win10 o.s.I skopiuj to.Ale chodzi o to, że wolnorynkowe przedsięwzięcie zapoczątkowane przez Gatesa i Allena, które było w stanie to osiągnąć, zniknie na zawsze.
Dyskusja wydaje się być boczna.Technologie _erode_.Pamiętasz J #?Perl?Tru64 UNIX?VAX?Problem z nauczaniem „Programowania w XY” polega na tym, że ludzie giną i nie mają pracy, kiedy XY jest przestarzałe.
@DanielR.Collins: Kiedyś z powodzeniem dostałem pracę w C #, ale dwa tygodnie przed rozpoczęciem znałem tylko C ++ i Javę.Udało się.Stąd koncepcje, tak.
„Oferty pracy będą wymagały wyraźnie jednego, a nie drugiego.”: Ale to tylko mówi, jak płytcy potrafią być niektórzy rekruterzy.Doświadczony programista, który opanuje, powiedzmy, C ++, Python i Haskell, nie będzie miał trudności z wybraniem języka Java lub C #.Tak, zajmie to trochę czasu, ale wolałbym dać stanowisko Java takiemu programiście niż komuś, kto programował w Javie tylko przez całą swoją karierę.
To jedna z najlepszych odpowiedzi dla mnie, ponieważ bezpośrednio odnosi się do poglądu, że w szkolnictwie wyższym chodzi o to, aby student zrozumiał nadrzędną zasadę, a nie konkretną implementację.Uwikłając się w specyfikę konieczności zapamiętywania LIMIT vs TOP lub myśląc, że (zewnętrzne) łączenia muszą być wykonywane jak `WHERE table.col = othertable.othercol (+)` (* wzdrygnij się * na samą myśl o tym, jeślito się dzieje) tracą z oczu szerszy obraz, że są tam, aby dowiedzieć się o przechowywaniu i łączeniu powiązanych danych razem i rozważaniu ich w zestawach, a nie wiersz po wierszu
@DanielR.Collins - Mówiąc pragmatycznie, wszystkie główne DBMS powinny obsługiwać ANSI SQL, a następnie nakładane są na to własne idiosynkrazje składniowe.Jednak większość pracodawców zwykle wymienia tylko narzędzia, których używają, i nie doceniają tego.O ile nie wykonujesz szczegółowego dostrajania zapytań lub intensywnie korzystasz z funkcji specyficznych dla platformy, jeśli jesteś kompetentny w ANSI SQL, możesz kompetentnie pisać na większości DBMS i po prostu wyszukiwać funkcje, których potrzebujesz.
** „Chodzi o koncepcje. **” To jest tak prawdziwe i tak dokładne.Nauczyłem się programowania strukturalnego, ucząc się BCPL.To, czego nauczyłem się podczas tego kursu, ułatwiło samodzielne nauczenie się języka C, ponieważ było ono również dostępne na PDP-11 / 34A, który mieliśmy wtedy w laboratorium.Ale podstawowe pojęcia, których nauczyłem się od BCPL, sprawiły, że przejście na C było dość trywialne.Dopiero później dowiedziałem się, że C był właściwie wnukiem BCPL.:)
@dgnuff: Jak Hardy ujął to w inny, ale powiązany sposób: „... ponieważ języki umierają, a idee nie”.;)
Tak, każdy z nas jako naukowców ma anegdoty dotyczące rozumienia pojęć i samodzielnego przechodzenia na nowe języki.Ja też. Ale z tego, co widzę w populacjach studentów i HR, jestem sceptyczny, że ogólnie rzecz biorąc.Chciałbym zobaczyć dowody na to, że odsetek osób, które robią to bez specjalnego szkolenia w zakresie nowych technologii, jest znaczący.Gdyby tak było, cała branża szkoleń zawodowych nie istniałaby.
#4
+67
xLeitix
2018-10-25 22:36:37 UTC
view on stackexchange narkive permalink

Czy wykładowca może zmusić Cię do nauczenia się określonej składni / języka programowania?

Oczywiście, że może. Nauczyciele są na ogół odpowiedzialni za projektowanie swoich kursów w taki sposób, jaki ich zdaniem najlepiej nadaje się do osiągnięcia zamierzonych efektów uczenia się. W niektórych przypadkach (szczególnie w przypadku kursów zorientowanych na projekty) może to oznaczać pozostawienie studentom możliwości wyboru technologii, ale w przypadku innych kursów ścisłe określenie, z czego powinni korzystać uczniowie, może być lepsze.

Ponadto, gdy wygrałem ” W szczególności komentując korzystanie z Oracle, wciąż mogą istnieć dobre powody, aby nie używać tego, czego używałeś wcześniej. W szczególności nauka innego dialektu SQL może być sama w sobie bardzo cenną lekcją. Dzięki temu lepiej zrozumiesz, co dokładnie jest częścią SQL (znormalizowanego języka), a co stanowi część konkretnej implementacji, której używa Postgres.

Wreszcie, praktyki często nakazują nauczycielom wprowadzenie pewnych podstawowych zasad technologicznych. Często zdarzało mi się, że wymagałem od uczniów w dużych klasach (ponad 400 uczniów) przestrzegania określonych technologii, a nawet szablonów zgłoszeń, ponieważ z perspektywy czasu oceniania nie można było zaakceptować, że asystenci musieliby poświęcać czas na znalezienie rozwiązania uruchomić, zanim zaczną go oceniać. Oczywiście jest to skrajny przypadek, ale nadal musisz zrozumieć, że pozwolenie każdemu uczniowi na wybranie własnej technologii szybko nasila, jeśli chodzi o ocenę pracy.

To wszystko, co można powiedzieć, z pewnością możesz rozwiązać ( na przykład w ewaluacjach nauczania), jeśli uważasz, że cele pedagogiczne kursu można lepiej osiągnąć, używając dialektu SQL, który już znasz, ale formalna skarga nie ma podstaw do oparcia.

Chociaż generalnie podoba mi się ta odpowiedź, uważam, że wspominając w pierwszym akapicie „najlepiej nadaje się do osiągnięcia zamierzonych efektów uczenia się”, nadajesz jej najwyższe znaczenie.technologii.To, co wie, do tego jest przyzwyczajony.
@problemofficer Może to być prawda lub nie.Nie znam twojego nauczyciela.
#5
+38
Thomas
2018-10-25 22:48:31 UTC
view on stackexchange narkive permalink

Cofnij się: ilu uczniów jest w klasie? Myślę, że 100. Każdy student będzie miał swoje własne preferencje - różne dialekty SQL, różne szybkości i style uczenia się, różne tematy, różne oceny itp. Wykładowca nie jest w stanie uwzględnić wszystkich tych preferencji, więc istnieje potrzeba kompromisu.

Dla wykładowcy może być tylko 10% więcej pracy, aby dostosować się do preferowanego dialektu SQL. Możesz pomyśleć, że to rozsądne. Ale jeśli każdy student ma coś podobnego do pomieszczenia, to nagle wykładowca ma 1000% więcej pracy. To oczywiście niepraktyczne.

Z punktu widzenia wykładowcy ważne jest, aby kontrolować obciążenie kursem. Jeśli zacznie spełniać prośby, może to bardzo szybko wymknąć się spod kontroli. Bycie surowym to umiejętność, której wykładowcy muszą się nauczyć. Jeśli chcesz kogoś, kto dostosuje wszystko do Twoich preferencji, zatrudnij prywatnego korepetytora.

Bardzo prawdziwe.Niektóre z tych 10% dodatkowego nakładu pracy można już osiągnąć poprzez niekończące się dyskusje z a) uczniami, których ulubiony dialekt został przyjęty i którzy teraz narzekają, że otrzymują mniej materiałów i wsparcia niż ci, którzy używają głównego dialektu klasy oraz b) uczniowie, których ulubiony dialekt był * nie * przyjęty i którzy zwracają uwagę, że inni również dostali swój ulubiony dialekt, dlaczego nie mogą również zostać przyjęci.(Źródło: osobiste doświadczenie, nawet związane z dialektami tego samego języka, ale z różnymi językami programowania).
Wiele lat temu wziąłem udział w zajęciach z organizacji i przetwarzania plików, a adiunkt powiedział: „Możesz przekazać to w dowolnym systemie językowym, z którego chcesz korzystać, ponieważ potrafię go przeczytać. Jeśli nie mogę, jesteś odpowiedzialny za nauczenie mnie go wystarczająco dużowięc mogę to ocenić ”.Było ograniczenie dotyczące używania języka, który „zrobił to za ciebie” (co oznacza, że musiałeś wykazać się wiedzą, jak zakodować przypisanie ... na przykład nie możesz użyć funkcji `.Sort` do sortowania rzeczy).
Komentarz @J.ChrisCompton przypomina mi moją promotorkę.Miał zadanie napisania algorytmu mnożenia macierzy.W laboratorium odkrył klawiaturę APL.Reszta to jednolinijka ... :-D
#6
+23
Jon Custer
2018-10-25 23:39:00 UTC
view on stackexchange narkive permalink

Kiedy eony temu wziąłem udział w kursie metod numerycznych, kilka pierwszych zadań wykonywałem w Fortranie 77. Po wykonaniu kilku zadań w Fortranie, profesor przeszedł do zadań z APL, SPITBOL i C, z których każde miało pokazać, w jaki sposób różne języki umożliwiły atakowanie problemów na różne sposoby. Nie poświęcano czasu na nauczanie tych języków, mieliśmy przeczytać podręczniki i samodzielnie rozwiązać problem w ciągu mniej więcej tygodnia dostępnego. I wiele się nauczyłem o wielu różnych językach i konstrukcjach, których nadal używam.

Ale możesz postawić dolary na pączki, że zadanie do wykonania w APL było akceptowane tylko w APL. Gdyby miał to być SPITBOL, mógłbyś ujść na sucho SNOBOL (chociaż naprawdę potrzebowałeś rekurencji), ale Fortran nie zamierzał latać.

Tak, z wielu powodów profesor może definiować parametry zadań, w tym szczegóły, takie jak dopuszczalny język programowania.

SNOBOL miał kilka fajnych koncepcji, szczególnie na początku lat 60.Jednak nigdy go nie używałem od tamtego kursu.
Krótko użyłem SNOBOL na początku lat 80-tych!
Uczyłem się trochę SNOBOL-a na Uniwersytecie w 1971 roku i moje, znacznie ułatwiło mi to opanowanie XSLT, kiedy spotkałem się z tym w 1999 roku.
@MichaelKay nigdy nie używał SNOBOL, ale w pewnym momencie stopił mój mózg za pomocą XSLT, nie jestem pewien, czy powinienem odebrać twoje oświadczenie jako aprobatę lub potępienie SNOBOL.
Cóż, zarówno SNOBOL, jak i XSLT mają model przetwarzania oparty na dopasowywaniu danych wejściowych do wzorców i odpalaniu odpowiednich reguł w oparciu o pasujące wzorce.Mówię tylko, że jeśli trafiłeś na jeden język, który używa tego paradygmatu, o wiele łatwiej jest wybrać inny;podczas gdy jeśli wcześniej nie spotkałeś się z takim językiem, może on stopić twój mózg.Najpotężniejsze koncepcje informatyki często wymagają opanowania.
Fortran 77?Och, marzyliśmy o napisaniu Fortran 77!Byłby dla nas luksusem.Kodowaliśmy w języku COBOL w starym zbiorniku na wodę na śmietnisku.Każdego ranka budziliśmy się, gdy porzucano na nas cały ładunek gnijących ryb!
Chociaż podobało mi się wiele rzeczy w SNOBOLu, struktury kontroli programu były do niczego.Po pierwszym zleceniu straciłem zainteresowanie programowaniem w nim.
Kolejny głos na SPITBOL, którego nauczyłem się na studiach i od tamtej pory nigdy nie miałem okazji skorzystać.Ten okropny bałagan w Perlu, który był nagłówkiem wszystkich pierwszych skryptów CGI, byłby może 2 liniami SPITBOL-a.Czy możemy rozpocząć kampanię, aby go ożywić?
#7
+14
RAZ_Muh_Taz
2018-10-26 02:24:15 UTC
view on stackexchange narkive permalink

Podczas studiów i kariery używałem wielu języków i kilku rzeczy możesz być pewien

  1. W szkole nauczyciel ma zawsze rację, więc albo wejdź na pokład, albo wysiądź
  2. Nigdy nie będzie jednego idealnego języka do użycia, który byłby używany przez wszystkich wszędzie (SQL vs mongoDB, C ++ vs JAVA, lista jest długa)
  3. Nauka innego języki programowania to umiejętność niezbędna dla programisty

To wspaniale, że profesor zmusza uczniów do używania mniej popularnego języka lub języka, który nie jest preferowany. Pomaga przygotować się do prawdziwego świata, w którym natkniesz się na pracę / sytuację, w której musisz używać języka programowania, którego nigdy wcześniej nie używałeś. Przeszkody związane z nauką nowego języka w szkole pomogą pokonać przeszkody związane z nauką nowego języka w Twojej przyszłej pracy.

Po tym, jak niecały rok temu użyłem FORTRAN 77 i Perl 4 w prawdziwej pracy, mogę ręczyć za konieczność szybkiego przyswajania nowych języków.
SQL vs MongoDB ** znacznie ** różni się bardziej niż C ++ vs Java.To bardziej przypomina C ++ vs Haskell.
#8
+9
Amadeus-Reinstate-Monica
2018-10-29 16:36:45 UTC
view on stackexchange narkive permalink

Tak, kontroluję moje zajęcia i zdecyduję, co w twojej pracy jest warte punktów, a co nie. Powiem ci to z góry, mając mnóstwo czasu na wypowiedzenie.

Nie tylko wymagam od ciebie używania składni i języka, którego uczę (dla mojej własnej łatwości oceniania i spójności wyników, jak czas wykonania), ale będę wymagał przestrzegania moich reguł formatowania kodu dotyczących wcięć, tabulatorów, ograniczeń długości linii, nazw zmiennych i ich wielkości oraz komentowania w kodzie, aby pomóc mi zobaczyć, co zrobiłeś i dlaczego robią to.

Ponieważ bolesna prawda jest taka, że ​​kiedy wejdziesz do prawdziwego świata, przekonasz się, że pisanie działającego kodu nie wystarczy, Twój kod musi być obsługiwany i czytelny dla innych. Są szanse, że będziesz musiał przeczytać i debugować TONY kodu innych ludzi, a wtedy to docenisz.

Zanim zostałem profesorem, byłem kierownikiem oddziału odpowiedzialnym za kod w firmie publicznej. Początkujący często otrzymują zadania testowania i debugowania, aby zapoznać ich z kodem i systemami oraz ocenić ich wiedzę specjalistyczną i produktywność.

Najpierw programiści IRL przechodzą do innych firm, działów lub ról w firmie. . Więc nie tylko musimy zajmować się kodem przez programistów, których już z nami nie ma, starsi programiści często pracują nad terminem krytycznych NOWYCH projektów i nie mają czasu na debugowanie własnego kodu sprzed lat, a nawet na odpowiedź pytania na ten temat.

To sprawia, że ​​konserwacja kodu jest bardzo ważna, ponieważ biblioteki sprzętu i oprogramowania, systemy operacyjne i wydania kompilatora / interpretera zmieniają się znacznie szybciej niż nasza baza kodu i psują nasze systemy. Kod musi być czytelny, łatwy do zrozumienia i łatwy do naśladowania. Nie chcę żadnego kodu „czarnej skrzynki”, który po prostu „działa poprawnie”, ponieważ kiedy przestaje działać, nie chcę go przepisywać, aby to naprawić.

Dlatego też egzekwuję to na moich zajęciach. Tak, twój kod musi działać, ale to nie jest cała ocena. Musisz użyć narzędzi, które ci dałem, albo nie zdasz: ponieważ prawdziwe firmy mają standardy, nawet do edytora , z którego korzystasz, a moje zadania są ćwiczeniem w tobie przy użyciu podanych narzędzi, nie tylko uzyskanie właściwej odpowiedzi.

Musisz także napisać kod, który jest zgodny z moimi wytycznymi dotyczącymi formatowania i komentowania, są one warte oceny literowej. Ponieważ IRL, gdybyś dał mi (swojemu menedżerowi), że jako programista musiałbym odesłać to do Ciebie w celu odpowiedniego sformatowania, a twoje wynagrodzenie i produktywność miną 1 lub 2 dni, ponieważ nie możesz śledzić prostej listy pisemne wskazówki.

Odpowiednikiem w klasie jest Twoja ocena, więc -10 za błędne myślenie, że uzyskanie prawidłowej odpowiedzi jest wszystkim, co ma znaczenie dla firmy. To, jak otrzymałeś odpowiedź, jest bardzo ważne, a możliwość utrzymania kodu po odejściu lub zaprzestaniu jego utrzymywania jest również bardzo ważna.

@CaiusJard Tak, pracowałem w firmie, w której każde stanowisko pracy musiało być identyczne i było to utrzymywane przez administratorów.To samo IDE, edytor, debugger, kompilator, system operacyjny, biblioteki, a nawet te same ikony w tym samym miejscu na ekranie.Nawet struktura katalogów była taka sama.Więc każdy mógł siedzieć na dowolnej stacji i pracować lub pomóc komuś znaleźć błąd lub cokolwiek.Bez wyjątków dotyczących osobistego stylu lub preferencji.Ale przyzwyczaisz się do tego, a jednolitość i wymienność zapewniają wymierne korzyści, zwłaszcza w przypadku pomocy zdalnej: jeśli mój system i Twój są identyczne, mogę powielić Twój problem.
Co zrobisz na bezwartościowych zajęciach ostatniego semestru?Jest za późno, żeby upuścić.
@Joshua Nie mój problem!Kiedy mówię ci o wymaganiach na dzień 1 i 2, jeśli jesteś przez nie strasznie obrażony, nadal masz dużo czasu na rezygnację bez oceny lub kary finansowej, przynajmniej na uniwersytetach, na których byłem, jako student lub profesor.To, co robisz, nie jest moją sprawą ani odpowiedzialnością.Jeśli chcesz ukończyć szkołę, zostań w klasie i wykonuj pracę, którą ci zlecam.Tak jak w prawdziwym życiu: jeśli chcesz otrzymać wypłatę, będziesz wykonywać pracę zgodnie z zasadami ustalonymi przez szefa, ponieważ dla niego twoja praca nie jest warta twojej wypłaty, jeśli będziesz nalegać na robienie tego po swojemu.
#9
+8
Fábio Dias
2018-10-25 22:36:04 UTC
view on stackexchange narkive permalink

Nauczanie to coś więcej niż tylko prowadzenie wykładu, musisz przygotować materiały, zapoznać się z treścią, przygotować ćwiczenia, egzaminy itp.

Jak Twoim zdaniem profesor zrobiłby to bez ograniczania dialekt? Albo jak profesor może być uczciwy wobec studentów, nie ograniczając go?

Przykład: „Preferujemy Oracle, ale akceptujemy każdy inny dialekt”. Więc uczeń, który zdecydowałby się to zrobić w pgsql, znalazłby się w niekorzystnej sytuacji, ponieważ materiał nie był do tego przygotowany, składnia jest inna, przykłady nie będą działać, itp. ... pgsql, ponieważ jest dobrze znany. Ale nie ma sensu dodawać pgsql i nie używać również mysql. Kiedy to się kończy?

Aby być uczciwym, istnieje prosta odpowiedź na to, że jeśli cały materiał jest przygotowany dla Oracle, a student z własnej woli decyduje się na użycie czegoś innego, wybrał niekorzystną sytuację.
Tak, ale wtedy facet zawodzi, zrzuć winę na profesora, w końcu robi zamieszanie.Jasne, prawdopodobnie się myliłby, ale wszelkie oficjalne skargi najprawdopodobniej wymagałyby dokładnego zbadania, to może być naprawdę nieporządne.Łatwiej zdusić go w zarodku.Co więcej, jak profesor oceniałby egzaminy?(podejście „tylko funkcjonalność”, „czarna skrzynka” może działać, ale raczej dwukrotnie sprawdzę, co zrobili uczniowie)
@FábioDias Twierdziłbym nawet, że podejście „czarnej skrzynki” w rzeczywistości nie zadziała, ponieważ programowanie (nawet SQL) dotyczy w takim samym stopniu kodu, jak jego wyniku.Takie rzeczy, jak formatowanie, styl, architektura, najlepsze praktyki itp. Są częścią nauki nowego języka lub technologii, więc nie ocenianie ich jest ogromną szkodą dla uczniów.
#10
+5
Jay
2018-11-01 00:55:38 UTC
view on stackexchange narkive permalink

Hmm, nie chcę być niegrzeczny, ale to wydaje się dość dziwne pytanie. To tak, jakby powiedzieć: „Profesor nalega, żebyśmy pracowali na podstawie podręcznika X. Ale wolałbym używać podręcznika Y”. Może się zdarzyć, że możesz udowodnić, że Y jest lepszym podręcznikiem. Ale jeśli klasa ma być spójna, wszyscy uczniowie powinni pracować z tego samego podręcznika.

Gdyby wszyscy używali innego dialektu języka SQL, profesor musiałby uwzględnić dyskusje na temat wszystkich różnych dialektów w każdej klasie. Profesor musiałby nie tylko znać wszystkie dialekty i wszystkie różnice, ale musiałby poświęcić czas na ciągłe omawianie tych różnic, zamiast koncentrować się na podstawowych kwestiach. Dla studentów, którzy już dobrze znają język SQL, omówienie różnic między różnymi dialektami może być interesujące i przydatne. Ale jeśli celem zajęć jest nauczanie języka SQL, takie dygresje byłyby obciążeniem nie tylko dla profesora, ale także dla studentów. Uczniowie musieliby przeglądać, o jakim dialekcie on teraz mówi? Czy to dotyczy mnie, czy też tego, którego nie używam? Poziom złożoności zostałby znacznie zwielokrotniony.

A jak oceniałby zadania? Czy ma mieć zainstalowane te wszystkie dialekty na swoim komputerze? I śledź, który uczeń używa danego dialektu i upewnij się, że wykonałeś test z właściwym?

A co, jeśli ktoś powie: „W ogóle nie chcę używać SQL. Chcę używać Mongo” ?

A co by było, gdyby ktoś powiedział: „Nie chcę uczyć się o bazach danych. Chcę się uczyć o pisaniu płaskich plików”?

A jeśli ktoś powie: „Nie chcę” chcę dowiedzieć się więcej o bazach danych. Chcę dowiedzieć się czegoś o rewolucji francuskiej ”?

Gdzie to się skończy?

Nierozsądne jest przeciąganie w to podręczników.
@Joshua Nie jestem pewien, o co ci chodzi.Przykładem był fragment o podręcznikach.
To walka, w której stawką jest więcej niż wariant językowy;możesz łatwo zgubić podręcznikowy jeden z powodu ciężaru drugiej strony i nadal wygrać ten.
#11
+4
Dmitry Savostyanov
2018-10-25 23:50:51 UTC
view on stackexchange narkive permalink

Większość uniwersytetów w Wielkiej Brytanii przekazuje informacje o swoich kursach i modułach za pomocą tak zwanych deskryptorów kursów i modułów. Często są one częścią podręcznika do kursu lub dostarczane w pakiecie informacyjnym modułu.

Przeczytaj deskryptor modułu i przyjrzyj się celom nauczania modułu. Opisują umiejętności i wiedzę, które zdobędziesz po pomyślnym ukończeniu tego modułu. Twój wykładowca jest tutaj, aby pomóc Ci zdobyć te umiejętności.

  • Jeśli efekty nauczania mówią, że nauczysz się języka / składni, to właśnie tego musisz się nauczyć. Przypuszczalnie wybór języka jest dobrze uzasadniony, ponieważ stał się formalnym dokumentem (który jest częścią Twojej umowy o naukę).
  • Jeśli efekty uczenia się mówią, że nauczysz się zarządzać bazą danych, musisz zarządzać bazą danych przy użyciu dowolnego odpowiedniego języka. Jeśli wykładowca chce nałożyć ograniczenie, powinien uzasadnić to obiektywnymi powodami, np. ten program jest przestarzały, nie nadaje się do zadania, jest zastrzeżony, a Uczelnia nie ma na to licencji itp. Narzucanie studentom indywidualnych preferencji bez potrzeby akademickiej nie jest fajne i tylko pokazuje, że wykładowca ma ograniczone umiejętności i nie chcę się martwić, aby dowiedzieć się więcej. To nie jest dobry przykład do naśladowania.
Myślę, że przyznanie się, że masz ograniczony zestaw umiejętności, jest bardzo dobrym przykładem do naśladowania.Nie można ufać każdemu, kto nie przyznaje się do swoich ograniczeń.
Pomija to narzuty (ewentualne automatyczne wiązki testowe itp.) W ocenie / ocenie wielości nadesłanych języków.
@MichaelKay Fajnie jest przyznać się do swoich ograniczonych umiejętności, ale nie fajnie jest czynić swoje ograniczenie problemem kogoś innego, w tym przypadku problemu uczniów.Zadaniem wykładowców jest pomaganie studentom w rozwijaniu ich umiejętności, a nie ograniczanie ich.
@DanielR.Collins Grading to praca wykładowcy.Upraszczanie pracy kosztem zmniejszenia doświadczenia uczniów jest niesprawiedliwe.
@DmitrySavostyanov: Będziemy musieli się nie zgodzić.Wydajne wykorzystanie czasu, aby móc głębiej pomóc większej liczbie ludzi, jest mądre.
@DanielR.Collins Z pewnością musimy się nie zgodzić.Nigdy nie chciałem być „skuteczny”, aby zapewnić gorsze wsparcie większej liczbie ludzi.
Zgodnie z moim ostatnim komentarzem, jestem zainteresowany pomaganiem większej liczbie osób * głębiej *, np. Poprzez lepiej przygotowane prezentacje klasowe, więcej czasu na osobiste spotkania i porady, głębszą informację zwrotną na temat koncepcji zadań itp. Wydaje się dziwne, że ty ”d zamiast tego traktuj priorytetowo czas budżetowania, aby wesprzeć uczniów * bez konieczności uczenia się nowego języka *.
@DanielR.Collins Chcę się skupić na pomocy uczniom w uczeniu się, czego * chcą * się nauczyć i czego obiecuje nauczenie deskryptor modułu.Jeśli na przykład przyszli, aby nauczyć się analityki danych, mogą wybrać język do swojego zadania - język jest tylko narzędziem, które pomaga uczniom w nauce przedmiotu.Ograniczenie wyboru języka tylko zmniejsza ich doświadczenie.I cieszę się, że mogę nauczyć się nowego, jeśli muszę to zrobić dla oznaczania celowego.Jak zachęcić uczniów do nauki, jeśli sam nie chcę się uczyć?
Nie chodzi o to, że instruktor nie zna języka, chodzi o zbudowanie jednej wiązki testowej, która pomoże zautomatyzować ocenianie i zaoszczędzi czas na inne cele.Zobacz mój pierwszy komentarz;teraz tylko kłócimy się w kręgach.
@DanielR.Collins A więc opowiadasz się za automatyczną oceną i nazywasz to „głębszą informacją zwrotną” i „pomaganiem większej liczbie ludzi”?Na pewno jest tu kilka kręgów.
Nie powiedziałem ani nie użyłem automatycznego oceniania.Jesteś celowo tępy.
@DanielR.Collins Powiedziałeś „pomóc zautomatyzować ocenianie” i „automatyczna wiązka testowa”.Moim pierwszym językiem nie jest angielski i przepraszam, jeśli cię źle zrozumiałem, ale jaka jest kluczowa różnica między twoim podejściem a automatyczną oceną?
#12
+4
einpoklum
2018-10-27 21:34:19 UTC
view on stackexchange narkive permalink

Generalnie tak, ale może nie w przypadku sztucznego „wypychania” określonego narzędzia komercyjnego

Zgadzam się z wieloma odpowiedziami co do zasady - nauczyciele mogą i decydują, w jaki sposób nauczać na swoich zajęciach, i mają dużą swobodę w wyborze narzędzi, z których mają korzystać uczniowie, a także w zakresie formy i składni zadania domowego.

Biorąc to pod uwagę, jeśli nauczyciel kursu wymusza użycie narzędzia i / lub dialektu, który:

  • jest dostarczany tylko przez jeden podmiot komercyjny
  • (być może ) Wymaga od studentów poniesienia nakładów finansowych na uzyskanie dostępu do tego narzędzia
  • (być może) Wymaga nakładów finansowych uczelni na uzyskanie dostępu do tego narzędzia
  • Ma częściej używane, swobodnie -dostępne i dobrze traktowane alternatywy
  • a nauczyciel odmawia podania (minimalnie wiarygodnego) uzasadnienia wyłącznego używania tego narzędzia

... wtedy może to być etyczne problematyczny. Jest to skutecznie forma przymusowej reklamy komercyjnej ze strony nauczyciela - jeśli nie sztuczne generowanie przychodów dla dostawcy takiego narzędzia - i może być sprzeczne z przepisami instytutu akademickiego lub być może z prawem stanowym.

Teraz przyznaję, że to trudna sprawa, ponieważ mówimy o regulowaniu wolności akademickiej z nieco zewnętrznymi względami, więc musiałoby to być raczej skandaliczne. Wątpię, czy powiedzenie „Użyj wariantu Oracle SQL” spełnia powyższe kryteria, ponieważ na potrzeby twojego kursu jest to prawdopodobnie to samo, co ISO SQL; lub może być trywialnie zaadaptowany z innych wariantów SQL; i najwyraźniej istnieje „wersja ekspresowa”, z której można korzystać bezpłatnie. Ale w przypadkach, które opisałem powyżej, nie jest to tak oczywiste, jak sugerują inni respondenci na Twoje pytanie.

Może.Oracle jest legalnie dostępne bezpłatnie (wersja „Express”);nikt nie musi wydawać środków finansowych.Dyskusyjne jest, czy istnieją „częściej używane” czy „bardziej uznane” alternatywy, to z pewnością zależy od tego, z kim rozmawiasz.Ale z pewnością nie jest to narzędzie rzadko używane i niewątpliwe;i jest to na tyle powszechne w branży, że jest wysoce prawdopodobne, że umieszczenie go w swoim CV odniesie duże korzyści.Nie jest to również przypadek nieetycznej reklamy lub czegoś w tym rodzaju.
@AnoE: Zobacz edytuj.
Głosowałem za tym.Chciałabym tylko raz, aby uczniowie z klasy zburzyli wolność akademicką instruktorów.Jestem pewien, że taka moc byłaby mocno nadużywana, ale kiedy instruktor nalega na nauczanie w dużej mierze przestarzałej technologii, nadszedł czas, aby instruktor odszedł.
@Joshua: Nie chciałbym, aby wolność akademicka została zniesiona, a już na pewno nie przez studentów.Doktorzy mają pewne etyczne obowiązki, nawet jeśli cieszą się swobodą nauczania według własnego uznania.(Właściwie i tak im się to nie podoba.)
@einpoklum: Rozumiem, że nigdy nie odkryłeś, że zajęcia wymagające specjalizacji były całkowicie bezwartościowe w połowie.
@Joshua: Szczerze mówiąc - nie, nie mam.Pamiętaj jednak, że uniwersytety mogą przypisywać główne zajęcia nauczycielom, którzy uczą ich poważniej, bez narzucania poszczególnym nauczycielom specjalnego podejścia.
Pamiętam, że Oracle było darmowe do nauki co najmniej 10 lat temu, na długo przed tym, jak większość systemów.
@Ian: PostgreSQL, MySQL, MonetDB i inne były zawsze darmowe i darmowe - także 10 lat temu.
@einpoklum, Jeśli dobrze pamiętam, większość z nich była jeszcze bardziej uciążliwa niż uruchamianie Oracle w systemie Windows.Byli też wtedy bardzo nowi.
@Ian: Windows to kolejny komercyjny program, który zdecydowanie nie jest dostępny za darmo.Ta dyskusja odchodzi od tematu ...
Po raz pierwszy słyszałem, jak ktoś nazywa to ISO SQL.
@CaiusJard: SQL to po prostu [ISO / IEC 9075] (https://en.wikipedia.org/wiki/SQL).
#13
+1
vallismortis
2018-11-03 18:00:39 UTC
view on stackexchange narkive permalink

Dzięki Oracle i PL / SQL uzyskasz nie tylko podstawową relacyjną bazę danych i obsługę SQL, ale także praktyczne doświadczenie z niektórymi aspektami komercyjnej bazy danych i jej rozszerzeniami do standardu. Umożliwi to samodzielne wybranie dowolnego z innych systemów RDBMS opartych na standardach i natychmiast poczujesz się znajomo. Możesz nie mieć kolejnej dobrej okazji, aby nauczyć się komercyjnej bazy danych przed wejściem na rynek pracy, a posiadanie Oracle PL / SQL tam będzie wyglądać świetnie i prawdopodobnie otworzy możliwości zatrudnienia, które normalnie nie byłyby dostępne dla nowych absolwentów.

Dodam do stosu własne doświadczenia dla kontrastu. Wykłady na moich zajęciach Wprowadzenie do programowania obiektowego w połowie lat 90-tych były prowadzone w języku Fortran 77 (język inny niż -OO), ponieważ (zatrudniony) profesor nie znał C ++ i to był jego ostatni semestr przed przejściem na emeryturę. Prowadził wykłady, korzystając ze swoich notatek (zapisanych na kartach perforowanych) z wcześniejszych zajęć Struktury danych (na podstawie niepowiązanego podręcznika), podczas gdy laboratoria programowania były prowadzone w C ++ przez absolwentów, którzy faktycznie wiedzieli, co robią (dziękuję, Hamid). Egzaminy były blue-bookiem (esejem pisemnym) i wymagały odpowiedzi na pytania programistyczne zorientowane obiektowo, zaczerpnięte z ćwiczeń laboratoryjnych C ++ ... napisane w Pascal - języku, którego nie ma uczniów w klasie było nauczanych, ale przypuszczano, że już wiedzą. Każdy student otrzymał 2,5, a profesor przeszedł na emeryturę. Programowania OO nauczyłem się od absolwenta podczas zajęć laboratoryjnych trwających dwie godziny w tygodniu, podczas gdy jego uwaga została podzielona między 15 innych uczniów.

Kolejny przykład z następnego semestru (bardziej odpowiedni do Twojej sytuacji). Moje zajęcia z bazy danych były prowadzone bez baz danych. Nie było bazy danych ani SQL. Laboratoria programowania były w całości w C i obejmowały takie zadania, jak implementacja podstawowych struktur danych do obsługi tabel relacyjnych w pamięci, tworzenie różnych indeksów opartych na drzewach binarnych itp. Oraz pisanie zapytań przy użyciu skanów tabel, a następnie indeksów, a następnie ocena ich wydajności przy użyciu -O notacja i udoskonalanie metod indeksowania. Mimo że dobrze sobie radziłem na zajęciach, nie dostarczyłem praktycznego doświadczenia z żadnym językiem DBMS ani zapytań. To był kurs informatyki w najczystszej formie. Z perspektywy czasu koncepcje utknęły we mnie i pomogły mi zrozumieć, jak debugować zapytania dotyczące wydajności.

Podsumowując, na poziomie uniwersyteckim musisz mądrze wybierać swoje bitwy i mam nadzieję, że to cię przekonuje że twój obecny kurs nie jest taki zły. To do Ciebie należy znalezienie sposobów na uzyskanie jak najbardziej długoterminowej wartości ze swoich kursów.

#14
  0
Andrew Lazarus
2018-11-01 03:20:20 UTC
view on stackexchange narkive permalink

Zgadzam się ze wszystkimi innymi odpowiedziami: oczywiście wykładowca może to zrobić i prawdopodobnie użyje Oracle do oceny Twojej pracy.

Piszę, aby dodać: Myślę, że powinieneś unikaj rozszerzeń Oracle lub odchyleń od SQL, chyba że znacznie upraszczają odpowiedź do czegoś eleganckiego. Konkretna różnica, o której myślę, to Użyj standardowej składni SQL JOIN , a nie starej składni Oracle opartej na WHERE. Pierwsza z nich może wyrażać relacje, których ta druga nie potrafi, druga nie jest akceptowana przez inne systemy RDBMS i nie mogę uwierzyć, że twój wykładowca używałby tak starej wersji Oracle, że nie przyjmowała również standardowej składni SQL. p>



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...