j_sulz

Jestem ponad połową drogi przez Oregon State University’s post-bacc computer science program. Jest to (lekko) wyczerpująca rękawica 15 kursów, bardziej wyczerpująca przez fakt, że pracuję na pełny etat i biorę dwa kursy na kwartał (z wyjątkiem ostatniego lata, kiedy tylko jeden kurs był w planie, aby dać mi trochę czasu na ślub 🙂 ). Do tej pory brałem lub obecnie biorę udział w następujących kursach (w nieszczególnej kolejności):

  • Wprowadzenie do informatyki I
  • Wprowadzenie do informatyki II
  • Struktury dyskretne w informatyce
  • Struktury danych
  • Web Development
  • Wprowadzenie do baz danych
  • .

  • Architektura komputerowa &Język asemblerowy
  • Analiza algorytmów
  • Systemy operacyjne (obecnie w toku)
  • Inżynieria oprogramowania I (obecnie w toku)

I mam przed sobą następujące zajęcia:

  • Software Engineering II
  • Introduction to Usability Engineering
  • Intro to Computer Networks
  • Mobile and Cloud Software Development
  • Software Projects (Program Capstone)

Podobnie jak w każdym programie przeznaczonym do nauczania zróżnicowanej grupy studentów, wszystkich o różnych stylach uczenia się i pochodzących z różnych środowisk, jakość i trudność kursu jest różna. W mojej ocenie, najbardziej interesujące kursy były również tym, co uważam za najtrudniejsze.

Wprowadzenie do Informatyki II było pozornie zaprojektowane, aby odsiać studentów, którzy nie byli silnymi programistami. Kurs był ciężki na pisaniu kodu (C++ jest podstawowym językiem używanym w programie OSU i był tu mocno wyróżniony) z naciskiem na wzorce projektowe zorientowane obiektowo.

Struktury dyskretne w informatyce prawdopodobnie byłyby łatwiejsze, gdyby moje mięśnie algebry i pisania dowodów nie były tak zardzewiałe. Kiedy jednak już się rozgrzejesz, kurs jest fascynującym ćwiczeniem w rozumowaniu indukcyjnym i solidnym wprowadzeniem do teorii zbiorów i grafów. Ten kurs okazał się szczególnie pomocny, gdy badałem dyscypliny związane ze sztuczną inteligencją, które są ciężkie na typach symboli, do których jesteś wprowadzony w tej klasie.

Architektura komputerowa &Język asemblera jest wycieczką. Podczas gdy w C++ poznajesz takie pojęcia jak wskaźniki i alokacja pamięci – rzeczy, które większość języków abstrahuje – montaż jest inną bestią. Tutaj nauczysz się poruszać pamięcią w procesorze i zobaczysz, jak pętle, instrukcje warunkowe i funkcje są zbudowane od podstaw. Zostaniesz również wprowadzony do cyklu pobierania, dekodowania i wykonywania, który jest wykorzystywany przez wszystkie układy CISC. W skrócie, uczysz się, czym jest komputer i jak robi wszystkie piękne rzeczy, które bierzemy za pewnik.

Analiza algorytmów była, koncepcyjnie, najtrudniejszym kursem w programie. Obciążenie pracą było lżejsze niż Wprowadzenie do Informatyki II, ale ostatni raz patrzyłem na granice i pochodne było w college’u. Ponownie trafiłem na Khan Academy w weekendy, aby podszkolić się z rachunku, ale kiedy podstawy zostały opanowane, to było już po wyścigu. Ten kurs był pierwszym, na którym poczułem się jak “informatyk”, ponieważ koncepcje wymagają abstrakcyjnego sposobu myślenia, który wykracza poza “tylko” programowanie lub pisanie oprogramowania. Tutaj można zobaczyć notację Big-O i analizę algorytmów, programowanie dynamiczne, teorię złożoności, teorię grafów i algorytmy oraz klasyczne algorytmy wyszukiwania i sortowania. Jakość kursu sama w sobie pozostawia coś do życzenia, ale tematy są naprawdę piękne.

Inne kursy nie są “złe”, per se, ale albo brakuje im rygoru lub głębi innych kursów, albo organizacja/wykłady/zajęcia są tak słabe, że rozpraszają. To powiedziawszy, każdy kurs ma swoje własne samorodki interesującej zawartości, a co najważniejsze, ciągły akt rozwiązywania problemów jest kluczem do nauki, jak być “deweloperem”, “inżynierem”, “informatykiem” (lub jakkolwiek chcesz nazwać kogoś, kto porusza się po bitach z dużą prędkością).

A teraz jestem na odcinku domowym! W ciągu najbliższych trzech kwartałów będę owijać się 7 kursów, z większością kursów w lewo (inżynieria użyteczności, inżynieria oprogramowania, cloud computing) wszystkie rzeczy, które są w moim sterówce. Przyjdź sierpień tego roku, będę dumnym posiadaczem B.S. w C.S. z Oregon State University i przejście do Georgia Tech’s Master’s in C.S. programu. Zaangażowanie czasowe tego programu było czasami stresujące, ale nie zamieniłbym tego doświadczenia na nic.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.