Desenvolver um raciocínio aplicado na formulação e resolução de problemas computacionais. Utilizar programação para tornar concretos alguns dos conceitos comuns em ciência da computação.
1 - Breve história da computação. 2 - Noções de organização e funcionamento de computadores e programas. 3 - Conceitos de linguagens de programação: 3.1 Entrada e saída; 3.2 Comandos de atribuição, seleção e repetição; 3.3 Expressões aritméticas, lógica e relacionais; 3.4 Tipos de dados escalares e estruturados.4. Modularização de programas:4.1 Funções e procedimentos;4.2 Passagem de parâmetros;4.3 Escopo de identificadores.5. Prática de programação por meio de resolução de problemas, desenvolvimento de algoritmos, e teste e depuração de programas.
Bibliografia Básica: A.B. Downey, "Think Phynton: How to Think Like a Computer Scientist", O'Reilly, 2012. B.W. Kernighan, D.M. Ritchie, "A Linguagem de Programação C, padrão ANSI", Campus, 1990. V. Setzer, R. Terada, "Introdução à Computação e à Construção de Algoritmos", McGraw-Hill, 1991. B. Miller, D. Ranum, J.Elkner, P. Wentworth, A.B. Downey, C. Meyers, D. Mitchell, "How to Think Like a Computer Scientist: Interactive Edition", http://interactivepython.org/ C.H. Morimoto, R. F. Hashimoto, "Introdução a Ciência da Computação em C", Publicação do Departamento de Ciência da Computação, IME-USP, 2012. Bibliografia Complementar: Não há Bibliografia Complementar.