Loading...
nnikolov avatar nnikolov 9 Точки

Моите впечатления от Software University/ Основи на прогамирането/ Интензивен курс

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

Софтуерният университет е добро място да над градите уменията си и да навлезете в една нова среда.

Двете зали са добре оборудвани и са достатъчно широки за провеждане на лекции и семинари.

Ако нямате компютър в залите има и може да се запише да ги ползвате. Хората са много любезни и винаги ще Ви окажат съдействие.

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

Кликах на резултатите и видях много хора, които имат 0 точки. Около 10 човека от 2-та проведени изпита имат по 400-500 точки и друго всичко е доста слабо представяне.

На което води моят въпрос:

Не мислите ли, че трябва да се промени нещо в начина на преподаване и материала да може да се възприеме по-добре?

Много пъти, когато сме имали лекция, а след това домашното въобще не отговаря на лекцията, която сме имали в същият ден.

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

Надявам се да обърнете внимание за бъдещите студенти в университета за възприемане на материала по-адекватно.

Поздрави,

//Просто един потребител

8
Programming Basics
snipersniperson avatar snipersniperson -21 Точки

Например да оправят системата да приема абсолютно валидни решения. Най-малкото не знаем какви са тестовете в нея и какъв точно вход и изход искат от нашия код, защото за някои задачи явно това не съвпада с условията им (*)! Заради това и други неща не е случайно, че повечето хора решиха по задача-задача и половина до две, за да минат. Поне тези, които са в онлайн курсовете.

 

* Визирам входа и изхода от PHP и JS. Двата езика са в топ 10 на повечето класации за последните 10 години, да не говорим че с единият все още се пишат над 75% от сайтовете, а другият държи изкъсо client-side development-a.

-1
quickben avatar quickben 966 Точки

Наков на първата лекция: Judge-a подържа и други езици, но използването им на изпита по C# BASICS е на ваш риск.

0
snipersniperson avatar snipersniperson -21 Точки

Тоест няма смисъл да продължаваме тези, които по принцип не ползваме C#? Проблемът обаче важи и за този език ;)

1
27/04/2015 10:18:05
quickben avatar quickben 966 Точки

Е как да няма смисъл, просто казвам, че е нормално системата за този изпит да е оптимизирана на C# и посочвам, че ви е казано, че не е препоръчително да се използва друг език на този изпит.

Доколкото знам програмата ви се различава коренно от тази на предишните два курса и ще се изучава предимно C# в първо ниво, ти би трябвало да си се интересувал каква точно ви е програмата след като си кандидатствал.

А относно това, че judge-a си има проблеми, да така е, но с малко тренировки му се свиква и става лесен за употреба, най-неприятното е, че за една кавичка на изходните данни може вместо 100 да изкараш 0 :(

 

0
malkstor avatar malkstor 348 Точки

Колега, те точно за това се наричат нулеви тестове - за да тестваш изпълняваш ли основните случаи и да разбереш по-добре какво се иска от теб. Ако параметрите на всички тестове в Judge-а бяха известни, то най-лесното решение ще е просто да си направиш едни условни конструкции - при този вход изкарай това на изхода, и готово. Не е това идеята :)

0
quickben avatar quickben 966 Точки

Има време ще ме разбереш за какво ти говоря ;)

0
RoYaL avatar RoYaL Trainer 6849 Точки

Входа при PHP се чете от стандартния инпут. Ако си писал 100% web development с РНР едва ли си се сблъсквал с особеностите на PHP в CLI вариант - като например, че трябва да trim()-неш всеки fgets() иначе получаваш разни спейсинги и \n-ове, които не ти вършат работа, та даже пречат.

Другия проблем е, че Judge върви под Windows, а РНР под Windows не се държи особено добре, например - integer-а е 32 битов под windows.

0
snipersniperson avatar snipersniperson -21 Точки

Извинявайте, но PHP по принцип не е създаден за web dev, а е препроцесор на текст (хипер) и още по-точно GENERAL-PURPOSE SCRIPTING LANGUAGE. Пише си го в сайта му! Ако искате, можете да се хванете за сламката: " ... that is especially suited for web development and can be embedded into HTML."

