• Estimated Duration: 30 - 35 minutes

Objectives:

  • Students will learn how to use a database to store and manage user data, including user profiles, messages, and user-generated content.
  • Students will understand the importance of security and privacy: Students should gain an understanding of the importance of implementing security measures to protect user data, including encryption, authentication, and access control.
  • Students will learn how to build a backend server to handle user authentication, data storage, and communication between the frontend and backend components of the application.

Introduction:

  • Provide a brief overview of the project topic, which will involve creating a system or guide for adding and managing user data.
  • Explain the project objectives and scope: Discuss the specific goals of the project, such as developing skills in frontend and backend web development, understanding the importance of user experience, and using a database to manage user data.
  • Show examples of importance and significance of data related to user in real-life scenarios, such as social media applications

Lesson 1: Collecting User Data

  • Explain the concept of user data and why it is important in web applications.
  • Demonstrate how to create HTML forms with various types of input fields, such as text, password, email, and file upload fields, and describe how to use JavaScript to validate and process user input before submitting it to a server.

Lesson 2: Introduction to Databases and User Data Management

  • Explain the concept of databases and how they are used to store and manage user data in web applications.
  • Demonstrate how to create and manage tables in a database using SQL queries, including creating tables for user profiles, messages, and user-generated content.
  • Introduce basic CRUD (Create, Read, Update, Delete) operations for managing user data in the database, including inserting new data, retrieving data, updating data, and deleting data.
  • Use code examples and interactive activities to help students practice working with databases, such as creating a table for user profiles, inserting sample data, and retrieving data from the table.

Lesson 3: Exchanging Key Information

  • Demonstrate how to perform a simple key exchange using JavaScript.
  • Show how to use a shared secret key to encrypt and decrypt messages.
  • Assign a practice activity where students will work in pairs to implement a simple key exchange protocol in a web application.

Conclusion:

  • Recap the main concepts and topics covered in the lesson.
  • Ask students to share their thoughts and any questions on the lesson.

Hacks (1 point total):

  • (0.2 points) Students will answer some conceptual questions to make sure they understand the content regarding data related to user
  • (0.3 points) Students will complete coding exercises to test their knowledge
  • (0.5 points) Students will build their own simulation or interaction pertaining to user-related-data, such as another messaging system or anything that exchanges information