Содержание

Обучение программированию Java, C#, работа с базами данных и языком SQL в Новосибирске

  • 1.

    Я ничего не понимаю в программировании. Смогу ли я учиться на ваших курсах?

    Да. Программа курса «Основы программирования» рассчитана на новичков, но при этом курс достаточно сложный, с большим количеством практики. Большое внимание уделяется хорошему стилю кода.

  • 2.

    У меня нет возможности посещать занятия очно, могу ли я заниматься на ваших курсах?

    Да, у нас есть как очные, так и онлайн-группы. В онлайн-группах у нас учились люди из разных городов: Новосибирск, Москва, Санкт-Петербург, Томск, Барнаул, Бийск, Омск, Новокузнецк, Горно-Алтайск, Нерюнгри, Ганновер (Германия), Болонья (Италия), Прага (Чехия), Нови-Сад (Сербия). Для уточнения информации и даты старта Вы можете позвонить нам по телефону +7 (913) 768 8364 или отправить заявку на обратный звонок через форму на сайте.

  • 3.

    Какие минимальные знания и требования для начала обучения?

    Уверенное владение персональным компьютером. Знание основ математики, мы проводим входное тестирование. Желательно владение английским хотя бы на начальном уровне.

  • 4.

    Помогаете ли вы устроиться на работу после окончания курсов?

    Да. Мы сотрудничаем с компаниями-работодателями — ЦФТ, БКС, Совкомбанк, СДЭК, One Inc, Friday’s Games, Movavi, ФИС, Евростудио, Новотелеком и другими. После окончания курсов лучшие ученики получают возможность пройти собеседование в этих компаниях, и в случае успеха — получить работу. Знаний и навыков, полученных на наших курсах, достаточно для устройства на работу программистом/тестировщиком.

  • 5.

    Помогаете ли вы составить резюме?

    Да, ученики могут присылать нам резюме на проверку, и мы даем рекомендации что стоит поправить.

  • 6.

    Как записаться на курсы?

    Вы можете позвонить нам по телефону +7 (913) 768 8364 или отправить заявку через форму на сайте. Мы перезвоним Вам, ответим на все вопросы и сориентируем насчёт времени запуска группы.

  • 7.

    Я не могу определиться с направлением — программирование или тестирование, можете, пожалуйста, проконсультировать?

    Да, Вы можете позвонить нам по телефону +7 (913) 768 8364 или связаться любым другим удобным способом. Мы расскажем про направления обучения и поможем определиться.

  • 8.

    Могу ли я оплатить сначала половину стоимости курса и в середине курса еще половину?

    Да, конечно 🙂 Мы стараемся сделать все возможное, чтобы процесс оплаты был максимально комфортен.

  • 9.

    Я уверен, что буду пропускать занятия. Вы вернете мне деньги за пропуски?

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

  • 10.

    Задаете ли вы домашние задания?

    Да. Выполнение этих заданий обязательно, если вы действительно хотите научиться программированию/тестированию.

  • 11.

    Какая среда разработки используется в учебном процессе?

    Для Java — IntelliJ IDEA, для C# — Visual Studio.

  • 12.

    Выдаете ли вы лицензии на среды разработки?

    Да, мы сотрудничаем с компанией JetBrains и выдаем ученикам бесплатные учебные лицензии на IntelliJ IDEA Ultimate и Resharper на продолжающих курсах. На начинающих курсах достаточно возможностей бесплатных продуктов JetBrains и Microsoft.

  • 13.

    Есть ли возможность заниматься в частном порядке, а не в группе?

    В данный момент такой возможности нет.

  • 14.

    Чем отличаются ваши курсы от других курсов?

    Мы предоставляем полную линейку курсов — от начального до продвинутого уровня. Наши преподаватели сами являются профессиональными разработчиками и тестировщиками, и поэтому знают, что именно нужно в работе программиста и тестировщика.

    Кроме того, мы сотрудничаем с компаниями-работодателями, что сильно упрощает процесс трудоустройства.

  • 15.

    Начиная с какого возраста школьники могут посещать курсы?

    Курсы расчитаны на взрослых и старших школьников, примерно начиная с 9 класса. Мы проводим входной тест, чтобы убедиться, что знаний достаточно для усвоения материала.

  • 16.

    Могу ли я получить налоговый вычет за обучение?

    Да, у нас есть лицензия на осуществление образовательной деятельности. Поэтому можно получить 13% от уплаченной суммы, подав 3-НДФЛ через сайт ФНС. Налоговый вычет можно получить за себя, детей до 24 лет и братьев/сестер до 24 лет. Подробнее см. на сайте ФНС.

  • 17.

    Какие документы нужны для получения налогового вычета?

    Вам будут нужны договор на обучение, заверенная копия лицензии, чеки об оплате. Для заполнения 3-НДФЛ Вам также потребуется получить справку 2-НДФЛ от работодателя.

  • 18.

    У меня остались другие вопросы

    Вы можете позвонить нам по телефону +7 (913) 768 8364 или отправить заявку на обратный звонок через форму на сайте. Мы перезвоним Вам, ответим на все вопросы и сориентируем насчёт времени запуска группы.

Читать онлайн «Программирование на Java» — Вязовик Н.А. — RuLit

Программирование на Java Автор: Н.А. Вязовик

Поддержка

Курс создан при финансовой поддержке компании

Sun Microsystems

Информация о курсе

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

Java изначально появилась на свет как язык для создания небольших приложений для Интернета (апплетов), но со временем развилась как универсальная платформа для создания программного обеспечения, которое работает буквально везде – от мобильных устройств и смарт-карт до мощных серверов.

Данный курс начинается с изложения истории появления и развития Java. Такие знания позволят лучше понять особенности платформы и спектр существующих продуктов и технологий. Также создание Java является интересным примером истории одного из самых популярных и успешных проектов в компьютерном мире.

