We start from some basic notions, like sheaves and cohomology, and try to introduce and prove Riemann-Roch theorem in the 2-dimension case. The definition of cohomology of a sheaf is more difficult to compute in some situation. However, the Čech cohomology of a sheaf over a paracompact space is isomorphic to the usual definition of cohomology,and Čech cohomology gives us a more concrete way to think what the cohomology of a sheaf is. In chapter 3 we introduce the concept of twisted complexes. We will use it to compute Ext and the class in Čech cohomology which is in the statement of Riemann-Roch theorem, and identify this class with characteristic class Td in cochain level by direct computation.