To be able to read, modify, compose from smaller pieces, and debug programs with a maximum length of 50-250 lines of code.
To be able to understand how computers are used for communications tasks involving digital images, digital audio, text generation and searching, networking (especially automatically gathering information from the Web), databases, and digital video.
To be able to create simple user interfaces in a WIMP (Windows, Icons, Menus, and mouse Pointer) paradigm.
To be able to explain when data structures such as arrays, matrices, lists, and trees should be used and how.
To understand the rough edges of the theoretical limitations of computing, e.g., what kinds of algorithms can never run quickly, what kinds of algorithms cannot be written at all.