Portfolio

Programming Samples

SlaveDrive 3

Overview

A utility program named SlaveDriver. The purpose of the program is to manage the workload of various programmers and projects. There are certain rules that should be followed for assigning a project to a developer.An example of its usage is to find the least busy programmer and assign him/her to a project, which require more programmers to work on it.

Knowledge Applied

The knowledge applied for this assignment:

  • Using Java library classes
  • polymorphism
  • Inheritance
  • Interfaces
  • Iteration
  • Collections
  • Conditional Statements
  • Applying the loose coupling and high cohesion rules
  • Command line input


Skills Demonstrated

In this assignment, I demonstrate my ability to:

  • Apply lessons from Java lectures and labs
  • Sheduling and using my time wisely
  • Planning programming stages to complete parts of the program
  • Passing all the 60 tests.

Notes

This assignment was our third and last assignment for the first level CIT term. It was a complex and hard assignment, which was built upon the two previous ones, with lots of rules to consider for writing the code. Our code was supposed to pass 60 tests in addition to be syntactically and logically correct and be commented correctly in order to get the full mark. I worked hard for this assignment and was one of the few people whom their code passed all 60 tests.

In order to figure out a way to write our code, we applied the Salami Technique to assignment requirements, meaning that we broke the rules to very small pieces and write the code for every piece. The next stage was to put everything together in a way that no rule was broken.This technique is also called divide and conquer.

Our instructor Mr. Jim Parry was a big help throughout the whole assignment. He spent many hours to help us understand the rules and make us capable of applying the salami technique to the project.

All the rewarding work that we did that term made me very interested in Java and motivated me to switch to Computer System Technology program from next term. I also enjoyed my Java course in CST a lot. I benefitted a lot from my instructors’ deep knowledge of the course material and from reading my textbooks.

I will continue working hard for my courses and try to expand my knowledge about them by different means like books and on-line sources. The more work I do the more experience I will get on how to implement my knowledge for today’s industry needs.

Source Code

The source code is available for download:



Programming Sample 2

Overview

Tab 1 Content

Knowledge Applied

Tab 2 Content

Skills Demonstrated

Tab 3 Content

Notes

Tab 4 Content

Source Code

Tab 5 Content