-
Presentation
Presentation
This curricular unit introduces the fundamentals of programming in the context of biosciences, aiming to develop essential computational skills for data analysis and biological systems modelling. Integrated into the Bachelor’s degree in Computational Biomedicine and Artificial Intelligence, it is foundational for training in bioinformatics, computational biology, and quantitative analysis in life sciences. Through the use of Python and Julia, it fosters computational literacy, complex problem-solving, and the practical application of programming to real-world data. The unit serves as a basis for more advanced courses in the programme, promoting integrated learning aligned with the current challenges of digital biosciences.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 5
-
Year | Nature | Language
Year | Nature | Language
1 | Mandatory | Português
-
Code
Code
ULHT7037-26611
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
Introduction to computing and societal impact Hardware vs. Software and evolution of programming languages Python and Julia in Medical Sciences Syntax, semantics, and basic program structure Variables, data types, and operators Data input/output and string formatting Control structures: if, elif, else, for, while Functions: definition, parameters, return, and recursion Lists, tuples, and strings: operations and methods Dictionaries and sets: applications and manipulation Functional programming: concepts and advantages Data abstraction and OOP: classes, objects, and ADTs File handling: reading, writing, and use in biosciences
-
Objectives
Objectives
Knowledge: LO1: Understand the fundamental principles and concepts of programming, including procedural and object-oriented paradigms. Understanding: LO2: Interpret and explain the functioning of developed programs and algorithms, recognizing the relevance of each code component. Application: LO3: Apply knowledge of programming principles and paradigms to solve problems and analyze scenarios in Medical Sciences and similar. Analysis: LO4: Analyze and evaluate source code to identify errors, optimize efficiency, and extract relevant information about an undergoing problem. Synthesis: LO5: Integrate various programming concepts and techniques to propose and develop software solutions for complex Medical Sciences and similar challenges. Assessment: LO6: Critically evaluate the technical literature and research in programming, especially those relevant to the context of Medical Sciences and similar.
-
Teaching methodologies and assessment
Teaching methodologies and assessment
The curricular unit integrates active and technology-enhanced learning methodologies, including the pedagogically regulated use of generative artificial intelligence (GenAI) tools. Learning is supported by interactive notebooks, online coding environments, and multimodal tutorials. Students are encouraged to use simulators, automated code submission platforms, and real-time feedback systems. Projects include mandatory oral defenses to promote authorship, critical thinking, and scientific communication. Independent study is fostered through digital resources, interdisciplinary integration, and problem-based learning using real biomedical datasets.
-
References
References
Guttag, J. V. (2021). Introduction to Computation and Programming Using Python: With Application to Understanding Data. MIT Press. Bezanson, J., Karpinski, S., Shah, V. B., & Edelman, A. (2017). Julia Programming for Operations Research: A Primer on Computing. Independent Publishing. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms. MIT Press. Abelson, H., Sussman, G. J., & Sussman, J. (1996). Structure and Interpretation of Computer Programs (2nd ed.). MIT Press
-
Office Hours
Office Hours
-
Mobility
Mobility
No