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

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.