Base Knowledge
Undefined.
Teaching Methodologies
The teaching activity takes place in person, with an exposition of concepts, techniques and methods, with a strong focus on solving practical problems. Problem-solving support software will be used.
Learning Results
The Fundamentals of Programming course is aimed at students with no previous programming experience. In this course, students will learn the fundamentals of programming in Python, which are necessary for developing algorithms.
Program
1. Algorithms and Programming
2. Introduction to Python and its development environment
3. Variables, data types and basic operations
4. Input and output operations
5. Control flow structures
5.1 Sequential
5.2 Selection
5.2 Repetition
6. Functions and modular programming
7. Data structures in Python
7.1 Lists, tuples, dictionaries and sets
7.2 String manipulation
8. Understanding and using libraries/modules
9. Introduction to file handling
10. Final project
Curricular Unit Teachers
Paulo Jorge Pinto SoaresGrading Methods
The assessment of the curricular unit may be carried out in one of the following two modalities:
1. Continuous Assessment
Continuous assessment encourages regular participation throughout the semester and is structured as follows:
- Two in-class tests (frequencies), with a combined weight of 12 points in the final grade.
- A practical project, worth 8 points in the final grade.
The tests will take place during class time, on dates to be announced later via the Inforestudante platform.
The practical project may be carried out in groups of up to two students and will require a presentation/defence during the final week of classes.
2. Final Exam Assessment
Students who do not opt for or do not meet the requirements of continuous assessment may take a final practical exam, scheduled according to the official academic calendar.
The final grade will be based solely on the result of the exam.
Internship(s)
NAO
Bibliography
- Codeone Publishing (2022). Python Programming for Beginners: The #1 Python Programming Crash Course for Beginners to Learn Python Coding Well & Fast (with Hands-On Exercises)
- Eric Matthes (2019). Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming 2nd Edition
- Mark Lutz (2013). Learning Python, 5th Edition Fifth Edition
- Luciano Ramalho (2022). Fluent Python: Clear, Concise, and Effective Programming 2nd Edition
- Irv Kalb (2022). Object-Oriented Python: Master OOP by Building Games and GUIs
- Maurice J. Thompson (2018). Python: The Bible