Гласуване: форма на курса

За или против live coding-a сте? Няколко човека ни подхвърлиха тази идея и се замислихме - дали формата на курса е наистина подходяща?

Т.е. да ви показваме презентации, малко обяснения, и самото кодиране да го правим пред вас (live coding). Алтернативата е, кодът да го оставяме в самите презентации (естествено, само съществените части, няма да ви отегчаваме с пълен C++ листинг), а на лекциите да правим демонстрации върху кода, който представяме в слайдовете и отговаряме на въпроси.

Да представя плюсовете и минусите (според нас):
За live coding-а:
- Не остава нищо скрито от вас; каквито въпроси изникват, отговаряме ви на момента;
- Може да експериментираме с настройките директно пред вас и да имате представа кое как влияе;
- Можем да ви държим повече съпричастни към проекта (на всеки етап може да ви питаме: а сега, как да направим функцията XXX?), и ви държим по-ясна представа в главата как е реализиран рейтрейсъра;
- Баланс между "the big picture" (които описваме в презентациите) и "дребните детайли" (които ви ги показваме директно).

Против live coding-а:
- Губи се ценно време в писане на дреболии, вместо да ви показваме нещата и да ги обясняваме
- Поради горното, препускаме повече из материала;
- По време на live coding-а губим контакт с хората, които само гледат как нещо се прави пред тях, без винаги да разбират какво точно става;
- Хората, които не идват на лекциите, пропускат live coding-а и разчитат само на SVN.

Та - помислете си как според вас е по-добре, и гласувайте ТУК.

Пример за двата подхода имаше в последната лекция (номер 6). Обяснихме relfection/refraction/fresnel практически без никакъв live coding, а останалите неща си ги кодирахме пред вас.

Comments

предложение

Здравейте

Аз бих желал на имаме някакъв компромисен вариант, който да изчисти минусите и на двата подхода и да им комбинира плюсовете. Примерно:

- Модифицирате рейтрейсъра предварително, закоментирате промените, на лекциите вкарвате новите неща едно по едно, без да ги пишете тепърва. Ние виждаме кои са и къде са и т.н.

Или...

- Правите презентациите както и сега, но не обяснявате само по тях, ами кода го копи-пействате в рейтрейсъра, за да видим къде и как се интегрира и как работи.

Или ...

- Правите си големи и подробни пищови, които да ползвате за по-бърз и лесен live-coding, вместо да мислите нещата на момента. Ползвате си втори монитор, за да не гледаме ние в пищовите (ще се разсейваме, не за друго). Тия пищови съответно можете да ги публикувате, за улеснение на хората дето са пропуснали лекцията.

Или нещо друго. Целта е да не загубим плюсовете на live coding-a , щото аз за първи път виждам такова нещо в ФМИ и ме кефи много (даже и на ниво експериментално преподаване). Обаче няма кво да си кривим душата - има си и минуси, дето затрудняват и утежняват труда ви.

Лека

За

Здравейте,

Първо, към плюсовете бих добавил, че при live coding се виждат и грешките, които се допускат (подмножество на тези, които бихме допуснали ние), и, съответно, как се отстраняват. Освен това, по време на live coding се внимава по-лесно; поне аз, в момента, в който някой започне да обяснява вече написан код, се обръщам да гледам през прозореца.

Колкото до минусите -- казвате, че препускаме през материала. Въпреки това, в последната лекция имаше повече въпроси, отколкото в предните. Аз също за първи път трябва да прегледам пак презентацията, за да разбера/запомня някои от нещата. С други думи, въпреки препускането, разбираме материала по-добре, когато кодът се пише пред нас. Според мен причината е, че написаният в момента код се обяснява сам. При това се обяснява добре.

Последно, QFT:
"Целта е да не загубим плюсовете на live coding-a , щото аз за първи път виждам такова нещо в ФМИ и ме кефи много"

Надявам се този коментар да накара някого да избере първата опция:).
--Т