Web Development & Database Training Module
Web Development & Database Training Module
July, 2025
Adama,Ethiopia
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 2 of 91
Contents
1. Module Overview ...................................................................................................................................... 4
2. Rationale of the training ............................................................................................................................ 4
3. Module Objective ...................................................................................................................................... 4
4. Module Competencies ............................................................................................................................... 5
5. Pedagogical Approach ............................................................................................................................... 5
6. Structure of the module ............................................................................................................................. 6
7. Time Required ........................................................................................................................................... 7
Unit One: Introduction to web design and development .................................................................................. 8
1.1 Exploring Design Principles and Standards ............................................................................................ 9
1.2 Analyzing and Documenting Website Requirements ........................................................................... 12
1.3 Design Web Page Architecture According to Specifications................................................................ 14
Unit two: Build Front-End of Web Pages with HTML .................................................................................. 18
2.1 Setup the HTML Development Environment and Create HTML Pages .............................................. 19
2.1.1 Setting up a development environment ........................................................................................... 19
2.1.2 Apply basic html element to create simple web page ..................................................................... 20
2.1.3 Applying Basic HTML Formatting Tags ........................................................................................ 23
2.2 Building Web Page Content Using HTML ........................................................................................... 26
2.2.1 Inserting image to a web age ........................................................................................................... 27
2.2.2 Inserting list to a web age ............................................................................................................... 29
2.2.3 Creating Hyperlinks on a Web Page - Connecting Pages with a Menu .......................................... 32
Unit three: Integrate Cascading Style Sheets (CSS) ....................................................................................... 45
3.1 Apply Basic CSS Properties .................................................................................................................. 46
3.2 Use Inline, Internal, and External CSS ................................................................................................. 47
3.2.2 Using Internal CSS: ........................................................................................................................ 50
3.2.3 Using External CSS: External CSS Linking: Styling Your Web Page with External CSS ............ 53
3.3 Create Layout and Navigation of a Web Page ...................................................................................... 62
Unit Four: Apply Interactive to a Website ...................................................................................................... 72
4.1 Apply Interactive Using JavaScript....................................................................................................... 73
4.2 Validate user input ................................................................................................................................ 79
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 3 of 91
Unit Five: Developing the backend ................................................................................................................ 83
5.1 Setting Up the Back-End Environment and Database .......................................................................... 84
5.2 Understanding XAMPP and Local Development ................................................................................. 84
5.3 Principles of Database Design............................................................................................................... 85
5.4 Secure Database Connectivity with PDO.............................................................................................. 86
References ....................................................................................................................................................... 90
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 4 of 91
1. Module Overview
This module is designed to equip TVET trainees with the knowledge, skills, and competencies required for
Web Development and Database Design (WDDB) effectively. It focuses on both theoretical foundations and
hands-on practical skills, enabling trainees to create functional, responsive, and user-friendly websites. The
module emphasizes on modern web development practices, including HTML, CSS, JavaScript and responsive
design. The module aligns to bridge the gap between foundational web development skills and real-world
applications. Through this training, TVET trainees will be empowered to deliver engaging lessons that inspire
to develop interactive and user friendly websites, explore careers in web design and development.
Provide trainees with a comprehensive understanding of web design and development principles.
Equip trainees with practical skills to build and manage websites using modern tools and technologies.
Foster pedagogical strategies that promote active learning, collaboration, and project-based teaching
in the classroom.
3. Module Objective
General Objective
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 5 of 91
Specific Objectives:
4. Module Competencies
After completing the training of this module, TVET trainers are expected to attain the following
competencies:
Design User Experience Solutions
Build Front-End of Web Pages with HTML
Integrate Cascading Style Sheets
Apply Interactive to a Website
Develop Dynamic Websites
Utilize CSS Frameworks for Responsive Design
5. Pedagogical Approach
This training adopts an interactive, learner-centered pedagogical approach that combines experiential
learning, collaborative activities. To ensure effective training, the module adopts an interactive, learner-
centered approach that emphasizes on practical application and instructional methods. Key pedagogical
approaches include:
Hands-On Training:
o Trainees engage in practical exercises, such as building websites from scratch, using real-
world examples.
o Activities involve coding, debugging, and testing websites to reinforce technical skills.
Project-Based Learning (PBL):
Tel: 0116464455 Email: info@[Link] PO. Box: 190310 Website: [Link]
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 6 of 91
o Trainees work on projects that simulate real-world scenarios, fostering problem-solving and
creativity.
o Projects are designed to integrate multiple skills, such as HTML, CSS, JavaScript, PHP,
MySQL.
Technology-Enhanced Learning:
o Trainees use tools like Visual Studio Code and browser developer tools to practice web
development.
o Online resources, videos, and tutorials supplement classroom learning.
Inquiry-Based Learning:
o Trainees explore topics independently, such as evaluating web design principles or
researching CMS platforms.
o Inquiry-based activities promote critical thinking and curiosity.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 7 of 91
7. Time Required
No Competency Time allotted(hour)
1 10
Introduction to web design and development
3 17
Integrate Cascading Style Sheets
4 15
Apply Interactive to a Website
5 25
Developing the back end
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 8 of 91
This unit introduces TVT trainees to the wide array of roles involved in building such a web platform, from
front-end developers and back-end engineers to UI/UX designers. By exploring these career pathways,
trainees will gain a clearer understanding of how to align classroom instruction with real-world industry
demands.
The unit also emphasizes the importance of teaching strategies that promote career awareness, practical skill
development, and student engagement through project-based learning. By connecting the classroom to
professional pathways, teacher trainees will be better equipped to inspire and prepare students for meaningful
futures in web design and development.
Unit Objective
Explain the purpose and real-world context of the Course Management System website project.
Differentiate between front-end, back-end, full-stack, UI/UX key roles based on skills, tools, and
responsibilities.
Design instructional activities that simulate real-world web development roles and projects.
Expected outcomes:
Explained the purpose and real-world context of the Course Management System website project.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 9 of 91
Differentiated front-end, back-end, full-stack, UI/UX key roles based on skills, tools, and
responsibilities.
Designed instructional activities that simulate real-world web development roles and projects.
In today’s digital landscape, understanding design principles and standards is key to building effective and
user-friendly websites. This session aims to provide trainees with a deep understanding of the design
principles that underpin successful web projects. The knowledge gained will empower the trainees how to
apply these principles in their own web development projects, ensuring that their websites are not only
functional but also visually appealing and user-friendly.
Design principles are crucial for creating both visually appealing and functional websites. These principles
help ensure that the design not only attracts users but also provides a seamless and intuitive experience. Key
design principles include:
Balance: This principle ensures an even distribution of visual weight across the page, fostering
harmony and preventing any section from feeling too heavy or too light. Proper balance makes the
page appear stable and well-structured, improving the overall user experience.
Contrast: By using differences in color, size, and shape, contrast highlights important elements on the
page, drawing the user’s attention to key areas such as buttons or headings. This breaks up monotony
and ensures that essential features stand out.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 10 of 91
Emphasis: Emphasis directs users’ attention to critical elements, such as call-to-action buttons or
featured content. Highlighting these areas helps users quickly identify and engage with the most
important parts of the site, making navigation more intuitive.
Alignment: Proper alignment of text and visuals creates a clean, organized layout, helping to convey
information in a structured way. Misalignment can make the design appear chaotic, confusing users
and detracting from the site’s effectiveness.
Proximity and Repetition: Grouping related elements together (proximity) simplifies navigation by
helping users understand the relationship between different items. Repetition of design elements like
colors and fonts reinforces consistency, improving usability and strengthening branding.
Alongside these design principles, web design standards are just as essential to creating an effective website:
Usability: A website must be easy to navigate, ensuring that users can quickly find what they need. A
website with good usability reduces frustration, creating a smoother and more enjoyable experience.
Accessibility: A website should be designed to accommodate users with disabilities, incorporating
features such as alt text for images, keyboard navigation, and ensuring contrast ratios meet
accessibility standards for users with visual impairments.
Responsiveness: A responsive design ensures that the website functions well across a variety of
devices, including desktops, tablets, and mobile phones. As mobile usage continues to rise, a
responsive design ensures a consistent and positive user experience on any device.
When designing a website, applying these design principles and standards is crucial to creating a visually
engaging and user-friendly platform. The site should not only be aesthetically pleasing but also functional,
allowing users to easily navigate and perform tasks.
For TVET trainers, understanding these design principles and their real-world application is essential in
guiding trainees through the design process. Trainers should foster a hands-on learning environment where
trainees can apply these principles by working on real-world projects. These projects could include tasks like
redesigning an existing website, developing wireframes, or creating prototypes based on specific design
principles. Emphasizing the importance of continuous iteration and feedback in the design process will help
trainees refine their skills and improve over time.
In addition, introducing design tools like Figma, or Canva will enable trainees to practice these principles in
a collaborative setting, giving them the opportunity to create and refine designs. Encouraging trainees to
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 11 of 91
analyze well-designed websites and apply their findings in their own projects will help them deepen their
understanding of design principles and develop critical thinking skills.
The Course Management System (CMS) is a web-based application designed to streamline the interaction
between students, instructors, and administrators within an academic institution. The system allows students
to register for courses, view course details, access learning materials, and monitor their progress. Instructors
use the platform to manage course content, upload resources, create announcements, and oversee student
enrollments and performance. Meanwhile, administrators are responsible for maintaining user roles,
ensuring data integrity, managing the course catalog, and generating system reports. The CMS provides
features such as user authentication, profile management, course scheduling, content uploading (e.g., PDFs,
videos), and grade tracking. All user actions are backed by a structured database that stores information on
users, courses, enrollments, and resources. Activities to be performed in this project include designing the
database schema, developing front-end interfaces (such as login forms and dashboards), implementing back-
end logic to handle data processing, enforcing security measures like password encryption, and deploying the
system to a local or online server. This scenario helps learners understand the full lifecycle of a dynamic, data-
driven web application.
Dear trainees, the Course Management System website development project scenario will be used as
demonstration project in the entire training module.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 12 of 91
Instructions:
1. Review the needs of the Course Management System website in group of 3-4 trainees.
2. Discuss which design principles are most important for the homepage (e.g., balance for symmetry,
contrast for visibility, alignment for clarity).
3. Sketch a rough wireframe of the homepage on paper or a digital whiteboard.
o Include: header, navigation bar, hero image, sections for tours/services, contact information,
and a call to action.
4. Present your wireframe briefly to another group or the whole class, explaining the principles you
applied.
Website projects must begin with clear planning and a thorough understanding of stakeholder needs. Without
this foundation, developers risk building solutions that do not align with user expectations or business goals.
Trainers should emphasize to trainees that gathering requirements is not just a technical step, but also it is
about communication, problem-solving, and understanding how technology serves real users. Involving
stakeholders early in the process helps uncover critical details about what the website must achieve and how
it should function.
Website project requirements are typically divided into two main categories:
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 13 of 91
o Functional Requirements: Describe what the system should do (such as user registration, create course,
and feedback submission), and
o Non-Functional Requirements: Define how the system should perform (such as loading speed,
security, mobile responsiveness, and usability).
Teaching trainees to distinguish between these two types encourages deeper thinking about both the visible
features and the behind-the-scenes mechanisms that make a site reliable and effective.
Understanding user roles and permissions is another key concept. Not all users will interact with a website in
the same way. For example, an administrator should have access to approve or manage courses, while a student
should only be able to view courses, enroll in or drop out course, and manage their profile. Introducing role-
based access early on helps students build websites that are secure and organized.
A well-structured website requirements document serves as a blueprint for the entire development process. It
keeps the team aligned, helps track progress, and reduces misunderstandings.
In any web development process, preparing clear and detailed project requirements is a critical first step. It
ensures that developers understand the client’s needs, users’ expectations, and technical considerations before
building the actual site. In this session, trainees will learn how to analyze client needs, identify user roles, and
translate business goals into functional and technical website requirements. The scenario Course Management
System, will be used to simulate a real-world project planning exercise.
Activities
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 14 of 91
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 15 of 91
forms, and menus will be placed. These tools are essential in the early stages of web development, as they
prevent disorganized or inconsistent designs and provide clarity for both developers and clients.
Effective architecture must take into account different user roles and the specific tasks each user needs to
perform. For instance, Instructors can create, edit, and delete courses. Administrators can view and manage
courses, user accounts, and feedback. Students can browse and view available courses. Designing with these
roles in mind ensures both functionality and security.
A well-structured website improves not only usability but also accessibility and maintainability. It helps users
with diverse needs navigate the site more easily and allows future developers or trainees to understand and
modify the site without confusion.
For trainers, understanding and teaching web architecture supports a shift from unstructured coding to
intentional, user-centered design. It fosters planning, visual thinking, and communication skills that are critical
components of modern web design and development. In the classroom, introducing trainees to site mapping
and wireframing encourages them to think like designers and problem solvers. Trainees should also explore
digital tools such as Figma, or Canva for collaborative wireframe design, and incorporate peer feedback
sessions to mimic real-world design processes. Additionally, using role-play or persona-based scenarios helps
trainees see architecture not just as a technical task, but as a way of serving user needs effectively.
Following the completion of website requirements gathering and developing the requirements specifications
document, the next step in the web development process is designing the web page architecture. This step
involves translating user needs and business functions into a logical layout of web pages, navigation paths,
and content groupings. Using the Course Management System case, trainees will learn to create a visual map
or structure of how users (students, teachers, administrator) interact with different parts of the website.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 16 of 91
Instructions:
1. Discuss:
o Why is architecture planning essential before coding?
o How does it improve usability and user experience?
o What challenges might students face in planning page flow?
2. Each group nominates one person to share a key takeaway with the class.
Activities
Instructions:
1. In groups, review the case scenario Course Management System and list all stakeholders:
o Student, Teacher, Admin
2. For each role, list the features or pages they will need access to.
3. Use a table format for clarity (e.g., Role | Page | Action).
Activity 2: Sketch a Sitemap
Instructions:
1. Using your page-role list from Activity 1, sketch a sitemap for Course Management System on paper
or using a whiteboard.
2. Include three main sections:
o Public Pages: Home, About, Contact
o User Pages: Login, Profile, courses, Notifications, Logout
o Admin Pages: Admin Dashboard, Manage users, Manage Courses, Setting, Logout
Tel: 0116464455 Email: info@[Link] PO. Box: 190310 Website: [Link]
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 17 of 91
3. Use lines/arrows to show the flow between sections and related pages.
Activity 3: Create Wireframe for Key Pages
Instructions:
This unit has guided trainees through the foundational stages of designing user experience solutions for the
web. Beginning with an exploration of core design principles and standards, trainees gained insights into what
makes websites visually appealing and functionally effective. Through the case of course management system,
they practiced translating client needs into structured website project requirements, including identifying
stakeholders, defining user roles, and classifying functional and non-functional needs.
Trainees learned how to organize website project requirements into intuitive web architectures by designing
sitemaps and wireframes. Each step emphasized the importance of planning before coding and encouraged
reflective and collaborative learning. Trainees also engaged in role-play and simulation exercises to deepen
their understanding of the user perspective and the collaborative nature of web projects.
Ultimately, this unit prepares trainers not only to build effective web solutions but also to teach trainees how
to approach web design thoughtfully and strategically. Through a balance of design, functionality, and
communication, they are now equipped to lead trainees in creating meaningful, user-centered web
experiences.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 18 of 91
Unit Objective
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 19 of 91
2.1 Setup the HTML Development Environment and Create HTML Pages
Setting up an HTML development environment is the foundational step for building web projects. It is
important to choose accessible, beginner-friendly editors like Visual Studio (VS) Code that trainees can use
both in class and at home. The trainees should also model good file management by organizing folders, naming
files clearly, and using the correct .html extension.
Introducing browser developer tools early encourages experimentation and debugging, vital skills in
development. Classroom simulations, like building a personal introduction page or a landing page for a school
project, help connect technical skills with creativity and real-life applications.
Linking the training session to real world fictitious website projects such as Course Management System helps
contextualize web development within a meaningful project, showing how website development skills support
real-world business needs like course enrollment, user engagement, and content presentation.
What text editor or IDE are you currently using to write your code?
Why is it important to choose the right text editor for web
development?
Have you heard of Visual Studio Code? What do you know about it?
Visual Studio Code is a free, open-source, and highly customizable code editor developed by Microsoft. It is
popular among developers for its lightweight nature, powerful features, and broad extension support. VS Code
is used for front-end and back-end development, supporting various programming languages, including
HTML, CSS, JavaScript, Python, and more.
Importance of VS Code: It provides a clean and intuitive interface for writing code, debugging, and version
control, making it a top choice for web developers
In this session, trainees will learn how to install and configure Visual Studio Code (VS Code) a lightweight
but powerful source code editor widely used by web developers. VS Code supports multiple programming
languages, including HTML, CSS, JavaScript, and PHP, making it an ideal tool for building modern websites.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 20 of 91
Here we will setup and install the development environment and necessary tools help you to write,
test, and preview your HTML, CSS, and JavaScript code efficiently in your classes. This will enable
you to create responsive, interactive, and visually appealing web pages.
The following steps will help trainees successfully install Visual Studio Code on your computer. Once
installed, you can start using these text editors for writing and editing your HTML, CSS, and JavaScript
code.
Step 2: Click on the "Download" button to download the installer based on your
operating system (Windows, macOS, or Linux).
Step 4: Follow the on-screen instructions of the installer. By default, the installer will
suggest the appropriate installation location based on your operating system.
Step 5: On Windows, select whether to add "Open with Code" option to the context
menu. You can also choose to add VS Code to the system's PATH for easier command-
line access.
Step 6: Click "Next" and then "Finish" to complete the installation process.
Step-by-Step Activity:
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 21 of 91
2. Start by adding the HTML5 DOCTYPE declaration:
<!DOCTYPE html>
3. Put the entire document in an HTML root element by adding an <html> start tag at the very
beginning and an end <html> tag at the end of the text.
4. Next, created the document head that contains the title for the page. Insert <head> and </head>
tags before the content. Within the head element, add information about the character encoding
<meta charset="utf-8">, and the title, “Black Goose Bistro”, surrounded by opening and closing
<title> tags. The correct terminology is to say that the title element is nested within the head
element.
5. Finally, define the body of the document by wrapping the content in <body> and </body> tags.
When you are done, the source document should look like this:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 22 of 91
The Black Goose Bistro offers casual lunch and dinner fare in a hip
atmosphere. The menu changes regularly to highlight the fres hest
ingredients.
Catering Services
You have fun... we'll do the cooking. Black Goose catering can h andle events
from snacks for bridge club to elegant corporate fu ndraisers.
</body>
</html>
6. Save the document by the name [Link] in the documents directory and Open the file in the
browser or hit “refresh” or “reload” if it is open already.
Defining text elements
1. Open the document created above that is [Link] in your text editor, if it isn’t open already.
2. The first line of text, “Black Goose Bistro,” is the main heading for the page, so we’ll mark it up
as a Heading Level 1 (h1) element. Put the opening tag, <h1>, at the beginning of the line and
the closing tag, </h1>, after it, like this:
3. Our page also has three subheads. Mark them up as Heading Level 2 (h2) elements in a similar
manner. I’ll do the first one here; you do the same for “Catering” and “Location and Hours”.
<h2>The Restaurant</h2>
4. Each h2 element is followed by a brief paragraph of text, so let’s mark those up as paragraph
(p) elements in a similar manner. Here’s the first one; you do the rest.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 23 of 91
<p>The Black Goose Bistro offers casual lunch and dinner fare in a hip
atmosphere. The menu changes regularly to highlight the f
reshest ingredients.
</p>
5. Finally, in the Catering section, I want to emphasize that visitors should just leave the cooking to
us. To make text emphasized, mark it up in an emphasis element (em) element, as shown here.
<p>You have fun... <em>we'll handle the cooking </em>. Black Goo se
Catering can handle events from snacks for bridge club to ele gant
corporate fundraisers. </p>
6. Now that we’ve marked up the document, let’s save it as we did before, and open (or refresh) the
page in the browser.
2.1.3 Applying Basic HTML Formatting Tags
Description: In this exercise, trainees will create an HTML file and practice applying basic HTML
formatting tags to format and style text on a webpage. HTML formatting tags allow you to structure
and present your content in a visually appealing and organized manner. By applying these tags
correctly, you can create headings, paragraphs, emphasize text, and add line breaks to improve the
readability and aesthetics of your web pages.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 24 of 91
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
Step 3: Add a title heading
Inside the <body> tag, add a heading using the <h1> tag:
<h1>Welcome to My Webpage</h1>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 25 of 91
Activities
Instructions:
Instructions:
1. Review the architecture plan from the previous session (e.g., Homepage, About Us)
5. Save the file and organize it clearly within your project folder.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 26 of 91
6. Test the HTML Page in the Browser
o Open the file [Link] in a modern web browser (e.g., Chrome, Firefox).
Instructions:
2. Open [Link]
Links are essential for connecting different sections of a website or directing users to other pages, enhancing
the interactivity of the site. Images, on the other hand, engage users visually, making the site more appealing
and helping to communicate the message more effectively. Organizing content through lists and sections is
another vital strategy in creating an easy-to-navigate and visually organized layout. Lists, both ordered and
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 27 of 91
unordered, help structure information logically, while sections break up the content into categories that make
it easier for users to absorb.
This session emphasizes the importance of practical application by using real-world projects. The trainees
will have the opportunity to gain hands-on experience by designing and building simple web pages. By
applying HTML in real scenarios, such as creating a homepage, trainees can better understand how to structure
content to meet specific goals. Furthermore, it is important for trainer to learn how to break down HTML
concepts into digestible lessons. When teaching HTML, it is crucial to focus on clarity and simplicity, creating
a supportive classroom environment that encourages exploration and experimentation.
Additionally, understanding common HTML mistakes and how to troubleshoot them will prepare trainers for
addressing challenges trainees might face in the classroom. Encouraging an iterative learning process, where
students build and refine their pages, fosters both technical skill development and creative problem-solving.
Incorporating group discussions, peer feedback, and collaborative exercises will also help reinforce these
concepts in the classroom, creating a dynamic and engaging learning experience for trainees. Here are some
practical steps how to insert images and create links.
Step-by-Step Activity:
Step 1: Create a new HTML file
Create a new HTML file named "image_insertion.html" using a text editor or an integrated development
environment (IDE) of your choice.
Step 2: Download an image
Download an image of your choice from the internet, ensuring that it is saved in the same directory as
your HTML file. For this activity, let's assume the image file is named "[Link]."
Step 3: Writing the HTML structure
In the "image_insertion.html" file, set up the basic HTML structure:
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 28 of 91
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 29 of 91
Step 8: Image border
You can add a border around the image using the border attribute. Replace "border_value" with the
desired border size in pixels:
<!DOCTYPE html>
<html>
<head>
<title>Image Insertion Activity</title>
</head>
<body>
</body>
</html>
Congratulations! You have successfully completed the activity on inserting images into a web page
using various attributes of the <img> tag. Experiment with different values for attributes to get a better
understanding of how they affect the image display.
2.2.2 Inserting list to a web age
In this session, trainees will explore three types of lists: ordered lists, unordered lists, and definition
lists. Additionally, you will use different attributes to enhance list formatting and add sample real-
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 30 of 91
world data.
Step-by-Step Activity:
In Visual Studio open a new file and create the following file using H1 and paragraph tag
<ul>
</ul>
Save the file and then refresh the browser to view your work
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 31 of 91
<ul>
<ol>
<li>Sitka Sound</li>
<li>Kenai Peninsula</li>
Immediately below the Alaskan Salmon Fishing line, create a nested ordered list as shown below,
then save and check your work.
Immediately below the Sedona and the Grand Canyon line, create a nested ordered list as shown
below, then save and check your work.
Tel: 0116464455 Email: info@[Link] PO. Box: 190310 Website: [Link]
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 32 of 91
<ol>
</ol>
Change the opening tag of both ordered lists so that they use uppercase Roman numerals:
In this activity, trainees will practice creating hyperlinks on a web page using the <a> tag in HTML.
You will create three interconnected pages and implement a menu to navigate between them, fulfilling
real-world business user requirements.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 33 of 91
A local restaurant wants to build a simple website with the following pages and navigation:
Home Page - Displaying the restaurant's logo, welcome message, and contact information.
Menu Page - Showcasing the restaurant's menu with various categories of dishes.
About Us Page - Providing information about the restaurant's history and team.
Step-by-Step Activity:
Create a new HTML file named "[Link]" using Visual Studio Code or an integrated development
environment (IDE) of your choice.
Step 2: Writing the HTML structure for the Home Page in the
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<!-- Your Home Page content will go here -->
</body>
</html>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 34 of 91
<h2>Navigation:</h2>
<ul>
<li><a href="[Link]">Menu</a></li>
</ul>
</body>
</html>
Create a new HTML file named "[Link]" using Visual Studio Code or an integrated development
environment (IDE) of your choice.
Step 5: Writing the HTML structure for the Menu Page in the
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 35 of 91
<!DOCTYPE html>
<html>
<head>
<title>Menu Page</title>
</head>
<body>
</body>
</html>
<h1>Our Menu</h1>
<h2>Appetizers</h2>
<ul>
<li>Appetizer 1</li>
<li>Appetizer 2</li>
</ul>
<h2>Main Course</h2>
<ul>
</ul>
<h2>Desserts</h2>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 36 of 91
<ul>
<li>Dessert 1</li>
<li>Dessert 2</li>
</ul>
<h2>Navigation:</h2>
<ul>
<li><a href="[Link]">Home</a></li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>About Us Page</title>
</head>
<body>
</body>
</html>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 37 of 91
Step 9: Adding content and hyperlinks
Add the content for the About Us Page, providing information about the restaurant's history and
team. Also, include hyperlinks to the Home Page and Menu Page.
<p>Our restaurant has been serving delicious food for over a decade. We t
ake pride in our skilled team that creates mouthwatering dishes for our value
d customers.</p>
<h2>Our Team</h2>
<ul>
<!-- Add more team members as per the restaurant's team -->
</ul>
<h2>Navigation:</h2>
<ul>
<li><a href="[Link]">Home</a></li>
<li><a href="[Link]">Menu</a></li>
</ul>
</body>
</html>
Save all three HTML files: "[Link]," "[Link]," and "[Link]." Then, open each file using
a web browser to see the interconnected pages and the navigation menu.
Congratulations! You have successfully completed the activity, creating interconnected pages with
hyperlinks and fulfilling real-world business user requirements. Feel free to customize the content
and design to match your specific needs and preferences.
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 38 of 91
Here is Complete HTML Code and sample output for Each Page in the above activity:
[Link]:
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h2>Navigation:</h2>
<ul>
<li><a href="[Link]">Menu</a></li>
</ul>
</body>
</html>
Year of Excellence II
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 39 of 91
[Link]:
<!DOCTYPE html>
<html>
<head>
<title>Menu Page</title>
</head>
<body>
<h1>Our Menu</h1>
<h2>Appetizers</h2>
<ul>
<li>Appetizer 1</li>
<li>Appetizer 2</li>
</ul>
<h2>Main Course</h2>
<ul>
</ul>
<h2>Desserts</h2>
<ul>
<li>Dessert 1</li>
<li>Dessert 2</li>
</ul>
<li><a href="[Link]">Home</a></li>
</ul>
</body>
</html>
Output:
<!DOCTYPE html>
<html>
<head>
<title>About Us Page</title>
</head>
<body>
<p>Our restaurant has been serving delicious food for over a decade. We t
ake pride in our skilled team that creates mouthwatering dishes for our value
d customers.</p>
<h2>Our Team</h2>
<ul>
<!-- Add more team members as per the restaurant's team -->
</ul>
<h2>Navigation:</h2>
<ul>
<li><a href="[Link]">Home</a></li>
<li><a href="[Link]">Menu</a></li>
</ul>
</body>
</html>
Output:
Activities
Instructions:
1. Open your HTML file (e.g., [Link]) in your editor (VS Code studio)
2. Inside the <body>, practice adding headings:
<h1>Welcome to Course Management System</h1>
<h2>Our Mission</h2>
3. Add paragraphs using <p> to describe the website:
<p> A Course Management System (CMS) allows students to register for courses, instructors to
manage content and courses, and admins to maintain integrity.
. </p>
Instructions:
Instructions:
<li>Major Courses</li>
<li>Common Courses</li>
<li>Pedagogy Courses</li>
</ul>
Instructions:
Unit Summery
In this unit, trainees learned how to move from web design planning to actual development by creating the
front-end of web pages using HTML. They practiced setting up development environments, organizing files,
and writing HTML code to create structured, content-rich pages. Key elements such as headings, paragraphs,
links, images, and lists were used to present information effectively. Trainers also explored teaching strategies
through classroom simulations and reflected on how to simplify concepts for their trainees. By engaging with
a real-world project trainees explored how HTML can be used to meet business goals while creating dynamic,
student-friendly learning experiences. The unit also highlights approaches that trainer can apply in their
classrooms using step-by-step guidance, real examples, and interactive teaching methods to make HTML
development both accessible and inspiring.
Unit Objectives
1. What are the different ways you can apply CSS to an HTML
document? When would you use each one?
2. What are some real-world examples of websites that effectively use
CSS for design and layout?
CSS enables the visual customization of web content. The CSS box model is fundamental to how spacing and
alignment work. Basic CSS properties, such as color, font-size, and margin, allow designers to transform a
simple webpage into something visually appealing. Understanding the connection between CSS and HTML
is essential for creating aesthetically pleasing web pages. This session provides the foundation for more
complex styling, such as layouts and responsive design, which will be covered in later sessions.
Activities
1. Inline CSS is applied directly to individual HTML elements and is ideal for quick, one-off styling but
can be inefficient for larger projects.
2. Internal CSS is placed within the <head> section of the HTML document and is good for smaller
projects or when testing styles, but it only affects the current page.
3. External CSS is the best approach for larger projects or websites with multiple pages because it keeps
the HTML files clean, allows for easier maintenance, and promotes style reuse across multiple pages.
In this step-by-step activity, trainees will learn how to embed CSS styles directly into HTML elements
using Inline CSS. By the end of this activity, trainees will understand how to apply styling to individual
HTML elements without using an external CSS file, and they will be able to create visually appealing
web pages.
Create a new HTML file named "inline_css_activity.html" using a text editor or an integrated
development environment (IDE) of your choice.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
Add some basic HTML content to the "body" section. For this activity, we'll use a simple heading,
paragraph, and an image:
<body>
</body>
</html>
Step 4: Save and View the Web Page
Save the "inline_css_activity.html" file. Then, open it using a web browser to view the webpage with
the applied Inline CSS styles.
By completing this step-by-step activity, trainees have gained hands-on experience in embedding CSS
styles directly into HTML elements using Inline CSS. They now understand how to apply styling to
individual HTML elements without relying on an external CSS file, and they can use this knowledge
to customize the design and layout of their future web development projects.
Full Code:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
C SS Activity</h1>
</body>
</html>
Sample Output:
In this step-by-step activity, trainees will learn how to embed CSS styles directly into an HTML
document using Internal CSS. By the end of this activity, students will understand how to apply styling
to HTML elements without using an external CSS file and will be able to create visually appealing
web pages.
Step 1: Set Up the Basic HTML Structure
Create a new HTML file named "internal_css_activity.html" using Visual Studio code or an integrated
development environment (IDE) of your choice.
Step 2: Define the HTML Skeleton
In the "internal_css_activity.html" file, set up the basic HTML structure:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!-- Your HTML content and CSS styles will go here -->
</body>
</html>
<p>In this activity, you will learn how to embed CSS using Internal CSS
direct ly into an HTML document.</p>
</body>
<html>
<head>
<title>Internal CSS Activity</title>
<style>
h1 {
color: #007bff;
text-align:
center;
}
p {
font-size: 18px;
line-height: 1.6;
text-align:
justify;
img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
}
</style>
</head>
<!DOCTYPE html>
<html>
<head>
<title>Internal CSS Activity</title>
<style>
h1 {
color: #007bff;
text-align:
center;}
p {
font-size: 18px;
line-height: 1.6;
text-align:
justify;}
img {
display:
block; margin:
0 auto;
max-width: 100%;
height: auto;}
</style>
</head>
<body>
<h1>Welcome to Our First Internal CSS Activity</h1>
<p>In this activity, you will learn how to embed CSS using Internal CSS
direct ly into an HTML document.</p>
3.2.3 Using External CSS: External CSS Linking: Styling Your Web Page with External CSS
In this step-by-step activity, trainees will learn how to link an external CSS file to an HTML document
and apply styles to the HTML elements using External CSS. By the end of this activity, trainees will
understand how to keep the CSS separate from HTML and apply consistent styles to multiple web
pages.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
/* [Link] */
h1 {
color: #007bff;
text-align:
center;
}
p {
font-size: 18px;
line-height: 1.6;
text-align:
justify;
img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
By completing this step-by-step activity, trainees have learned how to link an external CSS file to an
HTML document and apply styles to HTML elements using External CSS. They now understand the
advantages of separating CSS from HTML, and they can apply consistent styles to multiple web pages
by using External CSS. This knowledge will enable them to create visually appealing and maintainable
websites in their future web development projects.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>In this activity, you will learn how to link an external CSS file and
apply st yles to HTML elements using External CSS.</p>
[Link]:
/* [Link] */
h1 {
color: #007bff;
text-align:
center;
}
p {
font-size:
18px; line-
height: 1.6;
img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
Sample Output:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Welcome to CSS Selectors Activity</h1>
<p>In this activity, you will learn how to use Element, Class, and ID
Selectors to apply CSS styles to HTML elements.</p>
<div>Element Selector</div>
<div class="highlight">Class Selector</div>
</body>
</html>
Step 5: Add CSS Styles to "[Link]"
Open the "[Link]" file and add CSS styles using Element, Class, and ID Selectors:
/* [Link] */
/* Element Selector */
h1 {
color: #007bff;
text-align:
center;
/* Class Selector */
.highlight {
font-size: 20px;
font-weight:
bold;
background-color: #f7f7f7;
padding: 10px;
/* ID Selector
*/ #unique {
color: #ff4500;
text-align:
right;
By completing this step-by-step activity, trainees have learned how to use Element, Class, and ID
Selectors to apply CSS styles to HTML elements. They now understand the differences between
these selectors and how to target specific elements for styling. This knowledge will enable them
to create more customized and visually appealing websites in their future web development
projects.
Full Code:
css_selectors_activity.html:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>In this activity, you will learn how to use Element, Class, and ID
Selectors to apply CSS styles to HTML elements.</p>
<div>Element Selector</div>
</body>
</html>
css code
/* [Link] */
/* Element Selector */
h1 {
color: #007bff;
text-align:
center;
/* Class Selector */
.highlight {
font-size: 20px;
font-weight:
bold;
background-color: #f7f7f7;
padding: 10px;
/* ID Selector
*/ #unique {
color: #ff4500;
text-align:
right;
Sample Output:
Activities
Create a new HTML file and copy the provided HTML code. This code includes four text boxes,
each with a different class.
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
</head>
<body>
<!-- Add your styles to make these boxes visually appealing -->
</body>
</html>
Create a new file named [Link] and link it to your HTML file. This is where you will apply the
styles for the box model.
/* [Link] */
.important-note-1 {
.important-note-2 {
.important-note-3 {
.important-note-4 {
/* Add styles for the fourth text box */
}
Inside the .important-note-1 class, experiment with different values for the padding property to see
how it affects the space inside the box.
.important-note-1 { margin:
42px 0 42px 0;
padding: 20px; /* Try different values, like 10px, 20px, 30p x, etc. */
border-style: solid;
border-width: 1px;
Continue working inside the .important-note-2 class. Add a border to the second text box.
.important-note-2 { margin:
42px 0 42px 0;
border-right-width: 0;
Inside the .important-note-3 class, experiment with the margin property to see how it affects the
space outside the box.
.important-note-3 {
margin: 10px 0 42px 0; /* Try different values, like 10px, 2 0px, 30px,
etc. */
border-top-width: 0;
border-bottom-width: 0;
border-left-width: 20px;
border-right-width: 0;
}
Step 6: Apply Border Radius to the Fourth Box
In the .important-note-4 class, experiment with the border-radius property to give the fourth text box
rounded corners.
.important-note-4 { margin:
42px 0 42px 0;
border-width: 3px;
Save your files and open the HTML file in a browser. Observe how changes in padding, borders, and
margins impact the appearance of each text box.
Congratulations! You've successfully practiced using the box model in CSS to control the layout and
spacing of elements on a webpage. Feel free to experiment with other properties and values to
deepen your understanding.
Description: In this exercise, trainees will be working on a fictional client's website. The client
needs a clean and organized horizontal navigation bar to improve user experience. Follow the step-
by-step instructions to create a simple and effective navigation menu.
Create a new HTML file and set up the basic structure with the <!DOCTYPE html> declaration,
<html>, <head>, and <body> tags.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Client's Website</title>
</head>
<body>
</body>
</html>
Create a new file named [Link] and link it to your HTML file. This is where you will apply the
styles for the navigation.
/* [Link] */ body {
}
/* Add your navigation styles here */
Inside the [Link], design the basic styles for the navigation bar. Add styles to remove default list
styles and make the list horizontal.
/* [Link] */
body {
font-family: Arial, sans-serif; margin:
0;
}
nav {
background-color: #333;
}
nav ul {
list-style-type: none; margin:
0;
padding: 0;
overflow: hidden;
}
nav li {
float: left;
}
nav a {
display: block;
color: white;
text-align: center;
padding: 14px 16px; text-
decoration: none;
}
nav a:hover {
background-color: #ddd; color:
black;
}
Inside the <body> of your HTML file, add the navigation bar with some sample links.
<nav>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
Save your files and open the HTML file in a browser. Observe how the navigation bar appears and
how it behaves when you hover over the links.
Congratulations! You've successfully created a horizontal navigation bar for your client's website. Feel free
to customize the styles, add more links, or experiment with different effects to enhance the navigation bar.
70
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 71 of 91
Activity 3: Create a Navigation Bar
Design a horizontal navigation bar using Flexbox and style the links for hover and active states.
Practice: Create a navigation bar that stays fixed at the top and collapses into a menu on small screens (intro
to responsive design).
Activity 4: CSS Grid Layout
Use CSS Grid to organize a web page into rows and columns for more complex designs.
Unit Summery
In this unit, trainees learned how to enhance the presentation of web pages by integrating CSS (Cascading
Style Sheets) into their HTML-based websites. Trainees practiced to how to apply CSS styles to HTML
elements using Element, Class, and ID Selectors into their HTML-based websites using different
[Link] allows for the separation of content (HTML) and style (visual design), enabling web pages to
look polished and user-friendly. Trainees learned to apply basic CSS properties, understand the differences
between inline, internal, and external CSS, and created page layouts and navigation systems that are both
functional and aesthetically pleasing.
71
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 72 of 91
This unit equips trainers with the skills and knowledge how to add interactivity to a website using JavaScript.
The training is centered a real-world case scenario: the development of a website for Course Management
System. The goal is to make the learning process practical and aligned with real-world applications, focusing
on user experience, security, and usability through scripting.
Unit Objectives
Expected Outcomes
Interactivity of webpages using JavaScript is implemented.
Validated user input using client-side scripts.
Interactive behaviors of webpage are controlled using conditional statements and loops in JavaScript.
72
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 73 of 91
4.1 Apply Interactive Using JavaScript
JavaScript is a client-side scripting language used to create interactive web pages. Runs in the browser (can
also run on server using [Link]). JavaScript Works with HTML and CSS to make websites dynamic.
Description:
In this activity, trainees will create an interactive calculator using JavaScript functions. The project
aims to reinforce the concept of functions in JavaScript. By the end of the activity, you'll have a fully
functional calculator that can add, subtract, multiply, and divide numbers.
Create an HTML file ([Link]) with a basic structure for the calculator.
73
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 74 of 91
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Interactive Calculator</title>
</head>
<body>
<h1>Interactive Calculator</h1>
<div>
74
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 75 of 91
</div>
<div>
</div>
<div>
<button onclick="add()">Add</button>
<button onclick="subtract()">Subtract</button>
<button onclick="multiply()">Multiply</button>
<button onclick="divide()">Divide</button>
</div>
<div>
</div>
</body>
</html>
Embed a <script> tag at the end of the <body> to add JavaScript code.
<script>
75
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 76 of 91
function subtract() {
function multiply() {
function divide() {
}
</script>
Inside the script tag, implement the functionality for each function.
<script>
result;
}
parseFloat([Link]('num1').value);
76
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 77 of 91
[Link]('result').textContent =
result;
}
[Link]('result').textContent =
result;
}
</script>
77
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 78 of 91
Expected Output:
Upon completing these steps, you'll have an interactive calculator that performs basic arithmetic
operations based on user input. Users can enter two numbers, click on the operation buttons (Add,
Subtract, Multiply, Divide), and see the result displayed on the webpage.
Expand this activity by adding more functionality, improving the user interface, or
introducing additional mathematical operations.
78
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 79 of 91
Description:
In this activity, trainees will create a simple web form with JavaScript validation. The form will collect
user details such as name, age, and email. We'll use if statements to check if the entered data is valid.
If it's not, an error message should be displayed. Follow the steps below:
Create an HTML file ([Link]) with a form that includes fields for name, age, and
email.
Add a submit button.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Form Validation</title>
</head>
<body>
<h2>User Details</h2>
<form id="userForm">
<label for="name">Name:</label>
79
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 80 of 91
<input type="number" id="age" name="age" required><br>
<label for="email">Email:</label>
</form>
</body>
</html>
2. JavaScript Validation:
function validateForm() {
}
// Simple email validation
80
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 81 of 91
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if
() {
When the form is submitted with valid data, an alert saying "Form submitted
successfully!" should appear.
If any field is empty or the age is not within the specified range, appropriate error
messages should be displayed.
Activities
2. JavaScript Coding
81
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 82 of 91
Output: Validated contact form preventing blank or invalid email submissions.
Unit Summery
In this unit, trainees learned how add interactivity to a website using JavaScript. Trainees practiced on fictional
client's website and created clean and organized horizontal navigation bar to improve user experience by
following the step-by-step instructions to create a simple and effective navigation menu. Trainees created a
simple web form with JavaScript validation by using if statements to check if the entered data is valid. If it's
not, an error message should be displayed. Trainees developed Course Management System real world
scenario focusing on user experience, security, and usability through scripting.
82
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 83 of 91
Unit Objectives
Configure a local server environment and MySQL database for web development.
Develop secure user authentication and functionalities with PHP and MySQL.
Build an admin panel to manage website data, ensuring role-based access and CRUD
operations.
Expected Outcomes
Local server environment and MYSQL database for web development are configured.
Developed secure user authentication and functionalities with PHP and MySQL.
83
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 84 of 91
The backend environment refers to the server-side part of a web application. It manages:
Business logic
Database communication
Authentication & authorization
APIs and server responses
XAMPP is a free, open-source software bundle that simplifies web development by providing a local
environment to test your website before it goes live. It includes Apache, which acts as the web server
to handle HTTP requests and serve your PHP files, and MySQL, which manages the database to store
data like users, courses, and for course management system. For Activity 1 (Environment Setup),
installing XAMPP correctly is critical because it allows you to run your website locally at
[Link] When setting up, download XAMPP from a trusted source (e.g., [Link])
and install it in a default location like C:\xampp to avoid permission issues. After installation, start
Apache and MySQL from the XAMPP Control Panel and verify they’re running (green indicators).
Test the setup by visiting [Link] in your browser, which should display the
XAMPP welcome page. Tip: If Apache or MySQL fails to start, check for port conflicts (e.g., port
80 used by another program like Skype) using the XAMPP Control Panel’s “Netstat” button, and free
Tel: 0116464455 Email: info@[Link] PO. Box: 190310 Website: [Link]
84
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 85 of 91
up ports by closing conflicting apps or changing XAMPP’s default ports.
Tip: Keep the XAMPP Control Panel open during development to quickly stop/start services, and
bookmark [Link] for easy database access in later activities.
Tip: Sketch your tables on paper or a whiteboard before coding, listing columns, data types, and
relationships This helps visualize foreign keys and prevents redesign later.
Tip: Keep column names consistent (e.g., always user_id, not userid) to avoid confusion in queries,
and include a created_at column in tables like feedback to track submission times.
Setting Up a MySQL Database
MySQL, included in XAMPP, is a powerful system for storing and retrieving data, and creating a
database correctly is essential for the Course Management System website. In Activity 3 (MySQL
Database Setup), you’ll use phpMyAdmin, a web-based tool accessed via
[Link] to create the course_mgt database and its tables based on your Activity
2 design. Start by creating the database, then define tables with SQL commands or phpMyAdmin’s
graphical interface, specifying columns, data types, and constraints (e.g., PRIMARY KEY,
FOREIGN KEY). For example, the users table might have id (INT, AUTO_INCREMENT,
PRIMARY KEY), username (VARCHAR(50)), email (VARCHAR(100)), and password
(VARCHAR(255)). After creating tables, insert sample data manually or via SQL to test
functionality.
85
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 86 of 91
Tip: Save your table creation and sample data SQL in a .sql file (e.g., course_mgmt.sql) using
phpMyAdmin’s “Export” feature or a text editor. This lets you quickly recreate the database if errors
occur or for future projects.
Tip: Test each table after creation by running a SELECT * FROM table_name; query in
phpMyAdmin’s SQL tab to ensure columns and sample data appear as expected.
PDO uses prepared statements, where placeholders (e.g., ? or :name) replace user inputs in queries,
ensuring malicious code can’t manipulate the database. Set up the connection with a DSN (Data
Source Name) like mysql:host=localhost;dbname=course_mgmt, a username (usually root), and a
blank password (default for XAMPP’s local MySQL). Wrap the connection in a try-catch block to
handle errors gracefully—if the database isn’t found, the catch block can display a user-friendly
message like “Connection failed.”
Tip: Test your PDO connection early by adding echo "Connected"; after the connection code in
[Link], then include it in a test PHP file (e.g., [Link]) and visit [Link]
system/[Link]. If you see “Connected,” your setup is correct.
Testing each component as you build ensures the back-end environment works reliably for Course
Management Course. For all activities, verify XAMPP services are running before testing—Apache
for PHP files, MySQL for database access.
In Activity 1, check [Link] after starting XAMPP to confirm Apache is active. In Activity 3,
86
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 87 of 91
after setting up the database, insert and retrieve sample data (e.g., SELECT * FROM users;) to
confirm table functionality. In Activity 4, run a simple PDO query (e.g., SELECT name FROM
courses) and display results to ensure the connection works.
Tip: Break tasks into small steps—install XAMPP, then test Apache, then create the database, then
connect with PDO—to catch errors early. If phpMyAdmin shows “Access denied,” check MySQL
credentials (default: root, no password) or restart MySQL in XAMPP.
Tip: If PDO throws errors like “Could not find driver,” ensure the php_pdo_mysql extension is
enabled in [Link] (located in C:\xampp\php), which you can check via phpinfo() in a test PHP file.
Keep error messages visible during development (set display_errors = On in [Link]) to diagnose
issues, but plan to disable them for a live site to enhance security.
Activities
This hands-on activity introduces you to web development by letting you explore a local server environment
and confirm it works, building confidence in your setup.
Instructions
Install XAMPP: Download XAMPP from its official website and install it on your computer,
choosing a simple location like C:\xampp. Think of XAMPP as your website’s home—it provides the
server (Apache) and database (MySQL) you’ll use.
Start Services: Open the XAMPP Control Panel and start Apache and MySQL. Watch for green
indicators to know they’re running, like turning on the engine of your web project.
Set Up Project Folder: Create a folder named course-mgt inside XAMPP’s htdocs directory (e.g.,
C:\xampp\htdocs). This is where your website files will live.
Test Your Setup: Open a browser and go to [Link] If you see a basic page or
file list, your environment is ready! If not, check XAMPP services or ask for help—it’s like
troubleshooting a new gadget.
87
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 88 of 91
Explore: Try visiting [Link] to peek at the database tool you’ll use later. Reflect
Activity 3: Building Your MySQL Database for Course Management System (20 minutes)
Overview
Now it’s time to create the heart of the Course Management System website—a MySQL database to store all
its data, like users and courses. In this activity, you’ll work individually to set up a database called
88
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 89 of 91
course_mgmt_system using phpMyAdmin, bring your table designs to life, and add some sample data to see
it in action. This hands-on task lets you explore database creation, helping you understand how websites store
information while building confidence through trial and error.
Instructions
Create the Database: Open your browser and go to [Link] Create a new
database named course_mgmt_system—think of it as a big filing cabinet for your website’s data.
Build Tables: Using the table sketches from Activity 2 (e.g., users, courses, enrollment), set up each
table in phpMyAdmin. Add columns like id, username based on your design, choosing the right types
(e.g., numbers for IDs, text for names). It’s like setting up drawers in that filing cabinet.
Add Sample Data: Put two example entries into each table. For example, in courses, add a course like
“Web Development” and another like “Database Design” In users, create two sample users with emails
and passwords. This is like filling the drawers with test files to check they work.
Check Your Work: Look at your tables in phpMyAdmin to make sure the data shows up correctly.
Try running a simple query like “show me all courses” in the SQL tab to see your sample data.
Output
A course_mngt_system database in phpMyAdmin with tables (e.g., users, courses, enrollment) and two
sample data entries per table, ready to store website information.
Unit Summery
In this unit, trainees learned on building a dynamic, secure back-end for the Course Management
System website using PHP and MySQL. Throughout this unit trainees practiced to set up the
development environment, create and connect a database, implement user authentication for the
selected scenario Course Management System website. Trainees developed an admin panel for
managing users, Course list, and feedback on Course Management System website. Lastly the
functional and nonfunctional requirements of Course Management System website that is used
throughout this module is ensured.
89
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 90 of 91
References
1. Cory Lebson (2021). The UX Careers Handbook, CRC Press, 2nd edition.
2. Steve Krug (2014). Don’t Make Me Think: A Common-Sense Approach to Web Usability, New Riders,
3rd edition.
3. Jason Beaird (2020). The Principles of Beautiful Web Design, SitePoint, 4th edition.
4. Jon Duckett (2011). HTML and CSS: Design and Build Websites, Wiley, 1st edition.
5. Jessica Minnick (2016). Web Design with HTML & CSS3: Introductory, Course Technology, 8th edition.
6. MDN Web Docs – Responsive Design
A comprehensive guide to responsive design principles, including fluid grids, flexbox, and media
queries, Link: MDN Web Docs: Responsive Design
7. W3Schools – Responsive Web Design
Simple, beginner-friendly tutorials with live examples. A great starting point for those new to responsive
[Link]: W3Schools: Responsive Web Design
8. freeCodeCamp – Responsive Web Design Certification
An interactive course that teaches HTML, CSS, and responsive web design principles through hands-on
[Link]: freeCodeCamp: Responsive Web Design Certification
90
Institution Name Document No.
የየየየየ የ/የ/የ የየየየየየየ OF/FTI/AC/08
FDRE TVT INSTITUTE
Effective Date Title Issue No. Page No.
01/09/2016 Module 2 Page 91 of 91
Basic Training Tools
1. Code Editors: Visual Studio Code Used for HTML, CSS, PHP, and JS editing
2. Browsers & Dev Tools: Chrome Developer Tools, Firefox Developer Tools
3. XAMPP Software Installer: Local server environment for PHP & MySQL
91