Web Programming 1 – CS 2205
This course provides a comprehensive coverage of web development technologies and practices, exploring HTML, CSS, JavaScript, DOM manipulation, XML, web frameworks, and single-page applications (SPAs). Students will learn how to design and develop, modern web applications using industry-standard tools and techniques.
Learning Objectives and Outcomes:
By the end of this course students will be able to:
- Comprehend the fundamental concepts of web development, including client-server architecture, HTTP protocols, the roles of web browsers and servers and examine the underlying code of web pages.
- Create well-structured documents using HTML, XML, and JSON with appropriate tags, attributes, and semantic elements to represent content effectively.
- Apply CSS styles to HTML elements to achieve desired layout, typography, colors, and visual effects, adhering to best practices and principles of responsive design.
- Implement client-server communication using HTTP methods (GET and POST) and handle form submissions in web applications.
- Design web pages, using JavaScript to add interactivity and dynamic behavior to including event handling, form validation, and DOM manipulation.
- Analyze advanced web development techniques, frameworks, and best practices.
Course Schedule and Topics
This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9 (UoPeople time).
Week 1: Unit 1 – Introduction to Web Development
Week 2: Unit 2 – HTML and CSS Fundamentals
Week 3: Unit 3 – Advanced HTML
Week 4: Unit 4 – JavaScript
Week 5: Unit 5 – DOM Manipulation
Week 6: Unit 6 – Single-Page Applications (SPAs)
Week 7: Unit 7 – XML and JSON for Data Interchange
Week 8: Unit 8 – Introduction to Web Frameworks
Week 9: Unit 9 – Final Exam
Learning Guide
The following outlines how this course will be conducted, with suggested best practices for students.
Week 1: Unit 1 – Introduction to Web Development
- Understand the fundamental concepts of web. development and explain the principles client-server architecture.
- Analyse and examine the code behind web pages.
Week 2: Unit 2 – HTML and CSS Fundamentals
- Create well-structured HTML documents using appropriate tags and attributes.
- Apply CSS rules and selectors to style HTML elements and achieve desired layouts.
Week 3: Unit 3 – Advanced HTML
- Create HTML forms to collect user input and utilize the GET and POST methods to submit form data.
- Implement client-side form validation using HTML.
- Describe responsive design techniques to ensure compatibility across various devices.
Week 4: Unit 4 – JavaScript
- Understand the basics of JavaScript, including variables, data types, and operators.
- Implement control structures and functions to create dynamic behaviour in web pages.
- Explore advanced JavaScript concepts such as closures and prototypes.
Week 5: Unit 5 – DOM Manipulation
- Understand how manipulation of the Document Object Model (DOM) using JavaScript creates interactive web pages.
- Implement event handling and event delegation to respond to user interactions and update DOM elements dynamically to reflect changes in application state.
Week 6: Unit 6 – Single-Page Applications (SPAs)
- Explain the concepts and architecture of single-page applications (SPAs).
- Analyse client-side routing and the ability to fetch data asynchronously to dynamically update content.
Week 7: Unit 7 – XML and JSON for Data Interchange
- Design XML Schema that defines specific data types and structures for an XML document.
- Explain XML namespaces for defining custom vocabularies and XML parsing.
- Create JSON data structures for web applications.
- Compare and contrast the use of XML and JSON in data interchange.
Week 8: Unit 8 – Introduction to Web Frameworks
- Examine client-side web frameworks like Angular and React.js, and assess their advantages in web development.
- Analyse server-side web frameworks like Django, Flask, and Node.js, and evaluate their advantages in web development.