Мне не понятна суть вопроса. В чем конкретно проблема? Тут мы видим:
* Пытаюсь учить JS.
* Последнее, что делал, проходил скринкаст Кантора по созданию чата // какой тебе чат, ты же еще язык не выучил.
* где узнать про те самые "базовые алгоритмы, структуры, подходы...
Что за месиво, что за каша, что ты умеешь сейчас? Для чего тебе нужно программирование? Проект? Фриланс? Хобби?
Все программирование начинается с С++, забей на JS, забей на веб. В первую очередь читай
Герберт Шилдт "Полный справочник по C++" Читай, но не весь и постоянно пробуй это даже если скопируешь, изменишь и скомпилишь будет большой толк. Когда ты начнешь свободно ориентироваться в языке, то просто держи под рукой online-справочник по cpp типа
www.cplusplus.com/reference . Все теперь ты владешь сpp.
Далее два пути
Спортивный
знания тут -
e-maxx.ru/algo учишь алгоритмы
kpolyakov.narod.ru/school/probook/cpp.htm
практика тут -
acmp.ru www.e-olymp.com/ru codeforces.com - решаешь задачки, кстати именно в таком порядке посещаешь эти сайты, от простого к сложному. Там есть темы задач, выбрал простую тему, взял задачу, пытаешься найти нужный алгоритм на e-maxx, либо в гугле, только не надо задавать вопросы сюда, как решить этот "гроб".
Проектный (прикладной)
Тут ты смотришь на жестокий мир, и поражаешься почему никто до меня не сделал эту гениальную необходимую всем программу. Сюда так же входят те кто пишут игру своей мечты. Тут придется читать о проектировании, устройстве чего-либо аналогичного, учить всякие API. Лучше стать добрым программистом и начать с изучения cmake, git, github. А потом уже учить всякие API.
Однажды тебе скажут, что с++ плохо и есть что-то лучше. Всякие решеточки, змеи, острова и прочая ересь. Не верь им, все чем они лучше это возможность написать код быстрее жертвуя производительностью. Используй другие языки когда это действительно оправдано, не гонись за модой. А самое главное использование C# никогда не оправдано.