Затем излагаются основные концепции ООП, необходимые для освоения объектно-ориентированного языка программирования Java.

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

Лекции

1.

Что такое Java? История создания

Первая лекция начинается с рассказа о событиях, происходивших задолго до официального объявления Java. Хотя эта технология на сегодняшний день разительно отличается от того, как задумывали ее создатели, однако многие особенности берут свое начало от решений, принятых в то время. Будут освещены все основные этапы создания, появления и развития Java. Также в лекции излагаются необходимые базовые знания для разработчиков – основные свойства платформы Java, и почему она является платформой, а не просто языком программирования. Что входит в пакет разработчика, где найти нужную информацию, какие дополнительные продукты предоставляет Sun, чем различаются Java и Java Script – ответы на эти и другие общие вопросы находятся в первой лекции.

2.

Основы объектно-ориентированного программирования

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

3.

Лексика языка

Лекция посвящена описанию лексики языка Java. Лексика описывает, из чего состоит текст программы, каким образом он записывается и на какие простейшие слова (лексемы) компилятор разбивает программу при анализе. Лексемы (или tokens в английском варианте) – это основные «кирпичики», из которых строится любая программа на языке Java. Эта тема раскрывает многие детали внутреннего устройства языка, и невозможно написать ни одной строчки кода, не затронув ее. Именно поэтому курс начинается с основ лексического анализа.

4.

Типы данных

Типы данных определяют основные возможности любого языка. Кроме того, Java является строго типизированным языком, а потому четкое понимание модели типов данных очень помогает в написании качественных программ. Лекция начинается с введения понятия переменной, на примере которой иллюстрируются особенности применения типов в Java. Описывается разделение всех типов на простейшие и ссылочные, операции над значениями различных типов, а также особый класс Class, который играет роль метакласса в Java.

онлайн-обучение от GeekBrains в Кыргызстане

Знакомство с треком обучения и направлениями: интро

Познакомитесь с форматом и треком обучения, поймете назначение каждого курса.

Основы Питон

Познакомитесь с языком Python, изучите данные, функции и модули, попробуете поработать с кодом.

Знакомство с Веб-технологиями

Познакомитесь с языком Python, изучите данные, функции и модули, попробуете поработать с кодом.

Операционные системы (Linux)

Будем разбираться с серверной системой на базе Linux, рассмотрим один из самых популярных дистрибутивов Ubuntu (построен на базе Debian). Серверные системы Linux используют текстовый интерфейс, поэтому графические оболочки не будут использоваться как основа, хотя графический интерфейс может помочь в начале знакомства с Linux (для это существует Desktop-версия ОС Ubuntu). Мы научимся понимать файловую структуру Linux, работать в консоли, применять основные команды, работать с удаленной системой по SSH. Отдельно будет рассмотрена работа Linux как платформы для веб-приложений, мы настроим и запустим полноценный стек сервисов для работы веб-сайта на базе Nginx и PHP. Важным аспектом системного администрирования является установка программ (пакетов) из репозиториев и автоматизация действий (скрипты bash) – все эти темы мы рассмотрим на отдельных занятиях. Кроме того, будут рассмотрены вопросы безопасности и сетевой подсистемы ОС Linux.

Объектно-ориентированное программирование

Один из основных подходов к программированию, где на первом месте стоят объекты. Используется для упрощения сложного кода. Чтобы это сделать, программу делят на уникальные блоки, которые называются объектами, данные внутри него называются свойствами, а функции — методами.

Алгоритмы и структуры данных

Курс нацелен на получение знаний о  структурах  данных и алгоритмов, которые необходимы начинающему программисту для старта карьеры. Сложность алгоритмов, О-нотация.

Исключения в программировании и их обработка

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

Unit-тесты

Кроме проверки пользовательского интерфейса и описанных пользовательских сценариев, очень важно проверять и код на предмет его корректной работы в разных ситуациях. Для решения такой задачи используют юнит-тесты — это программа, которая проверяет правильность работы небольшой части кода. Наличие таких тестов позволяет разработчикам сразу после внесенных изменений проверить, что код после этого работает верно, что позволяет найти критичные ошибки в коде до непосредственного тестирования, и уже после этого отдать задачу тестировщику

Базы Данных и SQL

Познакомитесь с языком запросов SQL. Научитесь писать запросы, делать расчёты и работать с таблицами. Узнаете основные ограничения SQL. Поработаете с MySQL и познакомитесь с альтернативными базами данных.

Контейнеризация

На курсе изучите различия между микросервисной и традиционной архитектурой, научится работать с Docker и Docker Compose, а так же создавать собственные Dockerfile. Большая часть курса посвящена Kubernetes — самому популярному оркестратору контейнеров. После окончания курса студент сможет разворачивать приложения в Kubernetes, в том числе с помощью GitLab CI/CD.

Архитектура ПО: принцип SOLID, проектирование ООП, чистая архитектура

После успешного прохождения данного курса вы разберетесь в универсальных принципах классического объектно-ориентированного проектирования, усвоите подход SOLID, ознакомитесь с наиболее часто применяемыми паттернами разработки ПО, освоите навыки проектирования программных компонентов. Узнаете основные принципы проектирования “чистых” архитектур.

Контроль версий углубленно (Git)

В данном курсе мы изучим специальные команды Git, узнаем, как с ними работать на практике, научимся использованию системы контроля версий Git и работе с репозиторием на продвинутом уровне.

Организация CI/CD

Во время курса мы познакомимся с основными понятиями и средствами CI/CD и инструментами, рассмотрим интеграцию и взаимодействие средств CI/CD и Docker’a, Углубимся в CI.

Парадигмы программирования и языки парадигм

