GolovachCourses
Компания
27,81
рейтинг
10 апреля 2014 в 00:26

Разработка → Программа курса «Java Core»

Я занимаюсь онлайн обучением Java (вот курсы программирования) и публикую часть учебных материалов в рамках переработки курса Java Core. Видеозаписи лекций в аудитории Вы можете увидеть на youtube-канале, возможно, видео канала лучше систематизировано в этой статье.
Хотел бы вынести на обсуждение новую программу курса Java Core.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Программа курса


Курс состоит из 45 лекций разбитых на 9 модулей по темам
  1. Модуль: Основы
    • Лекция #1.1: целочисленные типы, типы с плавающей точкой, bit operations
    • Лекция #1.2: массивы, java.lang.String, format
    • Лекция #1.3: for/switch/while, boolean logic(|, ||, &, &&, !, ^)
    • Лекция #1.4: порядок выполнения операторов, построение internal DSL
  2. Модуль: Процедурное программирование
    • Лекция #2.1: Циклы, итеративные алгоритмы
    • Лекция #2.2: Рекурсия I, основы
    • Лекция #2.3: Рекурсия II, проектирование рекурсивных алгоритмов
    • Лекция #2.4: Динамические структуры данных
    • Лекция #2.5: Память в Java: stack, heap, PermGen/Metaspace
  3. Модуль: Исключения
    • Лекция #3.1: try-catch-finally
    • Лекция #3.2: checked/unchecked
    • Лекция #3.3: Internals and handling
    • Лекция #3.4: Java 7: try-with-resources
    • Лекция #3.5: Most popular exceptions in JDK
  4. Модуль: Ввод/вывод, Java I/O, java.io.*
    • Лекция #4.1: Charsets
    • Лекция #4.2: I/O Streams (Adapter/Decorator)
    • Лекция #4.3: Serialization
    • Лекция #4.4: File System
    • Лекция #4.5: Java NIO
  5. Модуль: Многопоточность
    • Лекция #5.1: Thread, Runnable
    • Лекция #5.2: JMM (volatile, final, synchronized)
    • Лекция #5.3: monitor (synchronized, wait()/notify()/notifyAll())
    • Лекция #5.4: Thread.interrupt(), InterruptedException
    • Лекция #5.5: ThreadLocal, ExecutionService, Future, CountDownLatch, CyclicBarrier, ReentrantLock
  6. Модуль: Коллекции, Collections API, java.util.*
    • Лекция #6.1: Big-O notation
    • Лекция #6.2: base hierarchy: Iterable, Collection, Map, List, Set, Queue, Dequeue
    • Лекция #6.3: Iterable/Iterator, foreach
    • Лекция #6.4: List, ArrayList, LinkedList, ListIterator, Object.equals()
    • Лекция #6.5: HashSet/HashMap, hashCode() + equals() consistency
    • Лекция #6.6: TreeSet, TreeMap, Comparable/Comparator
  7. Модуль: Объектно-ориентированное программирование
    • Лекция #7.1, Low level: Type (ClassCastException, instanceOf, java.lang.Class)
    • Лекция #7.2, Low level: Object construction
    • Лекция #7.3, Low level: Entities (class, interface, abstract class, enum)
    • Лекция #7.4, Low level: Methods (overloading, overriding, hiding)
    • Лекция #7.5, Low level: Scope (access modifiers, packages)
    • Лекция #7.6, Low level: Nested (inner, static nested, anonimous)
    • Лекция #7.7, Low level: Other (static, fields, boxing, …)
    • Лекция #7.8, High level: Terms, UML
    • Лекция #7.9, High level: patterns I
    • Лекция #7.10, High level: patterns II
  8. Модуль: Project Lambda + Stream API
    • Лекция #8.1: default methods, method reference
    • Лекция #8.2: Project Lambda
    • Лекция #8.3: Stream, Predicate, Function, …
    • Лекция #8.4: elements of Functional algorithms
  9. Модуль: Продвинутые языковые возможности
    • Лекция #9.1: Аннотации
    • Лекция #9.2: Генерики
    • Лекция #9.3: Reflection API (java.lang.reflect.*)
    • Лекция #9.4: Class loading, bytecode generation, Proxy


О всяком


Сразу оговорюсь, данный курс рассчитан на тех, кто уже пишет на каком-либо процедурном языке программирования (Pascal, C, C++, PHP) или имеет базовые познания по Java. Ожидается, что слушатель самостоятельно прочитал 1-2 книги из следующего списка:
— Хорстманн, Корнелл. “Java. Библиотека профессионала. Том 1. Основы”
— Эккель. “Философия Java”
— Шилдт. “Java. Полное руководство”
— Арнольд, Гослинг. “Язык программирования Java”

