Професионална програма
Loading...
+ Нов въпрос
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Общи заключения от проверка на домашни работи. Съвети, основни проблеми и концепции за подход.

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

Като първо нещо, което може би трябва да отбележа е съмнението ми, че може би това е правилната категория за тази тема, но както и да е. Надявам се, ще бъде приета. Ще карам по същество.

В процеса на проверка на домашни работи, на първо четене, установявам сам за себе си, че може би едни от най - съществените проблеми при решаване на дадени задачи, са малките детайли. А именно и по - конкретно казано ми прави впечатление, че точно тези малки детайли биват пренебрегвани и в следствие, на което довеждат то така да се каже "пречки" в реазлизирането на конкретния проблем. А още по - конкретно мога да спомена, пренебрегването на някои основни правила при форматирането на самия код (използването на необходимия стандарт при именуването на класове, променливи, а понякога и липсата на именуване; пропускане на затварящи къдрави скоби -> }, понякога и отварящи такива, липса на подреденост на самата задача,solution и въобще цялото домашно, водещи до затруднения, както за този който проверява, така и за самия потребител, който я е писал). Но разбира се това става с малко повече практика, но аз се чувствах длъжен да го спомена като съществен фактор при реализирането на домашни работи. Тук обаче мога да спомена на второ място, но може би по - значимото от изброените до този момент неща, е пренебрегването на съществени малки детайли в условията на задачите. Моят съвет е при "подхващането" на даден проблем, условието да се прочете няколко пъти и наистина хубава практика е да се прави едно грубо(понякога и не толкова грубо) нахвърляне на идеи, логика и съществени проблеми(отнасящи се за конкретната задача) на един бял лист хартия :). Съществен проблем тук е, че повечето начинаещи програмисти наистина пренебрегват използването на лист и химикал за скицирането на примери и разсъждения по конкретната задача, а това не трябва да бъде така. Чисто психологически ( както е споменато и в книгата "Въведение в програмирането със C#") използването на този принцип за решаване на задачи е свързано с визуалната система за представяне на информацията в човешкия мозък(която от своя страна е свързана тясно с логическото мислене на човек). Разбира се съветвам да се обърне внимание на глава "Как да решаваме задачи по програмиране" от съответната книга, защото там са споменати в голям обем главните принципи за подход. 

Та на първо четене (както се казва, базирайки се от прегледа на първата домашна работа), това са основните неща, на които исках да обърна внимание и да дам като съвети, защото смятам, че отстраняването на дребни проблеми в начален стадий си е отстраняване и на проблеми занапред. Надявам се, че ще са от полза тези мои "слова". Благодаря за отделеното внимание и за свободната трибуна :) Успех на всички. Чувствайте се свободни да коментирате и да допълвате, ще се радвам за което. Надявам се занапред да се включим всички активно върху акцентирането на основните и съществени проблеми както върху първото така и върху следващите домашни. Смятам, че ще ни е от полза за всички (сговорна дружина планина повдига):):):)

Давам и едно линкче към съответната глава от книгата, за която бях споменал по - нагоре: Как да решаваме задачи по програмиране

Тагове:
ZloboMiR avatar ZloboMiR 50 Точки

Поздравления за темата. Доста съм съгласен с теб, с някои уточнения:

- Липсата на скоби {} означава, че въпросният човек дори не е пробвал да компилира и стартира програмата, дори без стартиране Студиото се оплаква. 

- Форматирането на кода аз го правя така:
1. Цялостно маркирам всичко, може и с Ктрл+А.

2. Без да пускам Ктрл, натискам един след друг K, F (не заедно, бутон по бутон!).

- Рисуването на хартия може да е полезно, но е малко като воденето на записки, след време пак ще трябва да се заучи. Дори на нашия етап най-добре е да се тренира такова мислене, че нещата да се визуализират мислено. При дизайна потребителския интерфейс примерно е задължително да има графично представяне на изискванията или проекта, но за едно текстово условие каквото човек си представи, това и ще нарисува. Сигурно е индивидуално, но ранното привикване към работа без помощни материали е спестено време. Съветът ми е всеки да опита по двата начина и да си избере.
Понякога проблемът е "lost in translation", а тогава нищо не помага. За пример давам една от задачите:
Домашно 4, задача 9: "Напишете програма, която въвежда число N (която при въведено число N) след това въвежда още N числа, изчислява и принтира тяхната сума.
Горкият аз се бях наточил да пиша генератор на случайни числа, за да може програмата самичка да си въвежда. 

3
RoYaL avatar RoYaL Trainer 6846 Точки

Липсата на скоби означава, че има конструкции от вида

 

 

if (smth)

    doSmth()

 

което е валиден синтаксис, просто е less readable

0
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Като цяло нямам предвид за частни случаи, в които липсата им може да се пренебрегне, става въпрос за моменти в които липсата на каквато и да е било скоба(както колегата по - горе е споменал) води до неизпълнение на конкретната задача :) Но това разбира се е техническата част :) И смятам, че главната идея е наблягането върху самия подход на действие, разграфяването на една задача на отделни подзадачи и самата идея за логическо мислене :) Успех на всички :)

0
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

 "lost in translation", както си го нарекъл, наистина хубаво е, че си го споменал, тъй като и аз попаднах на няколко домашни, в които се усъмних за съществуването на такъв "феномен" :)

0
yuletodim avatar yuletodim 37 Точки

Здравейте!

Проверката на някои домашни е направо удоволствие и има какво да се научи от тях. Обаче, има домашни, които са истинско мъчение. Има домашни, в които програмите не работят или не извеждат верни отговори, което е донякъде нормално - нали всички се учим. Но има такива, които въобще не са прочели условията на задачите и пращат странни решения...

0
aslv1 avatar aslv1 304 Точки

Аз бих искал да използвам темата, за да призова колежките и колегите да проверяват повече домашни (естествено, това се отнася повече за тези, които не са почнали още). Не знам дали има и други като мене, обаче аз като съм изпратил домашно, нямам търпение някой да го провери smile Пък и цялата система се основава на оценяването помежду ни - като човек, ако иска да вземе пълен брой точки, трябва да провери поне 3 домашни - и е добре да не оставя цялата работа за последната вечер. Нито на него ще му е кеф, нито ще има време да се задълбочава в рецензиите.

Затова ако мога да перефразирам една позната реплика: За Бога, братя, оценявайте! laughinglaughinglaughing

3