T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию курса "Введение в вычисления с Java" (русскоязычная версия, лекции, тесты, лабораторные работы)

Введение в вычисления с Java. Обзор

Неделя 1

Лекция 1. Цели обучения. Что такое хорошо определенные проблемы

Этот курс предназначен для студентов с отсутствием или очень малым опытом программирования.

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

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

Мы все знаем, что основная цель использования компьютера, это помочь нам в решении проблем.

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

Давайте сначала взглянем на цели обучения для этого курса,

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

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

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

В общем, четко определенная проблема означает, что решение существует для задачи

и решение может быть найдено в конечное число шагов.

Например, если вас попросили найти решение арифметического выражения "1 умножить на 2 плюс 3", вы бы знали, что мы должны сначала умножить 1 на 2, что дает промежуточный результат 2, и тогда результат умножения будет добавлен к 3, и 5 будет в качестве окончательного ответа.

Но если я спрошу вас решить "1 плюс 2 умножить 3", я хочу, чтобы вы кратко подумали о том, какой был бы ответ.

Разные люди могут давать различные ответы, потому что некоторые могут подумать, что умножение должно быть выполнено до прибавления, что, во-первых, надо умножить 2 на 3, что дает 6 в качестве промежуточного результата,, а затем добавить 6 к 1, и это дает 7 в качестве окончательного ответа, но некоторые могут просто следовать порядку операторов в арифметическом выражении, в этом случае сначала добавим 1 к 2, и это дает 3 в качестве промежуточного результата, и затем умножим 3 на 3, и получим 9 как конечный результат.

Так какой из этих двух является правильным ответом?

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

Мы вернемся к этому вопросу позднее в этом курсе.

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

Давайте теперь вернемся к другим целям обучения.

Курс научит вас, как реализовать решения задач с помощью Java в интегрированной среде разработки (IDE).

Язык Java является одним из самых популярных языков компьютерного программирования, используемых в настоящее время.

Мы будем учить Java в ближайшие недели.

Среда IDE, которую мы собираемся использовать в этом курсе, будет в основном BlueJ (http://www.bluej.org/), но я бы также введу еще IDE под названием Eclipse, к концу этого курса.

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

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

Язык Java является объектно-ориентированным языком.

Этот курс даст вам понимание основ абстракции данных с помощью объектно-ориентированного программирования.

Я хочу поговорить немного больше о том, что такое абстракции данных?

Абстракция данных отделяет существенные свойства объектов данных от деталей того, как они реализуются, то есть, детали реализации объектов данных скрыты от пользователей.

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

Например, число может быть представлено ​​разными способами.

На человеческом языке, наиболее часто используемая система чисел – это арабские цифры 0, 1, ... 9, но есть и римские цифры, обратите внимание, что только три символа, вертикальная полоса, V и крест используются для представления чисел от 9:59, и нет никакой специальной римской цифры для нуля.

Есть также китайские цифры и многие другие.

И в компьютерах, числа представляются 0 и 1.

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

Например, при добавлении 1 к 2, число 3, как ожидается, будет в качестве ответа, независимо оттого, что это делается китайцем, римлянином, американцем или компьютером.

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

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

Но мы действительно не заботимся о механике, как это работает.

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

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

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

Я хочу также дать этот курс в контексте информатики.

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

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

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

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

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

В центре внимания данного курса – программное обеспечение компьютерных систем.

В конце концов, основное использование компьютеров это решение реальных проблем.

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

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

Существует поговорка, что "картинка стоит тысячи слов", надеюсь, эти примеры могут помочь вам получить лучшее понимание этих понятий.

Вы можете применить эти понятия для решения повседневных жизненных проблем.