?

Log in

No account? Create an account

Previous Entry | Next Entry

Начало

Только что вернулась с orientation для новых студентов. Отлично провела время, но ужасно устала. Вообще замечаю, как я то ли под злостным влиянием Димы, то ли в силу возраста медленно но верно превращаюсь в настоящего интроверта. Раньше я просто не представляла, как можно устать от приятной тусовки. От неприятной - запросто, но вот от приятной… А теперь вполне постигла, как это может быть.
И это еще при том, что первую половину протусовалась в гордом одиночестве (но абсолютно от этого не страдала - и это тоже часть влияния Димы, я все больше нахожу удовольствия в том, чтобы в большой толпе быть самой по себе). Посмотрела на танцы местной группы поддержки, поела барбекю. А еще ела мороженое, приготовленное с помощью азота, причем готовили его на наших глазах. Это так прикольно! Смешивают молоко с сахаром, хорошенько размешивают, чтобы сахар растворился, а потом прямо в миску льют жидкий азот! Он кипит и испаряется на воздухе, а дым от него немножко холодный и вообще это очень впечатляющее зрелище, когда из миски валят клубы дыма. Само мороженое на вкус абсолютно обычное, а по консистенции - комковатое и похоже на творог. Еще там стреляли из азотной пушки теннисными шариками и это тоже было грандиозное зрелище - громкий бум, клубы дыма и мячики, взлетающие высоко в небо. Азотная пушка была воткнута в пластмассовый мусорный бак, который в результате выстрела треснул по всей длине. Не знаю, было ли так задумано или это явилось неожиданностью и для самих экспериментаторов. Еще показали несколько интересных опытов по химии, в том числе циклическую реакцию. А еще поучаствовала в конкурсе, в котором в числе призов были айпад и графический калькулятор, который будет нужен мне для учебы, но ничего не выиграла. Ну и ладно.
К сожалению, ни один из моих профессоров не пришел. Препод по математике, очевидно, работает part-time, потом что волонтеры с этой кафедры не знают никого с такой фамилией. Очень жаль, ведь он будет у меня вести обе математики - Precalculus I и Finite Mathematics (кстати, кто-нибудь знает, как это будет по-русски?). А преподы по программированию проманкировали мероприятием вообще почти в полном составе - пришло всего два или три человека и моих там также не было.
Зато я познакомилась с русскоговорящим мальчиком Петром. Он уже на втором курсе, собирается потом перейти в университет и является вице-президентом компьютерного клуба и президентом инженерного. У инженерного очень интересный проект - они собрали квадрокоптер в прошлом семестре, а в этом будут работать над управлением им силой мысли - по крайней мере, чтобы поднять его в воздух и опустить. Для этой цели они уже купили девайс за 200 долларов, но он плохо конвертирует биотоки мозга и поэтому пока им еще не удалось, чтобы все заработало, как надо. Есть такой же девайс за 500 долларов, он лучше, но слишком дорог.
Я записалась пока только в компьютерный клуб. В прошлом году они писали приложения под Андроид и айфон, совместно с инженерным клубом занимались роботостроением (в инженерном строили робота, а в компьютерном писали прогу для него), делали свою security system и ходили на экскурсию в Гугл и в НАСА. На следующей неделе будет первое собрание клуба в этом семестре, где мы решим, чем будем заниматься. Вауууу! Люди, ну это же круто, а? I'm so excited!!!
Я думала еще записаться в математический клуб, но решила пока подождать, потому что в этом семестре и так нагребла много предметов - надо посмотреть, как пойдет. Если все будет нормально - запишусь в следующем.
Еще познакомилась с девочкой Каиджей из Бельгии и мальчиком Игорем из Минска. С девочкой мы будем встречаться на курсе по Питону и я думаю взять над ней шефство, потому что она еще никогда не программировала вообще, в том числе и на Питоне. А я вполне могу помочь в данном случае. А с мальчиком мы будем видеться на курсе по counselling'у и он под мое крыло попросился сам. Потому что он всю жизнь жил в Минске и учился там же, а в Америку приехал буквально несколько дней назад. И конечно, он ничего не знает и все ему надо объяснять. Мы с ним проговорили часа 2 и все это время я отвечала на его вопросы. Так что могу себя уже считать волонтером по counselling'у :)
К сожалению, оба выбрали основной опцией Джаву, а я - С++, так что тут мы пересекаться не будем. Но девочек на моем факультете действительно раз-два и обчелся :)
Что еще?
Мое расписание на этот семестр очень долго не могло устаканиться. Я то регистрировалась на одни классы, а в других была в waillist, то вдруг открывались новые, более "вкусные" и я регистрировалась на них, а предыдущие вычеркивала, то вдруг открывались новые места на те курсы, которые были уже забиты, и я регистрировалась уже на них…. Вчера, когда мне пришло очередное письмо, что появились новые места на курс и они меня зачислили, я взвыла и сказала Диме, что колледж хочет меня убить. Надеюсь, что до понедельника больше ничего не случится.
Расписание после всех этих перетасовок убийственное! Понедельник и среда - с 10 до 12 - Finite Math, потом до 3-х часов "окно", с 3 до 4:15 - counselling, потом опять перерыв до 6 вечера и с 6 до 8 - С++
По вторникам, четвергам - Precalulus c 10 до 12, по пятницам опять обе математики. А по курсу по Питону расписание пока не объявлено. Но там в кампусе будут только лекции, а лабы - online.
Учебники заказала, и один из них уже даже пришел, а в книжном сегодня купила еще один необязательный и один обязательный. До конца моей свободы остается всего несколько дней, а еще столько всего надо сделать!!!
Пожалуй, в выходные, чтобы отпраздновать окончание свободы, сделаю оливье и винегрет и буду поедать их по очереди все выходные :) Чувствую, что ой как нескоро у меня снова появится столько свободного времени, чтобы приготовить хотя бы один из них :)

