Did you write the program and then find it running at a snail's pace? Or, shortly after executing it, the red disk light came on because your OS started swapping? Are you wondering how a computer can give you a different result than the real one, although the program is certainly correct? Do you want to learn how to speed up your program 100 times by optimal use of SW and HW, i.e., how to make your snail a turtle? Wondering how to optimize your code to work better with the operating memory? Do you long for tips and tricks for more accurate calculations?
Then welcome! In this course, you will learn about problems that are often encountered with current software, such as inefficient use of computing power, excessive memory requirements, or unstable computing, and you will have a basic understanding of how to design code to avoid these problems. You will also gain practical experience in designing various algorithms from both ACM examples and elsewhere.
The course is recommended as a selective course for gifted first-year students.