Колкото до trim-ването - как става така, че имам два много стари проекта (балистичен калкулатор и самообучаваща се система, писани някъде края на 2002-ра), които работят само в режим офлайн (демек скриптовете се пускат ръчно) и все още работят коректно, без да се налага предварителна обработка на входа?

бтв при мен int е 9223372036854775807 под Windows, PHP не ми прави проблеми (посочете какви), та как става това? Магия?

1
snipersniperson avatar snipersniperson -21 Точки

Тоест не виждаш проблем в това, че участниците не са запознати напълно с правилата на системата?

0
RoYaL avatar RoYaL Trainer 6849 Точки

PHP стартира като надграждане на "C" с цел да се пише Web. Такава е идеята на създателя му Rasmus Lerdorf, но това е друга тема. В конкретния случай не виждам какъв е проблемът - твоите submission-и тримват инпута :)

Задаваш абстрактен въпрос. Ако в твоята система, инпута който идва няма значение дали е "Hello" или "Hello\r\n" - съвсем нормално да не ти пречи това, че не тримваш. Обаче ако върху стринга "Hello\r\n" перформнеш str_replace и замениш последния символ с "T" очаквайки да стане HellT, ами - няма да стане :)

Така работи четенето на стандартния инпут в РНР от време оно - line ending-ите са в инпута за съответната линия и трябва да ги trim()-неш. Така препоръчват дори в документацията.

Изписах два абзаца де факто за проблем, който ти нямаш :) Споменах трим-ването, тъй като имаше и други хора, които са писали на РНР и при тях това, че не са трим-нали им е изиграло кофти номер.

Що се отнася до integer-a - http://php.net/manual/en/language.types.integer.php - тук си пише разликата в платформите. Както и да е, дори и на 64 битова платформа последния тест на втора задача няма как да мине без да се използва Arbitrary precision / BCMath. Което от своя страна може да доведе до бавни операции, тъй като BC функциите работят със стрингове и не са особено бързи.

0
snipersniperson avatar snipersniperson -21 Точки

За съжаление не намирам никъде публикувано, че първоначалната идея на PHP е да е надграждане на C. Всъщност е бил и основно е все още CGI tool, на който пък основната му функция е обработка на текст.

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

PHP_INT_MAX/SIZE могат да бъдат променени и PHP да бъде прекомпилиран (отделно има и пач за 7, който с малко баене може да се мушне в 5.6.x). Сега, отделен въпрос е, че е желателно машината на системата да бъде дублирана с втора машина с друга ОС. Но както и да е ...

0
RoYaL avatar RoYaL Trainer 6849 Точки

Надграждане не беше може би правилният термин, който трябваше да използвам. Идеята е, че е C-like език, с много от функциите директно с имената им в C с идея да се пишат уеб приложения.

http://php.net/manual/en/history.php.php

Визирам:

 " Originally used for tracking visits to his online resume, he named the suite of scripts "Personal Home Page Tools," more frequently referenced as "PHP Tools." "

и

"The language was deliberately designed to resemble C in structure, making it an easy adoption for developers familiar with C, Perl, and similar languages"

Та, по същество - за вече учащите има спецификация как се ползва PHP в курса по PHP. Истината е, че там е различно от това на входния изпит, тъй като задачите са направени да работят еднакво на всички езици, всичко минава през стандартния вход (stdin), което за съжаление си прав - никъде не е описано, заради факта, че на входящия курс се преподава C#. То и за това се казва PHP (CLI) това, на което се пише на входния изпит - то използва CommandLine Interface-a, един бърз гугъл сърч за PHP CLI показва как би се държало PHP в такава среда. Най-долу пък в Judge пише, че системата е run-ната под Windows. Това пък, на което се пише на РНР курса е PHP (CGI) където получаваш входа като от форма - през GET-а и това се обяснява на всеки един випуск, който минава през курса по РНР.

 

 

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