Saturday, June 16, 2012

Java Практика - Занятие 2

Второе занятие из курса Java Практика я посвятил такому важному для каждого программиста явлению, как выделение части кода в отдельные подпрограммы (функции) с целью их многократного использования и устранения дублирования кода. Само собой разумеется, что эти две причины - далеко не единственные, ради которых используют функции. Однако, наверное, они основные, если не вдаваться в сложные механизмы взаимодействия объектов в Java программе. Дополнительно, я остановился на способах передачи данных в функции. Конечно, пришлось немного забегать наперед, рассказывая про объекты в Java, ведь функции не могут существовать сами по себе (даже статические функции принадлежат классу), но много на объектах я не останавливался. Все-таки, основное, что надо вынести из этого урока - это то, что в программе необходимо выделять логически связанные блоки в отдельные подпрограммы, чтобы повторно их использовать, устранить дублирование кода и сделать программу более понятной и обозримой.

Перед просмотром этого занятия можно посмотреть Урок 4 из курса Java для тестировщиков, где я как раз рассказываю про объявление функций (методов класса), аргументы функций и возврат значений из них. Там, конечно, еще и много чего другого, так что Урок 3 тоже посмотрите, если не совсем понятно, что такое объекты и "с чем их едят".

Из, собственно, практики в этом занятии я немного остановился на заданиях из первого занятия. Также мы рассмотрели, что можно вынести в отдельные подпрограммы в алгоритмах сортировки массива. А также рассмотрели алгоритм бинарного поиска в массиве, реализация которого и есть следующим заданием.

Итак, задания для самостоятельной работы:
  • реализовать еще один алгоритм сортировки массива (отличный от того, что был реализован для предыдущего занятия)
  • реализовать алгоритм бинарного поиска элемента в отсортированном массиве.

Ну и собственно видео второго занятия, которое, кстати, было записано в FullHD :)

Read More...

Saturday, June 9, 2012

Занятия по Java

И вот я снова вернулся к преподаванию Java. В очередной раз в компании, где я работаю, возникла необходимость рассказать о языке программирования Java некоторым нашим сотрудникам. Чтобы не повторятся и снова не рассказывать то, что и так уже известно и доступно на youtube, мы решили в этом новом курсе сделать упор на практическое применение Java.

Так как предыдущий курс Java для тестировщиков был в основном теоретическим и ознакомительным, то в этот раз занятия будут проходить следующим образом. Слушатели сначала самостоятельно смотрят уроки на youtube (не все сразу, а по одной или две), потом на занятии я некоторое время резюмирую теоретический материал, на чем-то, возможно, останавливаюсь подробнее или что-то добавляю, отвечаю на вопросы. Далее, я разбираю какую-нибудь практическую задачку, решение которой основывается на полученных теоретических знаниях. Ну и в конце я задаю небольшое задание для самостоятельной работы.

Как и в прошлый раз, видео я буду записывать и выкладывать на youtube, объединяя их в отдельный плейлист. Надеюсь, что наличие практической составляющей поможет многим быстрее и лучше разобраться с Java, тем более, что многие просили о различных задачах в многочисленных комментариях.

Итак, первое занятие из курса Java практика можно посмотреть ниже. Перед просмотром этого видео, рекомендуется ознакомиться с уроком 1 и уроком 2 из курса Java для тестировщиков. Обратите также внимание на комментарии ко второму уроку, где многие поправляли ошибки, которые я допускал. Вообще, некоторые комментарии очень даже хорошие и полезные, особенно от пользователя hazartilirot .

Задания для самостоятельной работы после первого занятия:
  1. Написать программу, которая выдает заданное число из последовательности Фибоначчи
  2. Написать программу, которая сортирует массив чисел.
Естественно, при написании программ не желательно использовать встроенные механизмы Java для сортировки или поиска числа Фибоначчи :)

Read More...