https://github.com/thegoldenpatrik1/class-projects
Archive of some C/C++ class projects
https://github.com/thegoldenpatrik1/class-projects
c cpp dsa operating-system
Last synced: 8 months ago
JSON representation
Archive of some C/C++ class projects
- Host: GitHub
- URL: https://github.com/thegoldenpatrik1/class-projects
- Owner: TheGoldenPatrik1
- Created: 2024-11-17T01:34:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-17T02:11:58.000Z (over 1 year ago)
- Last Synced: 2025-07-18T07:36:35.465Z (8 months ago)
- Topics: c, cpp, dsa, operating-system
- Language: C
- Homepage:
- Size: 3.32 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Class Projects
This repository serves as an archive of a few of the class projects that I've worked on while achieving my Computer Science degree. Most of the programs are written in either [C](https://en.wikipedia.org/wiki/C_\(programming_language\)) or [C++](https://en.wikipedia.org/wiki/C++). Below is a brief description of each course and the projects I've included in this repository.
### CS-201
**Data Structures and Algorithms**: an introduction to the design, implementation, and uses for different data structures and algorithms, in order to produce fast code.
- **Homework 0** reads a file of movie data and efficiently creates two collections, one sorted by name and one by year.
- **Homework 1** implements heap sort and quick sort and compares their performance with `std::sort`.
- **Homework 2** reads a file of words, in order to determine the number of times each word appears in the input and print the words, ordered by count.
- **Homework 3** reads a file of movie data and allows for efficient search by either movie name or actor name.
- **Homework 4** implements BFS and DFS using a Graph data structure.
### CS-300
**Operating Systems**: an introduction to the programming concepts behind most modern operating systems, including shells, processes, threads, and memory management.
- **Project 1** spawns a basic shell process that can execute commands and create child processes.
- **Project 2** is a virtual memory manager with a TLB, page table, page replacement, physical address space, and backing store.
- **Project 3** solves a classic race condition problem using mutexes.
- **Project 4** is an office hours thread-waiting problem, implemented using both semaphores and condition variables.