1) O documento discute a importância das disciplinas de algoritmos e programação no desenvolvimento dos trabalhos de conclusão de curso em engenharia elétrica.
2) Uma pesquisa foi realizada com alunos concluintes para avaliar o uso de programação em seus projetos de TCC.
3) Os resultados mostraram que a maioria dos projetos utilizou linguagens como C/C++ e requereu programação, com percentuais de código variando de 10% a 100%.
1) O documento discute a importância das disciplinas de algoritmos e programação no desenvolvimento dos trabalhos de conclusão de curso em engenharia elétrica.
2) Uma pesquisa foi realizada com alunos concluintes para avaliar o uso de programação em seus projetos de TCC.
3) Os resultados mostraram que a maioria dos projetos utilizou linguagens como C/C++ e requereu programação, com percentuais de código variando de 10% a 100%.
1) O documento discute a importância das disciplinas de algoritmos e programação no desenvolvimento dos trabalhos de conclusão de curso em engenharia elétrica.
2) Uma pesquisa foi realizada com alunos concluintes para avaliar o uso de programação em seus projetos de TCC.
3) Os resultados mostraram que a maioria dos projetos utilizou linguagens como C/C++ e requereu programação, com percentuais de código variando de 10% a 100%.
CONCLUSO DE CURSO NA ENGENHARIA ELTRICA DA UNIVERSIDADE POSITIVO
Leonardo Gomes Tavares leonardo.tavares@up.com.br Luciano Carstens luciano.carstens@up.com.br Ana Cristina Fermino Deschamps ana.fermino@up.com.br Bruna Fanchin bruna.fanchin@hotmail.com Eduardo Bueno Ferreira eduardobuenof@gmail.com Jssica Szymanski do Carmo jessicaszymanski@hotmail.com Universidade Positivo, Departamento de Engenharia Eltrica Rua Prof. Pedro Viriato Parigot de Souza, 5300 81280-330 Curitiba Paran
Resumo: Um tema antigo e recorrente nas salas de aula dos cursos de engenharia a importncia de determinadas disciplinas/contedos para a formao do engenheiro. Entre essas esto as disciplinas de Algoritmos e Programao. Neste artigo so apresentados os resultados obtidos em um trabalho realizado pelos alunos das primeiras sries do curso de Engenharia Eltrica a respeito do Trabalho de Concluso de Curso do ano de 2011 e sua dependncia das disciplinas de Programao.
Palavras-chave: Algoritmos e Programao, Trabalho de Concluso de Curso, Painel da Engenharia Eltrica.
1. INTRODUO Desde 2006, o curso de graduao em Engenharia Eltrica da Universidade Positivo organiza perto do trmino de cada ano letivo um evento chamado Painel da Engenharia Eltrica (FELICE & PUSTILNICK, 2011). Nesse evento os concluintes tm a oportunidade de compartilhar seus trabalhos de concluso de curso (TCC) com seus professores, familiares e convidados. Os stands, espaos prprios para montagens dos projetos, so designados para visitao e tambm para realizao de avaliaes pelos professores com o objetivo de atriburem uma nota que ser includa na mdia final na disciplina de TCC de cada aluno. No ano de 2011, os alunos das primeiras sries do curso de Engenharia Eltrica receberam a tarefa de investigar os trabalhos dos concluintes a fim de promover uma reflexo sobre a importncia das disciplinas de programao na implementao dos mesmos. Neste artigo, a partir das observaes e questionrios realizados com os concluintes, so colocadas algumas consideraes sobre o tema.
O artigo est dividido em trs sees, sendo que a primeira apresenta a maneira como so abordados os temas fundamentais de programao na Engenharia Eltrica da Universidade Positivo. A segunda mostra como foi realizada a pesquisa entre os concluintes e por fim, so apresentadas as consideraes finais.
2. AS DISCIPLINAS DE ALGORITMOS E PROGRAMAO No curso de graduao em Engenharia Eltrica da Universidade Positivo as disciplinas de Algoritmos e Programao esto situadas nas duas primeiras sries. Cada uma das disciplinas, denominadas "Algoritmos e Programao I" e "Algoritmos e Programao II", possui carga horria total de 80 horas. O primeiro semestre da disciplina de Algoritmos e Programao I tem um carter introdutrio. Nesse semestre so apresentados os conceitos iniciais de arquitetura de computadores, representaes de bases numricas e fundamentos necessrios para o desenvolvimento da lgica de programao. Nessa etapa os alunos so estimulados a aprender a pensar (DIJKSTRA, 1972), ou seja, a colocar "ordem no pensamento" de forma a possibilitar a descrio de aes na forma de algoritmos (FORBELLONE & EBERSPCHER, 2005). Durante o primeiro semestre a nica linguagem de programao utilizada na descrio dos algoritmos o portugus estruturado, conhecido tambm como portugol. Ao utilizar uma linguagem mais flexvel, como o portugol, o aluno pode se concentrar mais nas caractersticas importantes da soluo e ignorar os detalhes de uma linguagem de programao mais rgida. Esta opinio compartilhada por autores como (HENDERSON, 1986), (KOLIVER, DORNELES E CASA, 2004) e (WINSLOW, 1996). Seguindo a mesma opinio de (PIVA JR, 2012), que utilizar um ambiente de desenvolvimento que seja o mais simples (em recursos) e o mais didtico possvel, foi adotado o software Visualg (SOUZA, 2009) para a primeira parte da disciplina. Segundo (PIVA JR, 2012) quanto menos interferncia ocorrer no ambiente de desenvolvimento, mais o aluno concentra-se nos conceitos e na linguagem propriamente dita. O Visualg (SOUZA, 2009) um aplicativo que fornece aos iniciantes em programao ferramentas para digitar, executar e depurar o pseudocdigo (em portugol) para resolver problemas propostos nas aulas. Tambm possui vrios recursos didticos extras tais como execuo passo a passo, visualizao do contedo das variveis, exame da pilha de ativao no caso de subprogramas, contador de execues de cada linha do programa, etc. No segundo semestre de Algoritmos e Programao I introduzida a Linguagem C. Nesse momento os alunos j esto bastante familiarizados com os conceitos de estrutura sequencial, estruturas de seleo e repetio. Sendo essa etapa destinada, ento, reviso desses conceitos, agora usando a Linguagem C e outros contedos. O ambiente de desenvolvimento escolhido para essa fase o Dev-C++. Esse ambiente foi escolhido por apresentar basicamente as mesmas caractersticas citadas para o Visualg, ou seja, simplicidade, interface intuitiva e tambm por ser livre de licenas. Nesse caso, os alunos podem baixar o aplicativo e praticar nos computadores pessoais. Nenhum conceito de orientao a objetos apresentado nessa etapa. De acordo com vrios autores como (PEREGO, 2002) e (BURTON & BRUHN, 2003), no h evidncias de que a introduo ao paradigma da orientao a objetos nos cursos introdutrios facilite o aprendizado.
A orientao a objetos apresentada apenas na ltima fase da disciplina de Algoritmos e Programao II, quando o aluno j possui, pelo menos, 120 horas em Linguagem C. Nessa etapa apresentado o C++, sendo que o ambiente de desenvolvimento utilizado passa a ser o Borland C++ Builder. Esse ambiente foi escolhido, principalmente, por disponibilizar um mtodo de desenvolvimento de interfaces grficas bastante intuitivo.
3. METODOLOGIA Durante os dias em que aconteceu o VI Painel da Engenharia Eltrica, os alunos das duas primeiras sries foram incumbidos de investigar a respeito da utilizao dos contedos abordados nas disciplinas de Algoritmos e Programao na implementao dos projetos de TCC. Foram formadas equipes de at quatro alunos, sendo que cada equipe teria autonomia para realizar essa investigao da maneira que julgasse mais adequada. A maior parte das equipes optou pela estratgia de entrevistar pessoalmente as equipes nos prprios stands. Nesse caso, as equipes elaboraram previamente seus questionrios de forma a que pudessem conduzir reflexo sobre a importncia das disciplinas de programao e seus contedos. Inmeras questes foram formuladas no questionrio inicial, sendo os itens mais relevantes: a) ttulo do projeto; b) linguagem de programao utilizada; c) ambiente de desenvolvimento (IDE) utilizado; d) nmero total aproximado de linhas de cdigo; e) porcentagem do projeto que se refere programao.
Para as 18 equipes de TCC durante o ano de 2011 que foram entrevistadas, os itens mais relevantes esto apresentados na Tabela 1.
Ttulo do Projeto Linguagem IDE Nmero de Linhas de Cdigo Percentual de Programao Sistema Especialista para Gerar Lgicas de Pequenas Centrais Hidreltricas Labview Labview 0 100% Sistema de Gerao de Energia Utilizando o Gs Metano obtido em Biodigestores a partir de Dejetos Sunos Ladder Zlio 0 20% Dosador Automtico de Bebidas C MPLab/CCS 1300 50% Gerenciador de Medicamentos C# Visual Studio 2008 2000 20% Sistema de Deteco de Defeitos em Motores de Induo Trifsicos atravs de Fluxo Magntico VBA Excel 0 10% Sistema Inteligente de Economia de Energia de Standby utilizando Protocolo X10 C PCW 1500 50% Monitoramento Inteligente de Vagas em Estacionamento C++ C++ Builder 750 90% Sistema Automtico para Planejamento de Manuteno C++ C++ Builder 1060 50% Dispositivo para Controle de Trfego Automotivo com Rede Wireless C++, C# e PHP C++ Builder e Visual Studio 1000 75% Analisador Preditivo Wireless C++ C++ Builder e Visual Studio 1000 80% Central Meteorolgica com Monitoramento via Internet C e PHP MPLab e Adobe Flex 800 80% Casa Inteligente Controlada via DTMF C MPLab 1000 50% Sistema de Viso Computacional para Reconhecimento Automtico de Carrocerias Automotivas C++ C++ Builder 300 100%
Ttulo do Projeto Linguagem IDE Nmero de Linhas de Cdigo Percentual de Programao Sistema de Coleta de Dados de Produo e Parada de Mquinas C e C++ MikroC e C++ Builder 2000 90% Sistema de Gerenciamento de Permanncia em Estacionamentos Particulares utilizando RFID e Interface WEB C, HTML e ASP Dynamic C e Frontpage 300 70% Monitor Multiparamtrico C e C# Visual Studio e PICC Compiler 350 40% Monitor de Temperatura Corporal Neonatal sem Fio C e C++ PICC Compiler e C++ Builder 500 60% Filtro Ativo Srie Monofsico C MikroC 120 40%
Tabela 1 Itens relevantes para os alunos em TCC em 2011 Fonte Os autores, 2012
A primeira coluna mostra o ttulo do trabalho. Nas demais colunas so apresentados respectivamente as linguagens de programao utilizadas, os ambientes de desenvolvimento utilizados, o nmero aproximado de linhas de cdigo produzidas pelos alunos e, por ltimo, o percentual do trabalho total que corresponde s atividades relacionadas programao. Nesta ltima coluna notado o fato de que dois TCCs apontam que 100% do seu trabalho est relacionado atividades de programao, isto , no foram desenvolvidos nenhum tipo de hardware. No Grfico 1 so apresentadas as linguagens de programao mais utilizadas nos TCCs de 2011. notvel a preferncia pelas linguagens C e C++, em relao as demais. Isso se deve principalmente ao fato de que estas linguagens so realmente as mais indicadas para as aplicaes propostas. Outro fato a ser observado a ocorrncia de equipes que utilizaram linguagens de programao que no fazem parte da ementa das disciplinas de programao da Engenharia Eltrica.
Grfico 1 Linguagens de programao utilizadas Fonte Os autores, 2012
No Grfico 2 so apresentados os ambientes de desenvolvimento mais utilizados pelas equipes de TCC. Nota-se uma pequena preferncia pelo Borland C++ Builder em relao ao
Microsoft Visual Studio. Isso provavelmente se deve ao fato de o Borland C++ Builder ser utilizado como ferramenta bsica em Algoritmos e Programao II, e de o Visual Studio no ser adotado em nenhum disciplina do curso.
Grfico 2 - Ambientes de desenvolvimento utilizados Fonte Os autores, 2012
4. CONSIDERAES FINAIS Com o advento tecnolgico em que o tratamento das informaes ocorre em tempo real e com mltiplos usurios, a aplicao de linguagens de programao tm se tornado cada vez mais importante. Portanto, fundamental que os futuros engenheiros tenham esse conhecimento para que possam explorar de maneira mais efetiva todos os recursos disponveis com as novas tecnologias. Em virtude disso as disciplinas de Algoritmos e Programao desempenham um papel estratgico na formao dos Engenheiros Eletricistas, configurando-se como uma ferramenta essencial de trabalho. As informaes obtidas a partir da pesquisa realizada com as equipes em TCC durante 2011 demonstram que todas utilizaram uma linguagem de programao e um ambiente de desenvolvimento no seu projeto.
REFERNCIAS BURTON, P. J.; BRUHN, R. E. Teaching Programming in the OOP Era. SIGCSE Bulletin, 2003, 35(2), p.111 - 114. DIJKSTRA, E.W. Notes on Structured Programming. London: Structured Programming, Academic Press, 1972. p. [1] - 82. FELICE, F.; PUSTILNICK. S. V Painel do Curso de Engenharia Eltrica da Universidade Positivo Divulgao dos Trabalhos de Concluso de Curso de 2010. Anais: XXXIX Congresso Brasileiro de Educao em Engenharia (COBENGE 2011), Blumenau, 2011. FORBELLONE, A.L.; V. EBERSPCHER, H.F. Lgica de Programao: A construo de algoritmos e estruturas de dados. So Paulo: Pearson Prentice Hall, 2005.
HENDERSON, P. B. Anatomy of an Introductory Computer Science Course. Proceedings of the seventeenth SIGCSE technical symposium on Computer science education, ACM Press, 1986, p. 257 - 264. KOLIVER, C.; DORNELES, R.V.; CASA, M. E. Das (muitas) dvidas e (poucas) certezas do ensino de algoritmos. XII Workshop de Educao em Computao (WEI'2004). Salvador, Brasil, 2004. PEREGO, C.; LISBOA, M.; BERTAGNOLLI S. A Migrao de Pascal para Java: Problemas e Propostas de Soluo. X Workshop de Educao em Computao (WEI'2002), Brasil, 2002. PIVA JR, D.; NAKAMITI, G.S.; ENGELBRECHT, A.M.; BIANCHI, F. Algoritmos e Programao de Computadores. Rio de Janeiro: Elsevier, 2012. SOUZA, C. M. Visualg Ferramenta de Apoio ao Ensino de Programao. Revista TECCEN, Vassouras, v. 2, n. 2, 2009. WINSLOW, L. E. Programming Pedagogy A Psychological Overview. ACM SIGCSE BULLETIN, v. 28, n. 3, 1996.
THE IMPORTANCE OF ALGORITHMS AND PROGRAMMING TECHNIQUES IN THE DEVELOPMENT OF CONCLUSION WORK OF COURSE AT POSITIVO UNIVERSITY
Abstract: An old and recurring theme in the classrooms of engineering courses is the importance of particular content for the formation of engineer. Among these are Algorithms and Programming Techniques. This article presents the results obtained in a study conducted by students of the first series of the Electrical Engineering course about the conclusion work of course in 2011 and its dependence on the disciplines of programming.
Key-words: Algorithms and Programming, Conclusion Work of Course, Panel of Electrical Engineering Program.