Off-line Java-курси


Іщеряков Сергій МихайловичІщеряков Сергій
 (автор проекту “Школяр-програміст”,
володар спеціальної відзнаки конкурсу Ukrainian IT Awards 2017, 
організованого асоціацією IT Ukraine та  компанією SoftServe,  
за видатний вклад у ІТ-освіту України)
запрошує ІТ-студентів та старшокласників Івано-Франківська 
на курси Java SE6/SE8
адаптовані під вимоги корпоративних сертифікаційних іспитів
Oracle Certified Professional, Java SE6 Programmer, 
Oracle Certified Associated, Java SE8 Programmer.  
Якщо Ви хочете навчитись просто “кодити” – Вам буде нецікаво.
Але якщо Ви хочете в деталях розуміти Java SE-код
практично довільної складності – базу для подальшого
свідомого опанування Android та Java Enterprise Edition
ми з Вами “на одній сторінці”.
Орієнтовний початок занять – 11 або 12 листопада о 9.30.
Перше заняття є презентаційним!

Програму курсів складено, по-перше, у відповідності із вимогами сертифікаційних іспитів корпорації Oracle(власника мови програмування Java) рівня Professional для версії Java Standard Edition 6 та рівня Associated для версії Java Standard Edition 8 — іспити 1Z0-808 Oracle Certified Associated, Java SE8 Programmer

https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=654&get_params=p_id:357&p_org_id=48&lang=RU#tabs-1-1

та 1Z0-851 Oracle Certified Professional, Java SE6 Programmer

https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=654&get_params=p_id:157&p_org_id=48&lang=RU#tabs-2-3

Приклади сертифікатів, отриманих літом 2017 року, учнями 10-го та 11-го класів:

Сертифікат JavaСертифікат Java

По-друге, програма курсів збігається із основними положеннями навчальної програми дисципліни “Інформатика”для 10-11 класів інформаційно-технологічного профілю, затвердженої Міністерством освіти та науки України в 2015 році. У файлах знаходяться основна та додаткова програми курсів.

Сертифікат Java

Тривалість курсів – 20 тижнів в режимі одного заняття в тиждень (по суботах або неділях) тривалістю 8 академічних годин (4 пари).

Структура курсу за основною програмою:

  • об’єктне програмування (14-16 занять),
  • розширені оператори структурного програмування (1 заняття),
  • додаткові технології (3-5 занять), в т.ч.:
    • графічний фреймворк JavaFX (1 заняття),
    • Android-програмування (2 заняття),
    • Servlets, Java Server Pages (1 заняття, опціонально, за наявністю часу),
    • SQL & Mongo DB (1 заняття, опціонально, за наявністю часу).

Структура курсу за додатковою програмою (для початківців, за окремим розкладом):

  • представлення чисел в двійковій та шістнадцятковій системах числення,
  • основи структурного (алгоритмічного) програмування.

Очікувані результуючі знання та навички по напрямах:

  • Java Standard Edition 6 – фундаментальні,
  • Java Standard Edition 8 (upgrade from Java Standard Edition 6) – початкові,
  • Android – початкові,
  • Java Enterprise Edition – початкові (опціонально, за наявністю часу),
  • робота із SQL та NoSQL базами даних – початкові (опціонально, за наявністю часу).

Загальні вимоги до вхідного рівня слухачів:

  • впевнене користування комп’ютером в межах роботи з текстовими файлами з розширенням .docpdfdjvu,
  • мінімальний рівень володіння англійською мовою в межах можливості перекладу фраз типу “ What is a result?”, “Consider the following code:” із розумінням необхідності витрачати час на вдосконалення англійської,
  • впевнене знання розкладки букв англійського алфавіту на клавіатурі для швидкого набору Java-команд.

