A disciplina apresenta aos alunos, num enfoque prático, as ferramentas e os conceitos básicos de programação de computadores. O aluno aprenderá a desenvolver programas utilizando técnicas básicas de programação estruturada, bem como algoritmos de busca e ordenação relevantes e o conceito de tipos de dados. Concomitantemente se familiarizará com a utilização de ferramentas necessárias para a execução dessas tarefas. O curso também oferece um primeiro contato com o uso de computadores para desenvolvimento de programas.
Conceitos básicos sobre computadores, algoritmos, linguagens e programas. Aplicações numéricas e não numéricas. Prática de programação em linguagem C. introdução ao uso de computadores utilizando um sistema tipo UNIX.
A ênfase do curso consiste na apresentação de técnicas básicas de programação, indicadas a seguir. Princípios: problemas, algoritmos e programas; modelo básico de computador. Programação de computadores: variáveis e tipos de dados; expressões e operadores; entradas e saídas formatadas; estruturas de controle; matrizes e cadeias de caracteres; composição passo a passo de programas; pré-condições, pós-condições e invariantes; tipos de dados estruturados; funções, parâmetros e argumentos; recursão; escopo; ponteiros e alocação dinâmica de memória; arquivos. Algoritmos: Algoritmos de busca e ordenação. Complexidade de Algoritmos. Outra componente do programa da disciplina é uma introdução ao uso de computadores utilizando um sistema tipo UNIX: usuários; sistemas de arquivo; comandos de linha; compilação e ligação de programas; opções de compilação.
· Livro Texto:- KERNIGHAM, B.W.; RITCHIE, D.M.C.- A Linguagem de Programação Padrão ANSI, Editora Campus, 1995.· Bibliografia Complementar:- KELLEY, A.; POHL, I. - A Book on C, 2a. edição, The Benjanmin/Cummings Pub. Co., Inc. 1990- SCHILDT, H. "C.Completo e Total", MakronBooks, 1997.- ROBERTS, E. - Programming Abstractions in C, Addison Wesley, 1996.- KERNIGHAM, B.W.; PIKE, R. A Prática da Programação. Editora Campus, 2000.- ZIVIANI, N. – Projeto de Algoritmos, 2a. edição, Thomson, 2004.