Nome UC Informática e Programação CU Name Código UC 4 Curso LEC Semestre do plano de estudos 1 Área científica Informática Duração Semestral Horas de trabalho 135 ECTS 5 Horas de contacto TP - 67,5 Observações n.a. Docente responsável pela UC Maria Cristina Vaz Macedo Cunha Coutinho
Objetivos de aprendizagem (conhecimentos, aptidões e competências) Objectivos: Iniciação à algoritmia; estruturas de dados e programação utilizando uma linguagem de alto nível e aplicando-a à resolução de problemas de Engenharia Civil. Aptidões e competências a desenvolver pelos estudantes: Domínio de uma linguagem de programação estruturada de alto nível; raciocínio algorítmico modular na resolução de problemas; capacidade de abstracção procedimental. Learning outcomes of the curricular unit Objectives: Provides the basic subject areas of a first course on algorithms, data structure and programming methods using a high level programming language, in order to solve Civil Engineering problems. Skills and competences to be develeped by students: Understanding programming fundamentals; ability to analyse a problem and develop an according algorithm; ability to apply a strutured top-down design to computer programming problems.
Conteúdos programáticos 1. Fundamentos da linguagem: edição e compilação de um programa; estrutura geral; constantes e variáveis; tipos de variáveis; operadores e expressões aritméticas; leitura e escrita de dados; formatação de números e texto; funções pré-definidas. 2. Instruções de decisão: operadores e expressões lógicas; variáveis booleanas; expressões lógicas simples e compostas. 3. Instruções de repetição: critérios de paragem; paragem condicional; 4. Procedimentos: variáveis globais e locais; tipos de parâmetros; interacção programa-procedimento. 5. Variáveis estruturadas: operações elementares de pesquisa em tabelas; ordenação. 6. Variáveis estruturadas: definição e manipulação de registos; tabelas de registos; instruções especiais para manipulação de registos. 7. Ficheiros: definição de ficheiros de texto; leitura e escrita em ficheiros. 8. Unidade Gráfica: o écran no modo gráfico; controlo da escala de representação; comandos de desenho e de escrita. Syllabus 1. Computer language fundamentals: editing and compiling; program structure; constant and variables; data types; arithmetic expressions and operators; reading and writing data; formatting outputs; built-in functions. 2. Decision statements: logical expressions and operators; boolean variables; composing logical expressions. 3. Loop statements: stopping criterias; conditional criterias. 4. Procedures: global and local variables; types of parameters; communicating with procedures. 5. Strutured variables: performing search operations with subscrited variables; sorting. 6. Strutured variables: records; arrays of records; special statements for managing records. 7. Files: defining text files; reading and writing data in text files. 8. Graphic Mode: the graphic mode screen; managing scales; useful statements for plotting and writing.
Demonstração da coerência dos conteúdos programáticos com os objectivos da UC O programa da UC introduz os conceitos de forma gradual dos mais simples para os mais complexos, possibilitando ao aluno um domínio crescente da linguagem de programação e da capacidade de segmentar os problemas que lhe são propostos. Demonstration of the syllabus coherence with the curricular unit's objectives Topics in the syllabus are introduced following a growing complexity. This allows students to achieve a growing knowledge of the programming language and develop ability to analyse and design proposed projects.
Metodologias de ensino (avaliação incluída): Todos os conhecimentos são transmitidos apresentando exemplos que os ilustram, sendo sempre seguidos de propostas de exercícios que são resolvidos pelo aluno. As aulas são eminentemente práticas exigindo uma atitude activa do aluno na resolução dos problemas propostos. O alunos é avaliado através de um teste final (50%) e de um trabalho prático final (50%). Teaching methodologies (including evaluation) All knowlegde is given through ilustrative examples. All these examples are followed by similar exercice proposals to be worked by students, allowing new information to be studied, implemented and verified. Students are required to work by themselves. Assessment includes a final individual test (50%) and a team project (50%).
Demonstração da coerência das metodologias de ensino com os objectivos da unidade curricular As aulas têm uma componente teórica abrangendo os conceitos e regras da linguagem que é avaliada através do teste final, e uma componente prática que ilustra a aplicação e implementação dos conceitos teóricos. Esta componente é avaliada pelo trabalho prático final. A metodologia do ensino é dirigida aos objectivos da aprendizagem que se pretende que seja: o domínio da linguagem de programação e a capacidade de analizar, segmentar e implementar um programa para resolver um problema concreto no âmbito da Engenharia Civil.
Demonstration of the coherence between the teaching methodologies and the learning outcomes Fundamental language concepts and its rules are evaluated in the final individual test; the abitity to analyse and design a specific project are evaluated in the team project. Teaching methology is directed towards learning objectives witch are: understanding the programming language and abitity to analyse, struture and implement a Civil Engineering program.
Bibliografia principal C.Coutinho, A.Martins, P.Mateus, "Informática e Programação", Folhas de apoio à UC, página do moodle de IP, 201112; Gottfried, B., "Programação em Pascal", McGraw-Hill, 1994; Marques de Sá, Canas Ferreira, "Programação Prática em Turbo-Pascal", Presença, 1994; Trembley, J. B.,"Introdution to Computer Science", McGraw-Hill. 1981;