Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 дней Дмитрий Андрушко 24 мая 2013 da@kture.kharkov.ua ведущий:
Готовимся  к  сертификации     Java  SE7  Programmer   Дмитрий  Андрушко   Руководитель  учебного  центра  при  ХНУРЭ  
Содержание   •  Почему  Java?   •  Сертификация  по  программам  Java   •  Подготовка  к  сертификации   •  Q/A  
Почему  я  выбираю  Java?   Вопрос  к  участникам  вебинара:  
Почему  я  выбираю  Java?  –  традиционные  аргументы   •  Java  платформа  для  разработки  #  1  в  мире.   –  hQp://www.Tobe.com/index.php/content/paperinfo/tpci/index.html   –  hQp://www.langpop.com/   –  PYPL  PopularitY  of  Programming  Language  index   •  Java  работает  на  97%  ПК,  115  миллионах  ТВ   и  3  млрд  мобильных  устройств.*   •  Кросс-­‐платформенность   •  Большое  количество  фреймворков  для   решения  разнообразных  задач   •  Широкая  поддержка  сообществом   *  источник  Oracle  
Почему  я  выбираю  Java?  –  реальная  ситуация   •  Достойная  оплата  труда   •  Потребность  рынка  в  Java-­‐разработчиках   •  Сравнительно  низкий  «порог  входа»*   •  Широкий  выбор  «специализаций»   –  Web   –  Android   –  Автоматизированное  тестирование  ПО   –  …  
Сертификация  
Зачем  мне  сертификат  по  Java?   Вопрос  к  участникам  вебинара:  
Java  cертификация  –  традиционные  аргументы   •  Top  10  Reasons  to  Get  Java  CerTfied   •  Wanted:  CerTfied  Java  Experts   –  Более  высокий  заработок   –  Признание   –  Систематизация  знаний   –  Преимущества  при  трудоустройстве   –  ….    
Java  cертификация  –  реальная  ситуация   •  Требование  заказчика   •  Статус  официального  партнера  Oracle   •   …«а  мне  оплачивает  контора»   •  Личная  инициатива  кандидата  
Направления  сертификации  по  Java   •  4  уровня    –  Associate,  Professional,  Expert,  Master   •  Полная  информация  о  программах  сертификации  Oracle   доступна  по  адресу  hQp://cerTfcaTon.oracle.com     *Источник  -­‐  Wikipedia    
Java  SE:  5/6  или  7   •  1z0-­‐850     •  1z0-­‐851/1z0-­‐853   •  1z0-­‐803     •  1z0-­‐804   •  На  данный  момент  доступны  экзамены  по  3-­‐м   версиям  платформы  Java  SE   •  Для  получения  сертификата  надо  сдать  один  или   два  экзамена  в  центре  Pearson  VUE  в  соответствии   с  выбранным  направлением   OCA   OCP  
Java  SE5/6   •  Программы  сертификации  разрабатывались  еще   Sun  Microsystems   •  Огромное  количество  учебных  материалов,   примеров  тестов,  MOCK  экзаменов  и  т.д.   •  Достаточно  большое  количество  проектов  на  Java   5/6  
Экзамен  1z0-­‐850   •  Экзамен  уровня  Associate  (Oracle  CerTfied  Associate   Java  SE  5/SE  6  –  OCA)   •  Ранее  известный  как  Sun  CerTfied  Java  Associate  (SCJA)   •  Не  чисто  экзамен  по  языку  Java   –  Темы  экзамена:   –  Fundamental  Object-­‐Oriented  Concepts   –  Java  ImplementaTon  of  Object-­‐Oriented  Concepts   –  Algorithm  Design  and  ImplementaTon   –  Java  Development  Fundamentals   –  Java  Pla›orms  and  IntegraTon  Technologies   –  Client  Technologies   –  Server  Technologies  
Экзамен  1z0-­‐851  (Sun  -­‐  310-­‐065)   •  Экзамен  уровня  Professional  (Oracle  CerTfied   Professional  Java  SE  5/SE  6  –  OCP)   •  Достаточно  простой  экзамен*   •  Экзамен  только  по  языку  Java   •  Не  требуется  предварительной  сертификации  OCA   •  Темы  экзамена:   –  DeclaraQons,  IniQalizaQon  and  Scoping   –  Flow  Control   –  API  Contents   –  Concurrency   –  OO  Concepts   –  CollecQons  /  Generics   –  Fundamentals  
Java7  OCA  –  экзамен  1z0-­‐803   •  Экзамен  разработан  Oracle   •  Название  экзамена  -­‐  Java  SE7  Programmer  I     •  Частично  построен  на  темах  экзамена  1z0-­‐851  (OCP   Java  SE  6)   •  Экзамен  только  по  языку  Java   •  Достаточно  большое    количество   материалов  для  самоподготовки  
Java7  OCP  -­‐  1z0-­‐804   •  Достаточно  новый  экзамен,  запущен  в  2012  году   •  Требуется  предварительная  сертификация  уровня   OCA,  т.е.  успешная  сдача  экзамена  1z0-­‐803   •  Сложный  экзамен   •  По  сравнению  с  OCP6  добавлены   новые  темы:  JDBC,  локализация,   шаблоны  проектирования.   •  Затронуты  новшества  Java7,  такие   как  NIO.2,  Concurency   •  На  данный  момент  издана  лишь   одна  книга  для  подготовки  к  этому   экзамену  
Подготовка  к  сертификации   •  Oracle  University   •  Самоподготовка   •  Специализированные  Курсы  
Обучение  и  подготовка  к   сертификации  
Самоподготовка   1.  OCP  Java  SE  6  (экзамен  1z0-­‐851)   •  SCJP  Sun  CerTfied  Programmer  for  Java  6  (Sierra,  Bates)   •  OCP  Java  SE  6  Programmer  PracTce  Exams  (Sierra,   Bates)     2.  OCA    Java  SE  7  (экзамен  1z0-­‐803)   •  OCA  Java  SE  7  Programmer  I  Study  Guide    (Finegan)   •  OCA  Java  SE  7  Programmer  I  CerTficaTon  Guide:  Prepare   for  the  1ZO-­‐803  exam  (Gupta)   3.  OCP  Java  SE  7    (экзамен  1z0-­‐804)   •  Oracle  CerTfied  Professional  Java  SE  7  Programmer   Exams  1Z0-­‐804  and  1Z0-­‐805:  A  Comprehensive  OCPJP  7   CerTficaTon  Guide  (Ganesh,    Sharma)  
Специализированные  кусы   •  Курс  уровня  0+   •  Соответствует  экзамену  1z0-­‐803   •  Синтаксис  и  базовые  конструкции  языка   •  Реализация  ООП  в  Java   •  Структуры  данных  а  работа  с  ними   •  Обработка  ошибок   Java  SE7  Fundamentals   Java  SE7  Programming   Developing  ApplicaTons  for   the  Java  EE  Pla›orm   •  Соответствует  экзамену  1z0-­‐804   •  Коллекции   •  Ввод/вывод,  NIO.2   •  Многопоточность   •  Работа  с  БД   •  Соответствует  экзамену  1z0-­‐899   •  Servlets   •  Java  Server  Pages  (JSP)   •  JSP  standard  Tag  library  (JSTL)  
Содержание  курса  Java  SE7  Fundamentals   •  Введение  в  технологию  Java   •  Объектно-­‐ориентированный   дизайн  ПО   •  Введение  в  синтаксис  языка   Java   •  Работа  с  примитивными   переменными   •  Работа  с  объектами   •  Использование  операторов  и   управляющих  конструкций   •  Работа  с  массивами   •  Использование  циклических   конструкций     •  Работа  с  методами  и   перегрузка  методов   •  Инкапсуляция  и   конструкторы   •  Использование   наследования   •  Использование  различных   типов  полиморфизма   (overloading,  overriding,  и   dynamic  binding)   •  Обработка  ошибок   •  Работа  со  строками      
Процесс  обучения   •  Стек  решений  Atlassian  –  глобального  лидера   в  интеграции  процессов  разработки   •  Полностью  интегрированный  процесс  на   основе  проектного  подхода  на  базе  Jira   –  Постановка  заданий   –  Прогресс  выполнения   –  Отчетность  о  выполненном  задании   •  Отчетность  о  выполненных  заданиях  через   централизованный  SVN-­‐репозитарий     •  Online  проверка  заданий  и  фидбек   преподавателя  -­‐  Crucible  
Инструменты   •  IDE  Eclipse  +  plugins  (hQp://eclipse.org)   •  Java  SE  Pla›orm  (JDK)  7u*  ( hQp://www.oracle.com/technetwork/java/ javase/downloads/index.html)   •  Jira  (hQp://oracle-­‐academy.org.ua:8080)   •  SVN  (hQp://oracle-­‐academy.org.ua/svn  )   •  Группа  «Вконтакте»  -­‐   hQp://vk.com/oracleacademy  
Учебные  материалы   •  Книги  на  русском  языке   –  Философия  Java  (Брюс  Екель)   –  Полный  справочник  по  Java  (Герберт   Шильдт)   –  Java  2  (Хорстманн  К.,  Корнелл  Г.),  том  1.   •  Книги  на  английском  языке   –  Thinking  In  Java  (Bruce  Eckel)   –  Core  Java,  Volume  I-­‐fundamentals(Cay  S.   Horstmann,  Gary  Cornell)   –  Java  The  Complete  Reference,  8th  EdiTon   (Herbert  Schildt)   –  SCJP  Sun  CerTfied  Programmer  for  Java  6,   Study  Guide  (Kathy  Sierra,  Bert  Bates)   •  hQp://docs.oracle.com/javase/ tutorial/     •  !!!  Java  Code  convenTon  
Community  ресурсы   •  hQp://vk.com/oracleacademy    
Community  ресурсы   •  hQp://coderanch.com/  
Пример  вопросов  уровня  Fundamentals   3.  Дано  следующее   определение  класса   MyJavaClass:   class  MyJavaClass  {   public  staTc  void  main(String[]  args)  {   System.out.println  (args[1]+»:»+  args [2]+»:»+  args[3]);   }   }   Что  будет  выведено  в  консоль  при   выполнении  следующей  команды?   Java  MyJavaClass  one  two  three  four     a)  one:two:three   b)  MyJavaClass:one:two   c)  java:MyJavaClass:one   d)  two:three:four   2.  Какой  будет  вывод  после   выполнения  следующего   кода?   class  MyJavaClass2  {   public  staTc  void  main  (String  args[])  {   String  ejg  =  «game».replace(‘a’,  ‘Z’).trim ().concat(«Aa»);     ejg.substring  (0,  2);   System.out.println  (ejg);   }   }     a)  gZmeAZ   b)  gZmeAa   c)  gZm   d)  gZ   1.  Просмотрите  следующий  код:   class  Programmer  {    void  print()  {        System.out.println  («Programmer  Class»);   }  }   class  Author  extends  Programmer  {      void  print()  {          System.out.println  («Author  Class»);   }  }   class  TestEJava  {   Programmer  a  =  new  Programmer();   //  INSERT  CODE  HERE   a.print();   b.print();   }   Какие  из  следующих  строк  можно  вставить   вместо  “//INSERT  …”,  чтобы  вывод   выглядел  следующим  образом:   Programmer  Class   Author  Class   a)  Programmer  b  =  new  Programmer();   b)  Programmer  b  =  new  Author();   c)  Author  b  =  new  Author();   d)  Author  b  =  new  Programmer();   e)  Programmer  b  =  ((Author)new   Programmer());   f)  Author  b  =  ((Author)new  Programmer());  
Вопросы?   •  hQp://oracle-­‐academy.org.ua   •  hQp://vk.com/oracleacademy   •  hQp://www.linkedin.com/in/andrushko  

Готовимся к Java SE 7 Programmer: от новичка до профессионала за 45 дней

  • 1.
    Готовимся к JavaSE 7 Programmer: от новичка до профессионала за 45 дней Дмитрий Андрушко 24 мая 2013 da@kture.kharkov.ua ведущий:
  • 2.
    Готовимся  к  сертификации     Java  SE7  Programmer   Дмитрий  Андрушко   Руководитель  учебного  центра  при  ХНУРЭ  
  • 3.
    Содержание   •  Почему  Java?   •  Сертификация  по  программам  Java   •  Подготовка  к  сертификации   •  Q/A  
  • 4.
    Почему  я  выбираю  Java?   Вопрос  к  участникам  вебинара:  
  • 5.
    Почему  я  выбираю  Java?  –  традиционные  аргументы   •  Java  платформа  для  разработки  #  1  в  мире.   –  hQp://www.Tobe.com/index.php/content/paperinfo/tpci/index.html   –  hQp://www.langpop.com/   –  PYPL  PopularitY  of  Programming  Language  index   •  Java  работает  на  97%  ПК,  115  миллионах  ТВ   и  3  млрд  мобильных  устройств.*   •  Кросс-­‐платформенность   •  Большое  количество  фреймворков  для   решения  разнообразных  задач   •  Широкая  поддержка  сообществом   *  источник  Oracle  
  • 6.
    Почему  я  выбираю  Java?  –  реальная  ситуация   •  Достойная  оплата  труда   •  Потребность  рынка  в  Java-­‐разработчиках   •  Сравнительно  низкий  «порог  входа»*   •  Широкий  выбор  «специализаций»   –  Web   –  Android   –  Автоматизированное  тестирование  ПО   –  …  
  • 7.
  • 8.
    Зачем  мне  сертификат  по  Java?   Вопрос  к  участникам  вебинара:  
  • 9.
    Java  cертификация  –  традиционные  аргументы   •  Top  10  Reasons  to  Get  Java  CerTfied   •  Wanted:  CerTfied  Java  Experts   –  Более  высокий  заработок   –  Признание   –  Систематизация  знаний   –  Преимущества  при  трудоустройстве   –  ….    
  • 10.
    Java  cертификация  –  реальная  ситуация   •  Требование  заказчика   •  Статус  официального  партнера  Oracle   •   …«а  мне  оплачивает  контора»   •  Личная  инициатива  кандидата  
  • 11.
    Направления  сертификации  по  Java   •  4  уровня    –  Associate,  Professional,  Expert,  Master   •  Полная  информация  о  программах  сертификации  Oracle   доступна  по  адресу  hQp://cerTfcaTon.oracle.com     *Источник  -­‐  Wikipedia    
  • 12.
    Java  SE:  5/6  или  7   •  1z0-­‐850     •  1z0-­‐851/1z0-­‐853   •  1z0-­‐803     •  1z0-­‐804   •  На  данный  момент  доступны  экзамены  по  3-­‐м   версиям  платформы  Java  SE   •  Для  получения  сертификата  надо  сдать  один  или   два  экзамена  в  центре  Pearson  VUE  в  соответствии   с  выбранным  направлением   OCA   OCP  
  • 13.
    Java  SE5/6   • Программы  сертификации  разрабатывались  еще   Sun  Microsystems   •  Огромное  количество  учебных  материалов,   примеров  тестов,  MOCK  экзаменов  и  т.д.   •  Достаточно  большое  количество  проектов  на  Java   5/6  
  • 14.
    Экзамен  1z0-­‐850   • Экзамен  уровня  Associate  (Oracle  CerTfied  Associate   Java  SE  5/SE  6  –  OCA)   •  Ранее  известный  как  Sun  CerTfied  Java  Associate  (SCJA)   •  Не  чисто  экзамен  по  языку  Java   –  Темы  экзамена:   –  Fundamental  Object-­‐Oriented  Concepts   –  Java  ImplementaTon  of  Object-­‐Oriented  Concepts   –  Algorithm  Design  and  ImplementaTon   –  Java  Development  Fundamentals   –  Java  Pla›orms  and  IntegraTon  Technologies   –  Client  Technologies   –  Server  Technologies  
  • 15.
    Экзамен  1z0-­‐851  (Sun  -­‐  310-­‐065)   •  Экзамен  уровня  Professional  (Oracle  CerTfied   Professional  Java  SE  5/SE  6  –  OCP)   •  Достаточно  простой  экзамен*   •  Экзамен  только  по  языку  Java   •  Не  требуется  предварительной  сертификации  OCA   •  Темы  экзамена:   –  DeclaraQons,  IniQalizaQon  and  Scoping   –  Flow  Control   –  API  Contents   –  Concurrency   –  OO  Concepts   –  CollecQons  /  Generics   –  Fundamentals  
  • 16.
    Java7  OCA  –  экзамен  1z0-­‐803   •  Экзамен  разработан  Oracle   •  Название  экзамена  -­‐  Java  SE7  Programmer  I     •  Частично  построен  на  темах  экзамена  1z0-­‐851  (OCP   Java  SE  6)   •  Экзамен  только  по  языку  Java   •  Достаточно  большое    количество   материалов  для  самоподготовки  
  • 17.
    Java7  OCP  -­‐  1z0-­‐804   •  Достаточно  новый  экзамен,  запущен  в  2012  году   •  Требуется  предварительная  сертификация  уровня   OCA,  т.е.  успешная  сдача  экзамена  1z0-­‐803   •  Сложный  экзамен   •  По  сравнению  с  OCP6  добавлены   новые  темы:  JDBC,  локализация,   шаблоны  проектирования.   •  Затронуты  новшества  Java7,  такие   как  NIO.2,  Concurency   •  На  данный  момент  издана  лишь   одна  книга  для  подготовки  к  этому   экзамену  
  • 18.
    Подготовка  к  сертификации   •  Oracle  University   •  Самоподготовка   •  Специализированные  Курсы  
  • 19.
    Обучение  и  подготовка  к   сертификации  
  • 20.
    Самоподготовка   1.  OCP  Java  SE  6  (экзамен  1z0-­‐851)   •  SCJP  Sun  CerTfied  Programmer  for  Java  6  (Sierra,  Bates)   •  OCP  Java  SE  6  Programmer  PracTce  Exams  (Sierra,   Bates)     2.  OCA    Java  SE  7  (экзамен  1z0-­‐803)   •  OCA  Java  SE  7  Programmer  I  Study  Guide    (Finegan)   •  OCA  Java  SE  7  Programmer  I  CerTficaTon  Guide:  Prepare   for  the  1ZO-­‐803  exam  (Gupta)   3.  OCP  Java  SE  7    (экзамен  1z0-­‐804)   •  Oracle  CerTfied  Professional  Java  SE  7  Programmer   Exams  1Z0-­‐804  and  1Z0-­‐805:  A  Comprehensive  OCPJP  7   CerTficaTon  Guide  (Ganesh,    Sharma)  
  • 21.
    Специализированные  кусы   • Курс  уровня  0+   •  Соответствует  экзамену  1z0-­‐803   •  Синтаксис  и  базовые  конструкции  языка   •  Реализация  ООП  в  Java   •  Структуры  данных  а  работа  с  ними   •  Обработка  ошибок   Java  SE7  Fundamentals   Java  SE7  Programming   Developing  ApplicaTons  for   the  Java  EE  Pla›orm   •  Соответствует  экзамену  1z0-­‐804   •  Коллекции   •  Ввод/вывод,  NIO.2   •  Многопоточность   •  Работа  с  БД   •  Соответствует  экзамену  1z0-­‐899   •  Servlets   •  Java  Server  Pages  (JSP)   •  JSP  standard  Tag  library  (JSTL)  
  • 22.
    Содержание  курса  Java  SE7  Fundamentals   •  Введение  в  технологию  Java   •  Объектно-­‐ориентированный   дизайн  ПО   •  Введение  в  синтаксис  языка   Java   •  Работа  с  примитивными   переменными   •  Работа  с  объектами   •  Использование  операторов  и   управляющих  конструкций   •  Работа  с  массивами   •  Использование  циклических   конструкций     •  Работа  с  методами  и   перегрузка  методов   •  Инкапсуляция  и   конструкторы   •  Использование   наследования   •  Использование  различных   типов  полиморфизма   (overloading,  overriding,  и   dynamic  binding)   •  Обработка  ошибок   •  Работа  со  строками      
  • 23.
    Процесс  обучения   • Стек  решений  Atlassian  –  глобального  лидера   в  интеграции  процессов  разработки   •  Полностью  интегрированный  процесс  на   основе  проектного  подхода  на  базе  Jira   –  Постановка  заданий   –  Прогресс  выполнения   –  Отчетность  о  выполненном  задании   •  Отчетность  о  выполненных  заданиях  через   централизованный  SVN-­‐репозитарий     •  Online  проверка  заданий  и  фидбек   преподавателя  -­‐  Crucible  
  • 24.
    Инструменты   •  IDE  Eclipse  +  plugins  (hQp://eclipse.org)   •  Java  SE  Pla›orm  (JDK)  7u*  ( hQp://www.oracle.com/technetwork/java/ javase/downloads/index.html)   •  Jira  (hQp://oracle-­‐academy.org.ua:8080)   •  SVN  (hQp://oracle-­‐academy.org.ua/svn  )   •  Группа  «Вконтакте»  -­‐   hQp://vk.com/oracleacademy  
  • 25.
    Учебные  материалы   • Книги  на  русском  языке   –  Философия  Java  (Брюс  Екель)   –  Полный  справочник  по  Java  (Герберт   Шильдт)   –  Java  2  (Хорстманн  К.,  Корнелл  Г.),  том  1.   •  Книги  на  английском  языке   –  Thinking  In  Java  (Bruce  Eckel)   –  Core  Java,  Volume  I-­‐fundamentals(Cay  S.   Horstmann,  Gary  Cornell)   –  Java  The  Complete  Reference,  8th  EdiTon   (Herbert  Schildt)   –  SCJP  Sun  CerTfied  Programmer  for  Java  6,   Study  Guide  (Kathy  Sierra,  Bert  Bates)   •  hQp://docs.oracle.com/javase/ tutorial/     •  !!!  Java  Code  convenTon  
  • 26.
    Community  ресурсы   • hQp://vk.com/oracleacademy    
  • 27.
    Community  ресурсы   • hQp://coderanch.com/  
  • 28.
    Пример  вопросов  уровня  Fundamentals   3.  Дано  следующее   определение  класса   MyJavaClass:   class  MyJavaClass  {   public  staTc  void  main(String[]  args)  {   System.out.println  (args[1]+»:»+  args [2]+»:»+  args[3]);   }   }   Что  будет  выведено  в  консоль  при   выполнении  следующей  команды?   Java  MyJavaClass  one  two  three  four     a)  one:two:three   b)  MyJavaClass:one:two   c)  java:MyJavaClass:one   d)  two:three:four   2.  Какой  будет  вывод  после   выполнения  следующего   кода?   class  MyJavaClass2  {   public  staTc  void  main  (String  args[])  {   String  ejg  =  «game».replace(‘a’,  ‘Z’).trim ().concat(«Aa»);     ejg.substring  (0,  2);   System.out.println  (ejg);   }   }     a)  gZmeAZ   b)  gZmeAa   c)  gZm   d)  gZ   1.  Просмотрите  следующий  код:   class  Programmer  {    void  print()  {        System.out.println  («Programmer  Class»);   }  }   class  Author  extends  Programmer  {      void  print()  {          System.out.println  («Author  Class»);   }  }   class  TestEJava  {   Programmer  a  =  new  Programmer();   //  INSERT  CODE  HERE   a.print();   b.print();   }   Какие  из  следующих  строк  можно  вставить   вместо  “//INSERT  …”,  чтобы  вывод   выглядел  следующим  образом:   Programmer  Class   Author  Class   a)  Programmer  b  =  new  Programmer();   b)  Programmer  b  =  new  Author();   c)  Author  b  =  new  Author();   d)  Author  b  =  new  Programmer();   e)  Programmer  b  =  ((Author)new   Programmer());   f)  Author  b  =  ((Author)new  Programmer());  
  • 29.
    Вопросы?   •  hQp://oracle-­‐academy.org.ua   •  hQp://vk.com/oracleacademy   •  hQp://www.linkedin.com/in/andrushko