Daniel Griffiths

Programming Projects

More details to follow by 15 November 2023

Stock Trader web-app

SQL Project

Chess Piece Move Display


Skills gained from 12 months of computer science and programming study

Understanding of Programming Fundamentals
Solid grasp of core programming concepts, including data types, loops, conditionals, functions, boolean logic and recursive functions for lists. In the second year of my study (2023/24), I will refactor existing programs targeting cleaner and more readable code using advanced syntax such as the conditional ternary operator, lambda functions and list comprehensions among others.

Knowledge of Multiple Languages
I have built beginner to intermediate proficiency and knowledge in C, C#, C++, Python, and Flask. I am able to write simple programs and understand code written in these languages.

SQL Knowledge
Working knowledge of SQLite3 which was used to implement the back end for a web app project. Strong grasp of database design fundamentals and the common SQL commands needed to implement a CRUD app.

Introduction to Object-Oriented Programming (OOP)
Familiar with the principles of OOP having written C# and Python programs with classes and constructors.

Data Structures
Possess knowledge of and ablity to use basic data structures like arrays, lists and Hash Tables in my programs. I consider it a crucial skill to be able to manipulate and work with these data structures as a pre-requisite for moving onto more complex structures such as linked-lists, stacks and queues and eventually binary trees.

Web App Development
Created Flask web applications with web API connection. Created a Stock Tracker web app offering features to log-in, view current share price for Nasdaq listed companies, buy/sell shares, add additional funds to account and view transaction history of shares bought/sold. Currently implemented in local browser with planning to host on server for internet access.

Debugging Skills
Experienced in using debuggers to identify and fix errors in code.

Problem Solving and Algorithm Practice
Regularly practice ‘easy’ level coding problems on LeetCode / Codeforce / HackerRank to sharpen problem-solving skills and expose myself to more complicated programming techniques.

Version Control
Understand version control systems fundamentals and how to use them to manage and update code. Able to collaborate on code using GitHub.

Reading and Understanding Code Documentation
Comfortable reading and understanding code documentation and libraries in languages already studied.

Understanding of Software Development Process
Possess a general understanding of the software development lifecycle, including requirements gathering, design, implementation, testing, and maintenance.