Contacto WhatsApp 961135355

Universidade Lusófona do Porto

Programming Fundamentals

Presentation

This course offers the first contact to a computer programming language. It provides the grounding for a discipline understanding of programming languages in general, covering topics common to most programming languages.

Programme

IT Engineering

Level of Qualification|Semesters|ECTS

| Semestral | 5

Year | Type of course unit | Language

1 |Mandatory |Português

Code

ULP452-7337

Recommended complementary curricular units

- Algoritmia

Professional Internship

Não

Syllabus

¿ Introduction to programming

  • Programming in the contexto of developing software projects
  • Basic notions of algorithm, program, abstraction, syntax semantics, compiler/interpreter
  • Programming paradigms: imperative, functional, logic and object-oriented

¿ Introduction to C programming

  • Compilation process
  • Using a programming editor (IDE).
  • C language syntax

¿ Structuring a program

  • Data types
  • Order of evaluation of operators, unary operators, conversion between data types
  • Basic communication with the user

¿ Control structures (Simple selection, alternative and multiple, while, do...while, for)

¿ Arrays and matrices manipulation

¿ Functions and procedures

¿ Passing arguments as a value or a reference to a value

¿ Memory pointers

¿ Memory pointers and arrays

¿ Dynamic Memory allocation

¿ Handling text files and binara files

¿ Types and structured data (static and dynamic) 

¿ Error management

Objectives

The main outcomes of this subject is to prepare  the development of a computing program. This subject reinforces the importance of creating algorithms for the resolution of problems and subsequent coding in a programming language. To this end, the subject addresses techniques for data storage that support the development of a computing program in C language.

At the end of the course the student is capable of:

- Structuring a reasoning for a problem with small to medium complexity, scratch a solution, build an algorithm and implement it in C language, addressing the initial problem;

- Use the grounding rules of imperative/procedural programming design (in C language), namely structuring a program with functions and understanding the impact of passing arguments by value, processing arrays and more complex structures of data. 

Teaching methodologies and assessment

Theoretic classes are expository, always covering practical examples on the covered topics, in a way to provide full understanding of the topics. 

Practical classes enable the student to exercise and test the topics.

Assessment: 

- Three evaluation moments, written and practical.

(Minimum grade: 7 - on each test)

References

  • Guerreiro, Sérgio Luis. Fundamentos de programação, utilização das linguagens de programação imperativa: C e Java. (2008)
  • Damas, L. Sebenta Universidade Lusófona Humanidades e Tecnologias. Linguagem C. 10a. Edição, LTC, 2007

 

Office Hours

Nome do docente  

Horário de atendimento

Sala