Fundamental group is one of the most important topological invariants for general manifolds, which can be directly used as manifolds classification. In this work, we provide a series of practical and efficient algorithms to compute fundamental groups for general 3-manifolds based on CW cell decomposition. The input is a tetrahedral mesh, while the output is symbolic representation of its first fundamental group. We further simplify the fundamental group representation using computational algebraic method. We present the theoretical arguments of our algorithms, elaborate the algorithms with a number of examples, and give the analysis of their computational complexity.