Hello, my name is Muhammad Naviwala. I'm a computer science (software engineering) student at University of Houston.


Listed below are some of my academic projects and projects that I like to do in my spare time.


Along a team of 8 members, I was able to create a sample art gallery web application as part of an academic project. Technologies used to create this web application included Ruby on Rails along with a PostgreSQL database, in accordance with the REST and MVC architecture patterns. We used the Agile method of development to minimize risk, and to be adaptable to frequent changes in the requirements.

The deliverables included:

  • Textual Analysis for UML Use Case Diagram
  • Textual Analysis for UML Class Diagram
  • Textual Analysis for Database Design
  • Feasibility Study
  • Software Requirements Specification (SRS)
  • Website Design
  • Database Development
  • Software Product Management Plan (SPMP)
  • Black Box Test Cases

  • Click here to visit the website

    Project X

    Created a web 2.0 compatible web application which would provide students “to the point” information about courses offered by Houston Community College, classes offered in the upcoming semester, and programs offered by different departments. Technologies utilized for this project included Ruby on Rails and MySQL database in accordance with MVC architecture patterns.

    C.A.I.N: Cybernetic Artificial Intelligence Network

    Along with a team of 3 members, I developed a 3D stealth action game using Unity3D. The game is still under development but we plan to release the first episode of the game by June 2014. We created custom 3D assets for our game using Autodesk Maya, and we are using custom music for our game as well. Additionally we are in the process of developing custom motion-capture animations to provide a realistic feel to the game.

    A brief description of C.A.I.N:

    C.A.I.N. is a stealth-action game following Interpol agent Cipher in the near future, when he begins investigating a robotics company leading in the field of artificial intelligence. We're designing the game to be an immersive experience; players are able to interact with computers, bypass security systems, shoot out lights, or cut power to whole grids, as well as hack electronics and robotic enemies, pick locks, and hide in the dark. Objectives may be completed through any combination of stealth, trickery, or brute force that the player wishes.

    Click here to visit the website (And play the demo!)


    Using Ruby and Test Driven Development I developed the Quixo board game as part of an academic project. This was my first time using TDD and following essential software design patterns, and I must admit it was quite an awesome experience!

    Socket Programming

    Using C programming language, I wrote programs to set up a server and multiple clients.

  • The server was capable of receiving messages from clients. The server listened on a port known to the clients and it accepted connections from multiple clients. The server serviced the clients on a first come first server basis, sequentially.
  • When more than 5 clients attempted to connect to the server, the server broadcasted a message to all the clients that it’s maximum connection limit had been reached and new clients were rejected till the number of joined clients reduced to 4 or less.
  • The client(s) were capable of reading input from a file as well as reading input from the standard input. The task for the client was to take this input as its message, transmit it to the server on the known server port and exit.
  • Fat Ninja

    Fat Ninja was my first application for Windows 8. I created this app using Scirra Construct 2.
    Official game description from Windows Store: Fat Ninja, a simple yet addicting game. Fat Ninja is a one click/one touch physics based game which keeps you busy. Help Fat Ninja get in shape by making him avoid junk food. Just click on the junk food to destroy it and gain points before time runs out. Make sure you don't destroy the fruits, else game over !

    The app can be downloaded by clicking this link.

    Code in MIPS

    Code in MIPS is an application for Windows 8. I created Code in MIPS using C# to help students learn MIPs. It guides the students through step by step making the language easier to understand. Since most of the students know C++, this app provides side by side comparison of code snippets in MIPS and C++ there by makes MIPs even easier to understand. And yes the code is commented!

    The app can be downloaded by clicking this link.

    Tic Tac Toe

    Using C++, I designed and implemented a Tic-Tac-Toe game for a 3 x 3 board with an artificial intelligent agent to determine the next best move. What makes this program a little unique is that you can use keys to move around the grid instead of typing the row and column number each time. You can even customize the keys to move around the grid! Soon you would be able to modify the color combinations as well.

    FLL Scoring Application

    Scoring application I developed on a team of 2 for a First Lego League chapter. The purpose of the application was to simplify scoring and judging for competitions, while having a secure site for judges and administrators. Technology used was Ruby on Rails, with a PostgreSQL database, bootstrap, and javascript.

    Click here to visit the website

    About Me

    I am a full time computer science student (junior) at University of Houston and a part time programming tutor at Houston Community College. I like to learn new things everyday and actually utilize the knowledge in my everyday life. More specifically I like to learn new programming languages. If I find a programming language fun and interesting I usually get obsessed with it after some time! Right now I am obsessed with Ruby on Rails and I am in the beginning phases of getting addicted to C#. When I create my projects I strive to make them the best and unique among my peers and I create and develop high quality software products.

    Programming languages I know (or have used) roughly in order of proficiency: C++/C, Ruby/Ruby on Rails, C#, Python, Java, MIPS, PHP, Javascript.

    In my spare time I like to code traditional fun games like tic-tac-toe or jeopardy, or code ascii art animations, or create small web applications, or create applications (currently for Windows 8 and Windows Phone 8 only), or help a friend with his/her project.

    Contact Me