Comments

fearless_cat
Sep. 18th, 2014 06:23 am (UTC)
А почему нет? И чем плохо низкоуровневое программирование? Дима вообще считает, что это основа для понимания сути программирования необходимо.
Но, я думаю, он тебе еще про это сам напишет здесь :)
zellily
Sep. 18th, 2014 06:46 am (UTC)
Ну, просто исходя из работ своих знакомых (у меня ж технический вуз, соответственно и знакомые все - технари, ну и в вузе было ещё понятно, что к чему) - это довольно скучное занятие, хуже только ассемблер.
Всё равно, что писать пошаговые инструкции, что делать, вместо общих указаний.

Вообще, для основ и сути лучше начинать с транзисторов :) Потом перейти на логические вентили, триггеры, регистры, мелкие схемки, процессоры, плисины, потом уже программирование на си, верилоге и ассемблере :) Но проще умереть, чем всё это проделать :(
morfizm
Sep. 18th, 2014 07:14 am (UTC)
Мне кажется, наоборот, нет ничего скучнее клепать solutions на Visual Basic'е без малейшего понимания, как оно работает, методом пробования копипаста ответов из случайных форумов, пока один из них не подойдёт к задаче. Кроме того, нормальные деньги за это не платят и близко.

Но вообще у вас устарелое понятие о C++. Современный C++ (с компилятором поддерживающим C++ 11, и использованием boost и популярных библиотек) позволяет писать в очень высокоуровневом силе. Тот же Python или Java, только без GC, со строгой типизацией, быстрее работает и выше зарплата :)

Насчёт последовательности, необходимой для понимания, как оно всё работает, вы всё правильно написали. Нужно пройти весь этот путь. А как иначе? Но это fun, и это очень полезно.
zellily
Sep. 18th, 2014 07:46 am (UTC)
Почему обязательно вижуал бейсик? :)

Вопрос не в том, в каком стиле писать, вопрос в том, что писать. А на си больше вероятность писать вещи, которые мне кажутся скучными.

ЗЫ Я-то сама предпочитаю скриптовые языки, потому что ужасно ленивая :)

Может это и фан, но вся жизнь уйдёт на освоение :( Подружке на новом месте работы выдали Архитектура компьютера. Э. Таненбаум - 844 страницы. Это всего-то чтобы работать инженером техподдержки.
archaicos
Sep. 18th, 2014 08:15 am (UTC)
И скучно, и лениво! :)

Преференции. :)

Ну, 844 может и много (я не знаю что там нужно поддерживать, на каком уровне), но по идее нужно отличать мышку от ножной педали швейной машинки и компьютерный процессор от кухонного, иначе как там что-то поддерживать, если только не горевать вместе. :)
morfizm
Sep. 18th, 2014 08:18 am (UTC)
> Почему обязательно вижуал бейсик? :)

