Здрявейте, колеги,
Вече няколко от вас се свързаха с мен да препоръчам четиво за лятото. Този факт много ме радва. Ще се възползвам от кореспондецията, която имам вече с някои от вас (замесените се надявам, че нямат нищо против):
1. "Programming: Principles and Practice Using C++ (2nd Edition)" на Bjarne Stroustrup
2. "C++ Primer" на Stanley B. Lippman, Josée Lajoie, и Barbara E. Moo.
Според мен книгата на Строуструп ще ви се отрази добре. Липман също е добър, но вече много се задълбава в C++ спецификите и макар в това да няма нищо лошо, на този етап ви трябва и малко поглед и в широчина.
Като свършите със Строуструп, вижте нещо и по структури от данни. Аз имам голямата класика на MIT "Algorithms" на хартия, мога да я дам на някого, или да си я намерите online. Това не го препоръчвам за четене от корица до корица на този етап, но си струва да се видят основни неща.
Следващия семестър ще учите СДП, а това е доста сериозен предмет. Там просто няма място за пропуски.
3. Задачи за самостоятелна работа
Аз съм се постарал да подготвя лесни задачки за самоподготовка за списъци, дървета и хеш мапове. Може да ги погледнете. Особено списъците е добре с тях да можете да боравите с лекота преди да започне СДП-то, за да можете да схванете по-сложните механизми на другите структури. Пишете ми, ако имате въпроси.
4. Радослав Павлов, Математическа Лингвистика
Ето едно малко радикално предложение: тази книга мен ме запали по компютърните науки, когато бях ученик. Не говоря само за програмирането, а за "следващото ниво" на знание в нашата сфера - формални машини и изчислимост. Може да се пробвате да видите дали ще ви развълнува и вас. Ако пробиете през тази книга, ще ви се отворят неподозирани хоризонти. А ако не - няма нищо лошо, нашата сфера е ужасно разнообразна, важното е да намерите посока, която да мотивира вас.
5. Erich Gamma, John Vlissides, Richard Helm, Ralph Johnson, Design Patterns
Съветвам ви да видите и нещо по-абстрактно за ООП, като например класиката Design Patterns, за да видите как се прилага ООП-то при изграждане на сложен софтуер. Това е много важно, защото ние учим техническата страна на нещата, но понякога човек трудно разбира идеята им. Доколкото знам, книгата има и модерни вариации с други технологии, но няма значение кой вариант изберете - въпросът е да усвоите принципите, дори езикът за програмиране в книгата да ви е непознат.
Надявам се да научите много неща през лятото и не само!
Поздрави,
Калин Георгиев