Initial Set Up

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.

Footnotes

  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!↩︎