The following projects were part the curriculum for the Diploma of Computing Science.





JAVA

This section is a snapshot of my experience with object oreiented programming using Java.
The following gallery displays snippets of code from algorithms and ADT's that I have implemented.

By using Generic datatypes in my implementations, allows these algorithms to be versatile and modular.


I have implemented various algorithms such as:
Shell sort, Selection sort, Merge sort, Bubble sort, Quick sort, and Heapsort.

I have also implemented the following Abstract Data Types using LinkedLists and Arrays:
List, Stack, Queue, Deque, Binary Tree, and Heap.

As part of my experience with object oriented programming, I have used:
encapsulation, abstraction, polymorphism, and inheritance in all of my programs.

For an in depth view and more, feel free to download the following documents which outline my ADT implementations.

Downloads:

LinkedBinaryTree.zip

ArrayList.zip

LinkedList.zip

Stack+Queue.pdf

Linked Binary Tree.pdf




Data Networking

This section demonstrates TCP and UDP data communication of a Client and Server,
each running on a seperate Linux Terminal. The following gallery demonstrates:
SDP SWAP data communication using checksums, and FTA.


SWAP: After the Client and Server bind, the Client sends a dataframe to the Server containing a header and datawords.
The Server recieves the dataframe and preforms a checksum on the recieved frame. If the checksum matches the header,
then the Server sends a positive Acknowledgement to the Client, allowing the Client to send the next frame.
If the Server sends a negative Acknowledgement, or does not respond within the time limit,
the Client mus re-send the frame.

Using SWAP data communication, I was able to implement a File Transfer Application using C.
To learn more feel free to download the zip file below.

Downloads:

Networking.zip




Database Design

This section is focused on database design and management using Oracle SQL developper.
The gallery below displays PL/SQL code for creating Tables, Views, Queries, Procedures and Triggers.


The following Database is for Bank management. Tables are created and filled with their necessary data.
The 'Client' and 'Account' tables are linked using the 'Owns' table.
Using 'TxNbr' as the primary key, along with 'AccountNbr' and 'TxCode' as foreign keys,
the 'Transaction' table is able to link the 'Account' and 'TxType' tables,
in order to collect data of all transactions.

3 Views are created based on these tables and multiple Queries are created based on these Views.
Additionally, a Procedure and Trigger are created to update the tables with new data.
Feel free to learn more about this database, by viewing the pdf document down below.

Downloads:

SQL doc.pdf




Android Studio

The following section is focused on the creation of an Andorid application.
The following Andoid Studio project was a collaboration between classmates.
Java was used as the primary programming language and a Github repository was used to push and pull data,
in order to share progress and update the project. This project demonstrated:
Project Management and Design, UI/UX design, Teamwork and Communication.


TaskME is a scheduling and oginiazational application. It fulfills the roles of the Calendar app and
the Reminders app. The user is able to create and set tasks based on custom parameters and criteria.
To learn more about TaskME, feel free to download the following project files.

Downloads:

TaskMe.zip

TASKME.pdf




Software Architecture

This section focuses on documenting software architecture for project development.
The gallery below displays the following Diagrams: Use Case, Class, Activity, Deployment.
Along with creating diagrams, reports are also necessary for outlining
functional and non function requirements for the project.


CowClicker is a project used to demonstrate the four stages of the lifecycle of software architecture:
Requirement Analysis, Design, Documentation, Evaluation.
CowClicker is a web application functioning as a simulation game, similar to cookieClicker.
To read the SRS document for CowClicker, feel free to view the files down below.

Downloads:

SRS Document.pdf

Structural Diagram.pdf