Motivated by applications to topological data analysis, we give an efficient algorithm for computing a (minimal) presentation of a bigraded K[x, y]-module M , where K is a field. The algorithm takes as input a short chain complex of free modulesmemory, where |F i | denotes the size of a basis of F i . We observe that, given the presentation computed by our algorithm, the bigraded Betti numbers of M are readily computed. We also introduce a different but related algorithm, based on Koszul homology, which computes the bigraded Betti numbers without computing a presentation, with these same complexity bounds. These algorithms have been implemented in RIVET, a software tool for the visualization and analysis of two-parameter persistent homology. In experiments on topological data analysis problems, our approach outperforms the standard computational commutative algebra packages Singular and Macaulay2 by a wide margin.