-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
207 lines (172 loc) · 9.06 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="style.css" rel="stylesheet" type="text/css">
<title>Owen Pauptit</title>
<script type="text/javascript">
if (screen.width <= 699) {
document.location = "home";
}
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-166874064-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-166874064-1');
</script>
</head>
<body class="lightBackground">
<header class="darkBackground">
<div class="container">
<h1>Owen Pauptit</h1>
<p1>A portfolio of all my significant programming projects</p1>
<br>
<nav class="navLinkGroup">
<ul>
<li><a href="/">Home</a></li>
<li><a href="#">languages</a>
<ul class="dropdown darkBackground">
<li><a href="/python.html">Python</a></li>
<li><a href="/cpp.html">C++</a></li>
<li><a href="/cs.html">C#</a></li>
</ul>
</li>
<li><a href="home">Markdown Website</a></li>
</ul>
</nav>
</div>
</header>
<div class="container">
<h2>Who am I?</h2>
<p2>
I am an A level student studying Computer Science, Physics, Mathematics and Chemistry.
I have found a passion for programming, and have enjoyed creating games and implementing algorithms as a way to learn programming languages and any respective libraries.
<br>
<br>
I started learning Python (my very first programming language in 2018) and C++ late 2019. As of March 2020,
I have begun learning C# - the language that I have decided to use for my A level Computer Science coursework.
<br>
<br>
Below are some of my favourite projects.
</p2>
<br>
<br>
<div class="leftRightPair">
<div class="displayLeft textBlock">
<h3>Graph Algorithms</h3>
<p3>
After watching MIT Open CourseWare Mathematics for Computer Science lectures on Graph Theory, I decided to implement some of the algorithms I learned into a webapp. The website allows the user to create and move nodes, and construct weighted edges between nodes. The algorithms currently implemented are
<ul>
<li> Greedy colouring algorithm </li>
<li> Random spanning tree algorithm </li>
<li> Greedy minimum weight spanning tree algorithm </li>
</ul>
<a href="https://owenpauptit.github.io/GraphAlgorithms/">The webapp can be found here</a>
</p3>
</div>
<img src="Resources/Images/GraphAlgorithms.gif" class="displayRight">
</div>
<div class="leftRightPair">
<div class="displayRight textBlock">
<h3>Chemical Molecule Drawing</h3>
<p3>
I modified my graph algorithm code to display chemical molecules. The user can add a variety of atoms and create bonds between them.
<br/><br/>
Bonds can be created by selected "Add Bond", then clicking on two different atoms.
<br/><br/>
Additional bonds between the same atoms (i.e. double bonds, triple bonds etc.) can be added in the same way.
<br/><br/>
<a href="https://owenpauptit.github.io/MoleculeDrawing/">The webapp can be found here</a>
</p3>
</div>
<img src="Resources/Images/MoleculeDrawing.gif" class="displayLeft">
</div>
<div class="leftRightPair">
<div class="displayLeft textBlock">
<h3>Conway's Game of Life</h3>
<p3>
Conway's game of life is a zero player game, which takes a single input, then computes the following generations. It consists of a grid of cells which can either be alive or dead. When the next generation is calculated, the cells live or die depending on 3 rules:
<ul>
<li> If a living cell is surrounded by less than two other cells, it dies of underpopulation </li>
<li> If a living cell is surrounded by more than three other cells, it dies of overpopulation </li>
<li> - if a dead cell is surrounded by exactly three other cells, it is born</li>
</ul>
<a href="ProgramRepos/SFML-GameOfLife/GameOfLife.zip">Download for windows</a>
</p3>
</div>
<div class = "displayRight">
<img src="Resources/Images/GameOfLife-Random.gif" style="float: left; padding-right: 10px; padding-top: 10px;">
<img src="Resources/Images/GameOfLife-Max.gif" style="float: right; padding-top: 10px;">
</div>
</div>
<div class="leftRightPair">
<div class="displayRight textBlock">
<h3>Dijktra's Shortest Path Algorithm</h3>
<p3>
Dijkstra's Shortest Path Algorithm is a method of finding for finding the shortest paths between nodes in a graph.
<br><br>
In this implementation, however, I use a matrix, where each node is two █ characters in the console.
<br><br>
The program will find the shortest path from a start point to an end point while avoiding obstcales (walls).
<br><br>
<a href="ProgramRepos/Console-Dijkstra/Dijkstra.zip">Download for windows</a>
</p3>
</div>
<img src="Resources/Images/Dijkstra.gif" class="displayLeft">
</div>
<div class="leftRightPair">
<div class="displayLeft textBlock">
<h3>Maze Generator</h3>
<p3>
This program generates a maze that the user can then use the arrow keys to navigate the player (red) and reach the finish square (green).
<br><br>
The generation part of the program uses a recursive backtracking algorithm to create the maze, which can be viewed when "Show Maze Generation" is selected in the set up menu.
<br><br>
<a href="ProgramRepos/Pygame-MazeGenerator/MazeGenerator.zip">Download for windows</a>
</p3>
</div>
<img src="Resources/Images/MazeGeneration.gif" class="displayRight">
</div>
<div class="leftRightPair">
<div class="displayRight textBlock">
<h3>Garden Defence</h3>
<p3>
Garden Defence is my own tower defence strategy game where players place different gnomes into the garden to fight the attacking insects.
<br><br>
Money is earned from killing enemies, and can be used to buy more gnomes or upgrade existing gnomes.
Upgrades can also be bought by clicking the existing gnome, clicking the upgrade arrow, and then choosing between increasing range or power.
<br><br>
<a href="ProgramRepos/Pygame-GardenDefence/GardenDefence.zip">Download for windows</a>
</p3>
</div>
<img src="Resources/Images/GardenDefence.png" class="displayLeft">
</div>
<div class="leftRightPair">
<div class="displayLeft textBlock">
<h3>This website!</h3>
<p3>
I have updated this website throughout my programming journey, and have thoroughly enjoyed seeing my progress.
<br/><br/>
I am excited to see what projects I will complete in the future!
</p3>
</div>
<div class="displayRight" style="height: 300px">
<object type="text/html" data="index.html" width="1600" height="1200" style="overflow:hidden;border:0px ridge black; transform-origin: 100% -18%;transform: scale(0.25);">
</object>
</div>
</div>
</div>
<footer class="darkBackground">
<div class="footerLinks navLinkGroup">
<ul class="SiteLinks">
<li><a href="https://github.com/owenpauptit">Github Profile</a></li>
<li><a href="https://LinkedIn.com/in/owenpauptit">LinkedIn Profile</a></li>
</ul>
</div>
</footer>
</body>
</html>