Project Kickoff and Initial Setup

Introduction to Object-Oriented Design and Java Swing

This week we start by diving deep into the principles of Object-Oriented Programming (OOP) Spriha introduced in Lecture 2. You will (individually) design a Sign In and Sign Up pages using Java Swing.

Lab Duration: Approximately 2-4 hours

Learning Objectives:

  • Revisit and reinforce the core concepts of Object-Oriented Programming.
  • Understand the basics of Java Swing for GUI development.
  • Design and implement Sign In and Sign Up pages with Java Swing.
  • Learn to read and write data to/from plain text files for user authentication.

Preparation:

  1. Brush up on the principles of Object-Oriented Programming, including classes, objects, inheritance, and polymorphism. Revisit Spriha’s lecture and make sure you are comfortable with the concepts she covers.
  2. Familiarize yourself with Java Swing, a part of Java Foundation Classes (JFC) used for building graphical user interfaces (GUIs).
  3. Ensure you have Java development environment and necessary tools like a text editor are set up for this lab.

Lab Tasks:

  1. Designing Sign In/Sign Up Pages:
    • Create a new Java Swing project and set up the main application window.
    • Design and implement a user-friendly interface for the Sign In and Sign Up pages with necessary input fields and buttons.
    • Ensure the design is intuitive and guides the user through the authentication process.
  2. User Authentication Implementation:
    • Write code to capture user input from the Sign In/Sign Up forms.
    • Implement functionality to read from and write to plain text files for storing usernames and passwords securely [^1] .
    • Add logic to verify user credentials during sign-in and handle new user registration.

Post-Lab Tasks:

  • Test your Sign In and Sign Up pages thoroughly to ensure they are capturing and verifying user data correctly.
  • Make sure you have proper error handling in place.

End of Lab:

  • At the end of this lab, you will be given access to the Quackstagram project specification. Take time to carefully read and understand the document in preparation for next week’s lab.
  • Identify any areas in the specification that are unclear and prepare questions for clarification in the next weeks lab.

Preparation for Next Week:

  • Start thinking about how the current work ties into the larger project and what role your Sign In/Sign Up pages will play within Quackstagram.


[^1]: For now you can store everything in plain text file however you may already know this from Intro to CS class that this is most certainly a recipe for disaster in a real world system!