Общи заключения от проверка на домашни работи. Съвети, основни проблеми и концепции за подход.
Здравейте на всички !
Като първо нещо, което може би трябва да отбележа е съмнението ми, че може би това е правилната категория за тази тема, но както и да е. Надявам се, ще бъде приета. Ще карам по същество.
В процеса на проверка на домашни работи, на първо четене, установявам сам за себе си, че може би едни от най - съществените проблеми при решаване на дадени задачи, са малките детайли. А именно и по - конкретно казано ми прави впечатление, че точно тези малки детайли биват пренебрегвани и в следствие, на което довеждат то така да се каже "пречки" в реазлизирането на конкретния проблем. А още по - конкретно мога да спомена, пренебрегването на някои основни правила при форматирането на самия код (използването на необходимия стандарт при именуването на класове, променливи, а понякога и липсата на именуване; пропускане на затварящи къдрави скоби -> }, понякога и отварящи такива, липса на подреденост на самата задача,solution и въобще цялото домашно, водещи до затруднения, както за този който проверява, така и за самия потребител, който я е писал). Но разбира се това става с малко повече практика, но аз се чувствах длъжен да го спомена като съществен фактор при реализирането на домашни работи. Тук обаче мога да спомена на второ място, но може би по - значимото от изброените до този момент неща, е пренебрегването на съществени малки детайли в условията на задачите. Моят съвет е при "подхващането" на даден проблем, условието да се прочете няколко пъти и наистина хубава практика е да се прави едно грубо(понякога и не толкова грубо) нахвърляне на идеи, логика и съществени проблеми(отнасящи се за конкретната задача) на един бял лист хартия :). Съществен проблем тук е, че повечето начинаещи програмисти наистина пренебрегват използването на лист и химикал за скицирането на примери и разсъждения по конкретната задача, а това не трябва да бъде така. Чисто психологически ( както е споменато и в книгата "Въведение в програмирането със C#") използването на този принцип за решаване на задачи е свързано с визуалната система за представяне на информацията в човешкия мозък(която от своя страна е свързана тясно с логическото мислене на човек). Разбира се съветвам да се обърне внимание на глава "Как да решаваме задачи по програмиране" от съответната книга, защото там са споменати в голям обем главните принципи за подход.
Та на първо четене (както се казва, базирайки се от прегледа на първата домашна работа), това са основните неща, на които исках да обърна внимание и да дам като съвети, защото смятам, че отстраняването на дребни проблеми в начален стадий си е отстраняване и на проблеми занапред. Надявам се, че ще са от полза тези мои "слова". Благодаря за отделеното внимание и за свободната трибуна :) Успех на всички. Чувствайте се свободни да коментирате и да допълвате, ще се радвам за което. Надявам се занапред да се включим всички активно върху акцентирането на основните и съществени проблеми както върху първото така и върху следващите домашни. Смятам, че ще ни е от полза за всички (сговорна дружина планина повдига):):):)
Давам и едно линкче към съответната глава от книгата, за която бях споменал по - нагоре: Как да решаваме задачи по програмиране
Липсата на скоби означава, че има конструкции от вида
if (smth)
doSmth()
което е валиден синтаксис, просто е less readable
Като цяло нямам предвид за частни случаи, в които липсата им може да се пренебрегне, става въпрос за моменти в които липсата на каквато и да е било скоба(както колегата по - горе е споменал) води до неизпълнение на конкретната задача :) Но това разбира се е техническата част :) И смятам, че главната идея е наблягането върху самия подход на действие, разграфяването на една задача на отделни подзадачи и самата идея за логическо мислене :) Успех на всички :)
"lost in translation", както си го нарекъл, наистина хубаво е, че си го споменал, тъй като и аз попаднах на няколко домашни, в които се усъмних за съществуването на такъв "феномен" :)