Introduzir a programação de computadores através do estudo de uma linguagem algorítmica e de exercícios práticos.
Breve história da computação. Algoritmos: caracterização, notação, estruturas básicas. Computadores: unidades básicas, instruções, programa armazenado, endereçamento, programas em linguagem de máquina. Conceitos de linguagens algorítmicas: expressões; comandos seqüenciais, seletivos e repetitivos; entrada/saída; variáveis estruturadas; funções. Desenvolvimento e documentação de programas. Exemplos de processamento não numérico. Extensa prática de programação e depuração de programas.
Bibliografia Básica: ● F. Kon, A. Goldman, P.J. Silva e Silva. "Introdução à Ciência da Computação com Java e Orientação a Objetos". Editado por R.Y. de Camargo, 2005. Disponível em https://ccsl.ime.usp.br/intro-java-cc ● C.H. Morimoto e R. F. Hashimoto, "Introdução à Ciência da Computação em C". Departamento de Ciência da Computação, IME-USP, 2012. Disponível em https://www.ime.usp.br/~hitoshi/introducao/ ● C.H. Morimoto e J.C. de Pina. "Introdução à Computação com Python: um curso interativo". Departamento de Ciência da Computação, IME-USP, 2017. Disponível em https://panda.ime.usp.br/panda/static/cc110/index.html Bibliografia Complementar: ● F. Kon. Introdução à Ciência da Computação com Python. https://www.coursera.org/learn/ciencia-computacao-python-conceitos. ● Material didático para disciplinas de Introdução à Computação, Projeto MAC Multimídia, http://www.ime.usp.br/~macmulti. ● 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 ● R. Sedgewick, K. Wayne, "Computer Science: An Interdisciplinary Approach", Addison–Wesley Professional, 2016. ● B.W. Kernighan, D.M. Ritchie, ""A Linguagem de Programação C, padrão ANSI"", Campus, 1990.