Computação Eletrônica 2015-1 Prof. Leandro Maciel Almeida [email protected] www.cin.ufpe.br/~lma3/ce Computação Eletrônica • Introdução ao Desenvolvimento de Sistemas de Software – Lógica de Programação de computadores – Linguagens de Programação – Ambientes de desenvolvimento – Construção de sistemas de software • Codificação • Execução • Testes e ajustes Computação Eletrônica • Por que? – Presença constante de computadores – Aumento da produtividade evitando trabalhos operacionais por humanos – Redução de erros de produção/execução – Diferenciação no mercado – Direcionamento de esforço humano para atividades que exijam mais cognição Por que aprender a programar? • Programação é automação – Quando alguém escreve um software esta buscando mudar um processo manual para um processo automático – O real benefício de aprender como programar é ser capaz de automatizar tarefas simples e encontrar novas formas de resolver problemas – O software é cada vez mais uma camada crítica em nossas vidas. Por que aprender a programar? • Programar ensina a você a dividir problemas – Aprender a programar é aprender a dividir problemas complexos em pequenas partes de modo a conquistar/resolver – Faz com que treinemos nosso cérebro para pensar a respeito de problemas de um modo diferente. – A solução de um problema por meio da programação envolve a combinação de matemática, lógica e algoritmos. Computação Eletrônica • Disciplina que usava a Linguagem Pascal • Desde 2013 – Uso da Linguagem de Programação C – Adaptação do conteúdo para “as engenharias” – Exercícios direcionados ao curso de engenharia – Mais aulas em laboratório Computação Eletrônica • Por que a linguagem C??? – Defasagem da linguagem Pascal – Principais linguagens do mercado/comerciais são baseadas em C – Em termos de desempenho (velocidade de execução) é imbatível – Maior parte do sistemas operacionais (Windows, Linux e Unix) são escritos em C • Para fazer um programa é preciso saber C Computação Eletrônica • Por que a linguagem C??? – Conexão de dispositivos a computadores são possíveis por meio de softwares em C – Devido ao fator velocidade de execução: • O famoso efeito 3D é melhor produzido usando C • Melhor linguagem para embutir software em um dispositivo • Melhor linguagem para desenvolvimento de Games – Escolhida com linguagem científica. Computação Eletrônica Computação Eletrônica • Aplicações usando C: Computação Eletrônica • Aplicações usando C: Computação Eletrônica • Aplicações usando C: Computação Eletrônica • Aplicações usando C: Computação Eletrônica • O material usado no curso estará disponível na página da disciplina: www.cin.ufpe.br/~lma3/ce • O conteúdo será atualizado semanalmente. Computação Eletrônica • Aulas expositivas com uso de datashow • Aulas em laboratório • Resolução de exercícios em sala de aula • Verificação da presença a cada aula Computação Eletrônica • Listas de exercícios – Têm o objetivo de auxiliar o aprendizado. – O aluno que não trabalha sua própria lista frequentemente se prejudica na prova, porque não pensou o suficiente sobre o assunto. Computação Eletrônica • Estudos: – Alguns alunos escolhem estudar pelos slides. - Limitação no conteúdo - Pode conter erros por falta de revisão - Incentivo ao estudo: utilize os livros para estudar e resolver exercícios. - Procure ajuda com os monitores Computação Eletrônica • Provas: – Verifiquem o calendário no site da área II – Procure as provas anteriores disponíveis no site da área II: http://www.ufpe.br/areaii/ – Durante a realização da prova não há “tira dúvidas” • Entrega da prova após 45min do início • Celulares desligados!!! – Pode ser solicitada a revisão de prova! – Cada professor corrige e revisa as provas de sua turma! Computação Eletrônica • Revisão de prova: – As provas não são entregues, apenas as notas! – As revisões devem ser solicitadas para a data previamente informada – Na revisão de prova a nota pode ser ajustada para mais ou menos Computação Eletrônica • Disciplina e filosofia de trabalho – Queremos dar o melhor e ajudar você a produzir o melhor. – CELULARES NO MODO SILENCIOSO!!!! – Perguntas são muito importantes. – Problemas? Converse, talvez possamos ajudar. – Melhor meio de contato: e-mail Bibliografia • DEITEL, Paul. DEITEL, Harvey. C: Como Programar. Editora Makron Books, 6ª edição, 2011. • MIZRAHI, Victorine Viviane. Treinamento em Linguagem C: módulo 1, São Paulo: McGraw- Hill. 1995. • MIZRAHI, Victorine Viviane. Treinamento em Linguagem C: módulo 2, São Paulo: McGraw-Hill. 1995. • KELLEY, Al. POHL, Ira. A Book on C – Editora Addison Wesley, Fourth Edition, 1998. • SCHILDT, H. C - completo e total. Terceira Edição.Editora Makron Books, 2005. • CARPENTER, V. Learn C/C++ today : http://www.cyberdiem.com/vin/learn.html Uma coleção de referências e tutoriais sobre as linguagens C e C++ disponíveis na Internet. • Jaime evaristo. Aprendendo a Programar Programando na Linguagem C. <na página da disciplina> Ambientes • Code::Blocks http://www.codeblocks.org/downloads • MinGW http://sourceforge.net/projects/ming w/files/ • Dev-C++ http://sourceforge.net/projects/orwelldevcpp/ Atividade • Consultar os livros • Livro do Jaime Evaristo – Estudar o primeiro capítulo e a metade do segundo capítulo • Fazer o download do Dev C++ (link no slide anterior) – Instalar – Reescrever os códigos do livro de Evaristo e executar. Ambientes para Mac • Code::Blocks http://www.codeblocks.org/downloads/binaries • CodeLite http://downloads.codelite.org/ • Xcode – Vem no DVD que acompanha o MacBook ou pode ser baixado de: https://developer.apple.com/xcode/ Apps para iOS • Para iPad e iPhone – C Programming Language • https://itunes.apple.com/br/app/c-programminglanguage/id499545918?l=en&mt=8 – CodeToGo • https://itunes.apple.com/us/app/codetogo/id382677229?m t=8 – Gusto - Code Editor • https://itunes.apple.com/us/app/gusto/id364906873?mt=8 Apps para Android • DroidEdit – https://play.google.com/store/apps/details?id=co m.aor.droidedit&hl=en • CppDroid - C/C++ IDE – https://play.google.com/store/apps/details?id=na me.antonsmirnov.android.cppdroid • +15 apps for programming on Android – http://android.appstorm.net/roundups/developer /15-apps-for-programming-on-android/ Apps para Windows phone • Touch C – http://www.windowsphone.com/enus/store/app/touch-c/3fb34f3f-83e9-4199-a70ed05a47172794 • C for beginners – http://www.windowsphone.com/en-us/store/app/cfor-beginners/d8fc45de-1c6d-45f0-b34b83296444e11b • Program in C – http://www.windowsphone.com/enus/store/app/program-in-c/4536bd55-276c-4c098383-4ea1621ee61d