Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Програма для 10-11 класів інформаційно-технологічного профілю 2015 Пояснювальна записка

Скачати 316.15 Kb.

Програма для 10-11 класів інформаційно-технологічного профілю 2015 Пояснювальна записка




Скачати 316.15 Kb.
Сторінка1/2
Дата конвертації10.03.2017
Розмір316.15 Kb.
ТипПрограма
  1   2

С.М.Іщеряков




Інформатика
навчальна програма

для 10–11 класів


інформаційно-технологічного профілю

2015


Пояснювальна записка

Програма профільного вивчення інформатики розрахована на викладання у 10-11 класах.

Програма (фр. programme письмове оголошення, порядок денний, від грец. prógramma вказівка) - заздалегідь затверджена (визначена) дія.
Інформа́тика (англ. Computer Science, нім. Informatik) - наукова дисципліна, що вивчає методи та процеси створення, перетворення, зберігання, передачі інформації та використання її в різних галузях людської діяльності.
Вона є продовженням програми вивчення інформатики у 9-му класі, базується на знаннях учнів, отриманих при вивченні інформатики у 9-му класі, та орієнтована на класи, що працюють за навчальними планами з інформаційно-технологічним профілем навчання.



Програма складається з двох паралельних змістових ліній: інформаційно-комунікаційні технології і алгоритмізація та програмування. Лінія вивчення інформаційно-комунікаційних технологій не відрізняється від навчальної програми рівня стандарт для 10-11 класів з тижневим обсягом в 1 годину. Натомість, лінію вивчення алгоритмізації та програмування адаптовано під професійні вимоги сучасного світового ринку розробки програмного забезпечення.
Станда́рт - нормативний документ, заснований на консенсусі, прийнятий визнаним органом, що встановлює для загального і неодноразового використання правила, настанови або характеристики щодо діяльності чи її результатів, та спрямований на досягнення оптимального ступеня впорядкованості в певній сфері.
Світ - назва планети Земля з людської точки зору, як місце заселене людськими істотами. Термін часто вживається для означення суми людського досвіду та історії, людського стану взагалі. На земній кулі проживає понад 7 мільярдів людей.
Профе́сія (фах) - відокремлений («окреслений») у рамках суспільного поділу праці комплекс дій та відповідних знань, що вимагає відповідної освіти.
Інформац́ійно-комун́ікаційні технол́огії (ІКТ, від англ. Information and communications technology, ICT) - часто використовується як синонім до інформаційних технологій (ІТ), хоча ІКТ це загальніший термін, який підкреслює роль уніфікованих технологій та інтеграцію телекомунікацій (телефонних ліній та бездротових з'єднань), комп'ютерів, підпрограмного забезпечення, програмного забезпечення, накопичувальних та аудіовізуальних систем, які дозволяють користувачам створювати, одержувати доступ, зберігати, передавати та змінювати інформацію. Іншими словами, ІКТ складається з ІТ, а також телекомунікацій, медіа-трансляцій, усіх видів аудіо і відеообробки, передачі, мережевих функцій управління та моніторингу. Вираз вперше було використано в 1997 році у доповіді Денніса Стівенсона для уряду Великої Британії, який посприяв створенню нового Національного навчального плану Великої Британії в 2000 році.
Розробка програмного забезпечення Розробка програмного забезпечення (англ. software engineering, software development) - це рід діяльності (професія) та процес, спрямований на створення та підтримку працездатності, якості та надійності програмного забезпечення, використовуючи технології, методологію та практики з інформатики, керування проектами, математики, інженерії та інших областей знання.


Програма ставить за мету:

  • підготовку учня до початкового рівня розробника програмного забезпечення, підтвердженого міжнародними корпоративними сертифікатами;
    Програміст, також програмник[Джерело?] - фахівець, що займається програмуванням, виконує розробку програмного забезпечення (в простіших випадках - окремих програм) для програмованих пристроїв, які, як правило містять один чи більше CPU.
    Програ́мне забезпе́чення (програ́мні за́соби) (ПЗ; англ. software) - сукупність програм системи обробки інформації і програмних документів, необхідних для експлуатації цих програм.


  • формування абстрактного аналітичного мислення, необхідного для оперування сучасними професійними технологіями об’єктного програмування;
    Техноло́гія (від грец. τεχνολογια, що походить від грец. τεχνολογος; грец. τεχνη - майстерність, техніка; грец. λογος - (тут) передавати) - наука («корпус знань») про способи (набір і послідовність операцій, їх режими) забезпечення потреб людства за допомогою (шляхом застосування) технічних засобів (знарядь праці).
    Абстра́кція (лат. abstractio - відвернення, відволікання) - одна з основних операцій мислення, а також метод наукового дослідження, що полягає в тому, що суб'єкт, відокремлюючи які-небудь ознаки об'єкту, що вивчається, відволікається від інших, не враховуються його неістотні сторони і ознаки.


  • отримання професійних навичок індивідуальної та командної роботи над проектами з розробки програмних додатків для мобільних засобів на основі операційної системи Google Android, в тому числі з метою розміщення на публічних Інтернет-ресурсах (Google Play, тощо);
    Пра́ця - цілеспрямована діяльність людей зі створення матеріальних і духовних благ, необхідних для задоволення потреб кожного індивіда і суспільства в цілому.


  • підготовку учнів до участі в корпоративних олімпіадах, що проводяться провідними вітчизняними компаніями з розробки програмного забезпечення;

  • формування мотиваційних факторів в учнів старших класів для професійного вивчення програмування безпосередньо в середній школі.
    Комерційна організація, також Компанія (англ. Company) - юридична особа, що ставить собі за основну мету своєї діяльності одержання прибутку, на відміну від некомерційної організації, яка не має на меті отримання прибутку і не розподіляє отриманий прибуток між учасниками.
    Олімпі́йські і́гри (грец. οἱ Ὀλυμπιακοί Ἀγῶνες) - міжнародні спортивні змагання, які проводяться кожні два роки під егідою Міжнародного олімпійського комітету. Види спорту, які входять до програми Олімпійських ігор називаються олімпійськими.
    Мотива́ція (з лат. movere) - спонукання до дії; динамічний процес фізіологічного та психологічного плану, керуючий поведінкою людини, який визначає її організованість, активність і стійкість; здатність людини діяльно задовольняти свої потреби.
    Операці́йна систе́ма, скорочено ОС (англ. operating system, OS) - це базовий комплекс програм, що виконує управління апаратною складовою комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем.
    Шко́ла (від грец. σχολή - «відпочинок», пізніше «ті, кого повчають») - навчальний заклад, зазвичай початкової або середньої освіти, але також іноді й вищої (наприклад, Вища школа бізнесу) або спеціальної (наприклад, Київська школа економіки) освіти.


До теоретичної бази знань відносяться:

  • фундаментальні по­няття представлення та збереження інформації в засобах комп’ютерної техніки;

  • основи теорії алгоритмів та структур даних;
    В програмуванні та комп'ютерних науках структу́ри да́них - це способи організації даних в комп'ютерах. Часто разом зі структурою даних пов'язується і специфічний перелік операцій, що можуть бути виконаними над даними, організованими в таку структуру.
    Теорія алгоритмів (англ. Theory of computation) - окремий розділ математики, що вивчає загальні властивості алгоритмів. Виникла в 30-х роках 20 століття.


  • детальний аналіз теоретичних особливостей об’єктної парадигми програмування;
    Особливість, або сингулярність в математиці - це точка, в якій математичний об'єкт (зазвичай функція) не визначений або має нерегулярну поведінку (наприклад, точка, в якій функція недиференційована).
    Ана́ліз (від грец. αναλυσις - «розклад») - розчленування предмету пізнання, абстрагування його окремих сторін чи аспектів. Метод дослідження, який вивчає предмет, уявно чи реально розчленовуючи його на складові елементи, як-от частини об'єкта, його ознаки, властивості, відношення, відтак розглядає кожен з виділених елементів окремо в межах єдиного цілого; протилежний метод - синтез.
    Паради́гма програмува́ння - це система ідей і понять, які визначають стиль написання комп'ютерних програм, а також спосіб мислення програміста.


  • основи програмування узагальнень (generic);

  • основи багатопотокового режиму програмування;

  • основи функціонального програмування.
    Узага́льнення - основний елемент логіки та міркувань людини. Узагальнення бере за основу існування множини елементів та однієї або декількох властивостей, спільних для цих елементів. Це є основою дедуктивних міркувань.
    Функційне програмування - парадигма програмування, яка розглядає програму як обчислення математичних функцій та уникає станів та змінних даних. Функційне програмування наголошує на застосуванні функцій, на відміну від імперативного програмування, яке наголошує на змінах в стані та виконанні послідовностей команд.


До практичних навичок належать:

  • робота з професійними середовищами програмування для мов Java, SQL, JavaScript;

  • проектування програмного забезпечення у відповідності із вимогами об’єктної парадигми та шаблонів проектування;

  • використання сучасних Java-технологій введення-виведення інформації, обробки переривань та текстових даних, багатопотокового програмування, прикладних графічних інтерфейсів користувача;

  • програмування мобільних засобів на основі операційної системи Google Android;

  • сумісне використання разом із об’єктною мовою програмування Java засобів мови управління реляційними базами даних SQL та мови сценаріїв JavaScript;
    Гра́фіка (нім. Graphik, грец. graphikos «написаний») - вид образотворчого мистецтва, для якого характерна перевага ліній і штрихів, використання контрастів білого і чорного та менше, ніж у живописі, використання кольору.
    Текст (від лат. textus - тканина, з'єднання) - загалом зв'язана і повністю послідовна сукупність знаків. Наука, що вивчає тексти називається герменевтикою.
    Графі́чний інтерфе́йс кори́стувача́ (ГІК, англ. GUI, Graphical user interface) - тип інтерфейсу, який дозволяє користувачам взаємодіяти з електронними пристроями через графічні зображення та візуальні вказівки, на відміну від текстових інтерфейсів, заснованих на використанні тексту, текстовому наборі команд та текстовій навігації.
    Реляційна база даних Реляційна база даних - база даних, заснована на реляційній моделі даних. Слово «реляційний» походить від англ. relation. Для роботи з реляційними БД застосовують реляційні СКБД. Інакше кажучи, реляційна база даних - це база даних, яка сприймається користувачем як набір нормалізованих відношень різного ступеня.


  • командна робота над проектами із застосуванням сучасних систем контролю версій Git та збирання проектів Maven.

Мета курсу досягається через адаптацію навчального матеріалу вивчення мови програмування Java до вимог сертифікаційних іспитів корпорації Oracle, що дозволяє отримати необхідний сучасний професійний рівень підготовки учнів, а також залученням до навчальної програми розробок проектів для мобільних засобів на основі операційної системи Google Android, що є гранично популярними серед учнівської молоді.
Фахіве́ць, спеціаліст, професіонал, майстер (англ. master, foreman, expert, нім. Fachmann) - людина, що володіє спеціальними знаннями й навичками в будь-якій галузі, що має спеціальність; людина, що добре знає будь-що, майстер своєї справи.
Матеріа́л - речовина, або суміш речовин, первинний предмет праці, який використовують для виготовлення виробу (основний матеріал), або які сприяють якимось діям. У останньому випадку уточнюють, що це допоміжний, чи витратний матеріал.
Адапта́ція (пристосування) в біології - анатомічна структура, фізіологічне явище або реакція в поведінці організму, яка розвинулась за деякий проміжок часу в ході еволюції таким чином, що стала підвищувати довготривалий репродуктивний успіх даного організму.
Мо́ва програмува́ння (англ. Programming language) - це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.
Тим самим реалізується найбільш характерна особливість навчальної програми - її спрямування на професіоналізацію навчання.

Відповідність змісту програми сучасним вимогам професійного ринку розробки програмного забезпечення підтверджується запланованою можливістю для учнів отримати наступні сертифікати американської корпорації Oracle:

- Oracle Certified Associate, Java SE 8 Programmer, 1Z0-808 – після 10-го класу,

- Oracle Certified Professional, Java SE 8 Programmer, 1Z0-809 – після 11-го класу.

Сертифікат (франц. certificat, від пізньолат. sertifico - засвідчую),
Аме́рика - частина світу в західній півкулі Землі, що поділяється на два континенти або материки - Північну і Південну Америку, часто з Північної Америки виділяється і Центральна Америка.
Процедура отримання сертифікату полягає у виконанні в режимі он-лайн 60 тестів англійською мовою, на які необхідно надати не менше 2/3 правильних відповідей.
Необхідність - система зв'язків і відносин, що зумовлює зміну, поступальний рух, розвиток у жорстко визначеному напрямку з жорстко визначеними результатами. Іншими словами, необхідність - це такий зв'язок, що обов'язково призводить до певної події.
А́нглія (англ. England) - країна в Західній Європі, що входить до Сполученого королівства Великої Британії та Північної Ірландії. Найбільша за площею і населенням з чотирьох країн Сполученого королівства та трьох частин Великої Британії.

Вибір мови Java серед інших сучасних об’єктних мов програмування обумовлений наступними факторами: найбільшою поширеністю на сучасному ринку розробки програмного забезпечення, в тому числі - для програмування мобільних засобів, академічністю, що виражається в суворому дотриманні вимог об’єктної парадигми, а також розвиненою системою корпоративної сертифікації.

Корпорат́изм - (пізньолат. corporatio - об'єднання, співтовариство) - система прийняття рішень та представництва інтересів через обмежену кількість жорстко визначених, ієрархічно ранжованих і функціонально диференційованих груп інтересів, що монополізують представництво відповідних сфер суспільного життя за згоди держави в обмін на її участь у підборі лідерів та призначенні керівного складу цих груп, а також у формуванні їхніх вимог.

Програму курсу розраховано на використання комп’ютерів на кожному уроці. Вивчення курсу сплановано на 2 роки (10-11 кл.) з розрахунку 350 годин. Програмою передбачено тижневе навантаження у 5 навчальних годин. Розподіл годин між змістовими лініями: 1 година на тиждень виділяється для тем з основ інформаційно-комунікаційних технологій згідно навчальної програми рівня стандарт та 4 години для тем з алгоритмізації та програмування. Для більш ефективного використання навчального часу для вивчення тем з алгоритмізації та програмування рекомендовано застосування спарених уроків. З цією метою всі теми програми розраховані на парну кількість годин.

В програмі для лінії алгоритмізації та програмування передбачено резерв навчального часу, який рекомендовано використовувати для проведення тематичного опитування або підсумкових контрольних заходів в кінці навчальних семестрів.

Опи́тування, о́пит - це метод збору соціологічної інформації про досліджуваний об'єкт під час безпосереднього (усне опитування, інтерв'ю) або опосередкованого (письмове опитування, анкетування) спілкування того хто опитує з респондентом.
Кількість - в Арістотелівській логіці друга з 10 категорій (класів, розрядів, які спрощують процес розумового визначення будь-якої речі), побічна обставина матеріальних речей , за допомогою якої вони поширюються в просторі, вимірюються якоюсь математичною нормою і здатні бути поділеними на окремі частини.
Семестр (від лат. sex - шість і лат. mensis - місяць) - позначення півріччя в (вищих) навчальних закладах. У семестр зазвичай також включаються канікули. Залежно від країни, а іноді і від університету/школи семестри відрізняються в даті початку/кінця і балансі між навчанням/не-навчанням.
Контрольні заходи можна проводити або у формі тестового опитування, або у формі написання програм згідно завдання.

Основною формою навчальних занять у класах з профільним вивченням інформатики залишаються уроки різних типів: вивчення нового навчального матеріалу, закріплення знань і формування умінь при самостійному розв’язуванні тестових завдань та написанні програм проектних завдань, контроль та корекція знань. Рекомендується використовувати наступні форми організації навчання: лекційно-практичні заняття для подання нового матеріалу, практичні заняття для самостійного розв’язування завдань, що не пов’язані із написанням програм, та тестових завдань, лабораторні роботи для самостійного написання програм проектних завдань, лабораторні роботи для командного виконання проектів (для учнів 11-го класу).
Команди́р частини (підрозділу) - посадова особа командного складу в збройних силах, на котру покладено командування (керівництво) підрозділом, частиною (кораблем), з'єднанням. У більшості країн світу командир є єдиноначальником і несе особисту відповідальність за постійну бойову і мобілізаційну готовність ввіреної йому частини (підрозділу).
Практика (грец. πράξις «діяльність») - доцільна і цілеспрямована діяльність, яку суб'єкт здійснює для досягнення певної мети. Практика має суспільно-історичний характер і залежить від рівня розвитку суспільства, його структури.
Лабораторія (середньовічна лат. laboratorium, від лат. laboro - працюю, лат. labor - праця, робота) - багатозначний термін, що залежно від контексту, може означати: Спеціально обладнане та устатковане приладами, пристроями, мережами приміщення або транспортний засіб (наприклад, автомобіль, вагон потягу, літак, гелікоптер, субмарина тощо) для наукових досліджень, навчальних робіт, контрольних аналізів та випробувань (див. лабораторне устаткування). Установу або її відділ, що проводить експериментальну науково-дослідницьку та навчальну роботу. Внутрішні творчі процеси, внутрішню діяльність кого-небудь. Наприклад, творча лабораторія дослідника, митця тощо.
Практи́чні заня́ття - форма навчального заняття, при якій викладач організує детальний розгляд студентами окремих теоретичних положень навчальної дисципліни та формує вміння і навички їх практичного застосування шляхом індивідуального виконання студентом відповідно сформульованих завдань.

Особливістю навчальної методики є широке використання тестів, більшість з яких передбачає аналіз програмних кодів з передбаченням результату.

Більшість - велика частина чого-небудь, або кількісне переважання прихильників якоїсь ідеї чи рішення над їхніми противниками. Вважається найпершою засадою демократичного способу прийняття спільних рішень, головною й необхідною умовою обрання кандидата на виборну посаду.
Результат, пі́дсумок, (заст. ску́ток, вислід) - кінцевий наслідок послідовності дій. Можливі результати містять перевагу, незручність, вигоду, збитки, цінність і перемогу. Результат є етапом діяльності, коли визначено наявність переходу якості в кількість і кількості в якість.
Передбачення в науці - футурологічний метод визначення, опису об'єктів, явищ фізичної реальності, соціальних процесів, які ще не існують на момент дослідження, але можуть з'явитися і бути виявленими та вивченими в майбутньому.
Тести розв’язуються учнями під час уроків разом із вчителем або самостійно, проте, більшість тестів задається для самостійного виконання в якості домашнього завдання із аналізом складних тестів на наступному уроці.
Тестування застосовується для визначення відповідності предмета випробування заданим специфікаціям. До завдань тестування не належить визначення причин невідповідності заданим вимогам (специфікаціям). Тестування - один з розділів діагностики.
Після аналізу домашніх тестів рекомендовано проводити контрольне тестове опитування в межах 10 хвилин (3-4 тести). Всі тести наводяться англійською мовою – базовою мовою професійних програмістів. Разом за період навчання передбачається виконання учнями декількох тисяч тестових завдань, що є запорукою подальшого успішного складання корпоративного сертифікаційного іспиту.



Критерії оцінювання навчальних досягнень визначаються через виконання учнями практичних та лабораторних робіт, а також проведення вчителем контрольного оцінювання знань учнів як поточного, так і підсумкового - з окремих тем або в кінці навчального семестру.
Оцінювання - (фр. evaluation від value ціна, вартість) оцінка, визначення ціни, вартості, визначення кількості, якості продукції, якості ресурсів, придатності тощо; аналіз даних, обстановки.


Початковий рівень навчальних досягнень визначається у разі репродуктивної діяльності учня, а саме визначення ним основних понять теми, повторення прикладів, що наводилися вчителем, виконання практичних завдань, що розглядалися на уроці під час ознайомлення з новим матеріалом, виконання лабораторних робіт у повній відповідності з вказівками вчителя та під його керівництвом.
Репроду́кція (лат. re- префікс, що означає зворотню або повторну дію і лат. produco - створюю) - відтворення.
Керівн́ицтво - (адміністрування, розпорядництво) є однією з функцій управління, а в умовах командно-адміністративної системи саме тією функцією, що разом з контролем включила в себе всі інші функції.
Озна́чення, ви́значення чи дефіні́ція (від лат. definitio) - роз'яснення чи витлумачення значення (сенсу) терміну чи поняття. Слід зауважити, що означення завжди стосується символів, оскільки тільки символи мають сенс що його покликане роз'яснити означення.
При розробці проектів учень бере участь у роботі групи за визначеною вчителем темою.

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

Достатній рівень навчальних досягнень демонструють учні, які орієнтуються у навчальному матеріалі нової теми, відповідаючи на запитання вчителя, самостійно виконують практичні та лабораторні роботи, підбираючи для цього власні тести, ґрунтовно аналізують отримані результати. Під час роботи над проектами учні працюють самостійно під керівництвом вчителя.

Високий рівень навчальних досягнень учнів визначається у разі вільної орієнтації у новому навчальному матеріалі з можливою участю при його викладенні вчителем під час уроку, розуміння взаємопов’язаності різних тем всієї програми, самостійного творчого виконання практичних та лабораторних робіт, аналітичного підходу до аналізу отриманих результатів, самостійної проектної роботи, участі в інтелектуальних змаганнях з інформатики (олімпіади, конкурси, конференції, турніри, захисти наукових робіт тощо).
Орієнтація, в класичному випадку - вибір одного класу систем координат, пов'язаних між собою «додатньо» в деякому певному сенсі. Кожна система задає орієнтацію, визначаючи клас, до якого вона належить.
Інтелектуал - людина розумової праці[Джерело?]. «Інтелектуалом» також називають[Хто?] освічену, начитану людину з високо розвиненим інтелектом[Джерело?].
Розумі́ння - психологічний стан, який виражає собою правильність ухваленого рішення і супроводжуваний відчуттям упевненості в точності сприйняття або інтерпретації якої-небудь події, явища, факту.

Зміст лінії алгоритмізації та програмування навчальної програми профільного рівня вивчення інформатики для учнів 10-11 класів наведено нижче:



10 клас (4 год. на тиждень)

І семестр

Загальна кількість годин на рік на дві лінії:

175 (157 18рез)

Основи структурного (алгоритмічного) програмування

36 (32 4рез)

Основи об’єктного програмування

28 (24 4рез)

ІІ семестр

Основи об’єктного програмування

40 (36 4рез)

Java-технології

36 (32 4рез)

Всього годин

140 (124 16рез)

11 клас (4 год. на тиждень)

І семестр

Загальна кількість годин на рік на дві лінії:

175 (157 18рез)

Розширені Java-технології

36 (32 4рез)

Фреймворк колекцій

28 (24 4рез)

ІІ семестр

Програмування Android, баз даних, багатопотокове програмування

40 (36 4рез)

Технології Java SE7, SE8

36 (32 4рез)

Всього годин

140 (124 16рез)

Загальна кількість годин

350


Для забезпечення профілю поглибленого вивчення інформатики необхідні такі про­грамні засоби:

    1. Середовище розробника Java Development Kit jdk8 ― для встановлення мови програмування Java.

    2. Інтегральне середовище розробника IDE Eclipse ― для розробки та налагодження кодів Java-програм.

    3. Інтегральне середовище розробника IDE dbForge Studio for MySQL ― для створення таблиць баз даних.

    4. Інтегральне середовище розробника Android Studio ― для розробки та налагодження кодів Android-проектів.

    5. Текстовий редактор Adobe Reader ― для роботи з літературою.
      Літерату́ра (від лат. litterae - буква, літера), іноді книжництво, письменство - сукупність писаних і друкованих творів певного народу, епохи, людства. Література відображає та зберігає знання й культуру народу та певного історичного періоду.


Програма профільного вивчення інформатики

Лінія «Алгоритмізація та програмування»

10 клас


Зміст навчального матеріалу

Навчальні досягнення учнів

І семестр (64 год. (56 8 рез.), 4 год. на тиждень )

Розділ «Основи структурного (алгоритмічного) програмування», 32 4 години

Тема 1: «Лінійні програми», 8 годин

Зміст навчального матеріалу:

    1. 1.1 Встановлення Eclipse. Перша програма. Коментарі одно- та багаторядкові.

1.2 Оголошення змінних.
Комента́р (від лат. commentārium - записки, тлумачення) - * Тлумачення певного тексту або книги.
Оголошення - це короткі текстові повідомлення, котрі містять різну за призначенням інформацію. Переважно оголошення містять інформацію приватного рекламного характеру. Це пропозиція певних товарів чи послуг приватними особами, або малими приватними підприємствами.
Ідентифікатори. Ключові слова. Типи даних String, int. Oператор System.out.print(). Конкатенація.

1.3 Арифметичні операції. Тип даних double. Операція ділення за модулем, в т.ч. ділення за модулем від’ємних чисел.

1.4 Взаємні перетворення (casting) типів int та double.

1.5 Двійкова система числення.

Конкатенація (об'єднання) - операція склеювання об'єктів лінійної структури, зазвичай рядків. Наприклад, конкатенація слів «мікро» і «світ» дасть слово «мікросвіт».
Арифме́тика (дав.-гр. ἀριϑμητική - мистецтво лічби, вчення про числа, від дав.-гр. αριθμός - число) - наука про числа, їх властивості й операції над ними.
Арифметичні дії є двомісними операціями на множині чисел - на вході беруть два числа (операнда), і повертають одне число як результат.
Ключове́ сло́во - слово, або сталий вислів природної мови, яке використовують для вираження деякого аспекту змісту документа (або запиту); слово, яке має істотне смислове навантаження. Воно може служити ключем під час пошуку інформації в інтернеті чи на сторінці сайту.
Тип даних - характеристика, яку явно чи неявно надано об'єкту (змінній, функції, полю запису, константі, масиву тощо). Тип даних визначає множину припустимих значень, формат їхнього збереження, розмір виділеної пам'яті та набір операцій, які можна робити над даними.
Двійкова система числення - це позиційна система числення, база якої дорівнює двом та використовує для запису чисел тільки два символи: зазвичай 0 (нуль) та 1 (одиницю). Числа, представлені в цій системі часто називають двійковими або бінарними числами.
Взаємні перетворення цілих чисел в двійковій та десятковій системах числення. Додавання в двійковій системі. Шістнадцяткова та вісімкова системи числення.

1.6 Розрядна сітка комп’ютера та діапазони представлення чисел. Представлення цілих від’ємних чисел в двійковій системі.

1.7 Типи даних byte, short, long, float. Перетворення типів даних.

1.8 Інкремент та декремент. Операції з присвоєнням.

1.9 Тип даних char. ASCII-коди. Символи пробіла.

Си́мвол (англ. symbol символ) - знак, сутність, яка позначає іншу сутність.
Перетворення типів даних.



Практичні роботи:

«Взаємні перетворення цілих чисел у десятковій, двійковій, шістнадцятковій та вісімковій системах числення»

«Представлення цілих від’ємних чисел в двійковій системі»


знає: правила оголошення ідентифікаторів, ключові слова, основні арифметичні операції, правила взаємного перетворення змінних різного типу, способи представлення символьних змінних,
розуміє: різницю між типами змінних, способами представлення змінних та типами коментарів,
вміє: підготувати середовище Eclipse до роботи, ініціалізувати змінну будь-якого типу, обрати потрібну арифметичну операцію при наявності альтернативних, представити ціле значення, в тому числі, від’ємне, в довільній системі числення,
аналізує: ефективність використання типу змінних та арифметичних операцій

Тема 2: «Алгоритми із розгалуженням», 6 годин

Зміст навчального матеріалу:

2.

Альтернати́ва (фр. alternative, рос. альтернатива, англ. alternative, нім. Alternative) -
1 Операції порівняння. Формат boolean. Оператори if та if-else.

2.2 Тернарний оператор.

2.3 Вкладені оператори if.

2.4 Оператор switch-case.

2.5 Логічні функції NOT, AND, OR, XOR.

Ло́гіка (грец. λογιχη від грец. logos - слово, значення, думка, мова) - наука про закони і різновиди мислення, способи пізнання та умови істинності знань і суджень.

2.6 Замикальні функції.

2.7 Аналогія та різниця між вкладеними операторами if, простими та замикальними логічними функціями.

2.8 Побітові функції NOT, AND, OR, XOR.

2.10 Пріоритети виконання арифметичних та логічних операцій.

Вкладення у математиці - це спеціального вигляду відображення одного екземпляру деякої математичної структури у інший екземпляр того ж типу. А саме, вкладення деякого об'єкту X у Y визначається ін'єктивним відображенням, яке зберігає деяку структуру.
Пріоритет (рос. приоритет, англ. priority, нім. Priorität f) -


Практичні роботи:

«Виконання побітових логічних функцій NOT, AND, OR, XOR над цілими числами»


Лабораторні роботи:

«Виконання розгалужених алгоритмів за допомогою операторів if-else та тернарних операторів»

«Виконання розгалужених алгоритмів за допомогою простих та замикальних логічних функцій AND, OR»

«Визначення результатів перетину прямокутників, заданих координатами діагональних вершин»



знає: синтаксис конструкцій розгалуження, тернарного оператору, правила виконання логічних функцій NOT, AND, OR, XOR, замикальних функцій AND, OR, пріоритетність виконання арифметичних та логічних операцій,
розуміє: різницю між вкладеними операторами if, простими та замикальними логічними функціями
вміє: обирати потрібний тип розгалуження та використовувати його для написання коду програми,
аналізує: ефективність застосування типу розгалуження для конкретного завдання



Тема 3: «Цикли», 6 годин

Зміст навчального матеріалу:

3.1 Оператор for. Цикли.

Цикл (лат. cyclus, від грец. kuklos - круг) - завершена послідовність функціонування матеріально-технічних компонентів об'єкта (явища) в просторі та часі. Коло подій, явищ, частин.

3.2 Синтаксис оператора for.

3.3 Область видимості змінної.

3.4 Рекурентні цикли. Оператори while та do-while.

3.5 Вкладені цикли.

3.6 Оператори break, continue, return. Метод System.exit().
Лабораторні роботи:

«Циклічне виведення числових послідовностей в прямому, зворотньому порядках»

«Виведення чисел Фібоначчі»

«Виведення чисел, що діляться без залишку на декілька дільників»

«Виведення простих чисел»

«Табличне виведення числових послідовностей»

«Виведення точкових трикутників»


знає: синтаксис операторів циклу, правила визначення області видимості змінної,
розуміє: різницю між операторами циклу, різницю між операторами виходу break, continue, return,
вміє: обирати потрібний оператор циклу та використовувати його для написання коду програми, обирати потрібний оператор виходу та використовувати його для написання коду програми,
аналізує: ефективність застосування потрібних операторів циклу та операторів виходу для конкретного завдання

Тема 4: «Оброблення масивів», 12 годин

Зміст навчального матеріалу:

4.1 Одновимірні масиви. Поле length.

4.2 Обробка масивів без розгалужень.

4.3 Оператор foreach.

4.4 Введення рядкового масиву з командного рядка аргументом методу main().

4.5 Обробка масивів із розгалуженням.

4.6 Обробка масивів із утворенням масиву-результату відомої довжини.

4.7 Обробка масивів із утворенням масиву-результату невідомої довжини.

4.8 Двовимірні масиви.

Лабораторні роботи:

«Визначення максимального та мінімального елементів масиву»

«Пошук елемента в масиві та визначення кількості повторів елемента»

«Визначення середнього арифметичного елементів масиву та кількості елементів, що є більшими за середнє арифметичне»

«Утворення третього масиву як попарної суми елементів двох масивів однакової довжини»

«Утворення третього масиву як конкатенації двох масивів різної довжини»

«В масиві з елементами, що не повторюються, поміняти місцями максимум та мінімум»

«В масиві з елементами, що не повторюються, усунути максимум та мінімум»

«Масив поділити на два масиви: з додатніх та від’ємних елементів»

«З масиву видалити дублікати максимума та мінімума»

«Визначити середні арифметичні двох масивів.

Дубліка́т - (від лат. duplicatus - подвоєний) - другий примірник документа, що має таку саму юридичну силу, як і оригінал.
Утворити третій масив з елементів обох масивів, що знаходяться в межах між значеннями середніх арифметичних»

«Виконати циклічний зсув матриці на k1 позицій вправо та на k2 догори»

«Відняти від елементів кожного рядка матриці середнє арифметичне рядка»

«Видалити в двовимірній матриці з елементами, що не повторюються, рядок та стовпчик із максимальним елементом»

«В двовимірній матриці з елементами, що не повторюються, поміняти місцями рядок і стовпчик з максимумом та рядок і стовпчик з мінімумом»


знає: синтаксис оператору foreach, правила завдання та ініціалізації масивів,
розуміє: різницю між класичними операторами циклу та оператором foreach,
вміє: обирати потрібний алгоритм обробки масивів та використовувати його для написання коду програми, писати код для обробки масивів довільного рівня вкладеності,
аналізує: ефективність застосування циклічних алгоритмів для обробки масивів згідно конкретного завдання


Розділ «Основи об’єктного програмування», 60 8 годин

Тема 5: «Інкапсуляція», 18 годин

Зміст навчального матеріалу:

5.1 Поняття інкапсуляції, структура класу.

5.2 АРІ класу String. Використання методів класу String для обробки рядкових масивів.

5.3 Оголошення та створення рядкових об’єктів. Оператор new. Літерал null.

5.4 АРІ класу GregorianCalendar.

5.5 Створення власних класів. Оголошення та ініціалізація полів. Змінні локальні та змінні класу.

5.6 Оголошення методів.

5.7 Архітектурний шаблон MODEL-VIEW-CONTROLLER (MVC) для побудови класів.

Архітекту́ра (грец. αρχιτεκτονικη - будівництво) - це одночасно наука і мистецтво проектування будівель, а також власне система будівель та споруд, які формують просторове середовище для життя і діяльності людей відповідно до законів краси.

5.8 Ключове слово static.

5.9 Передавання в метод в якості аргументів примітивів та посилань.

5.10 Типи методів. Конструктори.

5.11 Перевантаження конструкторів.

5.12 Перевантаження методів.

5.13 Особливості ініціалізації змінних: способи, блоки, порядок.


Лабораторні роботи:

«Розробка проекту Calculator для виконання арифметичних операцій над цілими числами»

«Розробка проекту FractionCalculator для виконання арифметичних операцій над звичайними дробами»

«Розробка проекту VectorCalculator для виконання операцій з векторами»

«Виведення українізованого календаря поточного місяця із використанням АРІ класу GregorianCalendar»

«Виведення днів тижня власної дати народження останніх років із використанням АРІ класу GregorianCalendar»



знає: особливості інкапсуляції, структуру класу, вимоги шаблону MVC, синтаксис оператора new,правила оголошення методів, особливості використання статичних елементів класу, правила перевантаження методів,
розуміє: різницю між основними елементами об’єктної парадигми: класом та об’єктом, між способами ініціалізації полів класу, між локальними змінними та змінними класу, між статичними та нестатичними елементами класу, між передаванням в метод примітивних аргументів та посилань,
вміє: працювати в цілому з Java API та АРІ класів String, GregorianCalendar, використовувати методи класу String для обробки рядкових масивів, створювати власні класи згідно вимог шаблону MVC, оголошувати та різними способами ініціалізувати поля класу, оголошувати методи класу, використовувати в коді програм статичні методи, перевантажені конструктори та перевантажені методи,
аналізує: необхідність використання та перевантаження конструкторів класу

Тема 6: «Наслідування», 6 годин

Зміст навчального матеріалу:

6.1 Поняття наслідування, відношення is-a, has-a.

6.2 UML- діаграми.

6.3 Пакети. Import. Static import.

6.4 Модифікатори доступу.

Лабораторні роботи:

«Дослідження доступу до полів класу із різними модифікаторами»



знає: особливості наслідування, правила побудови UML- діаграм класів, правила імпорту,

розуміє: різницю між відношеннями is-a, has-a, різницю між звичайним та статичним імпортом,

вміє: використовувати імпорт пакетів, класів, статичних елементів, використовувати потрібні модифікатори доступу для конкретних завдань,

аналізує: доцільність використання типів імпорту та модифікаторів доступу при різних взаємозв’язках між класами

ІІ семестр (76 год. (68 8 рез.),4 год. на тиждень )

Тема 7: «Наслідування та поліморфізм», 18 годин

Зміст навчального матеріалу:

7.1 Ключове слово this.

7.2 Ключове слово super.

7.3 Клас Object.

7.4 Перевизначення методів.

7.5 Перевизначення методів toString(), equals() класу Object.

7.6 Метод hashCode().

7.7 Covariant Returns.

7.8 Поліморфізм.

7.9 Раннє та пізнє зв’язування.

7.10 Ключове слово finalметоди та класи.

7.11 Ключове слово finalпримітивні змінні.

7.12 Ключове слово finalоб’єктні змінні.

7.13 Приведення типів.

7.14 Оператор instanceof.

Лабораторні роботи:

«Розробка підкласів із перевизначеними методами toString()»

«Розробка підкласів із перевизначеними методами equals ()»

«Дослідження переваг та обмежень методів із поліморфними аргументами»

«Дослідження методів із коваріантним повертанням»


знає: правила використання ключових слів this, super, final для різних сценаріїв, методи класу Object, правила перевизначення методів, синтаксис оператора instanceof, правила оголошення методів із коваріантним повертанням,

розуміє: різницю у використанні ключових слів this, super, final для різних сценаріїв, підґрунтя обмежень при перевизначенні методів та при приведенні типів об’єктних змінних, концепцію раннього та пізнього зв’язування методів,

вміє: використовувати ключові слова this,

super, final, перевизначати методи toString(), equals(),hashCode()для різних сценаріїв, попереджувати помилки часу виконання при приведенні посилань,

аналізує: причини помилок часу виконання при приведенні посилань

Тема 8: «Інтерфейси», 8 годин

Зміст навчального матеріалу:

8.1 Абстрактні класи.

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

8.3 Реалізація множинного наслідування через інтерфейси.

8.4 Інтерфейс Comparable.

8.5 Інтерфейс Comparator.

8.6 Колекція ArrayList

8.

Колекціонува́ння - цілеспрямований збір, як правило, однорідних предметів, що зазвичай мають наукову, історичну або художню цінність. У основі колекціонування лежить пізнання, задоволення певних інтересів.
7 Сортування масивів та ArrayList за допомогою інтерфейсів Comparable та Comparator .



Лабораторні роботи:

«Сортування масивів та ArrayList за допомогою інтерфейсів Comparable та Comparator»



знає: особливості структури абстрактних класів та інтерфейсів, синтаксис методів інтерфейсів Comparable та Comparator, методи класу ArrayList,

розуміє: обмеження при реалізації множинного наслідування, різницю між масивами та списками,

вміє: реалізувати множинне наслідування через інтерфейси, сортувати масиви та списки різними способами,

аналізує: ефективність використання різних інтерфейсів для сортування масивів та списків

Тема 9: «Переривання», 10 годин

Зміст навчального матеріалу:

9.1 Типи переривань. Exceptions.

9.2 Блоки try, catch, finally.

9.3 Множинний catch.

9.4 Розповсюдження неперехоплених винятків.

9.5 Оператор throws.

9.6 Оператор throw.

9.7 Ієрархія Throwable. Контрольовані та неконтрольовані винятки.

9.8 Класи винятків, створені користувачем.

9.9 Винятки в перевизначених методах.


Лабораторні роботи:

«Дослідження методів із ArithmeticException та ArrayIndexOfBoundsException»

«Дослідження методів із IOException»

«Використання оператора throws в методах із контрольованими та неконтрольованими винятками»



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

Розділ «Java-технології», 32 4 години

Тема 10: «Java-технології», 16 годин
Зміст навчального матеріалу:

10.1 Strings – властивість immutable.

10.2 Особливості літеральних Strings, поняття пула для Strings.

10.3 Класи StringBuffer, StringBuilder.

10.4 Збирач сміття Garbage Сollector.

10.5 Використання var-args.

10.6 Вимоги стандарту JavaBeansNaming.

10.7 Wrappers, autoboxing, autounboxing. Пул для Wrappers.

10.8 Класи Date, Locale.

10.9 Класи пакету java.time.

10.10 Призначення Lambda-виразів.

10.11 Синтаксис Lambda-виразів.

10.12 Пакет java.util.function. Функціональний інтерфейс Predicate.
Лабораторні роботи:

«Використання операції “ = = ” та методу equals( ) для порівняння Strings, StringBuilder, Wrappers»

«Взаємні перетворення Strings та Wrappers»

«Робота з класами пакету java.time»

«Дослідження Lambda-виразів»


знає: порівняльні особливості класів String, StringBuffer, StringBuilder, особливості функціонування збирача сміття, синтаксис var-args, вимоги стандарту JavaBeansNaming до структури класів, методи класів пакету java.time, а також Date, Locale, синтаксис Lambda-виразів,
розуміє: різницю між об’єктами String, розміщеними “на купі” та в пулі, сутність властивості immutable, принцип збирання сміття в JVM, призначення Lambda-виразів та функціональних інтерфейсів,
вміє: обирати для використання об’єкти класів String, StringBuffer, StringBuilder, визначати придатність об’єкта для поглинання збирачем сміття, писати код згідно вимог стандарту JavaBeansNaming,

аналізує: порівняльну ефективність застосування об’єктів класів String, StringBuffer, StringBuilder

Тема 11: «Внутрішні класи, основи графічного інтерфейсу та введення-виведення даних», 16 годин

Зміст навчального матеріалу:

11.1 Регулярні внутрішні класи.

11.2 Статичні внутрішні класи.

11.3 Локальні внутрішні класи.

11.4 Анонімні внутрішні класи.

Анонім (від грец. anonimos - безіменний): Автор листа, повідомлення, твору, який зумисно приховує своє ім'я. Твір без зазначення імені автора.

11.5 Множинне наслідування.

11.6 Основи Swing. Використання JLabel.

11.7 Диспетчери компоновки xLayout.

11.8 Технологія Listeners. Варіанти реалізації інтерфейсу ActionListener.

Про́даж - це оплатна передача майна однією особою у власність іншій особі.

11.9 Використання JButton та JTextField.

11.10 Операції з файловою системою із використанням інтерфейсу Path, класів File, Files, Paths.

11.11 Символьні потоки. Текстові файли: запис та читання. Клас RandomAccessFile.

11.12 Інтерфейси атрибутів файлів.

Атрибу́т (attribute) - невід'ємна, необхідна для забезпечення цілісності об'єкта (предмета) або суб'єкта (людини) властивість, його частина, додаток.

11.13 Класи DirectoryStream, FileVisitor, PathMatcher, WatchService.


Лабораторні роботи:

«Реалізація множинного наслідування через анонімні внутрішні класи»

«Розробка шифратора файлових даних засобами Swing»


знає: синтаксис оголошення внутрішніх класів різних типів та створення відповідних об’єктів, основні віджети та диспетчери компоновки Swing, методи класів File, RandomAccessFile, особливості роботи з файлами засобами NIO2,
розуміє: призначення внутрішніх класів, різницю між типами внутрішніх класів, механізм розміщення віджетів у фреймах та функціонування слухачів подій, різницю між засобами роботи з файлами в Java SE6 та Java SE7,
вміє: реалізовувати множинне наслідування за допомогою анонімних внутрішніх класів, писати код для запису до файлу та читання з файлу текстових даних,
аналізує: особливості реалізації множинного наслідування засобами інтерфейсів та анонімних внутрішніх класів


Програма профільного вивчення інформатики

Лінія «Алгоритмізація та програмування»

11 клас


Зміст навчального матеріалу

Навчальні досягнення учнів

І семестр (64 год. (56 8 рез.), 4 год. на тиждень )

Розділ «Розширені Java-технології», 32 4 години

Тема 1: «Розширені засоби введення-виведення даних та графічного інтерфейсу», 14 годин

Зміст навчального матеріалу:

1.1 Байтові потоки. Ієрархія.

1.2 Серіалізація.

1.3 Серіалізація та наслідування.

1.4 Нестандартна серіалізація.

1.5 Інтерфейс Externalizable.

1.6 Основи JavaFX.

1.7 Властивості JavaFX.

1.8 Компоновка в JavaFX.

1.9 Мова розмітки FXML.

Мо́ва розмі́тки - штучна мова, що використовує набір анотацій до тексту, що надає інструкції стосовно структури тексту чи його відображення.


Лабораторні роботи:

«Використання privat-методів та інтерфейсу Externalizable для збереження у файлі об’єктів класів із несеріалізованими суперкласами та несеріалізованими полями»

«Розробка шифратора файлових даних засобами JavaFX»


знає: синтаксис методів для роботи із байтовими потоками, синтаксис методів нестандартної серіалізації,

розуміє: причини застосування нестандартної серіалізації, вплив несеріалізованих суперкласів на процес десеріалізації об’єктів, переваги використання мови розмітки в графічних інтерфейсах,

вміє: писати код для збереження у файлах об’єктних даних, в тому числі із використанням нестандартної серіалізації та з врахуванням впливу несеріалізованих суперкласів, писати код для графічних застосувань засобами JavaFX,

аналізує: переваги JavaFX у порівнянні із Swing

Тема 2: «Розкладання рядків на лексеми. Форматоване виведення даних», 10 годин
Зміст навчального матеріалу:

2.1 Основи рarsing, клас StringTokenizer.

2.2 Основи технології регулярних виразів.

В програмуванні, регулярний вираз (від англ. regular expression, скорочено regex або regexp, а іноді ще й називають rational expression ) - це рядок, що описує або збігається з множиною рядків, відповідно до набору спеціальних синтаксичних правил.
Класи Pattern, Matcher, Scanner.

2.3 Приклади обробки Strings із використанням технології регулярних виразів.

2.4 Клас Formatter. Форматоване виведення чисел та грошових даних.
Лабораторні роботи:

«Пошук та виведення без повторів слів заданої довжини в запитальних реченнях»

«Визначення кількості всіх розділових знаків в тексті»

«Форматований запис до файлу даних про чисельність персоналу (осіб), продуктивність (тон), прибуток (грн) декількох сільськогосподарських підприємств»



знає: принципи розкладання тексту на лексеми та пошуку лексем в тексті, основні елементи механізму обробки регулярних виразів, основні параметри форматування для виведення текстових даних, дат, чисел, грошових сум,

розуміє: процес пошуку лексем в тексті, принципи формування регулярних виразів,
вміє: виводити дані у потрібному форматі, використовувати класи StringTokenizer, Scanner, Pattern,

Matcher для обробки текстових даних,
аналізує: ефективність застосування різних способів обробки текстів

Тема 3: «Розширені Java-технології», 8 годин

Зміст навчального матеріалу:

3.1 Проектування класів із врахуванням властивостей сoupling та cohesion.

3.2 Використання еnum.

3.3 Клас java.lang.Class. Основи рефлексії.

3.4 Використання аssertions.

3.5 Пошук файлів за допомогою classpath.

3.6 Використання jar-файлів.

3.7 Aнотації.


Лабораторні роботи:

«Використання еnums в проекті seasons з перевизначеним методом relax() для літа та зими»

«Використання опції classpath для компіляції програми, де задіяно об’єкти класів, що розміщені у файлах з різних директорій»


знає: основні методи класу java.
Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)
lang.Class
,

розуміє: концепцію слабкого взаємозв’язку та сильного ув’язування, призначення та можливості використання анотацій,

вміє: розпізнати в коді порушення концепції слабкого взаємозв’язку та сильного ув’язування, отримати дані про клас за допомогою Reflection API, застосовувати існуючі анотації, застосувати механізм аssertions для розробки та тестування коду,

аналізує: переваги еnum у порівнянні із масивами об’єктів

Розділ «Фреймворк колекцій», 24 4 години

Тема 4: «Фреймворк колекцій», 14 годин

Зміст навчального матеріалу:

4.1 Створення, побудова та ініціалізація одно- та багатовимірних масивів примітивних та об’єктних змінних.

4.2 Клас Arrays.

4.3 Ієрархія колекцій. Інтерфейс Collections.

4.4 Інтерфейси List, Set, Queue. Класи, що реалізують ці інтерфейси.

У колекції одного лондонського банкіра близько 5,5 тисяч обгорток від жуйок. Незвичайні фантики він став збирати ще у віці 10 років. Коли визначився брак місця для їх зберігання, він звільнив під них гардероб, викинувши всі речі дружини, через що та пішла від нього.

4.5 Інтерфейси Map та MapEntry.

4.6 Взаємні перетворення колекцій та карт.

4.7 Backed Collections.

4.8 Hash-таблиці.

4.9 Hash-контракт для ключів HashMaps.



Лабораторні роботи:

«Дослідження методів класу Arrays»

«Взаємні перетворення колекцій та карт»

«Дослідження hash-контрактів ключів при пошуку даних в HashMaps»



знає: иєрархію колекцій та карт, основні методи різних колекцій та карт, взаємозв’язок між різними колекціями, картами та масивами, сутність контракту для ключів хеш-таблиць,

розуміє: різницю між різними типами колекцій та особливості використання кожної з них,
вміє: використовувати потрібні колекції та карти для збереження та ефективної обробки даних, реалізувати взаємні перетворення колекцій, карт та масивів,
аналізує: ефективність застосування певного типу контейнерів даних

Тема 5: «Технологія Generics», 10 годин
Зміст навчального матеріалу:

5.1 Оголошення Generic-класів. Призначення Generics.

5.2 Оголошення Generic-методів.

5.3 Обмеження при оголошенні Generic-класів.

5.4 Шаблони в Generic-аргументах методів.

5.5 Generic-колекції.

5.6 Ключові слова extends та super в Generic-оголошеннях.

5.7 Алгоритми Generic-колекцій класу Collection.



Лабораторні роботи:

«Дослідження алгоритмів класу Collection»



знає: сутність Generic-параметрів, переваги Generic-колекцій та карт,

розуміє: концепцію наявності Generic-параметрів під час компіляції програми та їх відсутність при її виконанні,

вміє: оголошувати і використовувати класи, методи з Generic-параметрами, в т.ч. з шаблонними та обмеженими шаблонними аргументами,

аналізує: можливості застосування Generic-параметрів з врахуванням впливу наслідування

ІІ семестр (76 год. (68 8 рез.), 4 год. на тиждень )

Розділ «Програмування Android, баз даних, багатопотокове програмування», 36 4 години

Тема 6: «Розробка Android-проектів», 10 годин
Зміст навчального матеріалу:

6.1 Структура Android-проекту.

6.2 Прості Android-проекти із використанням текстів та кнопок.

6.3 Навігація між вікнами Android-проекту.

Навіга́ція (від {лат. navigare - керувати кораблем та санскр. navgathi - майстерність керманича). Галузь знань про керування транспортним засобом для спрямування його до цілі. Використовується на воді, на землі, в повітрі, а також останній час і в космосі.

6.4 Використання адаптерів для виведення списків в Android-проекті.
Лабораторні роботи:

«Розробка одновіконного калькулятора»

«Розробка двохвіконного калькулятора із виведенням результатів в другому вікні»

«Розробка багатофункціонального записника на основі телефонного довідника»



знає: структуру Android-проекту, основні віджети Android-проектів,
розуміє: концепцію адаптерів для виведення списків,
вміє: писати код для front-end та back-end частин командного Android-проекту із використанням засобів контролю версій Git та збирання проекту Maven,
аналізує: порівняльні особливості графічних інтерфейсів Android, Swing, JavaFX

Тема 7: «Робота з базами даних», 12 годин

Зміст навчального матеріалу:

7.

Телефо́н - вид електрозв'язку, що дає змогу передавати і приймати мовлення на відстань за допомогою електричних сигналів (що передаються дротами) або радіосигналів.
1 Основи баз даних - таблиці, ключі, зв’язки таблиць.

7.2 Основи мови SQL - оператори select, insert, update, delete.

7.3 Встановлення з’єднання з базою даних засобами JDBC. Класи DriverManager та Connection.



7.4 Створення запитів. Класи Statement та ResultSet. Інтерфейси PreparedStatement та CallableStatement

7.5 Обробка результатів запитів. Клас ResultSet.
Лабораторні роботи:

«Пошук в базі даних рядків, параметри яких задовольняють заданим умовам, та форматоване занесення у файл відсортованих знайдених даних»



знає: основи побудови реляційних баз даних, основи мови SQL, синтаксис основних запитів до бази даних, методи класів пакетів java.sql та javaх.sql,

розуміє: концепцію JDBC,

вміє: використовувати класи пакетів java.sql та javaх.sql для зв’язку java-кодів із реляційними sql -базами даних, писати код для обробки результатів запитів,

аналізує: ефективність збереження даних у файлах та базах даних

Тема 8: «Основи багатопотоковості», 14 годин
Зміст навчального матеріалу:

8.1 Поняття багатопотоковості. Прості методи класу Threads.

8.2 Способи створення потоків.

8.3 Стани потоків. Планувальник черги потоків. Методи join(), yield().

8.4 Приклади аналізу багатопотокових кодів.

8.5 Синхронізація потоків.

8.6 Взаємодія потоків. Методи wait(), notify().
Лабораторні роботи:

«Дослідження циклічних процесів виконання арифметичних операцій в багатопотоковому асинхронному режимі»

«Розробка синхронізованої багатопотокової системи продажу квитків»


знає: основні методи класу Thread та інтерфейсу Runnable, призначення планувальника потоків, основні стани потоку та шляхи переходу в різні стани,

розуміє: принципи роботи програми в одно- та багатопотоковому режимах, концепцію монітора та багатопотокової безпеки на основі синхронізації, причини виникнення стану взаємного блокування потоків,

вміє: писати код для створення потоків та безпечної взаємодії між ними,

аналізує: необхідність та ефективність використання багатопотокового режиму

Розділ «Технології Java SE7, SE8», 32 4 години

Тема 9: «Основи паралельного АРІ», 10 годин
Зміст навчального матеріалу:

9.

Взає́мне блокува́ння (англ. Deadlock) - ситуація, коли кожен із групи процесів очікує на подію, яку може викликати лише інший процес з цієї групи. Часто, така ситуація спостерігається в парадоксах типу «Курка або яйце».
1 Пакети java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks.

9.2 Потокобезпечні колекції.

9.3 Інтерфейси Callable та Future.

9.4 Клас Executors.

9.5 Класи-синхронізатори.

9.6 Фреймворк Fork/Join.
Лабораторні роботи:

«Розробка паралельної системи пошуку файлів по заданому критерію»



знає: методи інтерфейсів Callable, Future, класів пакетів java.util.concurrent, java.util.concurrent.atomic, java.util.concurrent.locks
розуміє: принципи паралелізму виконання програми, принцип вилкового з’єднання,
вміє: писати код для паралельного виконання java-програм,

аналізує: ефективність фреймворку

Fork/Join

Тема 10: «Шаблони проектування», 4 години

Зміст навчального матеріалу:

10.1 Призначення та типи шаблонів проектування

10.2 Шаблон Singleton.

10.3 Шаблон Factory.

10.4 Шаблон DAO (Data Access Object).


знає: основні типи шаблонів, зміст шаблонів проектування Singleton, Factory, DAO (Data Access Object),

розуміє: переваги використання шаблонів проектування,

вміє: застосовувати шаблони в додатках,

аналізує: доцільність застосування шаблонів в додатках

Тема 11: «Використання Lambda-виразів», 10 годин
Зміст навчального матеріалу:

11.1 Зміни в структурі інтерфейсів.

11.2 Функціональні інтерфейси пакету java.util.function.

11.3 Посилання на методи та конструктори.

11.4 Обробка колекцій із використанням Lambda-виразів.

11.5 Представлення колекцій паралельними потоками введення-виведення.

Географічна паралель або рівнобі́жник (грец. παράλληλος - уздовж одне одного) - лінія перетину поверхні земної кулі площиною, паралельною (рівнобіжною) до площини екватора.

11.6 Групові операції. Клас Collectors.

11.7 Декомпозиція та редукція потоків.

Декомпози́ція - науковий метод, що використовує структуру завдання і дозволяє замінити вирішення одного великого завдання рішенням серії менших завдань, нехай і взаємопов'язаних, але більш простих. Декомпозиція, як процес розділення, дозволяє розглядати будь-яку досліджувану систему як складну, що складається з окремих взаємопов'язаних підсистем, які, в свою чергу, також можуть бути розділеними на частини. Як системи можуть виступати не тільки матеріальні об'єкти, а й процеси, явища і поняття.

11.8 Збереження стану потоків, операції зведення. Тип даних Optional.
Лабораторні роботи:

«Визначення в багатопотоковому режимі середнього арифметичного елементів списку цілих чисел»



знає: синтаксис Lambda-виразів, структуру функціональних інтерфейсів,

синтаксис посилань на методи та інтерфейси, методи класу Collectors,



розуміє: призначення та переваги використання Lambda-виразів, технологію створення потоків введення-виведення з колекцій, масивів та ітераторів,

вміє: писати код з використанням Lambda-виразів та паралельних потоків введення-виведення,

аналізує: ефективність змін в структурі інтерфейсів та паралелізації потоків введення-виведення

Тема 12: «Основи JavaScript та використання інтерпретатора Nashorn»,

8 годин
Зміст навчального матеріалу:

12.

Інтерпретатор мови програмування (interpreter) - програма чи технічні засоби, необхідні для виконання інших програм, вид транслятора, який здійснює пооператорну (покомандну, построкову) обробку, перетворення у машинні коди та виконання програми або запиту (на відміну від компілятора, який транслює у машинні коди всю програму без її виконання).
1 Основи JavaScript. Функції JavaScript.

12.2 Призначення та способи виконання інтерпретатора Nashorn.

12.2 Робота з числами, рядками, масивами, колекціями, методами, об’єктами.

12.3 Функція Java.extend().

12.4 Інтерпретація лямбда-виразів та винятків.

12.5 Використання інтерпретатора Nashorn в графічних проектах JavaFX.
Лабораторні роботи:

«Порівняльна розробка графічних систем виведення числових даних з файлу у вигляді кругових діаграм із використанням JavaFX та інтерпретатора Nashorn»



знає: основи лексики та синтаксису мови JavaScript, структуру функцій мови JavaScript, способи виконання інтерпретатора Nashorn,

розуміє: призначення інтерпретатора Nashorn, принципи перетворення функцій JavaScript в інтерфейси Java, принципи розширення класів і реалізації інтерфейсів Java засобами JavaScript,

вміє: писати код для обробки чисел, рядків, масивів, колекцій, об’єктів засобами Nashorn,

аналізує: ефективність застосування мови JavaScript в Java-проектах

  1   2


Скачати 316.15 Kb.