metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-08-03 11:49 pm

Обучение программированию с нуля.

Последнее время часто возникает такой вопрос: как обучить человека программированию вообще с нуля. Т.е., например, человек умеет работать на компьютере и все, пользователь - с чего начинать, чтобы он смог хоть как-то понять, например, книги по программированию "для начинающих".
Если по хорошему, то начинать, конечно, надо с таненбаума, ассемблера, сишечьки, SICP и прочего такого - но, само собой, за короткое время это не осилишь, да и, честно говоря, когда не видишь практического применения - оно даже с базовыми знаниями нихрена не осиливается. Разве что для сдачи экзамена, когда над душой стоит препод с дубиной.

[identity profile] g-rub.livejournal.com 2013-08-03 09:13 pm (UTC)(link)
В порядке бреда -- линукс, CLI, автоматизация консольных задач...

Хотя, конечно, правильнее всего начать с вопроса "а для чего данного конкретного человека надо обучать программированию? и кто и почему решил, что его надо обучать?"

Ведь пока по условиям задачи "нет практического применения", то нет и собственно цели. А если нет цели -- к чему двигаться-то?

[identity profile] metaclass.livejournal.com 2013-08-03 09:21 pm (UTC)(link)
Да, без цели нереально.

[identity profile] bydlorus.livejournal.com 2013-08-03 09:35 pm (UTC)(link)
MIT же лекции выложил, можно подсмотреть у них.

[identity profile] berezovsky.livejournal.com 2013-08-03 09:38 pm (UTC)(link)
Нельзя так делать, нужно всесторонее образование давать с малых лет. Потом, возможно, уклоняться в специализацию, но уже с солидной базой за спиной. Иначе вырастут однобокие калеки.
Если база уже какая-то есть за плечами, например, универ по несмежной специальности, можно попробовать получить второе высшее.
А натаскивать на конкретные операции - размывать профессию, которая и так уже размыта донельзя.
Ну или брать и составлять свою программу обучения на несколько лет. Возможно, на основе какой-нибудь потогоной западной.

[identity profile] Дима Тихвинский (from livejournal.com) 2013-08-03 10:01 pm (UTC)(link)
В принципе, когда приходят учиться — уже понимают, что надо "писать", остаются три больших вопроса — куда, что, и как это потом запустить.

Основы синтаксиса хоть си, хоть JS показываются за пол-часа, простые задачки тоже показать недолго. Но это студенты-первокурсники, вошедшие в темп жизни университета, в школе — точно медленнее. Я это видел в кружке для школьников (Аничков ДТЮ) и в своём кружке для первокурсников (в ИТМО).

Школьников кстати учили проще — вот вам 30 строк кода на VB, вбейте, запустите, разберитесь что изменить чтобы поведение изменилось с X на Y.

[identity profile] divine-assass1n.livejournal.com 2013-08-03 10:08 pm (UTC)(link)
Вот с этого курса можно начинать https://www.coursera.org/course/proglang

[identity profile] x-a-e-p.livejournal.com 2013-08-03 10:47 pm (UTC)(link)
При чём здесь синтаксис? Написано же - 'вообще с нуля'.

[identity profile] juan-gandhi.livejournal.com 2013-08-03 11:52 pm (UTC)(link)
У нас интёрн есть - ну вроде полный лох, что-то кропал убогое нога за ногу на си, ленив и нелюбопытен. Я его направил на projecteuler - теперь он сутками программирует сидит.

Вот.

[identity profile] anonim-legion.livejournal.com 2013-08-04 02:22 am (UTC)(link)
А мыться и есть успевает?

[identity profile] theiced.livejournal.com 2013-08-04 04:47 am (UTC)(link)
от универского сранееобразования пользы нет.

[identity profile] theiced.livejournal.com 2013-08-04 04:48 am (UTC)(link)
ну ведь очевидно же - самое главное знать синтаксис языка и вот ты ВНЕЗАПНО уже программист. а это убогое существо явно преп в универе, к гадалке не ходи.

[identity profile] antontsau.livejournal.com 2013-08-04 05:44 am (UTC)(link)
...когда я учился в пятом классе, старшеклассники на перемене в туалете научили меня программировать на бейсике...

[identity profile] gineer.livejournal.com 2013-08-04 06:09 am (UTC)(link)
А шоб було. :))

[identity profile] acerv.livejournal.com 2013-08-04 06:26 am (UTC)(link)
А на самом деле [livejournal.com profile] ivan_gandhi всё правильно говорит:
- научить составлять запросы к гуглу
- показать stackoverflow
- заставить решать project-euler

Тут конечно может возникнуть ситуация, когда воспитуемый будет искать готовые решения задачек - но тут можно на него хорошо наорать, или применить физические наказания.

[identity profile] megomao.livejournal.com 2013-08-04 06:33 am (UTC)(link)
я вожу только одну проблему, время. его может заберать семья, основная работа.

[identity profile] vp.livejournal.com 2013-08-04 07:47 am (UTC)(link)
Уверен, что нужно действовать так:

Глубокое изучение администрирования целевой ОС + один развитый современный ООП язык.

Например, винда + сишарп,
винда + Qt,
линукс + питон.
линукс + Qt

То нибудь такое, чтобы у человека не было от входа иллюзии дикой сложности и он не застрял на входном пороге и второстепенных вопросах. Чтобы у него все получалось.

[identity profile] vit-r.livejournal.com 2013-08-04 07:56 am (UTC)(link)
Практика показывает, что совершенно пофиг с чего и по какой методе начинать, если выполнено основное правило: изучаться сразу должны два языка разной философии. Разве что бейсик и подобное безобразие не стоит показывать сразу.

[identity profile] bydlorus.livejournal.com 2013-08-04 07:58 am (UTC)(link)
Впервые плюсую!

[identity profile] theiced.livejournal.com 2013-08-04 08:00 am (UTC)(link)
ооп - сложно и говно (да и вообще не нужно).

[identity profile] bydlorus.livejournal.com 2013-08-04 08:01 am (UTC)(link)
Чтобы администрировать, сначала надо изучить устройство компьютера, сетей и т.п. А значит всё-таки с нуля.

[identity profile] vp.livejournal.com 2013-08-04 08:09 am (UTC)(link)
Оно просто для понимания, как раз таки. Если подходить с умом и без истерики.

[identity profile] vp.livejournal.com 2013-08-04 08:22 am (UTC)(link)
Ну вопросы администрирования без понимания устройства как-то слабо возможны

[identity profile] exemok.livejournal.com 2013-08-04 08:31 am (UTC)(link)
С алгоритмов надо начинать. Кнута читать не предлагаю, ибо толстый слишком, но что нить такое обязательно
Edited 2013-08-04 08:32 (UTC)

[identity profile] tzirechnoy.livejournal.com 2013-08-04 08:51 am (UTC)(link)
Предлагаю с микроконтроллеров. Сейчас -- с армовских. Бутстрэп, все дела, диодики.

Потом можно либо схему под это дать, либо предложыть написать форт.

[identity profile] permea-kra.livejournal.com 2013-08-04 08:55 am (UTC)(link)
Я бы предложил начать с хаскеля и численных методов. Без IO поначалу или давать его чисто феноменологически.
Просто, наглядно и т.п.

Page 1 of 6