Laboratório de Programação

Base Knowledge

Knowledge of structured and/or object-oriented programming is required.

Teaching Methodologies

In this curricular unit the following teaching methodologies are used:

  • Expositive method: explanatory method where facts, concepts, principles and generalizations are defined and presented by the teacher and discussed with the class;
  • Interrogative method: through individual or group questions during the lessons, allowing immediate feedback on the contents covered;
  • Experimental method: active method where the student develops knowledge through problem solving and development of individual or group projects;
  • Demonstrative method: in situations where it is pertinent to demonstrate the installation and/or use of computer systems.

Learning Results

  • describe and apply standards in code writing and documentation;
  • evaluate, compare and select the most appropriate technical solutions for a given scenario;
  • develop modular, secure and scalable applications;
  • prepare and apply processes for software verification and validation;
  • plan, prepare and implement application deployment processes.

Program

  • Planning and structuring computer applications;
  • Good practices in programming and writing technical documents;
  • Use of version control systems;
  • Creation and (re)use of own and third party code (code libraries, frameworks, APIs);
  • Software safety;
  • Software quality;
  • Deployment of computer systems.

Curricular Unit Teachers

Grading Methods

Final evaluation
  • - a practical job - 100.0%
Periodic Evaluation
  • - practical work - 100.0%

Internship(s)

NAO

Bibliography

McConnell, S. C. (2004). Code complete (2nd edition). Microsoft Press.

Martin, R. C. (2011). The clean coder: a code of conduct for professional programmers (1st edition). Pearson.

Correia, M. P., & Sousa, P. J. (2017). Segurança no software (2nd edition). FCA.

Laboon, B. (2016).  A friendly introduction to software testing (1st edition). CreateSpace Independent Publishing Platform.

Bass, L., & Klein, J. (2019). Deployment and operations for software engineers. Independently published.