O objetivo principal de MAC0110 é desenvolver um raciocínio aplicado na formulação e resolução de problemas computacionais, ensinar como abordar e resolver problemas computacionais.

Em MAC0110 você aprenderá a escrever programas de computador. O ato de programar é uma ferramenta útil para trabalhar o raciocínio mencionado acima, bem como tornar mais concretos outros conceitos comuns em ciência da computação.

Ao longo dos anos, MAC0110 utilizou diversas linguagens de programação: Fortran, Pascal, C e Python. Em 2017, será utilizada a linguagem Python. O ensino de uma linguagem de programação é uma ferramenta didática, e um bônus concreto de aprendizagem, subordinado ao objetivo principal.

Em geral, uma vez adquirida familiaridade com uma linguagem de programação, não é difícil utilizar outra. Muitas vezes, basta apenas ler o manual. Desta forma, gostaríamos que no futuro você não se lembrasse de MAC0110 como um "Curso de Python", pois não o é! Em MAC0110, de fato, você aprenderá um pouco de Python e será cobrado pela aplicação apropriada dos conceitos vistos nas aulas (assim como seus colegas de anos anteriores aprenderam Fortran, Pascal, C ou Python). No entanto, o verdadeiro aprendizado será a familiaridade com os conceitos e princípios envolvidos em programar.

Ferramentas tais como funções nativas e módulos existentes no Python evitam que reinvetemos soluções disponíveis e façamos tarefas presumidamente desnecessárias. O domínio dessas ferramentas é fundamental para um programador efetivo. Apesar disso, esta disciplina utiliza um subconjunto bem limitado dos recursos de Python. Não por essas ferramentas não serem importantes, mas simplesmente porque elas não são o foco em uma disciplina cujo objetivo é devenvolver um raciocínio aplicado na formulação e resolução de problemas computacionais .

O andamento da disciplina é orientado pelos problemas propostos. Cada problema introduz novos desafios que, para serem transpostos, nos levam a novas ideias e práticas de programação.