Write programs in a variety of computer languages, such as C++ and Java Update and expand existing programs Debug programs by testing for and fixing errors Build and use computer-assisted software engineering (CASE) tools to automate the writing of some code Use code libraries, which are collections of independent lines of code, to simplify the writing