Вимоги до вхідного рівня слухачів щодо знання мов програмування
Попередній багаторічний досвід проведення курсів (з 2009 року) показує, що близько половини слухачів вже володіють основами структурного програмування (двійкова система числення, оператори ifif — elseforwhile) на рівні вміння за допомогою будь-якої мови програмування (PascalBasicCPytonDelphi, тощо) розкласти масив цілих чисел на два окремих масиви: з додатніх та з від’ємних чисел. Таким слухачам немає потреби у вивченні блоку основ структурного програмування. Саме тому курс і починається зразу з вивчення об’єктного програмування.
Слухачам, не знайомим із основами структурного програмування, тобто, повним початківцям, необхідно паралельно із вивченням об’єктних аспектів Java за основною програмою курсу працювати над додатковою програмою курсу за окремим розкладом (відсутність знань основ структурного програмування не вплине на якість засвоєння основного матеріалу на початку навчання).

Види навчальних занять та домашніх завдань, література
Основним видом навчальних занять для викладення нового матеріалу є комплексне лекційно-практично-лабораторне off — line заняття (проводиться “наживо”). Дві-три нескладні теми практично повністю запропоновано вивчити самостійно за допомогою рекомендованої літератури.
До кожного з off-line занять надається перелік рекомендованої літератури російською мовою із вказуванням сторінок, що необхідно опрацювати для закріплення матеріалу заняття, та практично до кожного заняття — перелік тестів (в середньому – близько 20) англійською мовою, виконання яких також дозволить закріпити навчальний матеріал. Приклади домашнього завдання до тем 21 (література, тести, без програм) та 22 (література, програмний проект, без тестів).

21. Інтерфейси.

Література [Шилдт*] ст.223 — 227, 231 – 233
[Вязовик*] лек.8, ст.10 — 14
[Эккель*] ст.224 — 227, 232 – 235, 238 – 239
[Хорстманн*] ст.271 — 273
[Жданов] ст.10, 11
Тести [Sanghera*] ch.3, #4, 9
ch.5, #9, 10
practiceExam, # 7
[Heller*] ch.3, # 13
ch.4, # 12
AssesmentTest, # 15
[Rapozа*] ch.2, #10, 24
AssesmentTest, # 24
[SierraExam*] PracticeExam1, # 6, 17, 54
PracticeExam2, # 12
PracticeExam3, # 12, 22
PracticeExam4, # 14, 27
[Sierra5] ch.1, # 1, 3
ch.2, # 3
[Sierra6] ch.1, # 6,
ch.4, #10

22. Інтерфейси Comparable, Comparator.

Література  [Хорстманн] ст.266 – 267
[Шилдт] ст.453, 495 – 496
Програмний проект масив об’єктів класу Car посортувати в одній програмі за:

  • ціною, швидкістю, маркою автомобіля
  • за маркою автомобіля, при однаковій марці – за швидкістю, при однаковій швидкості – за ціною

* Герберт Шилдт, Николай Вязовик, Брюс Эккель, Кей Хорстманн, Paul SangheraRichard RapozaPhilip HellerKeith Sierra – автори книг, рекомендованих для опрацювання теоретичного матеріалу та тестових завдань.

До кожного тестового завдання в книгах є не тільки відповіді (answers), але й пояснення (explanations) – звісно, англійською мовою. Необхідно обов’язково після виконання кожного тесту пересвідчитись у правильності Вашого рішення. Проте, якщо і після прочитаних пояснень у Вас питання до тестів все одно залишаться, – до Ваших послуг безкоштовна щотижнева менторська підтримка у вечірній час у вигляді двогодинного вебінару (наприклад, по середах, з 19.00 до 20.20). Крім вичерпних пояснень на вебінарах Ви також зможете попрацювати з тестами, розміщеними на інших джерелах, як правило, більш складними.
Домашні завдання із самостійного виконання програмних проектів різних обсягів та рівнів складності розподілено нерівномірно на інтервалі 20 навчальних тижнів – на протязі першої половини їх набагато менше, ніж на протязі другої половини навчання. Це аксіома – коли дитина вчиться читати, перш ніж подолати найменшу книжку, вона спочатку повинна вивчити букви.
Тому наберіться терпіння – писати нових програм будете багато, але не зразу, і не після кожного заняття. Хоча на кожному занятті разом із тренером будете виконувати 5…8 проектів, спочатку – невеличких, потім – серйозних.
Проте, якщо Ви все ж таки дуже хочете саме писати програми, а не розбиратись в кодах тестових програм, написаних іншими, і Вас не дуже хвилює, чому програма, написана Вами, працює так, а не інакше – головне, що працює! – тоді, як підказує досвід, Вам буде нецікаво. І це – також нормально. Не всім же бути майбутніми архітекторами проектів, робота є і для простих розробників програмного забезпечення. Хоча, як показує інший досвід, на протязі робочого дня професійному розробнику доводиться розбиратись в чужих кодах не менше, ніж писати власні програмні коди.

