Algorithms, computer organization, data representation, program structure, programming techniques, numerical and non-numerical problems with emphasis on the analysis of problems and the formulation of algorithms for their solution. Numerous short programming assignments.