DO NOT TAKE, lecture heavy and is very difficult to understand, not many homework assignments but pretty difficult, programming assignments with template code but also a bit difficult. Exams are 50% of the grade and no study guide and sort of expect that you memorize everything and then asks super specific questions which you wont know