Підготовка до корпоративних сертифікаційних іспитів
В нашому суспільстві сформоване стійке негативне ставлення до будь-яких паперових підтверджень знань та навичок. В причини цього не варта заглиблюватись – достатньо згадати невизнання наших дипломів більшістю країн світу. Проте, сертифікат Oracle є документом, що не зашкодить мати кожному програмісту, тим більше – початківцю.
Сертифікати Oracle отримали більше 50 слухачів курсів. Для успішної сертифікації після завершення курсів передбачено виконання слухачем попередніх тестових on-line випробувань (від 6 до 16), наближених за змістом та формою до реальних іспитів.

Вартість курсів та порядок оплати занять
Повна вартість курсів становить суму у вітчизняній валюті, що є еквівалентом 200 USD по курсу Національного банку на момент оплати. (Оплата праці програмістів в ІТ-компаніях здійснюється саме в гривнях, але є при’вязаною до наперед обговореної суми в доларах США). Суму 200 USD встановлено, виходячи з вартості однієї академічної години заняття 2,5 USD, що встановлює вартість одного восьмигодинного заняття — 10 USD.
Оплату можна здійснювати за кожне заняття окремо – тим самим слухач може припинити навчання в будь-який момент з будь-якої причини без фінансових втрат.

Перше заняття є презентаційним – якщо слухач прийме рішення про продовження навчання, заняття оплачується разом із другим заняттям; якщо подальше навчання не зацікавить слухача – оплату першого заняття здійснювати не потрібно.

