Base Knowledge
To successfully engage with this module, students should have:
- Basic understanding of programming concepts (variables, loops, functions)
- Experience with at least one programming language
- Basic problem-solving and algorithmic thinking skills
Teaching Methodologies
The course combines theoretical and practical approaches to ensure that students acquire both conceptual knowledge and the technical skills necessary for web development.
1. Expository Teaching and Demonstration
Each theory-based lesson begins with a structured presentation of fundamental concepts.
Live coding demonstrations are conducted to showcase best programming practices and to explain abstract concepts in a practical manner.
2. Active Learning and Problem-Solving (Problem-Based Learning – PBL)
Students solve practical exercises during lessons to reinforce their knowledge.
Problem-solving focuses on:
- Applying best development practices.
- Debugging code and identifying errors.
- Optimising solutions.
3. Collaborative Learning
Working in pairs or small groups to discuss and solve challenges.
Code reviews among students to encourage critical analysis and feedback exchange.
Guided discussions to foster critical thinking about architecture and best practices.
Learning Results
This Web Development module aims to provide students with fundamental knowledge and skills for developing modern web applications.
Upon successful completion of this module, students should be able to:
- Understand the functioning of the Web and the client-server model
- Correctly structure HTML5 documents with appropriate semantics
- Develop accessible and well-organised Web pages
- Apply CSS for styling and creating responsive layouts
- Use JavaScript to introduce interactivity in Web pages
- Consume data from simple Web APIs
- Integrate the acquired knowledge in the development of a basic Web application
Skills to be developed:
- Ability to structure and develop frontend web applications
- Capability to solve practical web programming challenges
- Proficiency in implementing responsive designs
- Experience in team-working
Program
1. Web Fundamentals and HTML5
- Introduction to Web and client-server architecture
- Web Protocols: HTTP and HTTPS (practical notions)
- Structure of HTML5 documents
- Fundamental HTML elements
- Semantic HTML
- HTML forms and basic validations
- Elementary Web accessibility
2. CSS3 and Responsive Design
- Selectors, inheritance and cascade
- Box model
- Flexbox and CSS Grid (basic concepts)
- Media queries and responsive design
- CSS variables and organisation of styles
3. JavaScript
- Syntax (variables, data types and control structures)
- Functions and events
- DOM manipulation
- Dynamic content creation
- Form validation with JavaScript
4. Consumption of Web APIs
- Concept of Web API
- JSON format
- Fetch API
- Basic error handling
- Presentation of data from APIs
5. Integrative Practical Project
- Planning of a simple Web application
- Structuring in semantic HTML
- Styling with responsive CSS
- Interactivity with JavaScript
- Consumption of data from a public API
Curricular Unit Teachers
César Paulo das Dores PárisGrading Methods
Theoretical-Practical Test (40%)
Individual assessment on fundamental concepts of web development.
Final Project (40%)
A functional application developed individually or in groups, accompanied by a report and presentation. This grade will be valid for all evaluation periods.
Participation and Practical Exercises (20%)
Attendance, engagement in practical classes, and submission of weekly exercises.
During the different exam periods, students may choose to forgo this component and instead take the Theoretical-Practical Test for a total of 60%.
Important Notes:
The lecturer reserves the right to complement the assessment with an oral examination, of which students will be notified at least 48 hours in advance.
Grades equal to or higher than 18.0 will require a mandatory oral defense.
Internship(s)
NAO
Bibliography
Flanagan, D. (2020) JavaScript: The Definitive Guide, 7th Edition, ISBN: 9781491952023, O’Reilly Media, Inc. (ISEC: 1A-12-177)
Gordon, Z. (2020). Javascript explained: step-by-step guide to the most common and reliable JS techniques, ISBN 979-8-623901-41-5, Houston, OSTraining. (ISEC: 1A -12-172)
Svekis L., et. al. (2021) JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages, ISBN:978-1800562523, Packt Publishing, (ISEC: 1A-12-220)
Robin N. (2018). Learning PHP, MySQL & JavaScript : with jQuery, CSS & HTML5, ISBN: 9781491978917, Beijing, O’Reilly. (ISEC: 1A-12-201)
W3Schools. (2024). HTML Introduction. W3Schools. https://www.w3schools.com/html/html_intro.asp
Javascript | MDN Web Docs (2022). JavaScript Guide. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide