ISLA IPGT 7337
Programming Fundamentals
Development of Artificial Intelligence Applications
-
ApresentaçãoPresentationThe objective of this CU is that students learn basic programming concepts and techniques to built computer programas, using the programming language Python. They will learn how to program in Python, from the most basic concepts to more advanced topics like object oriented programming, lambda functions and graphical library Pygame. They will also be exposed to the concepts of cooperative development (using git and pdoc), and software tools like Visual Studio Code and its debugger, but focusing primarly in command line tools. Throughout the CU, the students will have practical exercices, being required to built a text adventure step-by-step. At the end of the CU, the students will have to implement a simple game, provided by the teacher, using Python and Pygame.
-
ProgramaProgrammeThe Python programming language Objects, expressions and numerical types Variables and assignment Strings and inputs Flow control: if, while, for, break/continue Functions, scope and abstractions Documentation (docstring) Cooperative development (git) Structured types, mutabilitity and higher-order functions Testing and debugging Exceptions and assertions Game libraries for Python, particularly pygame.
-
ObjectivosObjectivesAt the end of the CU, the student should be able to: Develop programs in Python Be able to create and implement an algorithm to solve problems Use cooperative development tools Use an IDE to develop their applications Understand basic concepts that exist in most programming languages Create simple games, using Python and Pygame
-
BibliografiaBibliographyGuttag, J. V. (2016). Introduction to Computation and Programming Using Python, 2ª edição. MIT Press. Lubanovic, B. (2014). Introducing Python: Modern Computing in Simple Packages. O¿Reilly. Craven, P. (2016). Program Arcade Games: With Python and Pygame. Apress. Sweigart, A. (2017). Invent Your Own Computer Games With Python, 4ª edição. No Starch Press
-
MetodologiaMethodologyThis curricular unit includes theoretical and practical classes. The examples used in the class are simpler versions of actual industry practices. The students will have contact with videos, presentations and exercises so that the can practice the theoretical concepts.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNão
-
AvaliaçãoEvaluation
Avaliação contínua
- Componente teórica - 10 valores (nota mínima 4,5 no conjunto de todos os testes)
- Componente prática - 10 valores (nota mínima 4,5 no conjunto de todos os exercícios/projetos)
- A frequência das aulas é obrigatória de acordo com o artigo 11º do Regulamento Geral de Avaliação da Universidade Lusófona
Época de Recurso e Época Especial
- Componente teórica - 10 valores (nota mínima 4,5): Exame, [10v]
- Componente prática - 10 valores (nota mínima 4,5): Projeto [10v]
- A avaliação de época especial está disponível de acordo com o artigo 19º do Regulamento Geral de Avaliação da Universidade Lusófona


