My solutions for the Java OOP February 2019 Course at Software University.
Курсът "Java Object-Oriented Programming" ще ви научи на принципите на обектно-ориентираното програмиране (ООП), как да работите с класове и обекти, как да ползвате обектно-ориентирано моделиране и да изграждате йерархии от класове. Ще се изучават основните принципи на ООП като абстракция (интерфейси, абстрактни класове), енкапсулация, наследяване и полиморфизъм. Ще обърнем внимание на парадигми като event-driven програмиране, функционално програмиране (ламбда функции, closures), обработка на изключения. Ще разгледаме как се клонират, сравняват и обхождат обекти. Ще навлезем накратко в най-често използваните шаблони за дизайн (design patterns).
Ще се запознаете с принципите и добрите практики за изграждане на качествен софтуер и с концепциите за писане на качествен код в езика Java. Това включва използване на абстракции, преработка на лош код (refactoring), както и писане на unit тестове, reflection, работа с шаблонни типове данни, използване на събития и техники, и инструменти за подобряване на качеството на кода.
Оценяването в курса по ООП е на базата на предадени домашни, практически проекти и практически изпит по ООП.
Курсът е част от цялостната програма с Java курсове и уроци за обучение по професия "Java програмист" в Софтуерния университет.