Що треба мати із собою на перше заняття:

  • щодо апаратних засобів (“заліза”):
    • ноутбук – не обов’язково, але дуже бажано; копіювати на домашній комп’ютер велику кількість коду, розглянутого на занятті, — можливо, проте некомфортно (((,
    • флешку – обов’язково, для копіювання літератури,
    • тоненький зошит, ручка – не зашкодять,
  • щодо програмних засобів (“софта”):
    • середовище розробника Eclipse (відеоінструкція по встановленню є доступною за посиланням https://www.youtube.com/playlist?list=PL4ULN6qmsrUkDrsCheYsFjyEfR3OW_UDE ), замість Eclipse прийнятними є середовища NetBeans, Intellij IDEA,
    • програми читання текстових файлів .doc, .pdf, .djvu.

Передісторія курсів містить:

  • сім років досвіду проведення саме цих курсів,
  • п’ять років досвіду ведення навчальних дисциплін за аналогічною програмою в ІФНТУНГ, ПВНЗ “Галицька Академія”, Прикарпатському національному університеті ім.Стефаника, Державному університеті телекомунікацій (м.Київ), Українському фізико-математичному ліцеї (м.Київ), Києво-Печерському ліцеї №171 “Лідер”,
  • два роки проведення та результати проекту “Школяр-програміст” (http://braintv.net/uk/categories/live-tech-night-show/yak-u-16-rokiv-otrymaty-sertyfikat-programista-oracle-i-navishcho), в ході виконання якого:
    • вісім учнів 10-11-х класів шкіл Дніпра, Дрогобича, Івано-Франківська, Кропивницького, Одеси отримали корпоративні сертифікати Java-програмістів,
    • проведено публічну презентацію Android-проектів, розроблених командами школярів Дніпра (http://9-channel.com/124956-000124956.html),
    • проведено дводенний хакатон для чотирьох команд школярів Дніпра, Дрогобича, Івано-Франківська з розробки математичного та програмного забезпечення для аналізу даних бойових безпілотних літальних апаратів http://braintv.net/uk/categories/podiyi/shkolyariv-programistiv-zaprosyly-u-realnyy-it-proekt-dlya-bezpilotnoyi-aviaciyi
    • чотирьох випускників 11-х класів паралельно із навчанням в Державному університеті телекомунікацій з 1-го вересня 2017 року в рамках проекту дуальної освіти запрошено на стажування до ІТ-компаній Ciklum та EPAM (https://censor.net.ua/blogs/7086/dualna_osvta_mi_rozpochali_persh_visnovki).

А що після курсів?
Цільова аудиторія 1 — студенти університетів та коледжів.
Наївно думати, що після завершення курсів Вас неодмінно та терміново запросять на роботу в ІТ-компанії. По-перше, курси детально вивчають матеріал по Java Standard Edition, а для роботи в компаніях Вам необхідно на базу Java SE покласти практичні навички роботи або з Android Studio, або з Java Enterprise Edition. По аналогії зі школою водіння – Ви досконально знаєте правила дорожнього руху і вмієте потроху їздити на другій передачі, тепер необхідно поїздити. (В значній частині вітчизняних курсів та корпоративних академій ситуація протилежна – успішний випускник більш-менш їздить, слабо знаючи правила дорожнього руху. Що краще – обирати Вам…)
Попередній досвід показав, що ідеальним продовженням є завершення навчання на серйозних корпоративних курсах, як от в SoftServeAcademy. Або інший варіант – зробити в команді із колегами по курсам 2-3 мобільних проекти з розміщенням на GooglePlay і пропонувати їх в якості портфоліо. Або взагалі спробувати створити власну компанію… Багато успішних прецедентів є по всіх варіантах.
А продовжити формальне навчання до рівня магістра можна і в європейському університеті, одночасно працюючи там же в ІТ-компанії, де Вас зможуть взяти на роботу при наявності 1-2 років досвіду, портфоліо та Oracle-сертифікату. На це також є прецеденти…
Цільова аудиторія 2 – школярі 11-х класів.
Незважаючи на все навантаження на завтрашніх випускників, тим не менше, ці курси можуть бути вам дуже доречними, особливо в ракурсі проекту дуальної освіти (випускник гімназії №2 м.Івано-Франківська Іван Самуляк з 1-го вересня 2017 року – студент 1-го курсу спеціальності “Комп’ютерні науки” Державного університету телекомунікацій в Києві і одночасно – стажист київської філії компаніїї Ciklum, працює в складі команди над проектом для світової туристичної корпорації Томаса Кука. Для цього вам весною наступного року треба мати знання рівня Oracle-сеuртифікату, як у Івана.)
Цільова аудиторія 3 – школярі 8-10-х класів.
Для вас – найбільш широкі перспективи.  Наприклад, робота в командах над старт-ап програмними проектами, як це із захопленням роблять старшокласники київського ліцею “Лідер”. Літом – проектний практикум у високогірних Карпатах в Карпатському центрі ІТ-навчання та відпочинку, що буде організовано на базі багаторічного досвіду літніх таборів програмування у Верхньоясенівській школі Верховинського району (https://dp.vgorode.ua/news/sobytyia/303046-v-dnepre-sozdaly-unykalnyi-proekt-dlia-obuchenyia-detei-y-uchytelei-IT-spetsyalnostiam). Через рік – командні шкільні Хакатони, аналогічні цьогорічному.

21.06.2017