Linguagens de Programação I

Unidade Curricular / Curricular Unit
Linguagens de Programação I

Ciclo de Estudos / Study Cycle
Engenharia Informática

Nome do Docente Responsável
Nuno Pombo

Nome do Docente Adicional

Objectivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
– Fornecer aos alunos um conjunto de conhecimentos gerais sobre os diversos paradigmas de programação: procedimental, orientada a objectos, funcional, lógica e concorrente
– Aprofundar os conhecimentos sobre programação procedimental em continuação à disciplina de Fundamentos de Programação
-Conhecer as estruturas e procedimentos mais importantes do C e aplicá-los adequadamente tendo como referência os exemplos dados na aula

Learning outcomes of the curricular unit
– Provide students with a set of general knowledge about the various programming paradigms: procedural, object-oriented, functional, logic and concurrent
– In depth knowledge of procedural programming in continuation to the discipline of Programming Fundamentals
-Know the structures and procedures of C and apply them appropriately with reference to the examples given in class

Conteúdos programáticos
Breve história do C e enquadramento da UC no curriculum do curso
A estrutura de um programa em C
A função das bibliotecas de funções em C
Tipos de dados nativos da linguagem C
Operadores aritméticos e matemáticos, Precedência de operadores
Conversão de tipos implicita e explicita
Enumerados
Legibilidade de código e convenções de escrita de código em C
Entradas e Saídas
Estruturas e Uniões
Instruções de Controlo (condicionais, ciclos e selecção)
Funções em C
Passagens por valor e referência
Visibilidade e Longevidade
locais, registos, globais e estáticas locais
Apontadores e Vectores
n-dimensionais, vectores encadeados, vectores como parâmetros
Acesso à Memória
Combinação de conceitos apontadores / vectores / estruturas / uniões
Entradas e Saídas de Ficheiros
Recursividade

Syllabus
Brief history of the UC framework and C in the course curriculum
The structure of a C program
The function of the libraries of functions in C
Native data types of the C language
Arithmetic and mathematical operators Precedence
Type conversion implicitly and explicitly
Enumerate type
Readability of code and conventions of writing code in C
Inputs and Outputs
Structures and Unions
Control structures (conditionals, loops and selection)
Functions in C
value and reference calls
Visibility and Longevity
local registers, global and static local
Pointers and Vectors
n-dimensional vectors chained, vectors as parameters
Memory Access
Combining concepts pointers / vectors / structures / unions
Input and Output Files
Recursion

Demonstração da coerência dos conteúdos programáticos com os objectivos da unidade curricular
conhecimento e compreensão: a problemática da programação no contexto de desenvolvimento de curta duração deve ser identificada pelo aluno.
análise em Engenharia: é expectável que aluno seja capaz de conceber soluções tecnológicas, que essas soluções considerem a optimização de utilização de recursos para os problemas colocados e que sejam capazes de as testar.
contexto envolvente: o projecto em grupo fomenta o desenvolvimento dos skills de comunicação interpessoal e de gestão de requisitos e de tempo disponível para o seu desenvolvimento.

Demonstration of the syllabus coherence with the Curricular Unit’s objectives
knowledge and understanding: the problem of programming in the context of short-term development should be identified by the student.
Engineering analysis: is likely that the student will be able to devise technical solutions, these solutions consider the optimization problems posed to basic and are capable of the test.
surrounding context: the project group fosters the development of interpersonal communication skills and management requirements and the time available for its development.

Metodologias de ensino (avaliação incluída)
A metodologia seguida na cadeira é baseada em
-método expositivo para as aulas teóricas usando o eclipse para de uma forma colaborativa serem criados programas em C de forma incremental. Desta forma os alunos criam e assistem à concepção e correcção de código C,
-método criativo de projecto e exercícios, nas aulas práticas, para que os alunos autonomamente sejam confrontados com problemas para os quais têm que conceber soluções. Nestas aulas recorre-se também a programas de concepção e desenho de algoritmos.

aula téoricas (2 horas/s), com exposição dos conceitos mais relevantes exemplificados. No final de cada aula exercícios.

aulas práticas (2 horas/s), com colocação de exercícios para os alunos resolverem.
avaliação (1ª época) = 50%*(4 mini-frequências teóricas)+50%*1 projecto prático
avaliação (2ª época) = 50%*exame teórico+50%*1 projecto prático
avaliação (época especial) = 50%*exame teórico+50%*1 projecto prático
nota mínima de 8 valores em todas as componentes de avaliação

Planned learning outcomes, teaching methods and assessment methods and criteria
Theoretical classes with exposure of most relevant concepts exemplified.
practical classes, with placement of exercises for students to solve.
evaluation (1st season) = 50% * (2 frequencies)+ 50% practical project
assessment (2nd season and special time) = 50% * 50% + theory test * 1 practical project
minimum score of 8 points in all assessment components

Demonstração da coerência das metodologias de ensino com os objectivos de aprendizagem da unidade curricular
projecto em Engenharia: começa-se nesta cadeira a fomentar a necessidade de alinhar as necessidades dos clientes e utilizadores finais com as soluções tecnológicas conhecidas.
investigação: motiva-se nesta cadeira a capacidade de discutir distintas soluções para o mesmo problema e pesquisar soluções, ou partes dela, já existentes para os problemas colocados.
prática em Engenharia: usa o contexto laboratorial para introdução a ferramentas de IDE que permitem apoiar o processo de desenvolvimento, optimizando o ciclo de desenvolvimento de software.

Demonstration of the teaching methodologies coherence with the curricular unit’s objectives
Engineering project: starting up this chair to promote the need to align the needs of customers and end users with technology solutions known.
research: motivation up in this chair the ability to discuss different solutions to the same problem and find solutions, or parts of it, existing for the problems.
Engineering practice: laboratory uses the context for the introduction of IDE tools that can support the development process, optimizing the software development cycle.

Bibliografia Principal / Main Bibliography
Alexandre Pereira (2013). C e Algoritmos, Edições Sílabo, ISBN: 9789726187103

C  Primer Plus – 5ªEdição, Stephen Prata, editora: SAMS, 2005 , USA

The C Programming Language – 2ªEdição, Brian W. Kernigham, Dennis Ritchie, Prentice Hall, Inc., 1988, USA

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.