Lectures, using audiovisual media, with detailed exposition of the concepts, principles and fundamental theories, including the resolution of relevant exercises that can demonstrate the utility of the subjects covered.
Theoretical-Practical classes to expose and demonstrate the concepts associated with the practical application of the theory. Laboratorial practical classes, where the teacher will support students in achieving the practical assignments.
The goal of this subject is to convey knowledge to students regarding the operation of modern informatics systems, including concepts regarding basic computer principles, data representation, the internals of operating systems, file systems and databases, computer networks, communication protocols and Internet and programming of medium and large scale distributed applications.
By the end of the subject, students should be able to understand the structure and general operational behaviour of informatics systems and have the skills to develop, in an autonomous way, local and distributed applications.
It is also intended that the student acquires/develops the following 5 core competencies (according to the Dublin descriptors):
- Teamwork, problem solving, critical thinking, independent learning and practical application of theoretical knowledge; and the following 5 secondary competencies:
- Analysis and synthesis, creativity, oral and written communication, interpersonal relations.
- Introduction to basic concepts regarding Informatics Systems.
- Operating Systems, languages, compilers.
- Basic concepts on networks and Internet.
- Numbering Systems.
- Digital representation of text, images, and audio.
- Overview of algorithms and programming.
- Introduction to Operating Systems
- Fundamental concepts of an Operating System. Process management, memory management, file system and I/O.
- Information systems and data storage.
- Introduction to networks and to the IP protocol.
- The TCP e UDP protocols.
- Distributed communication between processes.
- The client/Server model.
- Programming with Sockets TCP and UDP.
- Programming with Remote Method Invocation.
- The HTTP protocol.
- Distributed applications for the Internet.
- Basic concepts on security of distributed applications.
Continuous evaluation: 100.0%
- N. Dale and J. Lewis, “Computer science illuminated”, Jones & Bartlett Pub, 2006.
- Jon Barwise e John Etchemendy, “Language, Proof and Logic”, CSLI Publications, 1999.
- Ernesto Costa, “Introdução à Programação e Resolução de Problemas com Python”, DEI, 2011.
- Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom, “Database Systems: The Complete Book”, Prentice Hall, 2001.