My Projects

Lawrence Abu-Jaber

Header image

Hi,

my name is Lawrence and I am a computer science graduate aspiring to be a software developer. Working on course projects I have caught the coding and developer bug and am now looking for an opportunity to enter and contribute to this community professionally.

In addition to the course requirements, I created and used two .NET Core desktop application tools to help with my studies.

Please feel free to take a look.

Personal Projects

Redesign of existing business static website using the django framework. Includes CMS, sqlite3, bootstrap5/CSS.

Literature review resource application created for students to store assignment resources in one place.

A tool for students to create and execute network commands when configuring a real or virtual router.

Mini projects using Java, Python and HTML/CSS for a graphical and console based game.

Skills

Familiar with: C#, Java, Python, .NET, HTML/CSS, SQL.

Familiar tools

Visual Studio, Visual Studio Code, Eclipse, IntelliJ IDEA, Git.






Mini projects

Racing Game

The game is a two player, online and offline, 2D, Java written, racing game based on the client-server model and multithreading. A server is hosted and players connect sending messages using the TCP protocol.

The first connected player is established as player 1 by the server but requires both players to connect for the race to start. Messages are sent by the server to establish the game start parameters and updated car positions. A read-only communications display is built-in to the right of the application. The game ends when either player completes 3 laps and is congratulated with an image displayed in the center console and a hearty cheer. The game includes collision detection where the speed is reversed to enact a bouncing effect. Sound effects are also included as are separate key controls for each car and a choice of two tracks.

Game view

Racing game view

Server view

Racing game server

Download gamezipfile containing jar files or see the source code ongithub.

<<>>

Word Guessing Game (cheat)

This is a Python console word guessing game based on hangman but without the graphics. The computer is the controller and the player tries to guess a word from a built-in read-only dictionary. The word length, between 5 - 12 letters, is randomly selected from which the player gets double the chosen length in guesses. There are two modes, easy and hard, for the player to choose from and an option to end the game after each play.

The computer does cheat a little,...

...instead of selecting a single word at the start, the computer filters the dictionary list according to the word length and each letter guessed. The computer calculates the total words for each filter criteria and selects the collection according to parameters of the easy or hard modes. The aim for the computer is to have more than one word remaining in the bank when the player reaches the end of their guesses to guarantee winning the game.
The easy approach is to select the largest bank of words from each filtering sequence whilst the hard level uses a scoring method to select a bank with the least common letters found in the provided dictionary.
An additional calculation is made and applied to the random word length selection to slightly reduce the probability of larger word lengths selected. The larger the word the more guesses given so this just adds a further sprinkling of favour in the computers direction. A step too far?

Gallery

Download gamezipfile or see the source code ongithub.

<<>>