Интересно мнение сообщества в контексте такого вопроса: «Насколько хорошо данная программа готовит слушателя к прохождению собеседования по Java и/или последующему изучению 'более тяжелых вещей' (Servlet API, JDBC, Spring, Hibernate, ...)? Что стоит добавить? Что стоит удалить?».

Контакты


www: GolovachCourses.com
skype: GolovachCourses
email: GolovachCourses@gmail.com
Автор: @IvanGolovach
GolovachCourses
рейтинг 27,81
Компания прекратила активность на сайте

Комментарии (21)

  • +6
    595 у.е. дороговато для видео лекций
    • +1
      Так же
      1.материалы к каждой лекции, пример для лекции 2.1
      2. Тестовая система на 3.000 вопросов
      3. Более 50 лабораторных
  • +2
    Правильно ли я понимаю, что вы собираетесь продавать курс за внушительные деньги, при этом советуетесь с хабром, насколько он хорош?
    • 0
      Ну парламент перед принятие закона тоже выносит его на обсуждение.
  • +1
    Если выложите видеолекции в свободный доступ — однозначно будет отлично. Если и практические задания по курсу, то… Вас будут очень любить и уважать.
  • 0
    По вашему вопросу есть известное правило — «если озвученная вами цена вызывает у вас сомнения — значит она неоправданно завышена.»
    • 0
      Цена — отличная, я работаю уже полтора года и у тех, кто действительно намерен учиться она не вызывает больших сомнений.
  • +4
    Лекция #9.2: Генерики. Слишком мало времени, по хорошему нужен целый урок, между 6 и 7 модулем.

    По поводу цены: «курс рассчитан на тех, кто уже пишет на каком-либо процедурном языке программирования (Pascal, C, C++, PHP) или имеет базовые познания по Java».
    1. Тот, кто разобрался в одном языке, не будет платить деньги за то, чтобы ему объясняли другой. Он просто почитает сам, бесплатно. (Хотя это может быть экономически оправдано)
    2. Такие люди платят в лучшем случае за корочку, например в официальном учебном центре Oracle.

    Если хотите на этом заработать — ищите другие способы монетизации.
    Например деньги платят те, кто ничего не понимает в программировании, но хочет стать «программистом», узнав что за это хорошо платят. Обычно учить их бесполезно, но они могут принести деньги.
    Может быть вам удастся придумать способ получения денег не на прямую.
  • 0
    По моему курс неплохой, пока начинаю проходить, смотреть видео, делать тесты с лабами, на первый взгляд все просто, но объясняются порой такие мелочи, на которые сначала не обращаешь внимания. Не знаю, пригодится ли в дальнейшем, но лишнем точно не будет. Пока точно не могу объяснить чем заинтересовал этот курс, но он меня действительно мотивирует. Насчет подобранной программы выглядит не плохо, возможно, чтото придется добавить когда все, что есть, усвоится.
  • +1
    Модуль: Продвинутые языковые возможности
    Лекция #9.2: Генерики
    И что в них такого продвинутого?
    • 0
      Пример из нашей тестовой системы:
      import java.util.List;
      
      public class App {
          public <A extends Comparable<B> & List<? super Integer>, B extends Comparable<A>> void func(A a, B b) {
              a.add(a.compareTo(b) + b.compareTo(a));
          }
      }
      


      большинство начинающих не могут без детального объяснения преподавателя сказать — будет это компилироваться или нет?
      • +1
        Ну тогда и операторы надо выносить в продвинутые возможности, потому что не всякий с ходу скажет, что i++ + ++i выдаст
        • 0
          А что бы Вы отнесли к «продвинутым» возможностям языка?
  • +1
    На hexlet отменные курсы по Java двух уровней + дополнительные плюшки в виде открытых уроков. И все это совершенно бесплатно.
    • 0
      посмотрим)
    • 0
      Они бесплатные, но не отменные.
      • 0
        На hexlet смотрел второй уровень (посмотрел первые четыре лекции), лектор постоянно путается, перескакивает с одной темы на другую, в течении лекции, переодически ошибается, падает IDE и т.п. Смотреть крайне тяжело, но надо отдать должное, лекции бесплатные, имеется также форум, из которого можно узнать больше, чем из самой лекции.
        • 0
          падает IDE

          O_o где это такое? Всю первую часть и половину второй смотрел — ни разу не упала
  • 0
    Какая будет стоимость?
  • 0
    Зачем?
    Есть же javarush.ru за гораздо меньшие деньги.
    А до 10 уровня, так и вообще бесплатно.
  • 0
    Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка