- thinks algorithmically and can analyze a problem using a programmatic conceptual apparatus;
- can choose a data type adequate to the problem being solved, and use suitable flow control means;
- can interpret and handle basic exceptions related to errors in program execution;
- understands a programmer's work in the software development process and the role of fundamental development tools;
- knows how a program is interpreted and executed in an actual computer environment, local or remote;
- can create and develop their own programming portfolio.