Я занимаюсь онлайн обучением Java и хотел бы вынести на обсуждение новую программу курса Java Core.
Программа курса
Курс состоит из 45 лекций разбитых на 9 модулей по темам
- Модуль: Основы
- Лекция #1.1: целочисленные типы, типы с плавающей точкой, bit operations
- Лекция #1.2: массивы, java.lang.String, format
- Лекция #1.3: for/switch/while, boolean logic(|, ||, &, &&, !, ^)
- Лекция #1.4: порядок выполнения операторов, построение internal DSL
- Модуль: Процедурное программирование
- Лекция #2.1: Циклы, итеративные алгоритмы
- Лекция #2.2: Рекурсия I, основы
- Лекция #2.3: Рекурсия II, проектирование рекурсивных алгоритмов
- Лекция #2.4: Динамические структуры данных
- Лекция #2.5: Память в Java: stack, heap, PermGen/Metaspace
- Модуль: Исключения
- Лекция #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
- Модуль: Ввод/вывод, 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.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
- Модуль: Коллекции, 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.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
- Модуль: 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.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