The fast-emerging field of federated learning holds the promise of allowing clients to contribute to a central machine learning model without the need to send their data to a central server, thus providing privacy for their data. Two issues arise: dealing with statistical heterogeneity in datasets, which is often the case in real-world settings, and obtaining stricter data privacy through employing privacy-preserving mechanisms. In this paper, we use personalized layers in a federated Convolutional Neural Network model to address statistical heterogeneity and use differential privacy to provide mathematically rigorous privacy guarantees for the federated learning model. We also propose a gradient selection technique to increase model performance. We developed a framework combining these techniques and experimentally demonstrate the effectiveness of the proposed framework on a dataset in improving model performance whilst maintaining a reasonable level of privacy guarantee and training efficiency.Bachelor of Engineering Science (Chemical and Biomolecular Engineering)Bachelor of Engineering Science (Computer Science