Это такая гипербола для уточнения моего основного point'а :) "Вижуал бейсик" это воплощение всех ужасов "программирования об коленку" и основной источник вдохновения для http://thedailywtf.com/


> Вопрос не в том, в каком стиле писать, вопрос в том, что писать. А на си больше вероятность писать вещи, которые мне кажутся скучными.

Это вопрос вкуса. По мне так самый фан. Но, по-моему, у вас опять си и си плюс плюс смешивается как одно понятие. Это большая ошибка, правда. C это низкоуровневый язык. C++ это универсальный язык, на котором можно писать в низкоуровневом стиле, а можно и в высокоуровневом. Он оптимизирован под performance, близкий к максимально возможному, но даёт очень много гибкости, похожей на ту, что дают популярные интерпретируемые языки.


> ЗЫ Я-то сама предпочитаю скриптовые языки, потому что ужасно ленивая :)

Все мы ленивые. Лень - двигатель прогресса. Не было бы лени, не нужно было бы вообще программировать :)

Скриптовые языки у меня по большей части ассоциируются с tools, deployment scripts и test automation. Всё это не очень интересно, и это куда чаще unmaintainable code, чем maintainable, который приятно читать.

(Конечно, есть исключения. Я работал в компании, где на Питоне, который, несомненно, можно считать скриптовым языком, писали серьёзные backend-компоненты)


> Вся жизнь уйдёт на освоение.

Ну это для тех, у кого нет нужной базы, может, и уйдёт вся жизнь. А для тех, у кого есть, уйдёт неделя-две. Это ещё одна причина, почему нужно focus on fundamentals.
zellily
Sep. 18th, 2014 08:37 am (UTC)
Смешивается, потому что я вокруг себя не вижу людей, которые пишут на си и занимаются чем-то одним, и других людей, которые пишут на си++ и занимаются чем-то совсем другим.
Но я допускаю, что у меня выборка субъективная :)

У нас скрипты для автоматизации разных унылых вещей служат. Типа нужно координаты узнать определённых фигурок. Берёшь, пишешь скрипт, скажем, на tcl, который их ищет, сортирует и выводит в файлик. Очень приятно, день работы - и никто больше их не ищет вручную :)

Нууу... Я чем дольше работаю, тем меньше верю в эти неделя-две и тем больше ценю практический опыт :)
morfizm
Sep. 18th, 2014 07:17 am (UTC)
Ещё С++ это самый высокоуровневый язык, всё ещё позволяющий объяснить архитектуру компьютера, устройство памяти, указатели, битовую репрезентацию чисел и т.п. Без этого понимания, как мне кажется, от программирования остаётся только ремесло (типа, чиню краны, мою машины, клепаю сайты) :)
zellily
Sep. 18th, 2014 07:50 am (UTC)
Да ладно. Алгоритмы - они и в Африке алгоритмы, хоть знай про устройство памяти, хоть нет. И мне кажется, что программирование - это в первую очередь именно алгоритмы и математика. Даже в той же схемотехнике минимизация схем - это математика, эквивалентность схем - математика, проверка топологии - снова математика (пересечение, вычитание областей).
Все эти регистры - это просто реализация математических идей.
morfizm
Sep. 18th, 2014 08:11 am (UTC)
Я видел очень много примеров бездумного применения алгоритмов, это выглядит печально. Вопрос в fundamentals - имеет ли человек достаточно, чтобы *понимать* то, что он делает? имеет ли человек достаточно, чтобы очень быстро учиться новому?

Никакие алгоритмы не объяснят, почему не надо в цикле "прибавлять" к строке символ, сколько на самом деле стоит memory allocation, копирование строки, garbage collection, плохая cache locality, и как сделать то же самое в 100 раз быстрее даже при той же ассимптотике.

Да, есть огромная маркет-ниша для программистов, которым всё это знать не надо, но (а) мне кажется, это не интересно и местами печально, (б) даже если ты крут, тебе придётся работать с технически слабыми людьми, не у кого поучиться - это catch, из-за которого трудно пробиться выше, (в) зарплата намного ниже, чем у инженеров с хорошим багажом fundamentals and math.
zellily
Sep. 18th, 2014 08:20 am (UTC)
(с интересом) А в чём заключалась бездумность? Просто у нас в вузе на моей специальности вообще не было алгоритмов, я их ща пытаюсь проходить и интересуюсь этим вопросом.

