Programming I (261062)

Learning Outcomes

The current course aims to teach students to understand and master the
fundamental concepts and techniques related to the development of static web
pages, based on client-side technologies. In this way, students are expected to:
* Know the historical evolution, architecture and main services of the internet;
* Understand principles and methods of conceptualization and project development which integrate the main technologies and standards;
* Understand the importance of Web Standards for developing Web projects;
* Develop static web pages using HTML, CSS and JavaScript (JS);
* Understand the fundamental concepts of algorithmic thinking and apply them, using JS;
* Deploy specificities of various Web technologies, by selecting and using them accordingly, depending on the nature of the projects;
* Apply the knowledge gained in the development of a group project.

Study Program

Unit I. Introduction to Web Standards (WS)
* What is it and how it’s work
* Pros and cons of WS
* Entities (W3C, WHATWG, IANA, ISO, etc.)

Unit II. HTML5
* Introduction to HTML, with emphasis on HTML5
* Sintax and semantics
* Basic structure of a static web page
* HTML tags (links, images, etc.)
* Tables and Lists
* Multimedia Elements (audio, video, etc.)
* Forms
* Other elements (iframe, object, etc.)

Unit III. CSS3
* Introduction to CSS, with emphasis on CSS3 properties
* Syntax and semantics
* CSS layout models (box model, flexbox, etc.)
* Elements (backgrounds, text format, etc.)
* Basic transitions and animations
* Web layouts (fixed, fluid and adaptive)

Unit IV. JavaScript (JS)
* Introduction to JS
* Variables, operators, comments, structures (if, for, etc.), as others
* Document Object Model (DOM) - window, document, location, etc.
* Commands and events



Keith, J. (2010) HTML5 for Web Designers. A Book Apart.
Cederholm, D. (2010) CSS3 for Web Designers. A Book Apart.
Nielsen, J. (1999) Designing Web Usability. New Riders.
Abreu, L. (2013) HTML5 - 2ª Edição Atualizada e Aumentada. FCA, 2ª Edição
Remoaldo, P. (2012) CSS3. FCA, 1ª Edição.
Abreu, L.; Carreiro, J. P. (2012) JavaScript. FCA, 2ª Edição.