"Premature optimization is the root of all evil."-- Donald Ervin Knuth (1938-) "If you want to master something, teach it. The more you teach, the better you learn. Teaching is a powerful tool to learning."-- Richard Feynman (1918-1988) Goal This short course is designed for students who plan to learn about common data structures with efficient algorithms, solve LeetCode problems, and know state-of-the-art information techniques. The achievements of Algorithms Lab are listed below:
6/4/2023"xxx."-- xxx (yyyy-yyyy) Goal Multicore design is one of modern features of computer systems. You can easily see at least 4 cores in commercial CPUs in your desktop computers, laptops, even smart phones (for example, Apple A16 has one 6 cores CPU). However, the programming beginners rarely have opportunities to exploit the performance benefits of multi-core hardware, letting alone get a deep understanding of contemporary computer architecture. In recent years, Artificial Intelligence (AI) has become a prominent field, heavily relying on graphics processing units (GPUs) or accelerators for machine learning (ML). For example, the latest NVIDIA graphics card, the RTX 4090, has 16384 CUDA cores. Utilizing such an immense number of computational units has become a crucial challenge. This course shows you how to utilize these computing units (CPUs and GPUs) to unleash their computational performance. We will cover the following topics in ths course: Modern computer architecture and job scheduling in operating systems Multiprocessing & multithreading programming in Java, C#, and Python Parallel algorithms CUDA in C++
6/1/2023<br><br><br><br><br> "My name is Linus, and I am your God."-- Linus Torvalds "Linux is only free if your time has no value."-- Jamie Zawinski Instructor's Information Name: 盧政良 (Zheng-Liang Lu, Arthur) Email address: arthurzllu@gmail.com
5/31/2023本文整理資訊科學中會使用到的中學數學(特別是高中數學),適合++需要快速回顧的學員++或者++想超前學校進度的學員++。初估大班教室上課需花費約三小時。 數學的目的是透過簡化問題的方式了解世界,並非要用抽象的符號來困惱學生。 抽象的工具才有一般性,因此才能重複使用,能夠以一招打天下,做到見山不是山、見水不是水,培養看透外表、潛藏在背後的模式 (pattern)。 數學是工具,如同時下熱門的程式語言,需要的時候才補齊數學也不晚,唯一要考慮的代價就是成長曲線有可能比較平緩:年紀小的學員普遍吸收新知與計算能力較成年人來得強,可以有較陡峭的成長曲線。<img src = "https://hackmd.io/_uploads/Bk5u9QG59.png" height = 200px style="float:right"/> 預備知識:基礎算術能力:數數、四則運算、九九乘法、交換律、結合律、平方運算、根號運算。 基礎幾何能力,例如:圓形、三角形等,並能夠計算周長、面積等。 基礎代數能力,例如:$x = 1$ 且 $y = x + 1$,則$y = 2$。 基礎邏輯能力,例如:且 (and)、或 (or) 的定義。 如果想要快速具備上述基礎能力,可以參考日劇東大特訓班的訓練方式。
5/31/2023