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 - 52

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 comprises two components: the laboratory component and the theoretical-practical component. The grading of all assignments and components are rounded to the nearest tenth.

Laboratory Component

The laboratory component consists of 4 exercises (Q1 to Q4) completed during practical classes and 1 practical assignment (P) mainly done outside of class. All of these tasks will be carried out in groups of two students (or individually, in justified cases).

The evaluation of the assignment is individual, including a worksheet to be completed during the second test (TP), based on the respective assignment, and possible oral discussion. This evaluation impacts the final grade assigned to each group member for the assignment.

The grade for the laboratory component (CompL) is calculated as follows:

  • CompL = 0.1 Q1 + 0.1 Q2 + 0.1 Q3 + 0.35 P + 0.35 TP (where Q1, Q2, and Q3 are the three best results out of the 4 exercises, P is the practical assignment, and TP is the practical test on the assignment).

To obtain frequency it is necessary that

  • CompL ≥ 8.0.

Theoretical-Practical Component

The theoretical-practical component consists of two tests (during class time) or an exam (at the time of recourse). The three tests are individual, written and without consultation.

The grade of the theoretical-practical component (CompTP) is calculated using test scores (T1 and T2) or the exam grade (Ex):

    • CompTP = max ( 0,4 T1 + 0.6 T2 , Ex).

To obtain approval, CompTP ≥ 8.0 is required.

During the individual written assessment tests or exams, students are not allowed to consult any material, nor use any electronic device. Failure to comply with this rule leads to the automatic fail in the assessment test or exam.


Final grade

The final grade (NF) of students with frequency 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 the nearest decimal, on a scale from 0 to 20, except for the final grade (NF) which is rounded to the nearest integer.

Ratings Obtained in Previous Years

Laboratory grades from the academic years 2021-22 and 2022-23, as well as theoretical-practical grades from 2023-23, are accepted.

If you also obtain grades this year, in the calculation of the final grade, the highest grade of each component will be used.

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.