Web Programming II
Lecturer: Sama Promise
Institut Supérieur des Sciences Arts et Métiers (ISSAM)
Yaoundé, Cameroon
Academic Year 2025–2026
1 Course Information
• Course Code: SWE 232
• Course Title: Web Programming II
• Credits: 2
• Total Hours: 30 (Lectures: 20 hours, Tutorials: 10 hours, Practicals: 0 hours,
Student Personal Work: 0 hours)
• Lecturer: Sama Promise
• Institution: Institut Supérieur des Sciences Arts et Métiers (ISSAM), Yaoundé,
Cameroon
• Academic Year: 2025–2026
• Level: HND Year 2, Software Engineering Option
• Prerequisites: Web Programming I or equivalent knowledge in HTML, CSS, and
basic JavaScript
2 Course Description
This course advances students’ skills in web development, focusing on server-side pro-
gramming and database integration. It covers the definition of the web, installation
and configuration of web servers (WAMP/EasyPHP), concepts of intranet, internet, and
extranet, web development tools, Apache projects, MySQL fundamentals, and PHP pro-
gramming. The course prepares students for the Cameroon HND national examination
through theoretical understanding and practical application of web technologies, empha-
sizing server-side scripting and database-driven websites.
1
Sama Promise Web Programming II
3 Course Objectives
3.1 General Objectives
• To equip students with skills to develop dynamic, database-driven web applications.
• To understand web server configuration and network concepts (intranet, internet,
extranet).
• To master PHP and MySQL for server-side web development.
• To prepare students for HND examinations with theoretical and practical assess-
ments.
3.2 Specific Objectives
Upon completion, students will be able to:
• Define and differentiate web, intranet, internet, and extranet.
• Install and configure WAMP or EasyPHP servers.
• Use web development tools and understand Apache projects.
• Perform CRUD operations using MySQL and PHP.
• Develop dynamic web applications with PHP and MySQL integration.
4 Learning Outcomes
By the end of the course, students should be able to:
• Explain the architecture of the web and its network components.
• Set up a local web server environment for development and testing.
• Write PHP scripts for server-side logic and form handling.
• Design and query MySQL databases for web applications.
• Solve HND exam-style problems, including theoretical questions and coding tasks.
5 Teaching and Learning Methods
• Lectures (20 hours): Theoretical explanations of web concepts, server configu-
ration, PHP, and MySQL with examples.
• Tutorials (10 hours): Guided problem-solving, code reviews, and discussions on
HND past questions.
Resources: Computer lab with WAMP/EasyPHP, PHP, and MySQL installed; projectors
for demonstrations; online references (e.g., W3Schools, PHP.net).
2
Sama Promise Web Programming II
6 Assessment Methods
Aligned with Cameroon HND standards:
• Continuous Assessment (40%): Two tests (20%), assignments (20%).
• Final Examination (60%): 2–3 hour exam comprising:
– Theoretical questions (e.g., MCQs, short answers on web concepts, PHP,
MySQL).
– Practical coding tasks (e.g., PHP scripts, MySQL queries, form handling).
– Case studies (e.g., developing a simple web app like a guestbook).
Passing Grade: 50/100, with emphasis on theoretical and coding proficiency.
7 Detailed Syllabus
7.1 Unit 1: Define Web (Lectures: 2h, Tutorials: 1h)
• Web architecture, client-server model, HTTP/HTTPS protocols.
• Role of browsers, servers, and web technologies.
7.2 Unit 2: Installation and Configuration of a Web Server (WAMP/EasyPH
(Lectures: 4h, Tutorials: 2h)
• Installing WAMP or EasyPHP.
• Configuring Apache, PHP, and MySQL.
• Testing local server setup.
7.3 Unit 3: Notions on Intranet, Internet, and Extranet (Lec-
tures: 3h, Tutorials: 1h)
• Definitions and differences.
• Applications and security considerations.
7.4 Unit 4: Presentation of Web Development Tools (Lectures:
3h, Tutorials: 1h)
• IDEs (e.g., VS Code, PhpStorm), browsers, and debugging tools.
• Version control (Git) for web projects.
7.5 Unit 5: Apache Projects (Lectures: 2h, Tutorials: 1h)
• Overview of Apache HTTP Server and related projects.
• Configuration and optimization.
3
Sama Promise Web Programming II
7.6 Unit 6: Basic Concepts on MySQL (Lectures: 3h, Tutorials:
2h)
• Database structure, tables, and relationships.
• CRUD operations, SQL queries.
7.7 Unit 7: PHP Language (Lectures: 3h, Tutorials: 2h)
• PHP syntax, variables, functions, and form handling.
• Integrating PHP with MySQL for dynamic websites.
8 Lecture Notes
These notes are based on W3Schools PHP, PHP.net, MySQL Documentation, and Apache
Documentation, tailored for HND exam preparation.
8.1 Unit 1: Define Web
• Web Architecture: The web operates on a client-server model where clients
(browsers) send HTTP/HTTPS requests to servers, which respond with resources
(HTML, CSS, etc.). HND exams often test this model.
• HTTP/HTTPS: HTTP (HyperText Transfer Protocol) is stateless; HTTPS adds
SSL/TLS for security. Example: A browser sends GET /index.html to retrieve a
webpage.
• Web Technologies: HTML (structure), CSS (styling), JavaScript (client-side
logic), PHP (server-side logic). HND questions may ask for roles of each.
• Practice Question (HND Style): Explain the client-server model with a dia-
gram. Describe the role of HTTP in web communication. (5 marks)
8.2 Unit 2: Installation and Configuration of a Web Server (WAMP/EasyPH
Based on W3Schools: PHP Installation and XAMPP/WAMP Documentation.
• WAMP Installation: Download WAMP from https://www.apachefriends.
org/. Steps:
1. Install WAMP (includes Apache, PHP, MySQL).
2. Start WAMP services via control panel.
3. Test by creating test.php in C:64:
1 <? php
2 phpinfo () ;
3 ?>
Access via http://localhost/test.php.
4
Sama Promise Web Programming II
• Configuration: Edit httpd.conf (Apache) for port settings, php.ini for PHP
settings (e.g., display_errors = On for debugging).
• Practice Question (HND Style): Outline steps to install WAMP and configure
Apache to run on port 8080. Test with a PHP file. (10 marks)
8.3 Unit 3: Notions on Intranet, Internet, and Extranet
• Internet: Global network of interconnected computers using TCP/IP. Used for
public websites.
• Intranet: Private network within an organization, accessible only to authorized
users (e.g., company portals).
• Extranet: Extends intranet to external partners with controlled access (e.g., sup-
plier portals).
• Security: Intranets use VPNs; extranets require authentication. HND exams may
ask for comparisons.
• Practice Question (HND Style): Differentiate between internet, intranet, and
extranet with examples. Discuss security measures for an extranet. (5 marks)
8.4 Unit 4: Presentation of Web Development Tools
Based on VS Code Documentation and Git Documentation.
• IDEs: Visual Studio Code (lightweight, supports PHP, MySQL), PhpStorm (ad-
vanced PHP features).
• Browsers: Chrome DevTools for debugging HTML/CSS/JavaScript.
• Version Control: Git for tracking code changes. Basic commands:
1 git init
2 git add .
3 git commit -m " Initial commit "
• Practice Question (HND Style): List three web development tools and explain
their roles. Demonstrate a Git workflow for a PHP project. (5 marks)
8.5 Unit 5: Apache Projects
Based on Apache HTTP Server Documentation.
• Apache HTTP Server: Open-source web server handling HTTP requests. Con-
figured via httpd.conf.
• Other Projects: Apache Tomcat (Java servlets), Apache Maven (build automa-
tion).
• Configuration Example: Enable mod_rewrite for URL rewriting:
5
Sama Promise Web Programming II
1 < IfModule mod_rewrite .c >
2 RewriteEngine On
3 RewriteRule ^ index \. php$ - [ L ]
4 </ IfModule >
• Practice Question (HND Style): Explain the role of Apache HTTP Server.
Configure a virtual host for a PHP website. (5 marks)
8.6 Unit 6: Basic Concepts on MySQL
Based on MySQL Documentation and W3Schools SQL.
• Database Structure: Tables, rows, columns; primary and foreign keys for rela-
tionships.
• CRUD Operations:
1 -- Create table
2 CREATE TABLE Products (
3 ID INT PRIMARY KEY AUTO_INCREMENT ,
4 Name VARCHAR (100) ,
5 Price DECIMAL (10 ,2)
6 );
7 -- Insert
8 INSERT INTO Products ( Name , Price ) VALUES ( ’ Laptop ’ , 999.99) ;
9 -- Select
10 SELECT * FROM Products WHERE Price > 500;
11 -- Update
12 UPDATE Products SET Price = 1099.99 WHERE ID = 1;
13 -- Delete
14 DELETE FROM Products WHERE ID = 1;
• Practice Question (HND Style): Create a MySQL table for students (ID, Name,
Grade). Write queries to insert, update, and select records. (10 marks)
8.7 Unit 7: PHP Language
Based on PHP Manual and W3Schools PHP.
• PHP Syntax: Variables, arrays, loops, functions.
1 <? php
2 $name = " John " ;
3 $items = [ " Book " , " Pen " ];
4 foreach ( $items as $item ) {
5 echo " $item < br > " ;
6 }
7 function greet ( $name ) {
8 return " Hello , $name ! " ;
9 }
10 echo greet ( $name ) ; // Output : Hello , John !
11 ?>
6
Sama Promise Web Programming II
• Form Handling: Process user input with POST/GET.
1 <! - - form . html -->
2 < form method = " post " action = " process . php " >
3 Name : < input type = " text " name = " username " >
4 < input type = " submit " value = " Submit " >
5 </ form >
6 <! - - process . php -->
7 <? php
8 if ( $_SERVER [ " REQUEST_METHOD " ] == " POST " ) {
9 $username = $_POST [ " username " ];
10 echo " Welcome , $username ! " ;
11 }
12 ?>
• PHP-MySQL Integration: Connect and query databases.
1 <? php
2 $server = " localhost " ;
3 $user = " root " ;
4 $pass = " " ;
5 $db = " InventoryDB " ;
6 $conn = new mysqli ( $server , $user , $pass , $db ) ;
7 if ( $conn - > connect_error ) {
8 die ( " Connection failed : " . $conn - > connect_error ) ;
9 }
10 $result = $conn - > query ( " SELECT * FROM Products " ) ;
11 while ( $row = $result - > fetch_assoc () ) {
12 echo $row [ " Name " ] . " : $ " . $row [ " Price " ] . " <br > " ;
13 }
14 $conn - > close () ;
15 ?>
• Practice Question (HND Style): Create a PHP form to collect product details
(name, price) and store them in a MySQL table. Display all products. (15 marks)
9 References
• W3Schools PHP
• PHP Manual
• MySQL Documentation
• Apache HTTP Server Documentation
• Past HND Papers: https://cameroonhnd.com/, https://www.camexamen.com/
10 Sample Past Questions
Adapted from HND 2020–2024 Software Engineering exams.
7
Sama Promise Web Programming II
10.1 Theoretical Questions
1. Define internet, intranet, and extranet. Explain their use in business applications.
(5 marks) [HND 2021]
2. Describe the steps to configure Apache in WAMP to handle PHP files. (5 marks)
[HND 2023]
10.2 Practical Questions
1. Write a PHP script to create a registration form and store user data in a MySQL
table (fields: ID, Username, Email). (15 marks) [HND 2024]
2. Create a MySQL database "ShopDB" with a table "Items" (ID, Name, Price).
Write PHP code to display all items. (10 marks) [HND 2020]
3. Configure a virtual host in Apache for a website at http://mysite.local. Provide
the httpd.conf snippet. (5 marks) [HND 2022]