После успешного прохождения данного курса вы начнете разбираться в современных парадигмах программирования, будете понимать как они взаимосвязаны, сможете уверенно рассуждать об их достоинствах и недостатках, обретете системное понимание эволюционного развития подходов к разработке ПО. Благодаря всему этому сможете принимать оптимальные решения при выборе парадигмы в зависимости от задачи.

Профориентация по направлению и языкам

Рассмотрим основные направления – фронтенд, бэкенд и мобильную разработку. Пройдемся по основным языкам, которые используются в направлениях. Сориентируемся в выборе дальнейшего трека обучения.

Лекции


На этой странице представлена ​​информация об онлайн-лекциях и слайды лекций для использования в преподавании и изучении книги Информатика: междисциплинарный подход . Эти лекции подходит для использования инструкторами в качестве основы для «перевернутого» класса по данному вопросу или для самостоятельного изучения отдельными лицами.

Перевернутый класс.

Если вы преподаете вводные курсы информатики, эффективный способ преподавания материала в типичный класс колледжа должен придерживаться еженедельного ритма, а именно:

  • Каждую неделю рассылайте электронное письмо всем учащимся в классе, кратко описывает мероприятия на эту неделю (лекции, чтение, и задания по программированию, взятые из книги или с этого книжного сайта).
  • Студенты смотрят видео лекции в своем собственном темпе, делают чтение, и работать над заданиями по программированию.
  • Запланируйте еженедельное «собрание класса» для обсуждения материала, обзоры к экзаменам, неформальное общение со студентами, и любой дополнительный материал, который вы, возможно, пожелаете осветить.

Это всего лишь одно предложение — этот материал может использоваться во многих различных стилях обучения. и форматы.

Важное примечание: Распространенная ошибка при преподавании перевернутого класса заключается в добавлении слишком большого количества обогатительного материала. Наш опыт в том, что время в классные собрания гораздо лучше проводить для подготовки учащихся к успеху в программирование заданий и экзаменов. Если инструктор дает понять, что лучший способ подготовиться к экзаменам — смотреть видео лекций и читать, большинство студентов так и сделают. Собрания класса затем могут включать в себя взаимодействие со студентами и с материалом таким образом, чтобы закрепить понимание. Например, работа с потенциальными экзаменационными вопросами отличная активность.

Самостоятельное обучение.

Эффективный способ самостоятельного изучения материала заключается в том, чтобы смотреть лекционные видеоролики по какому-то регулярному расписанию, делать соответствующие чтение, и попытаться решить некоторые из упражнений в книге или на книжном сайте самостоятельно. Если вы застряли на одном упражнении, найдите другие или попытаться решить некоторые из проблем даются в лекциях, не глядя там на решения.

Доступные лекции.

Весной 2020 года видеозаписи лекций находятся в свободном доступе.

При просмотре видео лекции очень важно выбрать соответствующую скорость. Если он слишком медленный, вам, вероятно, будет скучно; если это слишком быстро, вы, вероятно, заблудитесь. Также обязательно сделайте либеральное использование паузы и перемотки.

