This repository contains the practicals for the COMP0035 module for the academic year 2024-25.
- Fork this repository to your own GitHub account.
- Clone the forked repository to your local machine (e.g. in VS Code or PyCharm).
- Each week, update the repository using the 'Sync fork' button in GitHub to check for changes, if it is out of date then select the 'Update branch' button.
The activities
folder contains the activity instructions for each week.
The src-student
package contains any starter code for each week. You can also use this package to store your own code
that you create during the activities.
One solution to the week's activities will be added to the tutor_solution directory the following week. Other solutions will be possible, and some may be better than the solution offered, so don't feel your code has to match the tutors code!
This will be updated each week with the activities for that week.
Week 1 Setting up a project in your IDE (VS Code, PyCharm) using source code control and python virtual environment
- Create a repository directly on GitHub (10 mins)
- Create a repository using GitHub Classroom (10 mins)
- Create a repository by forking a GitHub repository (5 mins)
- Find a repository (5 mins)
- Integrate your IDE with your GitHub account (10 mins)
- Clone a repository to create a project in your IDE (5 mins)
- Create a virtual Python environment for a project in your IDE (10 mins)
- Synchronise changes between the local and remote repository (5 mins)
- Create a package and module
- Open .csv and .xlsx files and create a DataFrame
- Describe the dataframe
- Change data types
- Combine dataframes
- Remove columns
- Deal with missing values
- Columns with categorical values
- Add new column
- Save prepared data to .csv
- Suggestions for further practice
- Introduction to pandas plotting
- Plotting distributions using histograms
- Identifying outliers using boxplots
- Plotting timeseries
- Chart styling
- Check your code complies with Python style guides
- Code AI
- Introduction to database design and ERD (lecture recap)
- Design and draw an Entity Relationship Diagram (ERD) for a database normalised to 3rd normal form (3NF)
- Design and draw an Entity Relationship Diagram (ERD) for a database normalised to 3rd normal form (3NF) - part 2
- Data constraints and UPDATE/DELETE actions
- Further practice/information
- Introduction: Using Python sqlite3 and pandas to create SQLite databases
- Create an un_normalised database from a pandas dataframe
- Create the structure for a normalised database using SQL, sqlite3 and pandas dataframe
- Introduction to SQL SELECT for finding values from a table
- Introduction to SQL INSERT for adding values to a table
- Add data to the normalised database
- Apply the knowledge to create the paralympics database
- Introduction to requirements
- Identifying requirements
- Documenting requirements
- Prioritising requirements
- Wireframes
- Introduction to application design
- Identifying classes
- Application design diagram
- Review the design against design principles
- Draw the application design for the paralympics prediction web app
- Using gen AI tools in application design
- Update the database design diagram (ERD) based on requirements
- SQL SELECT queries
- SQL SELECT queries with JOIN - where data is in two or more related tables
- SQL INSERT queries
- SQL UPDATE queries
- SQL DELETE queries
- Final ERD for the paralympics database
- Introduction to testing
- Unit testing
- Fixtures
- GitHub Actions for continuous integration
- Coverage
- Using gen AI in testing
- Further information
No new activities this week. This is the final week of the module, please use the session to complete the coursework. The course tutor and PGTAs will be in the usual tutorial rooms to answer any questions.