Идеи для программ: Идеи для проектов для практики навыков программирования
Идеи для проектов для практики навыков программирования
Найти число пи до n-й цифры после запятой
Введите число, и программа начнет генерировать число пи. Поставьте определенный предел, до которого программа должна дойти. Реализации:Python №1, Python №2, Haskell, PHP, JavaScript, Go.
Последовательность Фибоначчи
Введите число, и программа сгенерирует последовательность Фибоначчи до этого числа или до N-го числа. Реализации: Python №1, Python №2, Python №3, Bash, Haskell, PHP, JavaScript, Java, Go, Python №4, Python №6.
Разложение на произведение простых чисел
Пользователь вводит число и находит, программа раскладывает на произведение простых чисел с их степенями. Реализации: Python №1, Python №2, Haskell, JavaScript, Java, C++, Python №3.
Следующее простое число
Программа находит простые числа до тех пор, пока пользователь перестанет спрашивать. Реализации: Python №1, Haskell, JavaScript, Java, Go, Python №2.
Калькулятор для ипотеки
Вычислить месячные выплаты фиксированного срока в течение заданных N сроков с заданной процентной ставкой. Реализации: Go.
Обмен-возврат
Пользователь вводит стоимость и количество денег. Программа рассчитывает сдачу и количество мелких монет, необходимых для сдачи. Python, Java, Go.
Перевод из двоичной системы в десятичную и обратно
Реализации: Python.
Калькулятор
Сначала простой с базовыми операциями, потом можно добавить фичи. Реализации: Python, Haskell.
Конвертер температуры, валюты, масс и т.д.
Реализации: Python.
Будильник
Простые часы, которые играют звук после некоторого числа минут или часов или в определенное время. Python, Java.
Расстояние между городами
Вычисляет расстояние между двумя городами и позволяет пользователю выбрать размерность расстояния. Эта программа может потребовать информацию о городах, такую как долготу и широту. Реализации: Haskell, Python.
Валидатор кредитной карты
Берет номер кредитной карты от производителя (Visa, MasterCard, American Express, Discover) и проверяет на правильность номер (разберитесь, как кредитные карты используют контрольную сумму). Реализации: Haskell, Python, Java, Go.
Факториал числа
Решить с помощью циклов и отдельно с помощью рекурсии. n! = n * (n-1) * … * 1, 0! = 1. Реализации: Haskell, Python, Go.
Алгебра комплексных чисел
Показать сумму, умножение, сопряжение, отрицание в отдельных функциях (разность и деление могут быть сделаны путем использования нескольких уже написанных функций). Реализация: Haskell.
Счастливые числа
Счастливое число определено следующим процессом. Начиная с некоторого положительного целого числа, замените число суммой квадратов его цифр и повторяйте процесс до тех пор, пока число не будет равным одному(на чем все и остановится) или оно будет циклиться бесконечно. Если цикл конечен, то изначальное число называется счастливым. Найдите первые 8 счастливых чисел. Реализации: Python, Haskell, Java, C++.
Названия чисел
Показать как читается число на английском. Вы можете использовать уже существующую реализацию или написать свою, она должна поддерживать значения до одного миллиона или до максимально возможного целого значения в данном языке программирования, если оно меньше миллиона. По желанию: поддержка отрицательных чисел, нуля, чисел с плавающей запятой Реализации: Haskell, Python, Go, C++.
Симуляция подбрасывания монеты
Напишите программу, которая симулирует подбрасывание одной монеты столько раз, сколько захочет пользователь. Программа должна записывать результаты и подсчитывать сколько раз выпали орел и решка. Реализации: Python.
Гипотеза Коллатца
Найдите число шагов, за которые получится единица, используя следующий процесс: берём любое натуральное число n больше единицы. Если оно чётное, то делим его на 2, а если нечётное, то умножаем на 3 и прибавляем 1. Реализации: Python №1, Java, JavaScript, Java №2, Go, Java №3.
Сортировка
Реализовать два типа сортировочных алгоритмов: сортировка слиянием и сортировка простыми обменами. Реализации: C, Python, Go, C++.
Задача ближайшей пары
Задача ближайшей пары точек или задача ближайшей пары — это задача вычислительной геометрии: дается n точек в метрическом пространстве, найти пару точек, расстояние между которыми наименьшее. Реализации: Python №1, Python №2.
Решето Эратосфена
Решето Эратосфена — один из самых эффективных способов нахождения всех небольших простых чисел (ниже 10 миллионов). Реализации: Python №1, JavaScript, Python №2, Go, Java, C++.
Граф из связей
Напишите программу, которая будет создавать граф или сеть из ряда связей между вершинами. Реализация: Python.
Эйлеров путь
Напишите программу, ввод которой будет графом и вывод будет Эйлеров цикл или Эйлеров путь, или запись того, что цикл не возможен. Эйлеров путь начинается от одной из вершин и обходит каждую вершину графа и заканчивается на другой вершине графа. Эйлеров цикл — это Эйлеров путь, начинающийся и заканчивающийся в одной и той же вершине. Реализация: Python.
Соединенный граф
Напишите программу, ввод которой представляет из себя граф и вывод представляет из себя отчет, в котором указано соединена ли каждая вершина или нет. Реализация: Python.
Алгоритм Дейкстры
Напишите программу, которая будет находить короткий путь в графе, используя его вершины. Реализации: Python.
Инвертированный индекс
Инвертированный индекс — это структура данных, используемая для поиска во всем тексте. Дается ряд текстовых файлов, реализуйте программу для создания инвертированного индекса. Также создайте пользовательский интерфейс для поиска, использующего инвертированный индекс, который возвращает список файлов, содержащих выражения или выражения из запроса. Память может содержать поисковой индекс. Реализация: Java.
Перевернуть строку
Вводится строка, и программа ее переворачивает и распечатывает на экран. Реализации: Python №1, Python №2, Java №1, Haskell, Python №3, Java №2, Go, JavaScript №1, Java №3, Python №4, JavaScript №2.
Поросячья латынь
Это «тайный язык», представляющий собой зашифрованный английский. Чтобы сделать поросяче-латинское слово из английского, нужно первые согласные звуки в слове переместить в конец и прибавить ay (Например: «banana» превращается в anana-bay). Подробнее о правилах читайте в Википедии. Реализации: Python №1, Python №2, Java №1, Java №2, Go, Java №3, Python №3.
Счетчик гласных
Вводится строка, и программа считает количество гласных в тексте. Для усложнения задачи можно генерировать отчет о том, сколько раз какая гласная была найдена. Реализации: Python №1, Python №2, Haskell, Java №1,Go, Java №2, Python №3.
Проверка на палиндром
Программа проверяет на то, что введенная строка является палиндромом (то есть читается слева направо так же, как и справа налево). Реализации:Python №1,Python №2, Java,Haskell,Python №3,Go,Java
Счетчик слов в строке
Посчитать число слов в строке. Для усложнения задачи считать эти строчки и сгенерировать отчет. Реализации: Python №1, Python №2, Java, Haskell.
Текстовый редактор
Приложение в стиле блокнота, способное открыть, редактировать и сохранять текстовые документы. По желанию: добавить подсветку синтаксиса и другие фичи. Реализации: Python, С++/QT.
Генератор RSS ленты
Дается ссыка на ленту RSS/atom, извлечь все посты и распечатать на экран. Реализация: Python.
Стикеры
Программа, в которой вы можете добавить текстовые напоминания и вывесить их. По желанию: вы можете добавить в программу возможность создавать напоминания в виде всплывающих окон.
Проверка показателей индексов фондовой биржи
Программа, которая проверяет цены акций фондовой биржи для списка наименований акций, введенных пользователем. Пользователь может указать, насколько часто будут проверяться значения акций фондовой биржи. Если реализация в виде утилиты командной строки, покажите увеличилась ли цена акции или ушла вниз. По желанию: если реализация сделана с использованием графических интерфейсов, программа может показывать зеленую или красную стрелочку в зависимости от того, как изменилась цена акции. Реализации: Python.
Гостевая книга / журнал
Простое приложение, позволяющее людям добавлять комментарии или добавлять записи в журнал. В нем есть возможность добавлять или закрывать комментарии, а также время добавления записи. По желанию: запустите приложение на такой облачной платформе как Google App Engine или Heroku или любой другой(если возможно).
Гороскоп
Программа проверяет ваш гороскоп на разных сайтах, посвященных этому и соединяет все прогнозы воедино для каждого дня. Реализации: Python.
Шифр Винежера / Вернама / Цезаря
Функции для шифрования и расшифровывания сообщения с данными. Затем отправьте их другу. Реализации: Python, Java.
Предложения для любого подарка
Ввести разные подарки для определенных людей. Когда пришло время для того, чтобы вручить подарок, программа сгенерирует произвольный из введенных. По желанию: предложить место, где их можно приобрести (возможно, ссылку на страницу в сервисе Amazon).
Конвертер из языка разметки Markdown в HTML
Переводит текст, отформатированный с помощью Markdown в файл HTML. Реализовать базовые теги такие, как p
, strong
, em
и так далее. По желанию: реализовать все теги из документации к синтаксису Markdown. Реализация: Python.
Инструмент для обработки запросов в виде регулярных выражений
Программа позволяет пользователю вводить текстовую строку и затем в отдельном поле регулярное выражение. После запуска программа должна выдать все подходящие под регулярное выражение строчки или флаг ошибки. Реализация:Python
Программа FTP
Программа, осуществляющая пересылку файлов туда и обратно из удаленного веб-сервера. Реализация: C.
Монитор трафика
Маленькая утилита, проверяющая сколько данных было загружено на компьютер и с него во время текущего сеанса в сети. Добавьте в программу возможность узнать в какие периоды дня вы используйте больше или меньше трафика и возможность сгенерировать отчет или график, который это показывает.
Сканер портов
Введите IP адрес и диапазон портов, в которых программа попробует найти открытые порты на данном компьютеров путем соединения с каждым из ним. При успешном соединении программа должна пометить порт как открытый. Реализации: Python №1, Python №2, Python №3, Python №4.
Проверка электронной почты (POP3 / IMAP)
Пользователь вводит различную информацию своего аккаунта, включая веб-сервер и IP, тип протокола (POP3 или IMAP) и приложение будет автоматически проверять почту каждый заданный интервал времени. Реализация: Java.
Инструмент поиска для сетевого протокола Whois
Пользователь вводит IP и адрес хоста и программа просматривает информацию через сетевой протокол Whois и выводит регистрационные данные. Реализация: Python.
Проверка сайта в установленное время
Приложение пробует соединиться с сайтом или сервером периодически с заданным интервалом или просто через некоторое время и проверяет, есть ли неполадки с подключением. Если сайт или сервер не работают, программа оповестит по электронной почте или вышлет уведомление на экран. Реализация: Python.
Продуктовый инвентарь
Создайте приложение, которое позволяет вести учет инвентаря продуктов. Создайте класс Product, элементами класса будут цена, номер, количество. Затем создайте класс Inventory, ведущий учет различных продуктов и который считает общую стоимость инвентаря. Реализации: Python №1, Ruby, JavaScript, Go, Python №2.
Система бронирования отелей / авиабилетов
Создайте систему резервирования на самолет или комнату в отеле. Программа способна распределить цены по различным секциям в зависимости от отеля или места в самолете. Например, бизнес-класс будет стоить дороже, чем эконом-класс. Комнаты отеля, расположенные в пентхаусе стоят больше. Программа следит за обновлениями того, какие комнаты доступны и когда могут быть забронированы.
Bank Account Manager
Создайте класс Account, который будет абстрактным классом для трех классов CheckingAccount(контокоррентный счет), SavingsAccount (сберегательный вклад) и BusinessAccount (счет, возникающий при создании бизнеса). Управляйте кредитами и дебитами с этих счетов в стиле программы для банкомата. Реализация:Python
Расписание приема врача
Создайте класс Patient и класс Doctor. Пусть доктор может принять несколько пациентов, установите расписание того, как доктор будет принимать 16 пациентов в течение 8 часового рабочего дня.
Менеджер рецептов
Создайте класс Recipe с ингридиентами и вставьте объекты данного типа в менеджер рецептов, которая их распределит по категориям(основные блюда и десерты) или по ингридиентам(курица, говядина и так далее).
Галерея изображений
Создайте абстрактный класс Image и затем класс, производный от него для каждого типа изображений. Вставьте их в программу, которая будет отображать изображения в стиле галереи.
Площадь и периметр фигуры
Создайте абстрактный класс Shape и затем создайте производные классы, такие как бриллиант, прямоугольник, круг, треугольник и так далее. Затем происходит перекрытие имен функций, ищущих площадь и периметр для каждого типа фигуры. Реализации: Java, Python.
Цветочный магазин с возможностью заказа
Создайте приложение для цветочного магазина, которое работает с цветами, как объектами и использует их в объекте букет, который потом будет продан. Программа следит за количеством объектов и когда вам может понадобиться заказать больше.
Создание древа семьи
Напишите класс Person, в котором будет элемент имя, дата рождения и, если есть, смерти. Программа позволяет пользователям создавать классы Person и помещать их в семейное древо. Программа печатает древо на экран. Реализация: C++.
Создание индикатора процесса загрузки
Создайте индикатор состояния для приложений, которые могут отслеживать процесс загрузки. Индикатор состояния должен находиться в отдельной ветке и сообщаться с главной веткой с помощью делегатов. Реализации: Go.
Программа для массового создания эскизов для предварительного просмотра изображений
Обработка изображений может занимать достаточно долгое время. Особенно если изображение большого размера. Создайте программу обработки изображений, которая может взять сотню изображений и сконвертировать их до нужного размера в фоновом режиме. В качестве более сложного задания выделите одну ветку для изменения размера изображения, другую — для массового переименования эскизов и т.д. Реализации: Java.
Индексатор веб-страницы
Создайте приложение, которое соединяется с веб-сайтом, забирает оттуда все ссылки или изображения и сохраняет их в качестве списка. *По желанию: Организуйте проиндексированную информацию, удалите дублирующиеся данные. Залейте результаты в индекс-файл. * Реализации: Python.
Веб-браузер с вкладками
Создайте небольшой веб-браузер, который сможет просматривать материалы сети в разных вкладках, позволяющих просматривать несколько веб-страниц одновременно. Для упрощения задачи не думайте об исполняемом Javascript и другом коде с клиентской стороны.
Доска для рисования онлайн
Создайте приложение, которое позволит рисовать, писать заметки, используя различные цвета, чтобы можно было быстро и удобно записывать идеи для проектов. По желанию: добавить возможность приглашения друзей для совместного использования
Получить атомное время из интернет-часов
Эта программа будет получить сведения об атомном международном времени из интернета. Используйте любые атомные часы, которые найдёте в поиске Google. Реализации: Go, Java.
Получить текущие данные о погоде
Получите актуальные погодные данные по почтовому индексу. По желанию: Попробуйте определить местоположение пользователя автоматически. Реализация: Python.
Авто-логин и автоматические действия по таймеру
Создайте приложение, которое входит на определённый веб-сайт в запланированное время, производит определённое действие и выходит из аккаунта. Это может быть полезно для проверки почтового клиента, постинга контента или для получения информации и сохранения её на компьютере.
Генератор электронных открыток
Создайте сайт, позволяющий пользователям создавать собственные небольшие электронные открытки и посылать их другим. Не используйте Flash. Используйте галерею изображений и, возможно, вдохновляющие цитаты и девизы.
Система контент-менеджмента
Создайте собственную систему управления контентом (CMS) наподобие Joomla, Drupal, PHP Nuke и т.д. Начните с малого. По желанию: Разрешите добавление модулей/аддонов.
Доска объявлений (Форум)
Создайте форум, на котором вы и ваши друзья смогут писать сообщения, администрировать и делиться мыслями и идеями.
CAPTCHA-генератор
Когда-нибудь видели изображения с цифрами и буквами, которые нужно ввести в форму регистрации на каком-нибудь онлайн-сервисе? Это нужно для фильтрации автоматической регистрации ботами и предотвращения спама. Попробуйте создать собственную капчу для онлайн-форм.
Создание викторины
Сделайте приложение, которое рандомно берет различные вопросы из файла и соединяет их вместе, создавая викторину для студентов. Затем приложение должно сравнивать ответы с правильными вариантами.
Файловый проводник
Создайте собственный небольшой файловый проводник для Windows. Добавьте ту функциональность, которую вам не хватало в обычном проводнике Windows или в Finder на Mac OS.
Утилита для сортировки Excel/CSV файлов
Читает записи в файле, сортирует их и записывает их обратно в файл. Позволяет выбрать различные варианты сортировки и сортировку по конкретному полю. Реализация: Python.
Создайте Zip-архиватор
Пользователь добавляет файлы из различных директорий, а программа архивирует их в zip-файл. По желанию: применить Примените современные алгоритмы сжатия. Начните с кода Хаффмана. Реализация: Java.
Генератор PDF файлов
Приложение, которое может читать текстовый файл, файл HTML или какой-либо другой файл и генерировать из него PDF. Отлично подходит для онлайн конвертеров, где пользователь загружает файл и программа возвращает PDF файл По желанию: запустить приложение в облачных сервисах, таких как Google App Engine или Heroku, если возможно.
Программа для теггирования Mp3
Изменяет и добавляет ID3v1-теги в MP3-файлы. Можете попробовать добавить обложку альбома в хедер MP3-файла, или другие ID3v2-теги.
Менеджер кода
Ещё одна утилита, которая позволяет программистам сохранить функции, классы и другие элементы кода для последующего использования. Данные организованы по типу элемента или по языку, чтобы программист смог легко найти нужный элемент. По желанию: В качестве дополнительного упражнения попробуйте добавить выделение синтаксических конструкций в зависимости от используемого языка.
Анализатор SQL-запросов
Утилита, в которую пользователь может ввести запрос и исполнить его в локальной базе данных, чтобы найти способы повысить эффективность запроса.
Инструмент удалённого соединения с SQL-сервером
Утилита, которая может выполнять запросы на удалённые сервера с локального компьютера посредством сети интернет. Утилита должна воспринимать удалённый хост, имя и пароль пользователя, выполнить запрос и вернуть результаты. Реализация: Python.
Генератор отчётов
Создайте утилиту, которая генерирует отчёт на основе сводок в базе данных. Утилита создаёт отчёт о продажах, основываясь на сводных таблицах заказов, или подводит ежедневный итог по операциям в базе данных.
Планировщик событий и календарь
Сделайте приложение, которое позволит пользователю заносить дату и время события, а также кое-какие заметки в календарь. Пользователь должен иметь возможность просмотреть календарь или найти определенное событие. По желанию: добавить возможность создавать повторяющиеся события (каждый день, неделю, месяц, год и т. д.)
Домашняя бухгалтерия
Приложение, которое следит за бюджетом. Пользователь может добавлять текущие расходы и доходы, чтобы узнать, сколько он экономит или расходует сверх бюджета. По желанию: добавить возможность указывать временной диапазон, за который можно посмотреть чистый доход и расход.
Адресная книга
Содержит контакты, включая номера, адреса электронной почты и небольшие заметки о них. Реализация: Python.
Программа для отслеживания ТВ-серий
Не хотите пропустить любимый сериал? Нет записывающего устройства или хотите найти серию и записать её позднее? Создайте приложение, которое будет осуществлять поиск по сайтам телевизионных передач, определять названия/время/каналы и добавлять их в базу данных. База данных/веб-сайт затем могут посылать вам email-уведомления о начале сериала и о канале трансляции. Реализация: Python.
Система планирования путешествий
Создайте систему, которая позволяет пользователям собрать в одном месте и отслеживать информацию по путешествию: авиабилеты, номера в отелях, достопримечательности, бюджет и расписание.
Слайд-шоу
Создайте приложение, которое показывает картинки в формате слайд-шоу. По желанию: добавьте эффекты, например, различные переходы (в виде звезды, круга, жалюзи и т.д.)
Проигрыватель онлайн-видео
Попробуйте создать собственный проигрыватель онлайн-видеороликов.
Mp3 Плеер
Простая программа для проигрывания вашей любимой музыки. Добавьте фичи, которых, по вашему мнению, не достает вашему обычному музыкальному проигрывателю.
Проигрыватель онлайн-музыки
Попробуйте создать собственный проигрыватель онлайн-музыкальных треков. Реализация: PHP.
Приложение для создания ватермарков
Хотите защитить авторские права на некоторые изображения? Добавьте своё лого или текст на изображение, чтобы никто не мог украсть графику с вашего сайта. Создайте программу, накладывающую ватермарк на изображение. *По желанию: Используйте многопоточность для одновременной обработки нескольких изображений. * Реализация: Python.
Черепашья графика
Стандартный проект, в котором вы создаёте плоскость из квадратов 20х20. С помощью различных команд вы управляете черепахой, которая рисует линию на плоскости. Вы можете двигать её вперёд, назад, двигать влево и вправо, поднимать и опускать перо и т.д. Подробную информацию ищите в Google по запросу “черепашья графика”. По желанию: добавьте в программу возможность считывать список команд из файла
Шифр Цезаря
Реализуйте шифр Цезаря, как шифрование, так и дешифрование. Ключом является целое число от 1 до 25. Этот ключ сдвигает буквы алфавита (от A до Z). При шифровании каждая буква алфавита заменяется буквой, находящейся на выбранное количество позиций дальше (алфавит закольцовывается). Таким образом, при использовании ключа 2 “HI” становится “JK”, а при использовании ключа 20 “HI” превращается в “BC”. Это простое моноалфавитное шифрование легко взламывается, поскольку злоумышленник, у которого на руках есть зашифрованное послание, может использовать частотный анализ, или просто попробовать все 25 ключей. Реализации: Python №1, Python №2, Java.
Изучаем алгоритмы и структуры данных правильно
10 идей проектов для резюме и закрепления навыков
Современное ПО по большей части представляет собой SaaS и web-приложения. Это значит, что вам необходимо уметь программировать онлайн и, конечно же, демонстрировать эти навыки в своем резюме.
Совет: сходу создать полноценный веб-сайт или ПО сложно. Для начала поработайте над страницей входа или главной страницей, на которую пользователь попадет после осуществления входа в систему. Пытаясь сразу взяться за весь проект целиком, вы наверняка потерпите поражение.
Развлекательные платформы
1. Веб-парсер, автоматически публикующий 10 наиболее популярных блогов
Парсеры часто создают просто для того, чтобы улучшить навыки программирования. Но что делать с парсером дальше – после создания и очистки данных? Давайте не будем просто удалять данные, а создадим на их основе веб-сайт. Пусть парсер сохраняет данные в одну базу данных, после чего выбирает среди них наиболее популярные. Дальше он может копировать заголовок и пару предложений из текста, формировать из них сообщение и делиться результатом в Интернете. Такой проект будет действительно впечатляющим, даже не смотря на свою относительную простоту, а значит, вы сможете смело хвастать своей работой.
Реализовав эту идею, вы покажете, что способны на большее, чем создавать код небольшого фрагмента системы – вы можете продумать и написать всю систему. Спланируйте автоматизацию процесса, управление БД, создание веб-сайта и технологию отбора публикаций. Пройдя данный путь целиком, вы получите отличный работающий конечный продукт. Да и кто знает, возможно, ваш сайт понравится пользователям и обретет некую популярность!
2. Система напоминания о предстоящих событиях
Часто ли вы вспоминали о каких-то важных днях, событиях или мероприятиях уже после того, как они прошли? Наверняка это периодически случается с каждым из нас. Давайте создадим свой агрегатор напоминаний (используя API Meetup и сайт Eventbrite), дающий пользователю сигнал, когда в названии или описании события будут присутствовать выбранные ключевые слова. Настроить систему вы можете по своему желанию.
3. Платформа для публикации и просмотра контента
Создавая свой проект, не обязательно изобретать велосипед. Можно попытаться скопировать любой популярный сайт, что будет не только полезно, но и интересно. Реализуйте для начала простой вариант, как например, сайт, позволяющий войти в систему, загрузить и опубликовать фото, а также пролистать ленту. В дальнейшем стремитесь добавлять функции: возможность подписаться, оценить публикацию и искать материалы. Кстати, поиск – это прекрасный шанс углубиться в машинное обучение!
4. ПО, дающее рекомендации по подаркам
Согласитесь, бывает сложно найти подходящий презент для близкого человека? Так давайте создадим сайт, который будет подсказывать, что можно приобрести в подарок другу или родственнику. В рамках данного проекта вам нужно будет разработать БД, предусмотреть функцию создания учетных записей и, как вариант, использовать API интернет-магазинов (Amazon и аналогичные площадки) для указания партнерских ссылок. Полностью справившись с этой задачей, вы сможете зарабатывать на комиссии за проданные продукты.
Кроме того, здесь можно попытаться реализовать базовую модель machine learning: научить сайт определять лучший подарок на основании скорости отклика пользователей на предложенные варианты.
5. Торговая площадка
Можно создать веб-сайт, отвечающий за сделки купли-продажи. Данная концепция позволит подумать и поработать над несколькими важными функциями, поэтому без заранее продуманного четкого плана «атаковать» ее не получится.
Отдельные возможности, над которыми стоит поразмыслить, – это публикация пользователями сообщений, поиск последних загруженных товаров и, возможно, сам способ совершения торговой сделки.
Вовсе не обязательно стремиться сделать на 100% жизненный и практичный вариант, потому что ваша главная задача – это улучшение своих навыков программирования.
B2B
6. Программа для управления контрактами и выставления счетов
Эти бизнес процессы очень сложные. Например, в контрактах обычно содержится большое количество нюансов и трудно отслеживаемых положений. Так что данный проект будет для вас хорошим вызовом.
Не усложняйте себе задачу: выберите базовую функцию, допустим, ввод в БД положений контракта, и первым делом реализуйте эту часть. Дальше добавьте другие функции: отслеживание счетов, анализ контрактов и составление прогнозов.
7. По для управления задачами
Прекрасное поле для экспериментов – доски задач. Для начала настройте удобный и надежный пользовательский интерфейс. Фактически, такой проект должен быть творением двух специалистов: фронтенд- и бэкенд-разработчика. Так что это к тому же отличный шанс прокачать навыки командной работы.
8. Доска объявлений
Когда в проекте должна быть предусмотрена возможность вводить данные, причем разные для разных пользователей (в этом случае работодатели и соискатели), это добавляет любопытный аспект дизайна. Опять же, советуем не распыляться на все сразу. Сперва воплотите в жизнь возможность создавать и публиковать объявления с вакансиями. Далее сосредоточьтесь на соискателях и том, как они будут оставлять свой отклик.
9. Портал, прогнозирующий прибыль
Наборы данных большинства компаний вполне стандартизированы. Речь идет в основном про элементы бухгалтерского учета: счета, транзакции и пр. И за счет стандартизации аналитику таких данных очень легко осуществлять. Создайте информационную панель, позволяющую компаниям делать прогнозы расходов и формировать отчеты по ежемесячным расходам.
В этом проекте вам также придется поработать над вопросом обеспечения безопасности данных. Но начинайте работу с создания модулей для сбора и отображения данных, и только потом переходите к их защите.
Игры
10. Snake (Змейка)
С этой легендарной игрой вы наверняка знакомы. Она простая, но ничто не мешает вам попытаться ее усложнить! В собственную онлайн-Змейку вы можете добавить новые функции, например, особенные предметы или умения.
Идеи программ для взрослых и молодежи
Коротко: Миры Мориса Сендака
Блокнот поддержки сайта
Форматы программы:
Организуйте демонстрационное мероприятие за один-два месяца до прибытия выставки, чтобы вызвать интерес. Возможные мероприятия включают лекции, просмотр фильмов и чтение работ Сендака, в том числе «Где водятся дикие твари» и «В ночной кухне».
Спонсируйте программу «Одна книга, одно сообщество» во время выставки, используя одну из популярных книг Сендака. Программа может быть представлена как семейная программа, в рамках которой взрослые, молодые люди и дети могут вместе читать книгу.
Представить тематические онлайн-выставки , такие как «От приюта к дому: 350 лет еврейской жизни в Америке» Библиотеки Конгресса, http://www.loc.gov/exhibits/haventohome/, или выставку, посвященную Холокост из Яд Вашем,
http://www1.yadvashem.org/yv/en/exhibitions/index.asp, для дальнейшего изучения влияния еврейской культуры и истории на творчество Сендака.
Создание экспозиций или сопутствующих экспонатов фотографий, устных рассказов и других экспонатов, документирующих иммиграцию в вашем сообществе.
Найдите людей в вашем сообществе , у которых есть семейные истории, дневники и/или артефакты, документирующие еврейский опыт в местном или другом месте в США. Создайте связанные экспонаты или попросите их выступить на программе. Запишите их истории.
Пригласите профессиональных рассказчиков , чтобы они прочитали одно или несколько произведений Сендака, таких как «Где водятся дикие твари» или «Там снаружи», вместе с европейскими сказками о гоблинах, подменышах и других фантастических существах, чтобы проиллюстрировать часть вдохновения Сендака при создании его работает.
Создайте серию дискуссий о еврейской миграции в Соединенные Штаты и/или еврейском американском опыте. Посетите веб-сайт Месяца еврейского американского наследия (http://www.
Спонсируйте группу обсуждения книг , используя книги из списков в разделе ресурсов или другие книги, которые, по вашему мнению, будут хорошо приняты.
Пригласите местных художников посетить вашу библиотеку и устроить дискуссию о творчестве Сендака — его влиянии, его месте в истории американского искусства и его наследии.
Представьте музыкальную программу с участием Ирвинга Берлина, Джорджа и Айры Гершвин, Гарольда Арлена, Джерома Керна и других еврейских авторов песен эпохи детства и юности Сендака (1930-х – 1950-х гг. ).
Организуйте показ фильма экранизации Спайка Джонза 2009 года «Там, где обитают дикие существа», а также обсуждение фильма.
Создайте межпоколенческие программы , чтобы члены сообщества могли обсудить и узнать: еврейскую историю и культуру, или как Сендак соединил два мира своими произведениями искусства и рассказами, или другую связанную тему.
Темы программ:
- Сравните более фантастические произведения Сендака, такие как Outside Over There или Where the Wild Things Are с работами братьев Гримм и других европейских гоблинов – и как поживают европейские гоблины. другие существа похожи? Как каждый из них относился к популярной культуре того времени? Каковы были подтексты?
- Создайте программу, в которой рассматривается роль родителей (особенно матерей) и семьи в произведениях Сендака, которые часто изображаются странными, раздражительными, даже чудовищными, но в конечном итоге утешительными для детей-героев.
- Узнайте о жизни восточноевропейского местечка с помощью писем, фильмов, фотографий и других ресурсов.
- Узнайте больше о детстве Сендака, политических убеждениях и/или увлечении популярной культурой и текущими событиями, а также о том, как они могли вдохновить его причудливые произведения искусства и истории.
- Посмотрите на вклад американских евреев в наше общество, изучая биографии, фильмы, дневники и другие материалы для вдохновения. Пригласите местного ученого для подробного обсуждения конкретных людей, особенно тех, кто имел влияние в сообществе вашей библиотеки.
- Проведите дискуссию о детях и их стойкости на протяжении всей истории. Потенциальные темы, на которых можно сосредоточиться, могут включать детей Холокоста, детей в Америке во время Великой депрессии или детей иммигрантов. Включите чтение произведений Сендака, таких как Мы все на свалке с Джеком и Гаем, Окно Кенни, Там снаружи, и другие.
- Проведите обсуждение концепции иммиграции и ассимиляции.
Идеи программ для юной аудитории
Проведите «Парад монстров», поощряя детей (и их родителей!) одеваться как монстры, заканчивая чтением Где обитают дикие твари
Разработайте сборник стихов для подростков. Пусть подростки напишут и исполнят стихи, творчески выражающие их мысли и повышающие осведомленность о проблемах, связанных с иммиграцией, еврейской культурой, детством или войной — или другой темой, поднятой в одной из работ Сендака.
Попросите детей написать открытки или письма — или создать произведение искусства — для отправки в Сендак. Разместите копии их писем и открыток — с разрешения детей и их родителей — в своей библиотеке.
Сотрудничайте с местным детским музеем по программам, посвященным иммиграции в ваш район или еврейской культуре в вашем районе.
Создать конкурс короткометражных документальных фильмов. Обучите молодежь программному обеспечению для производства видео и предложите им изучить темы выставки с помощью изображений и звука.
Пригласите местных художников провести с детьми беседу о том, как искусство может рассказывать истории, используя в качестве ориентира работы Сендака.
Идеи программы со школами
Вместе с ведущим учителем или учителями спонсируйте учебный семинар «В двух словах: Миры Мориса Сендака» для учителей в вашем районе с использованием различных учебных материалов.
Наймите учителя или библиотекаря, чтобы представить учебное задание библиотечной аудитории, состоящей из молодых людей.
Поощряйте учителей местных школ использовать темы Мориса Сендака, еврейской культуры и жизни, а также темы иммиграции в учебной программе во время выставки.
Запланируйте школьные экскурсии, чтобы увидеть «В двух словах: миры Мориса Сендака». Создайте руководство по образовательной деятельности для молодых людей, чтобы использовать его и обсуждать во время просмотра выставки.
Сотрудничайте с местными начальными школами для проведения конкурса по написанию рассказов и иллюстраций. Попросите детей создать рассказы и рисунки в духе сказок Сендака, кульминацией которых станет церемония награждения ребенка/детей-победителей.
Сендак в 1979 году превратил свою популярную книгу « Где дикие твари » в оперу. Сотрудничайте с местными школами, чтобы представить одно из произведений Сендака в виде спектакля — оперы, пьесы, танцевального номера и т. д. На сайте Центра Кеннеди Arts Edge есть полезный план урока по превращению литературы в мюзикл или пьесу: http://artsedge.kennedy-center.org/educators/lessons/grade-9-12/Adapting_a_Musical.aspx
Вернуться к оглавлению
13 Проекты по кодированию и идеи по программированию для начинающих
В ЭТОЙ СТАТЬЕ
- Что такое проект по кодированию?
- Идеи проектов кодирования для начинающих
- Продвижение ваших проектов кодирования
- Где найти больше идей для проектов кодирования
- Часто задаваемые вопросы о проектах кодирования
ПРИСОЕДИНЯЙТЕСЬ К НАШЕМУ НОВОСТИ
игра. Они бросают вам вызов, чтобы вы овладели жизненно важными навыками и воплотили свои теоретические знания в реальный код. Помимо проверки вашей способности пересказывать то, что вы уже узнали, создание простых приложений также научит вас структурировать проекты кодирования, развертывать код и отлаживать приложения после их запуска.
Создаваемые вами приложения также помогут вам продвинуться в индустрии программного обеспечения. Имея за плечами достаточное количество проектов, вы можете создать портфолио, которое покажет рекрутерам, что у вас есть как технические навыки, так и страсть к успеху в отрасли. Работодатели ценят, когда у кандидатов-младших разработчиков есть некоторый реальный опыт, даже если этот опыт — всего лишь проекты, над которыми они работали в свободное время.
Итак, если вы новичок в программировании, вам, вероятно, интересно, над какими проектами кодирования вы можете работать. Читайте дальше, чтобы узнать больше о некоторых забавных проектах по программированию, которые проверят ваши навыки. (Посмотрите здесь, если сложно научиться программировать, особенно если вы в конечном итоге хотите стать инженером-программистом.)
Что такое проект кодирования?
Проекты по кодированию — это простые приложения, созданные младшими разработчиками или новичками. Эти приложения обычно имеют одну функциональность, например, список дел или генератор случайных чисел. Эти проекты легко концептуализировать и строить от начала до конца, если один разработчик находится в начале своей карьеры.
Проекты по кодированию требуют от вас выбора правильного языка программирования для решения конкретной задачи, определения архитектуры проекта и реализации функций приложения. Это делает проекты кодирования идеальным введением в программирование в реальном мире.
Теперь давайте рассмотрим некоторые проекты для начинающих программистов и их ключевые особенности. Целью этих проектов является написание высококачественного кода и его чистое выполнение, так что не стоит слишком беспокоиться о добавлении наворотов.
Идеи для проектов по кодированию для начинающих
Простой калькулятор
Создание калькулятора — отличная идея для вашего первого проекта по программированию. Он будет состоять из построения дисплея с цифрами от 1 до 9, математических операторов и кнопки, которая выводит результат на экран.
Выполнение фактических вычислений на бэкенде довольно просто в большинстве языков программирования. Вы узнаете, как принимать ввод от пользователей, как операнды, так и операцию, и отображать результат вычисления. Вы можете сделать пользовательский интерфейс очень простым или более сложным, если вы заинтересованы в разработке внешнего интерфейса.
Одностраничный веб-сайт
Создание одностраничного веб-сайта — хороший способ начать свой путь веб-разработчика. Для начала вам нужно построить каркас сайта. Вам нужно представить себе каждый раздел, его положение на странице и стили, которые вы будете использовать. Есть много веб-сайтов, которые вы можете использовать в качестве вдохновения для своего самого первого проекта. Более продвинутые разработчики могут работать над такими вещами, как анимация и сохранение пользовательского ввода.
Magic 8-Ball
В волшебной игре 8-ball используется простая логика программирования, что превращает кодирование в увлекательное занятие. Восьмерка должна отображать новое сообщение каждый раз, когда кто-то встряхивает ее. Итак, как разработчик, вы хотите связать определенную текстовую строку с переменной, а затем случайным образом выбирать определенную переменную каждый раз, когда пользователь встряхивает мяч. Его довольно легко реализовать, и может быть интересно поэкспериментировать с внешним дизайном.
Календарь
Создание приложения календаря — это увлекательный способ использования некоторых встроенных библиотек, доступных в языках программирования, которые вы будете использовать. Например, в Python есть модуль календаря, который можно использовать для получения данных по григорианскому календарю.
Существует несколько способов работы над этой идеей проекта программирования. Если вы не хотите усложнять задачу, вы можете создать календарь, в котором будут отображаться даты и дни текущего месяца. Чтобы сделать его более динамичным, вы можете попросить пользователей ввести определенный месяц и год, а затем отобразить календарь на этот конкретный месяц.
Познакомьтесь с другими студентами, изучающими программную инженерию
Притиша Кумар
Инженер-программист в Dialpad
Читать историю
Geraldo Gomes
Инженер-программист в Affirm
Прочитать историю
Мэтью Диллон
Front End Developer в LaunchBadge
Прочитать историю
Конвертер валют
Создание конвертера валют — это забавный проект по кодированию данных из Интернета, который проверяет вашу способность к кодированию из Интернета . Существует несколько API-интерфейсов, позволяющих получать финансовые данные, которые пригодятся при создании конвертера валют.
Несложно представить, как будет выглядеть это приложение. Вы начинаете с того, что позволяете пользователям выбирать сумму в одной валюте. Затем они могут нажать кнопку, чтобы отобразить эквивалентную сумму в целевой валюте.
Средство проверки дубликатов текста
Средство проверки дубликатов текста — это хороший способ научиться анализировать текст, что является важным навыком для разработчика программного обеспечения.
Цель состоит в том, чтобы пользователь ввел строку текста, а затем удалил повторяющиеся записи. Предположим, исходная группа строк — «Яблоко, банан, апельсин, банан, яблоко». Средство проверки текста проанализирует это и устранит повторяющиеся записи.
Веб-скрейпинг
Веб-скрейпинг — это процесс извлечения данных с одного или нескольких веб-сайтов. Создание веб-скребка — это возможность начать думать об источниках данных и о том, как вы можете сопоставлять ценные данные из разрозненных источников.
Допустим, вы хотите сравнить цены на определенные товары на сайтах электронной коммерции. Вы должны выбрать сайты, с которых можно получить эти данные, а затем создать приложение для отображения их в табличной форме, что упрощает сравнение цен.
Weather App
Создание собственного погодного приложения может быть интересным способом научиться программировать приложения, использующие данные, полученные от третьих лиц.
Данные для вашего погодного приложения могут поступать из API, подобного тому, который предлагает OpenWeatherMap. Как только вы поймете, как использовать API, все необходимые данные станут доступны.
Вы можете поиграть с отображением информации. Вы можете сделать очень простой дизайн, просто отображая числа за определенный день. Или вы можете включить другие функции, подобные тем, которые включены в приложение погоды, которое вы, вероятно, используете, например, графику для представления различных видов погоды и автоматическое определение местоположения. Вы можете попробовать скопировать эти функции, если ищете более сложный проект.
Приложение для обмена файлами P2P
Этот проект лучше всего подходит для новых разработчиков, которые уже создали несколько проектов для начинающих. Цель этого проекта — позволить двум одноранговым узлам или компьютерам обмениваться файлами друг с другом. Системы P2P не нуждаются в архитектуре клиент-сервер, что означает, что они взаимодействуют друг с другом напрямую.
Создание приложения для обмена файлами P2P даст вам навыки кодирования, необходимые для работы с сетевыми протоколами, кодирования носителей и архитектур хранения.
Биржевой тикер
Биржевой тикер — еще один проект, который продемонстрирует молодым разработчикам возможности использования API. Существует множество API фондового рынка, из которых вы можете выбирать. Там есть все необходимые данные.
Вы можете усложнить этот проект, тщательно продумав пользовательский интерфейс. Как пользователи выбирают акции, которые они хотят отслеживать? Вы хотите показать исторические данные по акции, используя определенную визуализацию? Реализация таких функций может значительно увеличить ваши возможности кодирования.
YouTube Video Downloader
Возможности этого проекта легко представить. Вы можете попросить пользователей ввести URL-адрес YouTube, а затем нажать кнопку, чтобы начать загрузку файла. Возможно, вы можете отобразить сообщение после завершения загрузки.
Вы можете использовать встроенные функции потоковой передачи мультимедиа и библиотеки на таких языках, как Python, который является популярным языком программирования, для фактической загрузки данных. Чтобы продвинуть этот проект на шаг вперед, вы можете попросить пользователей выбрать формат для загружаемого видео.
Пинг-понг
Создание видеоигры — отличный способ освоить навыки программирования, такие как интерактивные функции и динамические выходные данные. Для начинающих программистов мы рекомендуем создать игру в пинг-понг. В игре участвуют два игрока, управляющие веслом с помощью мыши. Если игрок не может коснуться мяча, когда он достигает его стороны, его противник получает очко.
Игра проста, и вы можете легко создать ее на нескольких языках. Если вы хотите создать веб-страницу, работающую в Интернете, вы можете написать ее на Javascript и создать веб-страницу с помощью HTML и CSS.
Продвижение ваших проектов по программированию
После того, как вы проверили проект на наличие ошибок, сделайте еще один шаг и сделайте ваши проекты частью поиска работы. Вот несколько мест, где вы можете продвигать свои проекты.
Личный веб-сайт
Если у вас есть личный веб-сайт, у вас должна быть отдельная страница со всеми проектами, которые вы создали.
Портфолио
Рекрутеры любят яркое портфолио, даже если вы младший разработчик. Расскажите о том, как вы приступили к созданию проекта, и об инструментах, которые вы использовали в процессе.
LinkedIn — отличная платформа для продвижения ваших новейших проектов. Вы можете использовать раздел избранного в своем профиле LinkedIn, чтобы показать проекты, которые вы создали.
Github
Github может размещать код для ваших проектов. Рекрутеры будут впечатлены, потому что они могут просматривать код, который вы написали сами. Вы можете включить файл README в каждый репозиторий Github, чтобы рассказать о том, как вы задумали проект и создали его.
Где взять больше идей для проектов кодирования
Rosetta Code
Rosetta Code — это веб-сайт, на котором показано, как одну и ту же проблему можно решить на разных языках программирования. У него также есть страница с огромной коллекцией идей по программированию, которые отлично подходят для начинающих, и предложения по их кодированию.
Dream In Code
Это форум со списком проектов для начинающих программистов. Идеи проекта кодирования классифицируются в зависимости от характера проблемы, которую вы решаете, такой как сеть, файлы и базы данных.
Code Abbey
На веб-сайте Code Abbey в настоящее время есть список из 240 проектов кодирования, над которыми вы можете работать. Вы можете щелкнуть ссылки на этой странице, чтобы просмотреть подробную информацию о каждом проекте, включая примеры кода.
Часто задаваемые вопросы по проекту кодирования
Сколько времени вы должны потратить на проект программирования?
Вам не нужно уделять слишком много внимания тому, насколько эффективно вы используете свое время, когда вы работаете над проектами кодирования в качестве молодого разработчика. Вместо этого сосредоточьтесь на своем рабочем процессе и на том, как вы организуете свой проект. Вы станете более эффективно использовать свое время, работая над большим количеством проектов.
Как вам следует собирать отзывы о вашем проекте кодирования?
Покажите свои проекты людям с большим опытом, например наставнику, имеющему опыт работы в индустрии программного обеспечения. Наставники помогают начинающим программистам, предлагая новые способы решения проблем. В качестве альтернативы вы можете показать свой код профессору или коллегам, с которыми вы учитесь.
Сколько проектов по программированию вы должны выполнить как начинающий программист?
Приступайте к работе и работайте над другими проектами, пока не почувствуете уверенность в своей способности создавать приложения.