Видеозаписи лекций доступны по адресу CUвиды; слайды лекций в формате pdf.

  • Лекция 0: Пролог — простая машина. Эта лекция знакомит с фундаментальными идеями вычислений в контексте знакомого и важного приложения из области криптографии. История мотивирует на изучение компьютерных наук, но затронутые концепции немного продвинуты, поэтому новички могут захотеть просмотреть ее еще раз после просмотра других лекций курса.
  • Лекция 1: Основы. Почему программа? Эта лекция посвящена этому основному вопросу. Затем он описывает анатомию вашей первой программы и процесс разработки программы на Java с использованием либо виртуальных терминалов, либо среды разработки программ с некоторым историческим контекстом. Большая часть лекции посвящена подробному описанию встроенных типов данных Java с примерами программ для каждого из них.
  • Лекция 2: Условные операторы и циклы. Операторы if, while и for являются основными управляющими структурами Java. Эта лекция построена вокруг коротких программ, которые используют эти конструкции для решения важных вычислительных задач. Примеры включают сортировку, вычисление квадратного корня, разложение на множители и моделирование случайного процесса. Лекция завершается подробным примером, иллюстрирующим процесс отладки программы.
  • Лекция 3: Массивы. Вычисления с большой последовательностью значений одного и того же типа чрезвычайно распространены. В этой лекции описывается встроенная в Java структура данных массива, которая поддерживает такие приложения, с несколькими примерами, включая перетасовку колоды карт, проверку случайности сборщиком купонов и случайное блуждание по сетке.
  • Лекция 4: Ввод и вывод. Для взаимодействия с нашими программами нам нужны механизмы для получения информации из внешнего мира и представления информации во внешний мир. В этой лекции описаны несколько таких механизмов: для текста, рисунков и анимации. Подробные примеры включают фрактальные рисунки, моделирующие природные явления, и анимацию мяча, подпрыгивающего в окне дисплея.
  • Лекция 5: Функции и библиотеки. Модульное программирование — это искусство и наука разбивать программу на части, которые можно разрабатывать индивидуально. Эта лекция знакомит с функциями (методами Java) — фундаментальным механизмом, обеспечивающим модульное программирование. Мотивирующие примеры включают функции для классического распределения Гаусса и приложение для создания цифровой музыки.
  • Лекция 6: Рекурсия. Рекурсивная функция — это функция, которая вызывает сама себя. Эта лекция знакомит с концепцией, подробно рассматривая функцию линейки и (связанные) классические примеры, включая головоломку «Ханойские башни», H-дерево и простые модели реального мира, основанные на рекурсии. Мы показываем распространенную ловушку при использовании рекурсии и простой способ ее избежать, который вводит другую (родственную) парадигму программирования, известную как динамическое программирование.
  • Лекция 7: Производительность. При разработке программы необходимо учитывать ее потребности в ресурсах. В этой лекции мы описываем научный подход к пониманию производительности, когда мы разрабатываем математические модели, описывающие время работы наших программ, а затем проводим эмпирические тесты для их проверки. В конце концов мы приходим к простому и эффективному подходу, который можно использовать для прогнозирования времени выполнения собственных программ, требующих значительных объемов вычислений.
  • Лекция 8: Абстрактные типы данных. В Java вы можете создавать свои собственные типы данных и использовать их в своих программах. В этой и следующей лекциях мы покажем, как эта способность позволяет нам рассматривать наши программы как абстрактные представления реальных понятий. Сначала мы покажем механизм написания клиентских программ, использующих типы данных. Наши примеры включают абстракции, такие как цвет, изображения и гены. Этот стиль программирования известен как объектно-ориентированное программирование, потому что наши программы оперируют объектами, которые содержат значения типов данных.
  • Лекция 9: Создание типов данных. Создание собственных типов данных является центральным занятием в современном программировании на Java. В этой лекции рассматривается механика (переменные экземпляра, конструкторы, методы экземпляра и тестовые клиенты), а затем разрабатывается несколько примеров, кульминацией которых является программа, использующая типичную математическую абстракцию (комплексные числа) для создания визуальных представлений знаменитого множества Мандельброта.
  • Лекция 10: Языки программирования. Мы завершаем курс обзором важных вопросов, связанных с языками программирования. Чтобы убедить вас, что ваше знание Java позволит вам изучать другие языки программирования, мы показываем реализации типичной программы на C, C++, Python и Matlab. Мы описываем важные различия между этими языками и затрагиваем фундаментальные вопросы, такие как сборка мусора, проверка типов, объектно-ориентированное программирование и функциональное программирование, с некоторым кратким историческим контекстом.
  • Лекция 11: Поиск и сортировка. Основываясь на научном подходе, разработанном в лекции 7, мы вводим и изучаем классические алгоритмы для решения двух фундаментальных задач в контексте реальных приложений. Наш посыл заключается в том, что эффективные алгоритмы (в данном случае бинарный поиск и сортировка слиянием) являются ключевым компонентом решения вычислительных задач с помощью масштабируемых решений, способных обрабатывать огромные экземпляры.
  • Лекция 12: Стеки и очереди. Наше введение в структуры данных — это тщательный взгляд на фундаментальные абстракции стека и очереди, включая спецификации производительности. Затем мы представим концепцию связанных структур и сосредоточимся на их полезности для разработки простых, безопасных, понятных и эффективных реализаций стеков и очередей.
  • Лекция 13: Таблицы символов. Абстракция таблицы символов — один из самых важных и полезных инструментов программиста, что мы проиллюстрируем несколькими примерами в этой лекции. Расширяя научный подход предыдущих двух лекций, мы вводим и изучаем бинарные деревья поиска, классическую структуру данных, поддерживающую эффективные реализации этой абстракции.
  • Лекция 14: Введение в теорию вычислений. Теория вычислений помогает нам решать фундаментальные вопросы о природе вычислений и в то же время помогает нам лучше понять, как мы взаимодействуем с компьютером. В этой лекции мы познакомим вас с формальными языками и абстрактными машинами, сосредоточив внимание на простых моделях, которые действительно широко используются в практических приложениях.
  • Лекция 15: Машины Тьюринга. В 1936 году Алан Тьюринг опубликовал статью, которую многие считают одной из самых важных научных работ 20-го века. Эта лекция посвящена двум далеко идущим центральным идеям статьи: все вычислительные устройства имеют эквивалентную вычислительную мощность, и эта мощность имеет ограничения.
  • Лекция 16: Непокорность. По мере расширения компьютерных приложений ученые-компьютерщики и математики поняли, что требуется уточнение идей Тьюринга. Какие вычислительные задачи мы можем решить с ограничениями ресурсов, которые неизбежны в реальном мире? Как описано в этой лекции, этот вопрос принципиально остается без ответа.
  • Лекция 17: Вычислительная машина. Каждый программист должен понимать основные характеристики используемого процессора компьютера. К счастью, фундаментальная конструкция компьютерных процессоров мало изменилась с 1960-х годов. В этой лекции мы даем представление о том, как ваш Java-код на самом деле выполняет свою работу, представляя воображаемый компьютер, который похож как на мини-компьютеры 1960-х годов, так и на микропроцессорные чипы, используемые в современных ноутбуках и мобильных устройствах.
  • Лекция 18: Машины фон Неймана. Продолжая наше описание конструкции процессора и низкоуровневого программирования, мы представляем контекст, восходящий к 1950-м годам, и обсуждаем будущие последствия машины фон Неймана, в которой программы и данные хранятся в одной и той же памяти. Мы подробно изучаем идею о том, что мы проектируем новые компьютеры, моделируя их на старых, что теория Тьюринга гарантирует всегда будет эффективной.
  • Лекция 19: Комбинационные схемы. Начав с нескольких простых абстракций (провода, которые могут передавать значения включения/выключения, и переключатели, которые могут управлять значениями, передаваемыми по проводам), в этой лекции мы рассмотрим проектирование схем, реализующих компьютерные процессоры. Мы рассматриваем вентили, реализующие простые логические функции и компоненты для функций более высокого уровня, таких как сложение. Лекция завершается полным циклом арифметико-логического блока.
  • Лекция 20: ЦП. В этой лекции мы даем последнюю часть нашего ответа на вопрос «Как работает компьютер?» путем разработки полной схемы для компьютерного процессора, где каждый переключатель и провод видны. Несмотря на то, что эта схема значительно отличается по масштабу, с точки зрения дизайна она имеет многие из тех же характеристик, что и схемы, используемые в современных вычислительных устройствах.

