Project Space Time - Game Dev Project
####Introduction/Explanation This project was created in my Intro to Interactive Game Development Class. I will provide more details of this project in the future. [Video Of Me Testing the Sounds](https://www.youtube.com/watch?v=oxZ9ghBlW1s)
Software Engineering Project: Apartment Management System
####Introduction/Explanation A project in which was created by me and my team within my Software Engineering class. This was implemented using Ruby on Rails. It has a login, help chat, employee management, and much more.
Time-On-Task Observation Tool
####Introduction A tool used by School Psychologists to track a student's behavior in the classroom. This idea came from my mother which was also a School Psychologist. ####Specifications She had the idea because she thought it would be easier for her to tally the number of times either the class or student was distracted on the phone rather on paper. So I quickly created this app for her. This app tallies a percentage of times that either student or his/or her peers are on/off task. Although, it needs to track the events by time and save it to some file. It is still a work in progress, but I plan on in the future to fully finish it in the coming months. **Note: This app is a work in progress. Lots of features are needed to be implemented. I developed this two years ago so I was just starting to learn Android Development.**
Sockets in C
####Introduction This was an assignment from my OS class in COSC 3360 at the University of Houston. It was implemented using C in which used Unix stream sockets. ####Specifications In this assignment, I was to write two programs. 1. A client program that will connect to a server and send it requests for the score of a specific student. 2. A server program that will wait for connection requests from your client and exchange one-line text messages with it. ####The Server Program The server starts by prompting the file name in which contains the results of a given quiz: ``` David 80 Mary 95 John 70 ``` read the file and then store it in a table(which is implemented with a simple Linked List). The program prompts which port it will listen to: ``` Port Number:
(Ex: 2020) ``` It will then create a stream socket, bind it to the specified port number, do a ``listen( )`` to specify a maximum number of queued connection requests and loop through ``accept( )`` calls that will let it wait for connection requests. Whenever the server accepts a connection request, it will receive a nickname and reply to multiple queries with the score for the student having that nickname, so that the user will see: ``` Student Belaire got a 90 ``` Should the nickname not be within the table, it will reply with a **random integer** between 55 and 100 so that the user will see: `` Student Turpentine got a 63. `` ####The Client Program The client should start by prompting the user for a server host name and a server port number as in: ``` Enter a server host name: (Ex: program.cs.uh.edu) Enter server port number: (Ex: 2020) ``` Then when it verifies the correct hostname(if not it should reject any other hostname), it will create a stream socket, go through a loop prompting the user nickname, connect to the server, send a request to the server by writing to the socket, read the server reply and print it out on the screen. ``` Enter a student nickname: Houston Student Houston got 87 on the quiz ``` The client will end the loop when the user enters an empty string.
Semaphores in C
####Introduction This was an assignment from my OS class in COSC 3360 at the University of Houston. It was implemented using C with POSIX semaphores to provide mutual exclusion and UNIX shared memory segments to store shared variables. ####Secification You are in Verona, Italy at the time of Romeo and Juliet. Two rival families, the Capulets and the Montagues, fight each other every time they have a chance. The city authorities are especially concerned by the assassinations that occur day after day on the main piazza of the city. Earlier on, they tried to prevent the Capulets and the Montagues to be simultaneously present on the main piazza but found out this approach had too many drawbacks. You are hired by the authorities of the city to write a plaza management program ensuring that Capulets and Montagues will always be present in near equal numbers on the plaza. So, if there are nC Capulets on the plaza, the number nM of Montagues must always satisfy the inequality nC – 1 ≤ nM ≤ nC + 1 The program should prevent people from entering or leaving the plaza when the change would violate the above condition. Since the city is small, you can safely assume that plaza will never be overcrowded. ####Input Format: The program reads its input from stdin. This input looks like ``` Capulet Marco 0 7 Capulet Guido 3 10 Montague Andrea 8 15 ``` where the first argument is either Capulet or Montague, the second argument is a name, the third argument is an arrival time expressed in seconds, and the fourth argument is the amount of time the individual will stay in the piazza, once he has gained entry, expressed in seconds. So the first line of the sample input read as “Capulet Marco arrives a time 0 at the piazza and leaves after having been on the piazza for 7 seconds.” You can safely assume that (a) arrival times will always be monotonically increasing and (b) the input data will always be correct. ####Program Organization: The program forks a separate process for each Capulet or Montague arriving at the piazza and it uses the Linux sleep() system call whenever its needs to introduce a delay. ####Output Format: The program prints out a single line each time a Capulet or Montague (a) arrives at the piazza, (b) gains access to the piazza or (c) leaves the piazza. In addition, it prints a line with the number of Capulets and Montagues on the piazza each time these numbers change. As an example, the correct output corresponding to the sample input above should be: ``` Capulet Marco arrives at time 0 Capulet Marco enters the piazza There are 1 Capulet(s) and 0 Montague(s) on the piazza Capulet Guido arrives at time 3 Capulet Marco leaves the piazza There are 1 Capulet(s) and 0 Montague(s) on the piazza Capulet Guido enters the piazza Montague Andrea arrives at time 8 Montague Andrea enters the piazza There are 1 Capulet(s) and 1 Montague(s) on the piazza Capulet Guido leaves the piazza There are 0 Capulet(s) and 1 Montague(s) on the piazza Montague Andrea leave the piazza There are 0 Capulet(s) and 0 Montague(s) on the piazza ``` **Note**: The only times I display are arrival times