Loading...
MartinRusanov avatar MartinRusanov 95 Точки

Система за учене.

Здравейте на всички. 

Не си спомняма дали съм писал преди на тази тема, но става дума за много важен въпрос за мен.

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

        Тук забелязвам, че системата за учене даже в Programming basics е много различна. На лекциите, както и в учебника на Наков, който е изложен тук дават само основни концепции за езика C# които не могат сами по себе си да те подготвят за трудните домашни и особено за задачите за приемния изпит. Тва което съм забелязал още е, че повечето задачи за домашно които ни дават в курса по основи на програмирането са точно мо та мо по лекциите и са лесни (тези без звездични). След което като срещна задача за звездична или 2 звездични изведнъж летвата на трудност се покачва много на високо; някои от тези задачки с повишена друдност са били давани и на изпит. Въпросът ми е следният: може ли някой който е минал по този път да ми покаже начин или въобще механизъм на учене в програмирането тук и това как да направя преход от елементарните задачи в домашното и тези със звездичките които уж "не били задължителни", но за мен са от голямо значение да се решават и тях заради подготовка за изпита. Също така ако може някой да ми даде предпоръки след коя съботна лекция подред да започвам да се пробвам да решавам задачите от минали изпити за да се подговя за изпита (ако успявам въобще да ги реша)

Аз съм напилно начинаещ

Чувствам се доста безпомощен и ви благодаря за вниманието

10
Programming Basics 18/10/2015 11:03:25
RoYaL avatar RoYaL Trainer 6849 Точки

Здравей,

Системата за "учене" не е напълно различна. Напротив. Същата е. Ако искаш да постигнеш същите резултати, каквито си постигал в университета с медицината, а именно - да си вземеш изпитите, за да потърсиш следващия университет, тъй като предходният се е оказал fail, то системата е до сущ еднаква - зазубряш един спектър от задачки и после на изпита сглабяш решения. Подобно на зазубрнето на уроци.

Въпросът тук е: това ли е твоята крайна цел?

...

Ако отговорът ти е "не" - прочети текста надолу.

Програмирането, както и всяка друга професия (грънчар, пилот на самолет, и т.н.) се дели на основно две логически части: 1. занаятчийската част (job done) и 2. научната/изследователската част (ефикасност, производителност, поддръжка и т.н.)

Какво имам предвид под тези двете точки?

Програмистки проблем:

- Да се запише информацията (име, презиме, фамилия, телефон) за трима човека и после да се изведе на конзолата

Решение (т.1. job done):

- Правиш по четири променливи за човек и записваш информация в тях (namePersonOne, etc...). После ги принтираш.

Възможен проблем:

- Ако хората станат 1000, променливите стават 4000 и поддръжката на този код невъзможна

Решение (т.2.):

- Обект "човек" и създаване на серия от такива обекти.

-------------

Това е абсолютно валидно и навсякъде. Ако като пилот си поставиш за цел да качиш самолета във въздушното пространство, сигурно ще успееш, но ако не си планирал добре нещата от изследователската част и не си го разбрал по "научния" начин рискуваш да му свърши горивото или да не можеш да го приземиш или други последващи проблеми свързани с поддръжката в дългосрочен план.

За щастие при програмирането е много по-леснодостъпна sandbox-натата среда. Т.е. не е нужно да потрошиш редица самолети, за да стигнеш до този извод, нито е нужно да прекараш 10 години в четене на теория, за да избегнеш някакви рискове. Цената е много по-ниска. Можеш свободно да си тренираш на тепиха. Повечето хора в тази индустрия са самоуки. Възползвали са се от това, че могат тренировъчно да решат проблема с хората и техните имена и телефони по единия начин, а после плавно по прехода на научната част, да стигнат до извода, че това не е правилният начин и от занаятчии да се превърнат в developer-и.

Смятам, че този преход е естественият ход на събитията при всеки програмист. Важно е да се започне от това да се решават проблемите. А за това не ти е нужна особена подготовка. За това ти е нужен само и единствено проблем за решаване. Такива в домашните и изпитите имаш бол. Избираш някой и започваш да го гриндиш, докато не го решиш. На първо време ти трябва да развиеш problem-solving уменията си.

Няма механизъм за учене. Този сребърен куршум просто не съществува. До изводите обикновено стигаш сам. Няма ги по учебници и книги. Това са така наречените "алгоритми", за които ви се говори а откриващата лекция. Ще ти дам пример за алгоритъм от реалния живот.

- Бос си и трябва да си обуеш обувките за да излезеш. Преди тях обаче трябва да си обуеш чорапите. Взимаш двата чорапа в ръка, отиваш до обувките и:

1. Обуваш единия чорап

2. Обуваш обувка върху него

3. Обуваш другия чорап

4. Обуваш обувка върху него

- Тук забелязваш проблем. Студено ти е на единия крак, докато на другия вече има обувка. Може би се сещаш, че алгоритъмът тук е много по-добре да бъде

1. Обуваш единия чорап

2. Обуваш другия чорап

3. Обуваш едната обувка

4. Обуваш другата обувка

Надали ти е трябвал механизъм за учене за да стигнеш до този извод. Както и до извода, че трябва да обуеш лявата обувка на левия крак, а не на десния. Докато решаваш програмистките проблеми, забрави че става въпрос за програмиране, абстрахирай се от това. Състави си алгоритъма все едно решаваш real-life проблем. След което просто намери в учебниците, презентациите, книгите или просто в гугъл, какви са инструментите за постигането на този алгоритъм, в общия случай - докато научиш базовия синтаксис на езика за програмиране, може да се налага и да гугълваш най-основни неща като как се построява условна конструкция или да си пускаш клипчето от лекцията десетки пъти. После става като рефлекс.

12
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.