Программа курса «Java Core»

в 20:26, , рубрики: java, Блог компании GolovachCourses, курсы программирования, Учебный процесс в IT, метки: ,

Я занимаюсь онлайн обучением Java и хотел бы вынести на обсуждение новую программу курса Java Core.

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

Курс состоит из 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
    • Лекция #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, ...)? Что стоит добавить? Что стоит удалить?».

Контакты

skype: GolovachCourses
email: GolovachCourses@gmail.com

Автор: IvanGolovach

Источник

Поделиться

* - обязательные к заполнению поля