Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
18:31 

1. Вступление

Здравствуйте!


Этот проект родился отчасти от мечты о лучшем мире, где каждый может решить какую-нибудь тривиальную повседневную задачу сам за 10 минут, не скачивая и не изучая сложные программы вроде MS Exсel. Отчасти же по просьбе знакомых и друзей, которым (да и мне в принципе тоже) не нравятся существующие курсы. (Мне они в частности не очень нравятся предполагаемой затянутостью и скучностью, однобокостью и тем, что после них обучающиеся не могут сами писать программ.)

Поэтому цель: рассказать базовые или редко популяризуемые вещи о синтаксисе языка, а потом как-то перейти к обучению как составлять программы и как мыслить. Посмотрим как это удастся и как будет со временем. Если получиться, затронуть вопросы алгоритмов (даже ИИ и думаю на счёт такой интересной задачки как перевозка козы и капусты).
Я сам не настолько крут, чтобы объяснить всё, и потому посягать на лавры и переделывать работу составителей уже существующих курсов не буду. Но часть материала предпочту рассказать по своему.

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

Несколько слов, почему я считаю, что изучать программирование стоит с Си, С++ (написать хотя бы 10 програмок):
— они живые и развивающиеся, что важно.
— благодаря им вы привыкнете к типам данных
— ... одному из популярнейших синтаксисов
— ... поработаете с памятью (указатели, массивы), и станете лучше понимать как она работает
— ... сможете решить задачу практически под любой ОС: Windows, Linux и поделиться запускаемым файлом.

И почему в дальнейшем стоит перейти на C#, Java, Python:
— У них больше возможностей решать повседневные задачи (работа с интернет, файлами, интерфейс пользователя и т.п.)
— У в них немного сложнее сделать себе гадость и меньше тонкостей.

П.С. Правильная программа отличается несколькими свойствами:
— она разумно расходует память
— её текст легко читать и понимать (написана в одном стиле)
— она делает то, что от неё хотел автор, причём при любых условиях и правильно. (надёжность)
— Она универсальна и легко модифицируема.
— Часто используемые фрагменты программы вынесены в функции, модули, библиотеки.
— Вероятность ошибки программиста из-за невнимательности или копипаста сведена к минимуму.

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

18:32 

Теория

2. Теория Хранение данных в памяти компьютера

3. Теория Блоксхемы Базовое управление: проверки, циклы

Лекция 5 Теория: основные структуры данных


6. Теория: Понятия структура, класс, наследование, объект

@темы: Основы (базовые знания), Теория

18:32 

Краткий обзор языков программирования

18:32 

Задание

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

1. Представить что-нибудь из вашего окружающего мира, или того, с чем вы работаете в виде настолько подробно, насколько можете:
а) структуры (struct), объединяющей разные поля, значения, переменные.
б) массива
в) массива структур
Это могут быть книга, машина, студент, чек из магазина, или что-то другое.

2. Поупражняться в составлении и описании действий через проверки (да - нет, if-else), а так же циклы из одних и тех же, а так же однотипных действий (while, for).

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

@темы: Задания

19:33 

C, C++ полезные ссылки

Куда обратиться за справкой по библиотеке, синтаксису, за примерами:
http://en.cppreference.com/w/
http://www.cplusplus.com/

Уроки (сайты с текстом) для начинающих:
https://code-live.ru/tag/cpp-manual/
http://cppstudio.com/cat/274/

Уроки для продвинутых: 64 бита
http://www.viva64.com/ru/l/

Блог:
http://alenacpp.blogspot.ru/

Видеоуроки по современному С++ по английски:
http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Core-C-
http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-

Инструменты для разработки:
https://www.visualstudio.com/

Книги: (обратить внимание, если возникнут проблемы с пониманием)
R. Reese «Understanding and using C Pointers» http://shop.oreilly.com/product/0636920028000.do

@темы: Полезные ссылки (urls), C++, C

19:33 

Пайтон

19:34 

Как установить Python в Windows:)

19:34 

Основные принципы кодировки текста "на пальцах"

19:34 

C++, C, Как строка превращается в массив чисел и обратно.

10:20 

