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:
- 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.
- Familiarize yourself with Java Swing, a part of Java Foundation Classes (JFC) used for building graphical user interfaces (GUIs).
- Ensure you have Java development environment and necessary tools like a text editor are set up for this lab.
Lab Tasks:
- 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.
- 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!