Introduction to Programming

Base Knowledge

Although not mandatory, it is recommended that students have basic programming knowledge for this course unit.

Teaching Methodologies

Lectures will be expository.
Practical classes will focus on the practical application of concepts taught in lectures, as well as supporting the development of the final project.

Learning Results

This course’s main objective is to provide students with an initial contact with some of the most commonly used technologies for implementing content on the World Wide Web (front-end development). Technologies related to structure, presentation, and behavior layers will be explored.
In this context, some fundamentals of human-computer interaction will also be introduced to ensure the availability of well-organized, coherent, and visually appealing content.

Knowledge and Understanding
A.1. Understand some of the main technologies used in website implementation.
Application of Knowledge
B.1. Implementation of web applications.
Informed Decision-Making
C.1. Justify the choices made in designing the implemented elements.
Judgment
D.1. Critically evaluate the technological choices adopted in similar content.
Communication
E.1. Present and explain the developed web elements clearly and consistently.
Self-Learning Skills
F.1. Develop projects with a certain level of autonomy. This skill requires critical thinking to assimilate and appropriately apply new concepts and techniques.

Program

Theoretical Component:

I. World Wide Web
  I.1. Web Technologies
    • Client Side

  I.2. Content Management System

II. Development: Structure Layer
  II.1. HTTP
  II.2. HTML/XHTML/HTML5

III. Development: Presentation Layer
  III.1. CSS/CSS3

IV. Development: Behavior Layer
  IV.1. JavaScript

V. Human-Computer Interaction (HCI)
  V.1. Structure
  V.2. Content Organization
  V.3. Navigation
  V.4. Use of Color

 
Practical Component:

I. HTML/HTML5
II. CSS/CSS3

Grading Methods

All grades are expressed on a scale of 0 to 20 points.

This component includes assessment elements produced throughout the semester until the start of the exam period and consists of:

    2 theoretical tests (written exams), each worth 2.5 points (12.5%) of the final grade. These tests cover the content taught in theoretical classes and will take place during a lecture, on dates to be determined in the first week of classes.

    1 practical test (hands-on exam), worth 5 points (25%) of the final grade. This test covers content taught in both theoretical and practical classes and will take place during a practical session, on a date to be determined in the first week of classes.

    1 practical assignment (TP1), based on a CMS, worth 2 points (10%) of the final grade.
        The defense of the practical assignment is mandatory, lasts approximately 15 minutes, and will be scheduled with the practical class instructor.
        Failure to defend the assignment will result in a grade of 0 for TP1.
        The start and submission dates will be announced in due time, ensuring adequate notice before the start of the assignment.
        The grade for TP1 is considered in all exam periods throughout the academic year.

    1 practical assignment (TP2), based on HTML/CSS/JS, worth 8 points (40%) of the final grade.
        The defense of the practical assignment is mandatory, lasts approximately 20 minutes, and will be scheduled with the practical class instructor.
        Failure to defend the assignment will result in a grade of 0 for TP2.
        The start and submission dates will be announced in due time, ensuring adequate notice before the start of the assignment.
        The grade for TP2 is considered in all exam periods throughout the academic year.


    Internship(s)

    NAO

    Bibliography

    Abreu, L. (2012). HTML5 (2ª ed.). FCA. ISBN: 978-922-722-739-6.
    Duckett, J. (2014). JavaScript & jQuery: Interactive front-end web development. Wiley. ISBN: 978-1-118-53164-8.
    MacDonald, M. (2011). Creating a website: The missing manual. O’Reilly. ISBN: 978-1-449-30172-9.
    Nixon, R. (2012). PHP, MySQL, JavaScript & CSS. O’Reilly. ISBN: 978-1-449-31926-7.
    Robbins, J. (2012). Learning web design (4ª ed.). O’Reilly. ISBN: 978-1-449-31927-4.