Вот то, что перечислено во втором абзаце - это программист, занимающийся чем? Ну, как будет называться вакансия для человека, который это знает и умеет?
morfizm
Sep. 18th, 2014 08:44 am (UTC)
Бездумность моего примера заключается в двух вещах:

1) В квадратичности алгоритма.

Да, казалось бы, s = s + c выполняемое в цикле n раз это O(n). Но это если не вникать. А если вникнуть, что в том же питоне s = s + c это:
а) создание временного объекта string, с инициализацией символом "c", назовём эту строку s2,
б) создание временного объекта string для результирующей строки, назовём её s3,
в) копирование исходной строки s в s3; заметьте, всех символов, сколько их там уже накопилось, это по сути, второй внутренний цикл, который будет делать, в среднем, O(n) операций - это легко видеть, если предположить, что внешний цикл уже пробежал до половины и текущая длина строки >= n/2.
г) копирование s2 в конец s3,
д) изменение переменной s в локальном scope, чтобы она указывала на s3 -- в этот момент, важно (!) предыдущее значение s это строка, на которую теряется ссылка, и она подлежит деаллокации через garbage collection.

2) В том, что нужно сделать 2n аллокаций и n деаллокаций памяти. Это огромная куча overhead'а, и ужасная локальность памяти (будут cache misses all the time). Аллокация это очень дорогостоящая операция сама по себе (почитайте, как устроены memory manager'ы в деталях, чтобы это осознать). Cache miss это, условно говоря, обращение к памяти, которое в 100 раз медленнее обычного, когда всё в кэше :)



> это программист, занимающийся чем?

В Штатах вакансия будет обычно называться "software engineer". Чем он будет заниматься - ну, системами, в которых расточительство порядка "использовать 1% от возможностей железа" недопустимо :) Это могут быть нагруженные сайты, системы-сервисы, сложные desktop приложения, embedded. Это чаще back end engineer, чем front end, но в больших и сложных системах для front end'а тоже нужно знать fundamentals. Короче, "сложные задачи и большая зарплата", as opposed to "разная мелочёвка и небольшая зарплата" :)
(no subject) - zellily - Sep. 18th, 2014 08:49 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 08:52 am (UTC) - Expand
(no subject) - zellily - Sep. 18th, 2014 09:04 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:06 am (UTC) - Expand
(no subject) - zellily - Sep. 18th, 2014 09:07 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:11 am (UTC) - Expand
(no subject) - zellily - Sep. 18th, 2014 09:21 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:24 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:36 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:17 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:20 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:40 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:03 am (UTC) - Expand
(no subject) - zellily - Sep. 18th, 2014 09:09 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:19 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:22 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 09:48 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 08:48 am (UTC) - Expand
(no subject) - zellily - Sep. 18th, 2014 08:51 am (UTC) - Expand
(no subject) - morfizm - Sep. 18th, 2014 08:55 am (UTC) - Expand
(no subject) - zellily - Sep. 18th, 2014 09:06 am (UTC) - Expand
l_sylvanas
Sep. 18th, 2014 06:46 am (UTC)
Не так сильно отличается с++ от джавы, мне кажется. Ну то есть для студента в течение одного курса особой разницы не должно быть.
fearless_cat
Sep. 18th, 2014 07:20 am (UTC)
Кроме того, что С++ и Java отличаются, это не только один курс. Это специализация. То есть те, кто выбрал одну из опций, будут именно этот язык и проходить на протяжении всей оставшейся учебы как основной. Так что там будет еще 2 курса по выбранной специализации с углубленным изучением.
l_sylvanas
Sep. 18th, 2014 05:07 pm (UTC)
Ну, я имела в виду, что там очень много общего. Понятно, что чем-то отличаются, конечно, особенно если изучать в деталях.

Это здорово, что у вас делают специализацию по языку, у нас такого нет, и это проблема, на самом деле, потому что в итоге все время скачешь с одного на другое и еще и с одного языка на другой.

Profile

fearless_cat
Бывшие канадские ангелы мы

Latest Month

August 2019
S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031
Powered by LiveJournal.com
Designed by Tiffany Chow