Юрий Рэйн
λOther side of the memory crystal. …λ
http://www.youtube.com/playlist?list=PLVUCZBa_IovPIxzwXiLls88yl29x0WIeC
Некоторые основы по Пайтону. Удалять до отзывов не стал, но в целом хотя стаж на этом языке у меня больше всего, лекции получаются ужасными(. Отчасти из-за попытки показывать практику, отчасти из-за отсутствия опорной презентации (и плохой памяти).

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

В ближайших планах, если соберусь: задача класса "вол - коза капуста" (точнее миссионеры) и какой-то бред про указатели.

@темы: Python, Основы (базовые знания), Уроки

09:25 

Задача о миссионерах, ИИ

Юрий Рэйн
λOther side of the memory crystal. …λ
Попытка объяснить "от и до" одну из известных задач в курсе искусственного интеллекта: Задачу о миссионерах и каннибалах. Подход к решению применим и к другим похожим (и не очень) задачам: решению судоку, Ханойским башням, раскраске графов (и составлении расписаний и планов построек) *хотя там он несколько видоизменён*.
Используется: C#, Графы, ООП.
Видео запись с пояснениями
Исходники: https://www.dropbox.com/s/b6d7cjdfq2buswi/MissAndCan.zip?dl=0.
Написано с помощью курса ИИ, собственных мозгов с заимствованием некоторых более оптимальных стратегий у других людей.

@темы: Уроки, Теория, Основы (базовые знания), Алгоритмы, C#

09:27 

С,С++ немного об указателях

Юрий Рэйн
λOther side of the memory crystal. …λ
.. и в кратце упомянуты указатели C++11, C++14 стандартов.

@темы: Основы (базовые знания), C++, C, Указатели, Теория, Поверхностный обзор, Уроки

19:23 

Градации программиста

Относительно, понятное дело)).

1. Пишет плохой код, по незнанию
2. Пишет всегда хороший код
3. Знает, когда стоит писать идеальный код, а когда можно отказаться от перфекционизма и написать плохо, но избежать потери качества и багов.

10:51 

Юрий Рэйн
λOther side of the memory crystal. …λ
Ищем различия в двух текстовых файлов и объединяем их в один.

@темы: Уроки, Обзор

22:56 

Юрий Рэйн
λOther side of the memory crystal. …λ
Небольшое отступление, хотя, пожалуй, знаний уже у всех хватит. Изучаем структуру бинарного файла (простенького, в котором моя читалка хранит список прочитанного) и пишем простой ридер.
Языки: С++ (недо ++, ибо без классов, зато с некоторыми фишками С++11)
Python
http://www.youtube.com/playlist?list=PLVUCZBa_IovNhE1Vpmr_QlO1Rn3O8t-s3

P.S.Всем помнить про существовавние: wcout, wifstream, wstring.

@темы: Уроки, Основы (базовые знания), Python, C++

00:30 

SourceTree клонируем репозиторий с несколькими ветками, докачиваем ветку

Юрий Рэйн
λOther side of the memory crystal. …λ
10:03 

Юрий Рэйн
λOther side of the memory crystal. …λ
https://glamcoder.ru/video/design-patterns/
На примере Си Шарпа. Необходимо знание классов и наследования.
Посмотрел, годное

@темы: C#, Паттерны проектирования, Теория

23:14 

Юрий Рэйн
λOther side of the memory crystal. …λ
Поскольку тут собрались в основном люди опытные, поделюсь няшной информацией.
Есть такая полезная хоть и нудная штука как WinAPI (она может очень многое по работе с чужими программами или ОС). И вот тут написано про то, как плееры отображают кнопки проигрывания в миниатюрах на панели задач, и некоторые приложения - список ранее открытых файлов или нечто в духе.

читать дальше

@темы: C++, WinAPI, Полезные ссылки (urls)

21:31 

Юрий Рэйн
λOther side of the memory crystal. …λ
Добавлено Python и:
Работа с файлами и папками: как переименовать файл, найти все файлы определённого размер, с расширением,...
http://www.youtube.com/watch?v=--ggiM95DN4&list=PLVUCZBa_IovPIxzwXiLls88yl29x0WIeC&index=8

Работа с файлом: чтение, запись, обработка счёта из магазина (простой пример)
http://www.youtube.com/watch?v=TzT9Hhv3bag&list=PLVUCZBa_IovPIxzwXiLls88yl29x0WIeC&index=9

Основы работы с интернетом:
http://www.youtube.com/watch?v=sxTTfGuTkiw&list=PLVUCZBa_IovPIxzwXiLls88yl29x0WIeC&index=10

@темы: Python, Основы (базовые знания), Поверхностный обзор, Уроки

19:17 

Юрий Рэйн
λOther side of the memory crystal. …λ
http://www.youtube.com/watch?v=c8pQChjQ1tY Python рисуем простые графики

http://www.youtube.com/watch?v=MDPPaz31tZs Python - ищем 10 самых больших файла

Си:
Сортировка выбором: http://www.youtube.com/watch?v=puQYUvLcKv8

http://www.youtube.com/watch?v=qU6NwMYjhcU Сортировка слиянием - профессионально - инженерный подход (ну я надеюсь:) )

@темы: C, Python, Алгоритмы, Массивы, Основы (базовые знания), Уроки

Teach Coding

главная