Informatics for Science and Engineering
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.
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.
Ability to do a programming project.
Skills in time management.
Pedro Abílio Duarte de Medeiros, Vítor Manuel Alves Duarte
Weekly - 4
Total - 52
This unit has no access requirements.
- 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)
- 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.
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.
Please see the portuguese version. If there are Erasmus students this part will be filled.
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.