Первое, на что стоит обратить внимание: если вы дошли до уровня "ничего не понимаю", то вы что-то упустили раньше: недорозабрали тему, упустили какой-то момент, не обратили на что-то внимание. Сложность бывает накапливается, как снежный ком: маленькая соринка через несколько "уроков" превращается во что-то невообразимое, от чего хочется сдаться. Поэтому первый совет: вернитесь на несколько (возможно чуть больше чем несколько) тем раньше. Повторите эти темы, решите задачи снова и самостоятельно. В процессе перепрохождения вы должны наткнуться как раз на такой непонятный момент. Вот на нём и сосредоточьтесь, разберитесь и покопайте.
Второй совет. Он выглядит немного забавным, но он очень действенный. Воспользуйтесь методом утёнка: в момент, когда встретились с трудной задачей или какой-то проблемой, посадите перед собой резинового утёнка и рассказывайте ему всё, что думаете по решению задачи и задавайте ему вопросы. Объясняя и формулируя вопросы вы будете направлять ваши мысли в нужном направлении и, скорее всего, через некоторое время утёнок вам поможет — правильный ответ найдётся в вашей голове.
Третье предложение: попробуйте найти сообщников, чтобы не заниматься в одиночестве. Когда видишь, что похожие проблемы возникают у многих, становится легче. Поищите, может быть есть локальное комьюнити, с кем можно собраться и порешать задачи. Или найдите чат для новичков в программировании, там вы сможете задавать вопросы и получать помощь, увидите, что многие вопросы повторяются и через некоторое время, вы сможете сами кому-то помогать. А помощь другим, то есть объяснения какой-то темы — это один из самых действенных способов повышения своей квалификации. Если вы простыми словами можете объяснить какую-то тему, то вы её понимаете весьма хорошо.
Если вы не понимаете, что происходит в написанном вами коде, нужно учиться правильно отлаживать программы. В первую очередь внимательно читать все ошибки, которые выводятся при запуске. Не нужно бояться большого вывода в консоль, там всегда есть то, за что можно зацепиться: backtrace - список функций, которые последовательно вызывались в коде, указания на номер строки, где программа упала, достаточно часто прямым текстом пишется причина ошибки и метод её решения. Поэтому не бойтесь изучать логи. Посмотрите видео про то, как эффективно отлаживать код:
https://youtu.be/9iwYRcw3A8AТакже подумайте, о том, как вы реагируете на негативные мысли. Не нужно применять их к себе. Если попалась трудная задача, то не надо думать "я неспособен", "я филолог, а не математик". Можно попробовать мыслить, что, действительно, задача трудная, но её можно решить, разбив на более маленькие задачи. Прочитайте статью о том, как справляться с негативными мыслями во время обучения:
https://guides.hexlet.io/ru/learning/А иногда нужно просто дать себе передышку и немного отдохнуть. А ещё не забывать про сон и спорт. У вас всё получится