В рамките на дисциплината ще говорим за два важни аспекта на програмирането, които са както независими от езика, така и силно свързани с Java като програмна технология. Предоставената учебна програма, съдържа и връзки към материалите, които сме разработили по време на упражненията, както и кореспондиращите домашни, с които ще се предизвикате в последствие.
В тази част от дисциплината ще си говорим за това как да създадем работеща програма. Синтактичните правила, логично ще са силно обвързани с начина по който Java функционира, но концепциите са напълно преизползваеми за всяка категории език за програмиране. Успешното усвояване на тези идеи, ще ви дадът възможност да разработвате всякакъв тип базови програми, както и ида идентифицирате основните типове и структури от данни, които се ползват в ежедневната практика. Допълнително ще отделим време и за да разгледаме работа с алгоритми за сортиране на масиви и търсене на информация в тях.
Огромен процент от ежедневните активносит на програмистите е свързани точно със:
- създаване на програмни конструкции които съхраняват данни от числов, низов или структурен тип.
- дефиниране на условни конструкции
- работа със структурирана цикличност, която да управлява непрекъснатост на даден процес
- съхранение на информация в масивоподобни структури
- дефиниране на функции, които да бъзат преизползвани.
ОСНОВИ НА ЕЗИКА JAVA | ||
---|---|---|
N | Тема | Какво разглеждаме |
седмица 1 |
Променливи и типове данни |
- Въведение в дисциплината. - Въведение в концепцията на Java - Преговор на типове данни и променлии - Преговор на масиви - Как се извежда информация в конзолата |
седмица 2 |
Оператори в Java |
- Как се работи с вход какво е Scanner - Оператори за сравняване - Оператори за аритметика - Разлика между целочислено деление и деление по модул |
седмица 3 |
Условни конструкции и цикли |
- работа с условни конструкции IF / ELSE - работа с цикли FOR / WHILE - работа с методи |
седмица 4 |
Работа с многомерни масиви |
- работа с многомерни масиви - работа с методи |
седмица 5 |
Алгоритми за сортиране |
- сортиране на масив по метода на мехурчето - сортиране на масив по метода на пряката селекция - търсене на елементи в масив с помоща на линейно търсене - търсене на елементи в масив с помоща на бинарно търсене |
седмица 6 |
Рекурсия |
- какво е рекурсията - каква е разликата между рекурсия и цикъл - употреба на рекурсия за целите на бинарно търсене - употреба на рекурсия за целите на търсене във файлова система |
Обектно ориентираното програмиране, е популярна парадигма за организиране на програмна логика. За добро или лошо - Java по своята същност е обектно ориентиран по подразбиране, затова няма мърдане - ще трябва да се запознаем с някой от основните идеи, които седят зад този термин. В тази част ще си говорим за:
- разлики между класове и обекти
- как да създаваме договори между нашите класове с помоща на интерфейси
- създаване на иерархични структури с помоща на наследяване.
Далеч сме от мисълта, че тази проблематика ще стане напълно ясна - само за няколко срещи - но е добро начало за да започвем мисли по тази тема.
ОБЕКТНО ОРИЕНТИРАНО ПРОГРАМИРАНЕ | ||
---|---|---|
N | Тема | Какво разглеждаме |
седмица 7 |
Обектно ориентирано програмиране (част 1) |
- Концепция за класове и обекти - Как да си създадем списък със саморазширяващ се масив - Как да ползваме класа ArrayList за да пъхаме безкрайно количество данни в него - Разлика между статични и динамични променливи и методи - Ключовата дума this. и тайните на динамичните чекмеждета |
седмица 8 |
Обектно ориентирано програмиране (част 2) |
- Как се работи с енкапсулация - Getter and Setter мистичните механизми на Java добруването - Въведение в конструкторите - Какво са Енумератори и имат ли почва у нас |
седмица 9 |
Обектно ориентирано програмиране (част 3) |
- Разработка на играта шах - Анализ на необходимите участници в играта - Отговор на въпроса, кой върши действията в контекста на играта - Разделение на класове / фигури - Концепцията за класа Object |