# Advanced Software Development Term 2 Labs ## Overview This repository contains all implementations for the tasks and activities from the practical labs of the **Advanced Software Development** module. The labs cover various aspects of software development, including GUI development, database integration, testing, and concurrency. ## Contents The repository includes solutions for the following weeks: - **Week 8:** Introduction to GUI development using Python's Tkinter library. Activities include creating basic GUI components, handling user inputs, and designing a simple login form. - **Week 9:** Working with databases using SQLite3 and MySQL in Python. Integration of GUI with database operations for CRUD functionality. - **Week 10:** Implementation of the Model-View-Controller (MVC) design pattern in GUI applications. Database interaction improvements and introduction to MongoDB. - **Week 11:** Unit testing using Python's `unittest` and `pytest` frameworks. Writing test cases for GUI and database functionalities. - **Week 12:** Introduction to multithreading and multiprocessing in Python. Exploring parallel programming and its applications in software development. ## Getting Started 1. Clone the repository: ```bash git clone https://gitlab.uwe.ac.uk/nq2-hung/advanced-software-development-term-2-labs.git ``` 2. Ensure you have Python installed (preferably version 3.8 or later). 3. Install required dependencies: ```bash pip install -r requirements.txt ``` 4. Navigate to each week's folder to explore the practical exercises and implementations. ## Usage Each week's folder contains Python scripts and necessary data files. Read the associated documentation or comments within the scripts for guidance on running the exercises. ## Contribution Feel free to contribute by improving code structure, adding comments, or suggesting optimizations. You can fork the repository and submit a pull request. ## License This project is for educational purposes and follows the University of the West of England's academic policies.