| Code |
18092
|
| Year |
1
|
| Semester |
S1
|
| ECTS Credits |
6
|
| Workload |
PL(30H)/T(30H)
|
| Scientific area |
Informatics
|
|
Entry requirements |
.
|
|
Learning outcomes |
This course aims to introduce students to programming languages (PL). At the end, student should know how to structure and write programs using high-level programming languages (e.g., Python). In particular, the student should (1) know how to structure problems using algorithms; (2) know how to install the main development tools; (3) be aware of the characteristics of the Python programming language; (4) know its main commands; (5) be aware of the main Python packages; (6) know how to automate routines using control and iteration structures; know how to write and structure programs using (7) arrays; (8) advanced data structures; (9) list comprehension; (10) be able to handle files; (11) know how to decompose problems through functions; (12) know how to create software packages; (13) be able to run scripts from the command line; (14) know how to test and correct errors and exceptions; (15) know how to create logs; (16) know how to create classes.
|
|
Syllabus |
1. Introduction to Computational Thinking
2. Python Programming Toolkit
3. Introduction to Programming Languages
4. Introduction to Python
5. Importing and using Python Libraries
6. Control Structures and Iteration
7. Data Structures
8. Advanced Data Structures
9. List Comprehensions and LINQ
10. Reading and Writing Files
11. Functions
12. Creating and Sharing Python Packages
13. Command Line Interface (CLI)
14. Tests and Exceptions
15. Logs
16. Classes in Python
|
|
Main Bibliography |
- Sobral, S. (2023). Introdução à Programação usando Python. Silabo.
- Carvalho, A. (2021). Práticas de Python - Algoritmia e Programação. FCA.
- Downey, A. (2015). Think Python - How to Think Like a Computer Scientist. O'Reiley. Green Tea Press
- Severance, C. (2013). Python for Everybody - Exploring Data Using Python
- Miller, B., and Ranum, D. (2011). Problem Solving with Algorithms and Data Structures using Python: Interactive Edition.
|
|
Teaching Methodologies and Assessment Criteria |
Teaching/Learning Assessment
- Test: 60% (computer-based test with partial access to the contents)
- Practical Laboratory Exercises (individual): 20%
- Practical Project (groups of 2 elements): 20%
The final classification of the course results from the weighted average of the classifications obtained in the defined evaluation components. The student obtains approval at the course, being exempt from the Exam, in case he/she obtains a grade equal to or greater than 9.5 values.
Evaluation by Exam
- Exam: 100% (computer-based test without access to the contents)
Admission to the Teaching/Learning and Exams:
- Minimum of 70% class attendance during the teaching-learning period (except student workers);
- Minimum of 80% in the submission of the programming problems proposed in the class;
- Minimum score of 6 values in each of the defined evaluation components.
Failure to comply with any of these items prevents the student from being approved.
|
|
Language |
Portuguese. Tutorial support is available in English.
|