Обучающие задания по С++
От: rg45 СССР  
Дата: 23.05.17 10:45
Оценка:
Посоветуйте, пожалуйста, ресурсы, содержащие обучающие задания по С++. Хочется, чтоб в задания была какая-то система, нацеленная на всестороннее освоение, чтоб было постепенное возрастание сложности, ну и чтоб задания были более-менее интересными.
--
Не можешь достичь желаемого — пожелай достигнутого.
Re: CodinGame
От: Qbit86 Кипр
Дата: 23.05.17 11:26
Оценка: 17 (3) +1
Здравствуйте, rg45, Вы писали:

R>Посоветуйте, пожалуйста, ресурсы, содержащие обучающие задания по С++. Хочется, чтоб в задания была какая-то система, нацеленная на всестороннее освоение, чтоб было постепенное возрастание сложности, ну и чтоб задания были более-менее интересными.


https://www.codingame.com/home
Глаза у меня добрые, но рубашка — смирительная!
Re: Обучающие задания по С++
От: SaZ  
Дата: 23.05.17 11:45
Оценка: 28 (3) +1
Здравствуйте, rg45, Вы писали:

R>Посоветуйте, пожалуйста, ресурсы, содержащие обучающие задания по С++. Хочется, чтоб в задания была какая-то система, нацеленная на всестороннее освоение, чтоб было постепенное возрастание сложности, ну и чтоб задания были более-менее интересными.


Немного не то, что вы спрашивали, но всё же. Как-то спросили, что делать, чтобы минимально обучиться и в то же время было интересно. Я советую делать простейшие игры. Скопипасчу:

Можно сделать с базовыми знаниями программирования, гуглом и трудолюбием (и с которым вас наверняка возьмут, например, на Junior C#/С++ позицию):
Написать сетевой морской бой (или крестики-нолики), в котором история матчей сохраняется в базу данных. Причём делать по пунктам:
1) Сначала научиться отображать доску с кораблями. Хотя-бы 10х10 кнопок, где корабли/выстрелы отображаются символами 'O' 'X' '.'. В качестве исходных данных — обычный двумерный массив.
2) Научиться обрабатывать клики по доске — при нажатии на кнопку менять значение ячейки в массиве.
3) Написать примитивную игровую логику: 2 поля, 2 окна, 2 игрока, ходят по очереди, при выстреле по ячейке выполнять п.2.
4) Доработать логику в соответствии с правилами "морского боя" — после попадания по врагу повторить ход. Научиться проверять, закончилась ли игра. Научиться валидировать расстановку кораблей.
5) Сделать несколько стадий игры: 1 — расстановка кораблей, 2 — игра, 3 — объявление победителя
6) Отделить логику игрового поля от логики рисования игральной доски.
7) Вынести логику в отдельный процесс и сделать сетевое взаимодействие. Тупо на сокетах, без каких-либо проверок корректности и т.п. Уже получится клиент-серверное приложение
8) Научить сервер записывать в базу последовательность ходов. Любая реляционная СУБД на одну таблицу.
9) Научиться восстанавливать игру из базы
10) Научиться писать в базу несколько игр. Т.е. табличка с названием игры + двумя именами игроков.

Задача потянет на средний курсач для 1-2 курса БГУИР. И на фоне любого джуна с профильной специальностью, у которого в резюме будут только лабораторные работы, возьмут того, кто сам сделал минимальный проект. Который, кстати, отлично зайдёт и вместо тестового задания.
Re[2]: Обучающие задания по С++
От: zubactik  
Дата: 23.05.17 11:50
Оценка:
Спасибо за хорошо сформулированную идею!
Re[2]: Делать игры
От: Qbit86 Кипр
Дата: 23.05.17 12:22
Оценка: +1
Здравствуйте, SaZ, Вы писали:

SaZ>Я советую делать простейшие игры.


