The goal of this project is to numerically solve the Navier-Stokes equations by using different numerical methods with particular emphasis on solving the problem of the flow past a square cylinder. In particular, we use the finite element method based on P2/P1 elements for the velocity and pressure fields for the spatial approximation, while the backward Euler method (with semi-implicit treatment of the nonlinear term) for the time discretization. We firstly test the numerical schemes on a benchmark problem with known exact solution. Then, we discuss in detail the advantages, in terms of computational costs, in using the algebraic Chorin-Temam method with additional implementation improvements. We finally investigate the problem of the two-dimensional flow past a square cylinder, focusing our attention on the range 0.1-300 for the Reynolds number (Re). We describe the two different regimes associated to the steady and the unsteady flows and we remark as the latter is in fact due to a Hopf bifurcation of the system. We also discuss the relation between the Strouhal and Reynolds numbers concluding that the Strouhal number attains its maximum value in the range 169-170 for the Reynolds number. In particular, a cubic model is proposed, showing very good matching with observed data and a better fitting than other models available in literature.