This repository will hold projects for Computer Science students, designed by me.
- Operating Systems
- Distributed Computing Projects
- Computer Security Projects
- Other Sources for CS Projects
In this assignment, students will explore the cost of context switching and OS invocation by timing System Calls and Signal Handling.
Project Link: https://github.com/DaveedDomingo/OS-Invocation-Assignment
In this assignments students will explore CPU virutalization by implementing their own user-level threading library and scheduler.
Project Link: https://github.com/DaveedDomingo/User-Level-Thread-Library-Project
In this projects, students will explore Remote Procedure Calls using the modern framework of gRPC and Google Protocol Buffers.
Project Link: https://github.com/DaveedDomingo/GRPC-Bulletin-Board-Project
In this project, students will explore RESTful Design by implement a RESTful web service that also makes RESTful requests to external APIs.
Project Link: https://github.com/DaveedDomingo/Foodie-Web-Service-Project
In this project, students will explore distributed computing programming by using the Map Reduce framework to perform data processing on real Reddit Data in a distributed manner.
Project Link: https://github.com/DaveedDomingo/MapReduce-Reddit-Project
In this project, students will explore the complexities of building communication channels as well as remote services by implementing their own remote object storage service.
Project Link: https://github.com/DaveedDomingo/Object-Store-Project
In this project, students will explore distributed computing programming by using the Spark framework to perform data processing on real Reddit and Netflix Data in a distributed manner.
Project Link: https://github.com/DaveedDomingo/Spark-Reddit-Netflix-Project
In this project, students will explore the complexity of simple substitution ciphers and try and come up with programs that can automatically break them using brute force/frequency analysis.
Project Link: https://github.com/DaveedDomingo/Cracking-Simple-Ciphers-Project
In this assignment, students will explore how to encrypt and decrypt files in Java using public-key cryptography and symmetric key cryptography to carry out secure file sharing.
Project Link: https://github.com/DaveedDomingo/Cryptr-Java-Encryption-Assignment
GeeksForGeeks.org has a good collection of CS Projects covering various topics and programming languages. https://www.geeksforgeeks.org/computer-science-projects/
This hacker magazine could has articles that could inspire some neat computer security projects. http://www.phrack.org/
- Distributed Filesystems (https://dl.acm.org/citation.cfm?id=3287473)
- Distributed Key Value Store (http://www.cs.utexas.edu/~vijay/cs380D-s18/project1.pdf)