Informatics for Science and Engineering
Objectives
Knowledge
The fundamental components of a computer.
The tools of a software development system.
The essential constructions of an imperative programming language.
Some fundamental notions of relational databases.
Some basic concepts involved in the World Wide Web.
Application
Decompose a problem into simpler problems.
Design an algorithm for solving a simple problem.
Write a program, making a correct use of the basic constructions of an imperative programming language.
Test a program in a given programming environment.
State a very simple SQL query.
Access resources available in the network inside a program.
Soft-Skills
Ability to do a programming project.
Skills in time management.
General characterization
Code
10344
Credits
6.0
Responsible teacher
Hervé Miguel Cordeiro Paulino
Hours
Weekly - 4
Total - 56
Teaching language
Português
Prerequisites
This unit has no access requirements.
Bibliography
Web
- Material in course web page in CLIP (slides, guides assignments)
- Notes from Prof. Ludwig Kripahl (http://iceb.ssdi.di.fct.unl.pt/1920/files/ICEB_notes.pdf)
Main books
- Allen B. Downey. Think Python: How to Think Like a Computer Scientist (version 2.4.0). PDF in http://greenteapress.com/wp/think-python-2e/
- Charles Severance. Python for Everybody: Exploring Data Using Python 3 (2016-Jul-05 version). PDF in https://www.py4e.com/book.php. Modified version of the previous book new chapters about Internet and databases.
Teaching method
There are two hours of lectures and a lab session of three hours each week.
Lectures are problem-driven. They start with a concrete problem, which motivates the presentation of some computer systems topic, some data type or some programming language construct, and end with the complete source code of a program that solves it.
In the lab classes, students design, implement and test programs for solving simple problems in Science and Engineering fields.
Evaluation method
Evaluation Components
The evaluation consists of two components: a laboratory component and a theoretical-practical component. All grades for assignments and components are rounded to the nearest tenth.
Laboratory Component
The laboratory component consists of:
-
3 exercises (Q1 to Q3) carried out in practical classes (in groups of 2).
-
1 practical assignment (P) carried out mostly outside of class (in groups of 2). The assessment for this component may include an oral discussion.
-
1 individual practical test (TP) on the practical work. To be taken on the date of the second test.
The elements to be carried out in groups of two students may be carried out individually, in justified cases.
The laboratory component grade (CompL) is obtained from two subcomponents:
-
PracticalGrade = 0.15 Q1 + 0.15 Q2 + 0.7 P (where Q1 and Q2 are the two best results of the 3 exercises and P is the practical work).
-
TPGrade - grade obtained in the TP practical test
If TPGrade>=50%, CompL= minimum(20, PracticalGrade)
If 20% <= TPGrade < 50, CompL= minimum(12, PracticalGrade)
If TPGrade < 20, CompL = 0
To obtain frequency, it is necessary that CompL ≥ 8.0.
Theoretical-Practical Component
The theoretical-practical component consists of two tests or one exam. All three are individual, written, and closed-book. Students may not consult any materials or use any electronic devices.
The grade for the theoretical-practical component (CompTP) is 0.4 T1 + 0.6 T2 or the exam grade (Ex).
-
CompTP = max ( 0,4 T1 + 0.6 T2 , Ex).
To obtain approval, it is necessary that CompTP ≥ 8.0.
Final Grade
The final grade (NF) is calculated as follows:
• NF = CompTP, if CompTP < 8,0;
• NF = 0,3 CompL + 0,7 CompTP, if CompTP ≥ 8,0 .
All grades are rounded to tenths, on a scale of 0 to 20 points, except the final grade (NF) which is rounded to units.
Rankings Obtained in Previous Years
Laboratory notes from the academic years 2023-24 and 2024-25 and theoretical-practical notes from 2024-25 are accepted.
NOTICE:
During an assessment, a student may not have any electronic devices capable of accessing the internet or with Bluetooth connectivity (e.g., smartphones, smartwatches, smartglasses, tablets, laptops) with them, even if they are turned off.
Violation of this rule results in immediate failure of the curricular unit by exclusion and will be reported to the Scientific Committee of the respective program.
Subject matter
Introduction: Problems, algorithms, programs, and computers. Goals and components of computer systems. Program execution. The interpreter.
Fundamental Concepts of Programming: Constants, variables and expressions. Numbers and strings. Predefined functions. Assignment statement and sequence of statements. Levels of abstraction in problem-solving. Functions. Source code files. Program life cycle. Kinds of error. Unit testing. FOR loops. Vectors. The IF statement. Relational and logical operators. Matrices. Graphics. WHILE loops. File systems. Binary and ASCII files. Structures. Vectors of structures.
Networks and communication protocols. The World Wide Web.
Introduction to databases: the relational model, relations, some basic SQL queries.
Programs
Programs where the course is taught: