Shreyans Patel's Projects
In this project, we develop a player logic for a variant of the Morris game using AI concepts.
Code files for GNAP model for analysis using CPSA.
In this project, you will build a simple Unix shell. The shell is the heart of the command-line interface, and thus is central to the Unix/C programming environment. Mastering use of the shell is necessary to become proficient in this world; knowing how the shell itself is built is the focus of this project.
Collection of different practice problems for some basic data structures. The problem statement of each exercise is given on the top of the code.
In this project, you will be developing a program to check the file system consistency. The program, called as fcheck, reads a file system image and checks its consistency. When the image is not consistent, fcheck should output appropriate error message.
In this assignment, you will learn how to cluster tweets by utilizing Jaccard Distance metric and K-means clustering algorithm.
There are two parts to this assignment. The first part requires you to write code that uses gradient descent for linear regression. In the second part, you will use a ML library on the same dataset and compare your results.
In this part, you will write code to optimize the performance of a neural net by trying various combination of hyper-parameters and evaluating their results.
In this exercise, you will explore parallel programming with threads and locks using a hash table. You should do this on a computer with multiple cores (verify by running ‘cat /proc/cpuinfo’).
Using POSIX threads, mutex locks, and semaphores implement a solution that synchronizes the activities of the coordinator, tutors, and the students. Your program should work for any number of students, tutors, chairs and help sought. Allocate memory for data structures dynamically based on the input parameter(s).
Config files for my GitHub profile.
The project has two key components to it. Understanding a recent machine learning technique and associated algorithm(s). Apply it to a standard dataset of sufficient complexity. You have to code the main part of the algorithm without using any built-in library. You can use libraries for pre-processing, loading, analysis of results, etc.
This is a project I made over-night to compete in a hackathon (This project did win that hackathon though :|) and for a mini project requirement for 3 credits. Do not expect it to be efficient. You can probably use it as a reference for some approaches useful if you are making a similar project.
In this exercise, you will write a new system call getreadcount() for xv6 OS.
In this exercise, you'll increase the maximum size of an xv6 file. You'll change the xv6 file system code to support a "doubly-indirect" block in each inode, containing 128 addresses of singly-indirect blocks, each of which can contain up to 128 addresses of data blocks.
To help visualize page tables, you need to write a function that prints the contents of the page tables.
In this project, you will replace the current round robin scheduler in xv6 with a lottery scheduler.