Выше я приводил ссылку на CodinGame — ресурс, который как раз и позволяет на разных языках (приветствуются незнакомые языки) реализовывать предлагаемые игры. Как синглплеерные (надо решить задачу, типа пройти «квест» против игры), так и мультиплеерные (нужно написать бота с заданным интерфейсом, который будет соревноваться с ботами других участников). Для каждой игры есть веб-визуализатор. Например, тут надо гонять повозками с несложной 2D-физикой: https://www.codingame.com/multiplayer/bot-programming/coders-strike-back
Я попробовал, дальше бронзовой лиги пока не прошёл на наивном рассчёте steering'а.
Глаза у меня добрые, но рубашка — смирительная!
Re: HackerRank
От: Qbit86 Кипр
Дата: 23.05.17 12:26
Оценка:
Здравствуйте, rg45, Вы писали:

R>...и чтоб задания были более-менее интересными.


Ещё популярен https://www.hackerrank.com
Можно, например, выбрать тему (графы, динамическое программирование, etc.) и решать по ней задачи, прогонять тест-кейсы, etc. Можно зарубаться в разных контестах, если нужен соревновательный элемент.
Советую.
Глаза у меня добрые, но рубашка — смирительная!
Re[3]: Делать игры
От: Qbit86 Кипр
Дата: 23.05.17 12:31
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Я попробовал, дальше бронзовой лиги пока не прошёл на наивном рассчёте steering'а.


Всё сложнее и интереснее, если делать на незнакомом языке. Я пытаюсь на Rust, рекомендую.
Глаза у меня добрые, но рубашка — смирительная!
Re: Обучающие задания по С++
От: Burbulis1978  
Дата: 23.05.17 13:38
Оценка: 5 (1)
Здравствуйте, rg45, Вы писали:

R>Посоветуйте, пожалуйста, ресурсы, содержащие обучающие задания по С++. Хочется, чтоб в задания была какая-то система, нацеленная на всестороннее освоение, чтоб было постепенное возрастание сложности, ну и чтоб задания были более-менее интересными.


на certifications.ru есть тест по c++ простенький, но в общемто достойный.
Re[2]: Обучающие задания по С++
От: LaptevVV Россия  
Дата: 23.05.17 13:42
Оценка:
SaZ>Задача потянет на средний курсач для 1-2 курса БГУИР. И на фоне любого джуна с профильной специальностью, у которого в резюме будут только лабораторные работы, возьмут того, кто сам сделал минимальный проект. Который, кстати, отлично зайдёт и вместо тестового задания.
План хорош.
Если начать в 1 семестре, то завершить можно в 4 семестре на 2 курсе. Или даже в 5 семестре на 3 курсе.
Ибо начинаем с консоли и процедур.
А заканчиваем оконным и ООП.
Да еще БД — у нас это как раз в 4 семестре или даже в 5-м.
В этом году стали PostgreSQL изучать.
Да еще и сеть.
В общем по опыту реально на 3 курсе можно получить реальную сетевую игру.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Обучающие задания по С++
От: LaptevVV Россия  
Дата: 23.05.17 13:47
Оценка: 10 (1)
R>Посоветуйте, пожалуйста, ресурсы, содержащие обучающие задания по С++.
Первая книжка с упражнениями на программирование игр: http://www.ozon.ru/context/detail/id/1291935/
Вот такая книжка есть: http://www.ozon.ru/context/detail/id/33558249/
Это совсем для начинающих в С++. ЕНо в конце — вполне приличные игрушки. Особенно в первой.

И еще такая: http://www.ozon.ru/context/detail/id/137764980/
Это не читал

И совсем новье: http://www.ozon.ru/context/detail/id/140213075/
Эту еще не успел прочитать...

Ну, а по Додиезу — есть уже несколько книжек по Unity
Например: http://www.ozon.ru/context/detail/id/34792570/
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Отредактировано 23.05.2017 13:50 LaptevVV . Предыдущая версия .
Re[2]: Обучающие задания по С++
От: rg45 СССР  
Дата: 23.05.17 13:48
Оценка:
Здравствуйте, Burbulis1978, Вы писали:

B>на certifications.ru есть тест по c++ простенький, но в общемто достойный.


Это не совсем то, что я ищу, тем не менее, будет полезно, спасибо.
--
Не можешь достичь желаемого — пожелай достигнутого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.