Fundamentals of Computer Engineering

GOAL

"Fundamentals of Computer Engineering" aims to provide a global vision of Computer Engineering in both academic and professional points of view. The course gives the students a grasp of the fundamentals on which this engineering is based (mathematics, physics, anthropology and ethics), the future professional careers and the role of a computer engineer in today's society.
MODULE I: THEORETICAL FOUNDATIONS
BLOCK 1. Computer Engineering in Society
Historical background and perspectives. Definitions and basic concepts.
Past, present, and future of ICT (Information and Communication Technology). Computer Engineering as an academic discipline and profession:
  1. Competencies and knowledge required for a computer engineer;
  2. Career prospects;
  3. The role of ethics in the education of computer engineers;
  4. Code of ethics.
BLOCK 2. Current paradigms and trends in systems and applications
Software development: more than just programming. Structure of computer systems: hardware, software, Operative systems and networks.
New paradigms and trends: Cloud computing, Quantum computing, Artificial Intelligence, Blockchain, Smart cities, IoT (Internet of Things).
BLOCK 3. Information and Data
Information and Data: number systems, representation of numeric and alphanumeric information (codes). Data Foundations: Big Data, Data models, Data protection, Laws and ethics.
MODULE II: PRACTICAL SKILLS - INTRODUCTION TO WEB DEVELOPMENT
BLOCK 1. Introduction to and management of software repositories
Basic concepts Repositories: Git & Github
BLOCK 2. Creation of HTML5 web pages
Basic concepts
The Document Object Model
Forms and containers
BLOCK 3. Design and layout with CSS3
Basic concepts
CSS elements
Box and float models
Element positioning