Project Review

The project that I reviewed was the text based adventure game that was based on the TV series The Walking Dead. This project caught my eye because I have watched two seasons of the show with my roommates this semester. I love the series and I was interested to play the game. I really enjoyed this project. First off, it was really well organized and provided a great explanation of what the commands were and what I needed to do if something was inputted incorrectly. The group even provided a help function that would list the commands in case the user forgot them. This made for smooth and easy gameplay. The game was really interesting because it could be played multiple times and the outcome had the possibility of being different. It was very expandable. Another cool feature was the fighting system. When I played the game, the first thing that I did off the get go was go into a pharmacy. Right as I went into the pharmacy a zombie attacked and initiated a fight. I had a crossbow with limited ammunition, a knife and my fists that all had different damage and accuracy stats. My character also had a health bar along with the zombie. The fighting was turn based and it was pretty fun. One reason that I knew this was a god project was because after I played through it once, I went back and played it again. I think the group did a great job and it would be awesome if they kept adding to the game and expanding it.

Make an Assignment

This is post is primarily to brainstorm for this assignment. One of the ideas that I came up with would most likely be an optional assignment for the class. This assignment would consist of creating either a song or a rap that explained either the different rules of Unix or the Unix Philosophy or something along that lines. I even thought of taking that a step further. For extra credit, the student could record his or herself singing the song or rapping the rap that he or she wrote. I feel like this would be a fun way to learn about Unix. The second idea that I came up with is most likely the assignment that I will use for my submission. This assignment would consist of making a crossword puzzle that had at least 10 commands that can be used in the terminal. I remember doing an assignment in class earlier this semester that involved looking up 5 commands and learning how to use them. I feel like making a crossword puzzle out of commands is a fun way of doing the same thing. In order to make a good question to be answered, the student must know enough about the command. Then the crossword puzzles could be distributed throughout the class and an in class assignment could be made out of this. This would allow for an even better understanding of the commands.

My Input to the Final Project: Expense Tracker

The final project that my group chose to do was to create a program that could keep track of the expenses that roommates owed one another. In the program, roommates can be added or removed, and expenses can be added and viewed. The part of the program that I worked on was creating the GUI. Teja Chiluvuri and I chose to use QT in order to do the GUI since we both are in Software Engineering this semester. The other two group members(Sasha and Sungha) focused primarily on the python scripts that the GUI would use.Creating the actual GUI did not cause to many problems seeing as I have created several GUI’s in QT this semester already. However, the main problem that I encountered was dealing with running the python scripts in the GUI when needed. I first tried tackling this by using pipe but this was way to hard. I then found QProcess in QT which allowed me to pass a list of arguments to the specified py file. One problem that I came across was that the process was being run in the wrong directory which caused nothing to happen in the py files. In order to fix this I had to modify the py file that one of my group members had previously written. I made it so that the current directory was changed to the correct directory that the py file needed to be in inorder to run correctly.


The last time that I wrote an actual structured poem was in high school.  I did not expect to have to do an assignment like this for this class. I was very surprised that I had to write a poem for a programming class. However, I had some fun with this assignment and actually learned how to structure a limerick and a haiku poem. When I started writing the haiku, I could not help but think about how a 17 syllable, 3 line format could possibly be a poem. This format made it difficult because it was hard to complete a thought or idea with only seventeen syllables. However, the limerick format felt much more like a poem. This was probably because a limerick involves rhyming which is what I think of when dealing with a poem. Two of the lines in my limerick referenced two assignments that were completed in this class prior to the poem. The two lines were: Make me a make file with some style While piping through data all the while. I was proud of myself for incorporating this into my limerick.

Back to the Future

The last chapter in the ‘Art of Unix Programming’ is an interesting chapter. I found it very intriguing that some essentials of Unix/Linux were created through mere accidents, while others were planned. When talking about the future for Unix/Linux, it is hard to visualize where it might be down the road due to how something could be created accidently. Through reading the chapter and conducting research on the topic for my paper, I came to the conclusion that Linux will grow to be a larger part of the computer market. I determined this because Linux is created by the people. This means that when Linux users have a problem with some software or find bugs or glitches, it is more likely to be fixed than in say Windows or another non-free OS. Also, it is a completely free OS. This makes it more accessible to a larger population of people and makes it more appealing. Overall, Linux is not only a user-friendly operating system, it is also an operating system that is widely accessible. This is why I believe that Linux is superior to Windows and its other counterparts.


Before I started taking Unix, I knew what a makefile did but I never understood how it worked. Since the first assignment about makefiles, “Make a Makefile”, I have learned a lot more about creating makefiles. Earlier this year before we started learning about this, in one of my other classes called software engineering, I came across a command in QT called qmake. We were never really introduced to this command in that class so I didn’t really understand what was going on. However, Intro to Unix has taught me more about makefiles so then understanding exactly what the command qmake was doing was quite intuitive. Being able to make files executable through a makefile will definitely help me down the road in my career.

How Unix will help me in the furture

I recently applied for an internship with a company called Premier which has a site 10 minutes from my house back home in Charlotte, NC. This company makes medical equipment for hospitals around the US. I was in contact with this company last summer but I was unqualified for the internship position because I had yet to be exposed to shell script. Unix has so far prepared me and exposed me to shell and bash scripting which I would be using this summer during this internship. I will hopefully obtain this internship so that I can further expand my knowledge with scripting.


Over the course of this semester I have thoroughly enjoyed learning about Unix. I recently noticed that I now run Ubuntu unless I am forced to run Windows on my computer. When I start my computer up and I have the choice of Ubuntu or Windows, I always choose to run Ubuntu unless I need a certain software that isn’t available on Ubuntu and is only in Windows. I love the fast boot up time and how fast the software is in general compared to Windows. I also love the terminal. I feel like I have learned so much in the class of Unix and it is not useless knowledge. I know that I will be using this knowledge for the rest of my life in my career and for my own enjoyment.