Agenda:
- Introduction and Installation by Cheng-Lung Sung
- Quick Prototyping for Speed by Tzer-jen Wei
- Interaction with C by Yung-Yu Chen
Contents:
src/
: Source code of the examples.module/
: Course notes used in the classroom.
Instructor: Cheng-Lung Sung
- Introduction to Cython
- Build and Running Cython Code
- Extenstion Types
- Wrapping C library with Cython
- Using C++ in Cython
- Example Code: chatroom (tentative)
Instructor: Tzer-jen Wei
- When and when not to use cython for prototyping and speed up
- Fused type, type inference and Jedi typer automatic type injection
- Multithreading and GIL
- Typed memoryviews
- Basic hands on examples
- More hands on examples (if time permits)
- Discrete optimization algorithm
- Brainfuck interpreter
CPU emulator(Edit: too similar to interpreter, add Go AI example instead)- Go AI
Instructor: Yung-Yu Chen
- Array-based computing: a complete journey from Python to C
- Step 0: Set up the problem framework code
- Step 1: The initial Python version
- Step 2: Let Numpy help (from element-wise to vector-like code)
- Step 3: Cython-enhanced code (back from vector-like to element-wise code)
- Step 4: Go to C if it's not enough
- Example 1: Build Cython and C
- Example 2: Make a package
- Example 3: Compare all
- Conclusion
- Data sharing between Cython/Python and C
- Tweak pointers
- Share declaration