Skip to content

Latest commit

 

History

History
121 lines (100 loc) · 7.58 KB

README.md

File metadata and controls

121 lines (100 loc) · 7.58 KB

COMP0035 2024-25 Computer practicals

This repository contains the practicals for the COMP0035 module for the academic year 2024-25.

Instructions for using this repository

  1. Fork this repository to your own GitHub account.
  2. Clone the forked repository to your local machine (e.g. in VS Code or PyCharm).
  3. 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.

Activity instructions and code files

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!

List of activity instructions

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

Week 1 instructions

  1. Create a repository directly on GitHub (10 mins)
  2. Create a repository using GitHub Classroom (10 mins)
  3. Create a repository by forking a GitHub repository (5 mins)
  4. Find a repository (5 mins)
  5. Integrate your IDE with your GitHub account (10 mins)
  6. Clone a repository to create a project in your IDE (5 mins)
  7. Create a virtual Python environment for a project in your IDE (10 mins)
  8. Synchronise changes between the local and remote repository (5 mins)

Week 2 Data preparation using Python pandas

Week 2 instructions

  1. Create a package and module
  2. Open .csv and .xlsx files and create a DataFrame
  3. Describe the dataframe
  4. Change data types
  5. Combine dataframes
  6. Remove columns
  7. Deal with missing values
  8. Columns with categorical values
  9. Add new column
  10. Save prepared data to .csv
  11. Suggestions for further practice

Week 3 Data preparation and visualisation using Python pandas and matplotlib

Week 3 instructions

  1. Introduction to pandas plotting
  2. Plotting distributions using histograms
  3. Identifying outliers using boxplots
  4. Plotting timeseries
  5. Chart styling
  6. Check your code complies with Python style guides
  7. Code AI

Week 4 Database design and creation using Python sqlite3

Week 4 instructions

  1. Introduction to database design and ERD (lecture recap)
  2. Design and draw an Entity Relationship Diagram (ERD) for a database normalised to 3rd normal form (3NF)
  3. Design and draw an Entity Relationship Diagram (ERD) for a database normalised to 3rd normal form (3NF) - part 2
  4. Data constraints and UPDATE/DELETE actions
  5. Further practice/information

Week 5 Database design and creation using Python sqlite3 continued

Week 5 instructions

  1. Introduction: Using Python sqlite3 and pandas to create SQLite databases
  2. Create an un_normalised database from a pandas dataframe
  3. Create the structure for a normalised database using SQL, sqlite3 and pandas dataframe
  4. Introduction to SQL SELECT for finding values from a table
  5. Introduction to SQL INSERT for adding values to a table
  6. Add data to the normalised database
  7. Apply the knowledge to create the paralympics database

Week 6 Requirements analysis, wireframes

Week 6 setup

  1. Introduction to requirements
  2. Identifying requirements
  3. Documenting requirements
  4. Prioritising requirements
  5. Wireframes

Week 7 Application design

Week 7 setup

  1. Introduction to application design
  2. Identifying classes
  3. Application design diagram
  4. Review the design against design principles
  5. Draw the application design for the paralympics prediction web app
  6. Using gen AI tools in application design

Week 8 Database design, database queries

Week 8 setup

  1. Update the database design diagram (ERD) based on requirements
  2. SQL SELECT queries
  3. SQL SELECT queries with JOIN - where data is in two or more related tables
  4. SQL INSERT queries
  5. SQL UPDATE queries
  6. SQL DELETE queries
  7. Final ERD for the paralympics database

Week 9 Unit testing with pytest and continuous integration using GitHub Actions

Week 9 setup

  1. Introduction to testing
  2. Unit testing
  3. Fixtures
  4. GitHub Actions for continuous integration
  5. Coverage
  6. Using gen AI in testing
  7. Further information

Week 10 Coursework support

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.