Programming
1
2020-2021
03018724
Information and Communication Technology
Portuguese
English
E-learning
10.0
Compulsory
3rd Cycle Studies
Recommended Prerequisites
Knowledge of group theory obtained in a first undergraduate course of Algebra.
Teaching Methods
Given the technological nature of the LU, the teaching/learning process follows an approach based on online collaborative theoretical-practical learning, in virtual class, that involves the realization of practical assignments, both individual and in group, whose results are presented online, during the course of the LU, to ensure mutual complementarity between theory and practice.
The weighting factors and the criteria of evaluation of the learning outcomes will be subject to negotiation between students and teacher.
Learning Outcomes
The goal of this learning unit is to deliver fundamental knowledge and skills on multi-paradigm programming, taking into account modern versatile languages, appliccable to diverse environments (command line, graphic user interfaces, web, cloud).
By completing this LU the student should be able to:
- Identify the potential of a programming language in its application to a problem, in a specific context/environment.
- Understand the principles, mechanisms, syntax and semantics of a particular multi-paradigm programming language (Python);
- Analyse and develop efficient programs that make good use of the features of the working programming language;
- Integrate two or more components from different languages/technologies into a single software package, in a transparent way to the user.
Work Placement(s)
NoSyllabus
1. Introduction to Python
1.1. History of the language
1.2. Programming paradigms
2. Syntax and control structures
2.1. Python syntax and semantics
2.2. Control flow
3. Data Structures
3.1. Lists and sequences
3.2. Sets
3.3. Dictionaries
4. Objects e encapsulating
4.1. Functions and Modules
4.2. Classes, objects and methods
5. Interoperability
5.1. File reading and writing
5.2. Interaction with the Operating System
5.2. Interaction with Internet
6. Introspection in Python.
Assessment Methods
Assessment
Exam: 30.0%
Research work: 35.0%
Resolution Problems: 35.0%
Bibliography
- "Python Documentation", http://www.python.org/doc/
- "Core Python Programming", Chun, W.; Prentice-Hall, ISBN-13: 978-0132269933
- "Programming Python", Lutz, M.; O'Reilly, ISBN-13: 978-0596158101
- "Beginning Python: Using Python 2.6 and Python 3.1", Payne, J.; Wrox, ISBN-13: 978-0470414637