Copyright © 2000–2019 а также . Все права защищены.

Лекция 1: Java: Основы

6.8

← Предыдущий UP NEXT →

Лекция 1: Java: Основы
Обзор
  • Программы, обычно и на этом курсе

      12
    • , в целом и на этом курсе

        12
      • .

      • Запуск программы из командной строки

      • Чтение вывода библиотеки тестера

      • Java как калькулятор

      • Важность синтаксиса и простые ошибки

      Примечание: в этих конспектах лекций вы увидите следующее:

      Делайте сейчас!

      Сделай сейчас! упражнение настоятельно рекомендуется вам сделать сейчас, без чтения конспектов лекций. Вы должны продумать заданный вопрос, а затем посмотрите, соответствует ли ваше понимание концепции, предлагаемые конспектами лекций.

      Упражнение

      Вам настоятельно рекомендуется выполнять упражнение сейчас или когда дочитал эти заметки. Эти упражнения могут предложить дальнейшие применение концепций в конспектах лекций.

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

      1.1 Программы (в этом курсе)

      В этом курсе мы будем писать, тестировать и запускать программы на языке под названием Java. Это означает (в очень прямом смысле), что мы поместим кучу текста в файл с расширением .java и используйте инструменты для его запуска и проверки выход. Мы собираемся использовать специальный инструмент, называемый библиотекой Tester, для запуска наши программы. Пока что большая часть деталей скрыта от вас, вы просто выполните два шага, чтобы написать и запустить программу:

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

      Вот наша первая простая программа:

      class ExamplesLecture1 {
      int theNumberFive = 5;
      }

      Первая строка, run ExamplesLecture1, указывает тестировщику загрузить создайте указанный вами файл с помощью Java и запустите его.

      Когда мы сохраняем его в файле с именем ExamplesLecture1 и запускаем его, мы смотрим примерно так:

      $ run ПримерыLec

      Tester Prima v.2.3

      ——————— —————

      Тесты, определенные в классе: ExamplesLecture1:

      ————— ————

      ПримерыЛекция1:

      —————

       

       new ExamplesLecture1:1(

        this. theNumberFive = 5

      )

      —————

      Методы тестирования не найдены.

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

      Неплохой результат! Мы будем объяснять это по частям по ходу лекций. на. For now, just focus on this part:

      ExamplesLecture1:

      —————

       

       new ExamplesLecture1:1(

        this.theNumberFive = 5

       )

      Этот фрагмент вывода печатается обратно к нам, немного в другом формате, информацию мы записали в исходной программе. В частности, это вывод говорит, что один объект ExamplesLecture1 был создан, и у него есть одно поле, на которое мы можем ссылаться с помощью this.theNumberFive, значение которого равно 5. Мы определим термины объект и поле подробно позже, и увидеть много других примеров их использование.

      1.2 Дополнительные поля и Java как калькулятор

      Первый написанный нами пример был довольно простым. Давайте строить на этом.

      1.2.1 Определение дополнительных полей

      Один из способов, которым мы можем расширить предыдущую программу, — добавить еще один поле:

      class ExamplesLecture1 {
      int theNumberFive = 5;
      int theNumberEight = 8;
      }

      Запуск программы (опять же с помощью команды запуска) дает это неудивительный вывод:

      ExamplesLecture1:

      —————

       

       new ExamplesLecture1:1(

        this. theNumberFive = 5

        this.theNumberEight = 8)

      Действительно, мы можем объявить произвольное количество полей и свободно выбирать их имена и значения; вот еще несколько примеров:

      class ExamplesLecture1 {
      int theNumberFive = 5;
      int theNumberEight = 8;
      inttheNumberTwo = 4;
      инт х = 58;
      интервал у = 73;
      }

      Обратите внимание на поле theNumberTwo выше — его имя не соответствует значению очень хорошо! Мы можем выбрать любое имя для выбранных нами полей, а Java этого не делает. знать, является ли имя разумным для значения, которое оно хранит, или нет. То есть, Java не пытается придать смысл нашим именам переменных; это зависит от программист. Мы говорим, что имя поля theNumberTwo особенно плохой стиль, так как он делает часть программы, обращенную к человеку, — имя поля — очень вводящее в заблуждение при рассмотрении поведения программы. Все приведенные выше примеры несколько надуманы, так как это первый программу, которую мы пишем, но остальные поля хотя бы не врут.

      1.2.2 Java как калькулятор

      введение, но оно не очень интересное; мы мало пользуемся программой кроме печати информации, которую мы уже имели. Следующая программа немного более интересно, потому что для некоторых вычислений используются операторы:

      class ExamplesLecture1 {
      int theAnswer = 5 + 2 * 45;
      }

      If we run this using make, we get:

      ExamplesLecture1:

      —————

       

       new ExamplesLecture1:1(

        this.theAnswer = 95)

      This используется оператор умножения) и (с добавлением оператора умножения) +) для вычисления значения 95 для поля theAnswer. В этом простом примере стоит отметить несколько моментов:

      • Java правильно обрабатывает порядок операций в соответствии с правило умножения перед сложением – мы не получили 315 (результат 7 * 45) в качестве ответа, например

      • Есть разница между программой, которая указала операции для выполнения (5 + 2 * 45) и полученное значение, что равно 95. В поле сохраняется только результирующее значение и напечатана, а не вся программа или расчет.

      Если нам нужна версия программы, которая оценивается как 315, мы можем вставить скобки вокруг части, которую мы хотим оценить первой, как в математике:

      class ExamplesLecture1 {
      int theAnswer = (5 + 2) * 45;
      }

      This would print instead:

      ExamplesLecture1:

      —————

       

       новые примерыLecture1:1(

        this. theAnswer = 315)

      Упражнение

      Добавьте поле с именем AnotherAnswer, значение которого вычисляется с помощью (5 + 2) — 3 * 9. Запустите программу с make, чтобы убедиться, что она работает должным образом. Затем отредактируйте его, чтобы получить результат ((5 + 2) — 3) * 9 вместо этого, и снова убедитесь, что он работает так, как вы ожидаете.

      Обратите внимание, что в именах theAnswer или theAnswer нет ничего особенного. другой ответ; если бы мы выбрали другие имена, такие как x или someReallyLongFieldName, программы все равно будут выполнять расчет и распечатать его просто отлично.

      Упражнение

      Подтвердите, что это правда; изменить ответ на someReallyLongFieldName в одном из приведенных выше примеров и перезапустите программу, чтобы убедиться, что она по-прежнему вычисляет правильный ответ.

      1.2.3 Не совсем математика

      В приведенных выше примерах упоминается сложение с +, умножение с * и вычитание с -. Деление явно отсутствует; в сначала это кажется простым в использовании, если мы знаем оператор деления в java — это косая черта (/), как в этом примере:

      class ExamplesLecture1 {
      int theAnswer = (5 + 3) / 2;
      }

      This produces:

      ExamplesLecture1:

      —————

       

       новые примерыЛекция1:1(

        это.ответ = 4)

      Поскольку мы вычисляем 8/2, это должно быть то, что мы ожидаем. Но, если мы немного изменим пример:

      class ExamplesLecture1 {
      int theAnswer = (5 + 4) / 2;
      }

      мы получаем удивительный ответ ниже!

      ПримерыЛекция1:

      —————-

      2 1

      1

       new ExamplesLecture1:1(

        this. theAnswer = 4)

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

      Упражнение

      Как насчет отрицательных результатов деления целых чисел? Делать у них тоже дробная часть убрана, или еще что-то происходит? Напишите пример и запустите его, чтобы проверить это самостоятельно.

      Для отрицательных целых чисел Java просто удалит дробную часть часть. Это правила целочисленной арифметики в Java — умножение, сложение и вычитание работают, как мы и ожидали, но деление не сохраняет дробная часть ответа. Позже мы увидим несколько способов представления дробные ответы; пока мы будем работать только с целыми числами, стараясь использовать дивизия благополучно.

      Есть и другие предостережения относительно очень больших чисел. которые относятся к целым числам, которые мы не будем решать сразу.

      1.3 Синтаксис

      Во всех приведенных выше примерах программа была определена просто как последовательность символов в текстовом файле. Некоторые из них, такие как {, ; и = и арифметические операторы являются специальными символами, которые имеют определенные значение для Java. Другие, такие как class и int, являются нормальными. Английские слова, которые означают что-то конкретное для Java — мы называем их ключевые слова. Мы выбрали другие, такие как NumberFive или x, и мы могли бы использовать любое слово там.

      Java ожидает чрезвычайно специфический порядок для всех этих слов и символов в годная программа. Мы называем эти правила синтаксисом Java. Например, требуется, чтобы после ключевого слова class шло имя (во всех примеры выше, это имя было ExamplesLecture1). На данный момент это имя будет всегда сопровождаться открывающей фигурной скобкой ({). Затем идет последовательность полей, разделенных точкой с запятой. Затем идет закрывающая фигурная скобка (}).

      Полезно посмотреть, что сделает Java, если мы нарушим эти правила и напишем неверный синтаксис. Например, если мы удалим открывающую фигурную скобку после ExamplesLecture1, программа будет выглядеть так:

      class ExamplesLecture1
      int theNumberFive = 5;

      }

      Если мы запустим это, мы получим:

      ⤇ make

      .java/ester. ExamplesLecture1.java

      ExamplesLecture1.java:1: ошибка: ‘{‘ ожидаемый

      класс

      1 ошибка

      make: *** [ExamplesLecture1. class] Error 1

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

      Упражнение

      Возьмите приведенный выше пример, верните фигурную скобку и убедитесь, что программа работает. Затем удалите точку с запятой, запустите программу и проверьте ошибку сообщение, которое вы получите. Исправьте программу.

      Упражнение

      Возьмите приведенный выше пример и убедитесь, что программа работает. Затем удалите точку с запятой, запустите программу и проверьте полученное сообщение об ошибке. Исправить программа.

      Упражнение

      Запустите приведенный выше пример и убедитесь, что программа работает. Затем удалите знак равенства, запустите программу и проверьте полученное сообщение об ошибке. Исправить программа.

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

      10 лучших онлайн-курсов Java для изучения программирования в 2022 году

      Раскрытие информации: этот пост содержит партнерские ссылки; Я могу получить компенсацию, если вы приобретете товары или услуги по разным ссылкам, указанным в этой статье.

      Привет, ребята! Если вы выпускник компьютерных наук или программист, желающий изучить Java, или кто-то, кто хочет начать программировать на Java и ищет замечательные ресурсы, такие как книги, учебные пособия и онлайн-курсы, тогда вы пришли в нужное место.

      Будучи разработчиком Java последние 15 лет и автором одного из популярных блогов Java, Javarevisited (да, я пишу статьи о Java с 2010 года), я часто получаю запросы на рекомендации и учебные ресурсы.

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

      Одна из основных проблем при изучении Java состоит в том, чтобы идти в ногу с растущим числом выпусков. Например, в 2014 году была выпущена Java 8, которая полностью изменила способ написания Java, и после этого у нас появляется новая версия Java каждые шесть месяцев.

      Перед началом работы с Java 9и Java 10, вы понимаете, что грядет Java 17. Но хорошо то, что ядро ​​Java остается прежним, и все его выпуски обратно совместимы.

      Если вы впервые изучаете Java, очень важно выбрать актуальный онлайн-курс, иначе вы останетесь позади на рынке труда и в своей повседневной работе по программированию с устаревшими навыками .

      Но перед этим позвольте мне сначала поздравить вас с принятием отличного решения об изучении Java , один из самых популярных языков программирования в мире.

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

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

      Еще одна область, в которой Java действительно проявляет себя, — это создание приложений для Android. Хотя Google теперь объявил Kotlin официальным языком разработки приложений для Android, Java по-прежнему достаточно популярен, и в ближайшие годы нет никаких признаков замедления.

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

      Без лишних слов, вот они:

      1. Полный мастер-класс по Java — Udemy

      Это, вероятно, самый популярный курс Java на Udemy, на который записались более 207 000 студентов.

      Он получил более 40 тысяч оценок 4.6, что много говорит о его качестве, но самое главное, что мне нравится в этом курсе, это то, что инструктор часто обновляет его, чтобы включить изменения из Java 8 и Java 9.

      Это всеобъемлющий курс с более 72 часов материала, и вы узнаете все основные вещи, которые должен знать разработчик Java, такие как структура данных, ООП, основные принципы Java, коллекции Java, многопоточность, файловый ввод-вывод, работа в сети, база данных, Java 8, модульное тестирование и последние изменения в Java.

      Преподаватель Тим Бучалка также является известным инструктором по Java в Udemy, и это показывает огромное социальное влияние, связанное с этим курсом. Каждая концепция подробно объясняется, и вы будете изучать концепцию по одной программе за раз.

      Вы изучите не только концепции, но и бесплатные инструменты, такие как Eclipse, Maven и т. д., необходимые для разработки Java.

      Короче говоря, это один из наиболее полных курсов для изучения Java, который подходит как для начинающих, так и для разработчиков Java, которые запускают Java спустя долгое время, например, в последний раз видели код Java до JDK 1.5.

      Подробнее: Полный мастер-класс по Java


      2. Объектно-ориентированное программирование в специализации Java

      Эта специализация Coursera предназначена для начинающих разработчиков программного обеспечения с некоторым опытом программирования хотя бы на одном другом языке программирования (например, Python, C, JavaScript и т.  д.), которые хотят иметь возможность решать более сложные задачи с помощью объектно-ориентированного проектирования с помощью Java. .

      В дополнение к изучению Java вы получите опыт работы с двумя средами разработки Java (BlueJ и Eclipse), научитесь программировать с помощью графических пользовательских интерфейсов и научитесь разрабатывать программы, способные управлять большими объемами данных.

      Вот ссылка, чтобы узнать больше — Объектно-ориентированное программирование в специализации Java


      3. Полный мастер-класс по программированию на Java

      Это еще один мастер-класс для углубленного изучения Java для начинающих. Это единственный в своем роде курс, который научит вас не только Java, но и тому, как писать лучший код на Java, а также подготовит вас к сертификации Oracle по Java.

      Если у вас нет опыта программирования, не беспокойтесь, этот курс также научит вас программированию, а также это отличный курс по Java, если вы хотите стать разработчиком Android и создавать приложения для Android на Java, а не на Kotlin.

      Созданный Karthikeya T, этот курс Java научит вас всем основным концепциям Java, таким как объектно-ориентированное программирование, ядро ​​Java, коллекции, типы данных, структуры данных, строки, многопоточность и параллелизм и многое другое.

      Это также практический курс, и вы будете учиться, выполняя множество викторин, упражнений и заданий. Я также обеспечил вам специальную скидку, чтобы вы могли получить этот курс за 99 долларов всего за 3 доллара, если зарегистрируетесь сегодня. Он также поставляется с 30-дневной политикой возврата, так что вам не о чем беспокоиться.

      Вот ссылка, чтобы присоединиться к этому курсу за 3 доллара — Полный мастер-класс по программированию на Java


      4. Программирование на Java для начинающих

      Это относительно [новый курс] для изучения Java в Udemy, и поэтому он также наиболее актуален.
      Он использует такие инструменты, как JShell, представленный в Java 9, чтобы научить вас программировать на Java. Без сомнения, это отличный инструмент, который действительно упрощает работу с Java.

      Структура курса также очень хороша и основана на пошаговом методе обучения. Мне нравится подход инструктора и стиль преподавания, в прошлом я прошла несколько его весенних курсов.

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

      После того, как вы пройдете курс, вам будет очень комфортно читать и писать программы на Java, а также вы будете чувствовать себя уверенно, чтобы пройти любое собеседование по Java, если вы изучаете Java, чтобы получить работу.

      Короче говоря, отличный и самый современный курс Java на данный момент, и самое лучшее, что на момент написания он был бесплатным.

      В Udemy инструктор держит свой курс бесплатно некоторое время для достижения своей рекламной цели, после чего он превращается в платный курс. Итак, присоединяйтесь к нему сейчас, прежде чем он станет платным курсом.

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

      Подробнее: Программирование на Java для начинающих — 250 шагов


      5. Сертификат специализации по основам программирования на Java и программной инженерии на Coursera

      Эта специализация, предназначенная для начинающих, научит вас основным концепциям программирования и поможет вам писать программы для решения сложных задач. Кроме того, вы получите базовые навыки, необходимые инженеру-программисту для решения реальных проблем, от разработки алгоритмов до тестирования и отладки ваших программ.

      Специализация включает 4 курса, охватывающих объектно-ориентированное программирование на Java, структуру данных, расширенную структуру данных, а также курс Mastering the Software Engineering Interview.

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

      Вот ссылка, чтобы присоединиться к этому курсу — Специализация по основам программирования и разработки программного обеспечения на Java

      ]


      6. Подробное изучение Java: станьте полноценным Java-инженером!

      Это еще один замечательный курс Java на Udemy, который вы можете использовать для изучения Java с нуля. Это фантастический курс, и он жил с плиткой «Углубление».

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

      Как и предыдущий курс Java, этот также очень подробный и всесторонний курс, который охватывает большинство тем Java, которые новичок хочет изучить, например. переменные, методы, классы, коллекции, структуры данных, потоки, сети и т. д.

      Недостатком курса является то, что в основном это курс на основе слайдов с некоторыми примерами кода здесь и там. Еще несколько примеров кода, желательно с новыми инструментами, такими как JShell, действительно помогут.

      Подробнее: Углубленное изучение Java: станьте настоящим инженером Java!


      6. Полный учебный курс по Java-разработке

      Это еще один замечательный курс для изучения Java с нуля на Udemy. Курс Complete Java Development Bootcamp создан Хосе Портиллой, одним из лучших инструкторов Udemy, и преподается в стиле botocamp

      . Он охватывает все основные темы Java, такие как переменные, методы, операторы управления, циклы, массивы и строки, объектно-ориентированное программирование, обработка файлов, база данных, многопоточность, коллекции и т. д.

      Он также охватывает функциональное программирование и новые функции Java 8, а также Java FX, который позволяет создавать приложения Java на основе графического интерфейса пользователя, очень похожие на Swing. В этом курсе вы даже научитесь создавать полноценную игру «Крестики-нолики». Короче говоря, хороший курс для начала программирования на Java с нуля.

      Подробнее: Полный учебный курс по Java-разработке


      *

      7. Основы Java: язык Java — Pluralsight *

      Это отличный курс Java для начинающих пользователей Pluralsight. Вы изучите основы Java, классов, объектов, типов данных, потоков, файлов, обработки ошибок и других основных концепций Java.

      Инструктор Джим Уилсон — опытный инженер-программист с более чем 30-летним опытом работы.

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

      Подробнее: Основы Java: язык Java

      Кстати, для доступа к этому курсу вам необходимо членство Pluralsight . Ежемесячная подписка стоит около 29 долларов в месяц, но также дает доступ к более чем 500 курсам, которые стоят денег.

      Иногда Pluralsight также проводит акции, где вы можете получить годовое членство всего за 199 долларов, как я получил в прошлом году в декабре, но, тем не менее, членство в Pluralsight необходимо, если вы хотите поддерживать свои навыки в актуальном состоянии.


      8. Сертификат специализации по основам программирования на Java и программной инженерии — Coursera на Coursera

      Эта специализация, предназначенная для начинающих, научит вас основным концепциям программирования и поможет вам писать программы для решения сложных задач. Кроме того, вы получите базовые навыки, необходимые инженеру-программисту для решения реальных проблем, от разработки алгоритмов до тестирования и отладки ваших программ.

      Специализация включает 4 курса, охватывающих объектно-ориентированное программирование на Java, структуру данных, расширенную структуру данных, а также курс Mastering the Software Engineering Interview.

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

      Вот ссылка, чтобы присоединиться к этому курсу — специализация Java Programming and Software Engineering Fundamentals


      9. Программирование на Java: решение проблем с программным обеспечением

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

      Используя пользовательские классы с открытым исходным кодом, вы будете писать программы, которые получают доступ к изображениям, веб-сайтам и другим типам данных и преобразуют их. В конце курса вы создадите программу, которая определяет популярность различных имен детей в США с течением времени, анализируя файлы со значениями, разделенными запятыми (CSV).

      Для этого курса также доступна финансовая помощь, и вы получите сертификат, если закончите этот курс.

      Вот ссылка, чтобы узнать больше —


      10. Введение в программирование на Java — курс для начинающих [FreeCodecamp]

      А теперь бесплатный курс для тех, кто любит учиться на Youtube. Этот бесплатный курс по Java — отличный ресурс для любого новичка, который хочет изучать Java в 2022 году. Этот 3,5-часовой курс полностью бесплатный и доступен на канале Freecodecamp на YouTube, одном из моих бесплатных ресурсов для изучения навыков разработки.

      Это полный курс Java, предназначенный для начинающих. Предварительный опыт программирования не требуется. Он научит вас программировать на Java в Eclipse, который вы также можете скачать БЕСПЛАТНО. Вот темы, затронутые в этом курсе:

      ⭐️ Содержание курса ⭐️
      ⌨️ (0:00:00) Введение
      ⌨️ (0:06:18) Переменные и типы данных
      ⌨️ (0:17:55) Основные операторы
      ⌨️ (0:29:36) Ввод и сканеры
      ⌨️ (0:38:40) Условия и логические значения
      ⌨️ (0:49:54) If/Else/Else If
      ⌨️ (1:00:08) Вложенные операторы
      ⌨️ (1:07:18) Массивы
      ⌨️ (1:15:29) Циклы For
      ⌨️ (1:24:46) Циклы For (продолжение)
      ⌨️ (1:34:10) Циклы While
      ⌨️ (1:40:50) Наборы и списки
      ⌨️ (1:55:25) Карты и HashMaps
      ⌨️ (2:07:46) Пример карт
      ⌨️ (2:16:09) Знакомство с объектами
      ⌨️ (2:29:05) Создание классов
      ⌨️ (2:44:06) Наследование
      ⌨️ (2:57) :50) Что означает СТАТИЧЕСКИЙ?
      ⌨️ (3:07:02) Методы перегрузки и сравнения объектов
      ⌨️ (3:17:37) Внутренние классы
      ⌨️ (3:25:23) Интерфейсы
      ⌨️ (3:37:32) Enums

      Вот ссылка для просмотра этого курса на YouTube, вы также можете посмотреть его прямо здесь