Harokopio University
School: School of Digital Technology
Department: Informatics and Telematics
Program: Information Technology

Introduction to Web Programming

Semester: 3 ECTS: 8.0 Compulsory Erasmus

General

Code: BSC_IT13

Language: English

Delivery: In person

Prerequisites: Basic programming knowledge (e.g., variables, control structures, functions, basic data structures)

Workload

  • Lectures: 39.0 hours
  • Lab: 13.0 hours
  • Study: 108.0 hours
  • Project: 40.0 hours

Course Content

Week 1: Introduction to the World Wide Web and web applications. Presentation of the basic architecture of the Web, its evolution, the basic concepts of web programming and an overview of traditional and modern technology stacks.

Week 2: Client-server architecture and HTTP/HTTPS protocol. Analysis of client-server communication, requests and responses, HTTP methods, headers, status codes, cookies, sessions and basic principles of secure communication.

Week 3: HTML and web page structure. Introduction to HTML, basic elements and attributes, semantic content organization and the creation of well-structured web pages.

Week 4: CSS and web page formatting. Presentation of basic formatting mechanisms and basic principles of responsive design for adaptive content presentation.

Week 5: JavaScript and basic web programming. Introduction to variables, data types, operators, control structures, functions, and basic programming principles with JavaScript.

Week 6: Interactivity and DOM manipulation. Dynamic modification of web page elements, event handling, user interaction, and creation of simple interactive functions in the browser environment.

Week 7: Forms and data validation. Creation and management of forms, collection of user data, basic input control techniques, and improvement of user experience.

Week 8: Backend and dynamic content. Introduction to server logic, request routing, data processing, and generation of dynamic content through simple server-side mechanisms.

Week 9: Data management and databases in web applications. Introduction to the basic principles of data storage and retrieval, the use of databases in the online environment, and basic information management functions.

Week 10: Developing integrated web applications. Connecting front-end, backend, and database, implementing basic data flows, and developing simple dynamic web pages and basic web applications.

Week 11: Web security and development best practices. Introduction to basic security issues, such as secure user login management, data protection, and principles of code organization, documentation, and maintenance.

Week 12: Debugging, code optimization, and introduction to programming with Generative Artificial Intelligence (GenAI). Use programming tools and generative artificial intelligence tools to identify and correct errors, improve code quality and efficiency, review the material, and complete an application with a combination of the technologies taught.

Learning Outcomes

Upon successful completion of the course, students will be able to:

- understand the basic architecture of the World Wide Web and how web applications work
- recognize traditional and modern technology stacks on the World Wide Web
- understand the client–server architecture and the HTTP/HTTPS protocol
- use HTML for the structure and semantic organization of web pages
- use CSS for formatting, content layout and basic responsive design
- use JavaScript to add interactivity to web pages
- create and manage forms and apply input validation checks
- implement basic backend functions for request management, data processing and dynamic content generation
- understand basic data management principles in web applications and use databases to store information
- recognize basic security issues on the web and apply basic practices for secure user input management
- develop simple dynamic web pages and basic web applications
- detect and correct errors using tools programming
- organize, document, and maintain code following good development practices

Skills

- Search, analysis and exploitation of data, information and technical documentation using the necessary technologies
- Adaptation to modern technologies and Web application development environments
- Decision-making when choosing design and implementation approaches
- Autonomous work in developing and debugging code
- Autonomous work in implementing Web applications
- Work in an interdisciplinary software development environment
- Exercise of criticism and self-criticism when evaluating code and solutions
- Promotion of free, creative and synthetic thinking in solving Web programming problems