Ребятки, подскажите какой способ получения практики программирования более правильный? выбрать какой то проект и пилить его, или же сначала выбрать какую то тему, ну к примеру сериализация и делать приложение чисто на сериализацию?
В вашем вопросе отсутствует смысл. И тот и другой способ - практические, а значит оба приносят опыт. Остальное зависит от вашего восприятия. Кому-то проще ковыряться в чужом коде, кому-то интереснее в документации.
Более правильный способ - совмещать и пробовать все.
Среднее. Придумать проект исходя из тех штук которые вы хотите потыкать. Именно реальные юз кейсы. Для чего-то более углубленного можно попробовать запилить библиотеку для этой конкретной штуки (перед этим посмотрев что есть в готовых реализациях).
Для изучения программирования конечно нужно выбрать проект. В процессе придется использовать разные аспекты языка. А еще обязательно можно изобрести несколько своих велосипедов - это полезно для мозга и для понимания работы и полезности готовых решений.
А вот для изучения конкретной возможности языка, лучше запилить маленькую программку, чтобы понять как оно работает, прежде чем взять на вооружение.