|
|
(60 intermediate revisions not shown) |
Line 1: |
Line 1: |
- | <center><font size="6">[[Image:UWLogo.jpg]] University of Waterloo iGEM Team </font></center> | + | <center> [[Image:UW_iGEMLogoHeader.png | 935px]] </center> |
- | | + | |
- | [[Intro_Page | Page in progress ]]
| + | |
- | | + | |
- | == Our Team ==
| + | |
- | [[Image:Group photo mimi1.JPG|500px]]<br clear="all">
| + | |
- | The UW iGEM team is a very interdisciplinary group. Our team members span the three faculties of Science, Mathematics and Engineering and include the programs of Biology, Biomedical Sciences, Computer Science, Bioinformatics, Computer Engineering, Electrical Engineering, Chemical Engineering, and Mathematical Physics at undergraduate and graduate levels. Even our professor advisors are cross-appointed to two other faculties. Our diverse backgrounds bring together a wide range of skills and ideas to the iGEM project. iGEM is giving us the opportunity to apply the skills learned in our lectures and labs to real life applications in molecular biology and biotechnology.
| + | |
- | | + | |
- | ==Abstract==
| + | |
- | ==Background==
| + | |
- | ===Binary Addition===
| + | |
- | | + | |
- | <div style="float:right;width:150px;">
| + | |
- | <table cols="2" align="right" style="">
| + | |
- | <tr>
| + | |
- | <td colspan="1">Decimal<br>(Base 10) </td>
| + | |
- | <td colspan="1">Binary <br>(Base 2)</td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">0</div></td>
| + | |
- | <td><div align="right">00</div></td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">1</div></td>
| + | |
- | <td><div align="right">01</div></td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">2</div></td>
| + | |
- | <td><div align="right">10</div></td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">3</div></td>
| + | |
- | <td><div align="right">11</div></td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">4</div></td>
| + | |
- | <td><div align="right">100</div></td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">5</div></td>
| + | |
- | <td><div align="right">101</div></td>
| + | |
- | </tr>
| + | |
- | <tr>
| + | |
- | <td><div align="right">6</div></td>
| + | |
- | <td><div align="right">110</div></td>
| + | |
- | </tr>
| + | |
- | </table>
| + | |
- | </div>
| + | |
- | When working in binary, only two digits are used: 0 and 1. A single binary digit is called a '''bit'''. Counting proceeds as:
| + | |
- | To add two binary numbers, the process is much the same as adding two decimal (ordinary) numbers, except that instead of carrying when two digits add to ten, carrying must be performed when two digits add to two. In other words, 0 + 1 adds to 1, but 1 + 1 adds to 0 with a carry of 1, which gives 10 (just as in decimal 1 + 9 would add to 0 with a carry of 1, to give 10). A complete list of the possibilities is as follows:
| + | |
- | | + | |
- | Here is an example of long addition:
| + | |
- | <div style="float:center;width:225px;">
| + | |
- | [[Image:000.jpg]][[Image:222.jpg]]<br clear="all" />
| + | |
- | </div>
| + | |
- | | + | |
- | ===Half-Adder vs. Full-Adder===
| + | |
- | | + | |
- | <div style="float:right;width:200px;">
| + | |
- | [[Image:111.jpg|thumb|right|Figure 1: Half-Adder Truth Table]]
| + | |
- | | + | |
- | [[Image:333.jpg|thumb|right|Figure 2: Full Adder Truth Table]]
| + | |
- | </div>
| + | |
- | Any construct designed to add two numbers will either be a half-adder or a full-adder. A half-adder can only add together two single digits, whereas a full-adder is needed to add two numbers consisting of more than one digit.
| + | |
- | | + | |
- | | + | |
- | For example, a half-adder could perform the addition 1 + 0 = 1, or 1 + 1 = 10, but it would take a full-adder to be able to perform 1100101 + 100101.
| + | |
- | | + | |
- | In terms of implementation, a half-adder accepts two inputs (the two digits to be summed) and returns two outputs (the "sum bit" and the "carry bit"). To add 1 + 1, the two inputs would each be 1, the sum bit would be 0, and the carry bit would be 1. A full list of the possibilities is shown in Figure 1.
| + | |
- | | + | |
- | | + | |
- | A full-adder is merely a half-adder that accepts an extra input; namely, the carry bit from another full-adder. Each full-adder is responsible for adding one pair of corresponding digits from the two numbers to be added, ''and'' it must add to that the carry bit from the previous full-adder. The full-adder will output the resulting sum bit and carry bit, and the process will continue until all the digits have been added. Such a chain of full-adders is called a ripple carry adder. See Figure 2 for a full list of possibilities.
| + | |
- | <br clear="all" />
| + | |
- | | + | |
- | ===Logic Gates and Implementing an Adder===
| + | |
- | A '''logic gate''' performs a logical operation on one or more logic inputs and produces a logic output. Usually the inputs and outputs are '''binary''', meaning they each have a value of either 0 or 1. Also, it is often useful to think of of 0 as representing "false", and 1 as representing "true". A list of relevant logic gates is as follows:
| + | |
- | | + | |
- | * OR gate
| + | |
- | * XOR gate
| + | |
- | * AND gate
| + | |
- | * NOT gate
| + | |
- | | + | |
- | For the following explanations, A and B represent statements that can be either true or false.
| + | |
- | | + | |
- | ====OR Gate====
| + | |
- | | + | |
- | Consider the statement "A OR B". If either A or B is true, the statement is said to be true. The only time this statement will be false is when both A and B are false. This is the meaning of the OR operation.
| + | |
- | | + | |
- | An OR gate accepts two binary inputs, where a 1 represents "true" and a 0 represents "false". The output of the OR gate is also binary, and similarly represents either "true" or "false".
| + | |
- | | + | |
- | To illustrate,
| + | |
- | | + | |
- | 0 OR 0 = 0
| + | |
- | | + | |
- | 1 OR 0 = 0 OR 1 = 1
| + | |
- | | + | |
- | 1 OR 1 = 1
| + | |
- | | + | |
- | ====XOR Gate====
| + | |
- | | + | |
- | XOR is an abbreviation for "exclusive OR". The XOR gate is similar to the OR gate, the only difference being that it will return false if both inputs are true.
| + | |
- | | + | |
- | For example,
| + | |
- | | + | |
- | 1 XOR 0 = 1
| + | |
- | | + | |
- | 1 XOR 1 = 0
| + | |
- | | + | |
- | ====AND gate====
| + | |
- | | + | |
- | The AND gate will return 1 (true) '''only if both the inputs are 1 (true)'''. Otherwise, it will return a 0.
| + | |
- | | + | |
- | To illustrate,
| + | |
- | | + | |
- | 0 AND 0 = 0
| + | |
- | | + | |
- | 1 AND 0 = 0 AND 1 = 0
| + | |
- | | + | |
- | 1 AND 1 = 1
| + | |
- | | + | |
- | ====NOT gate====
| + | |
- | | + | |
- | The NOT gate accepts one input, and simply switches its value.
| + | |
- | | + | |
- | NOT 1 = 0
| + | |
- | | + | |
- | NOT 0 = 1
| + | |
- | | + | |
- | ====Using logic gates to make an adder====
| + | |
- | | + | |
- | Given two binary inputs A and B, their sum can be computed by passing these inputs through various logic gates. The process is illustrated in Figures 4 and 5.
| + | |
- | | + | |
- | [[Image:Half-adder.png|left|thumb|300px|Figure 4: Half-adder circuit diagram]][[Image:Full-adder.png|left|thumb|300px|Figure 5: Full-adder circuit diagram]]<br clear="all" />
| + | |
- | | + | |
- | ===DNA as Logic Gates===
| + | |
- | The focus of our project revolves around using DNA as logic gates. In essence, the output of a logical operation is the chemical produced by a certain gene, and the inputs are external stimuli that modify the conformation of proteins, which act on the promoters of the genes to induce or inhibit transcription depending on the specific logic gate implemented.
| + | |
- | | + | |
- | For example, consider a positively regulated gene G that codes for protein X. By default, the gene is not expressed. If the inputs A and B are on and inducing protein activity that turns on G, the expressed protein represents the output of an AND gate. The inputs would be the "presence" or "absence" of A and the "presence" or "absence" of B (both representing 0 and/or 1 as inputs), and the output would be the "presence" or "absence" of X (where "presence" and "absence" should be read as high and low intensity/concentration, respectively).
| + | |
- | | + | |
- | This is the type of approach used to construct our biological adder. Further details are given under the Project Details section.
| + | |
- | | + | |
- | ==Project Details==
| + | |
- | | + | |
- | ===Inputs===
| + | |
- | As a half-adder, our cells require two binary inputs. We chose to use the presence or absence of red light as one input, and the presence or absence of the chemical tetracycline as another. For the first input, the presence of red light represents a 0 and the absence represents a 1. For the second input, the absence of tetracycline represents a 0 and the presence represents a 1.
| + | |
- | | + | |
- | We chose to use light as an input for the reasons that it does not require altering the media, it can be turned on and off rapidly, and it has extremely high resolution and accuracy. The red light will be detected by the previously used Cph1/EnvZ fusion protein ([http://partsregistry.org/Part:BBa_I15010 BBa_I15010]).
| + | |
- | | + | |
- | Tetracycline was used as a second input since it binds to the tetR repressor ultimately allowing for the production of the Green Fluorescent Protein (GFP) or Red Fluorescent Protein (RFP). It also will not interfere with the constitutive promoter and can be easily controlled.
| + | |
- | | + | |
- | ===Output===
| + | |
- | Depending on the result of the calculation, the bacteria will produce either red fluorescent protein (RFP), green fluorescent protein (GFP), or neither. The possible outcomes are as follows:
| + | |
- | | + | |
- | No Tetracycline & No red light ==> 0+0 ==> nothing
| + | |
- | | + | |
- | No Tetracycline & Red light ==> 0+1 ==> GFP
| + | |
- | | + | |
- | Tetracycline & No red light 1+0 ==> GFP
| + | |
- | | + | |
- | Tetracycline & red light ==> 1+1 ==> RFP
| + | |
- | | + | |
- | | + | |
- | A diagram of the biological half adder in culture is shown below. It shows all outputs given all possible inputs.
| + | |
- | | + | |
- | [[Image:UW_biology_schematic_diagram.PNG|none|thumbnail|center|500px|Input and Outputs of the Biological Half Adder]]
| + | |
- | | + | |
- | ===Schematic Diagram===
| + | |
- | [[Image:Design schematic.jpg|none|thumbnail|center|500px|Schematic Design of Biological Half-Adder]]
| + | |
- | | + | |
- | ===Gene Diagram===
| + | |
- | [[Image:GeneDesignHA.jpg|none|thumbnail|center|500px|Gene Diagram for the Half Adder Construction]]
| + | |
- | | + | |
- | | + | |
- | | + | |
- | ==Construction==
| + | |
- | [[Image:UW_Construction_Chart.jpg|thumb|500px|left|Construction Chart]]
| + | |
- | <br style="clear:both;"/>
| + | |
- | | + | |
- | ==Testing/Results==
| + | |
- | ===Testing Constructs===
| + | |
- | | + | |
- | Making use of flurorescent proteins(GFP and RFP) as reporter genes
| + | |
- | - use of indicuble promoters to...
| + | |
- | | + | |
- | ====Comparing basal and induced expression levels for the quorum sensing promoters====
| + | |
- | <table width="100%" style="border-collapse: collapse; padding-top:15px; padding-bottom:15px;">
| + | |
- | | + | |
- | <tr style="background-color:#CCCCCC; text-align:left;">
| + | |
- | <td width="400px"><b>CONSTRUCT</b></td>
| + | |
- | <td><b>AIMS</b></td>
| + | |
- | </tr>
| + | |
- | <tr valign="middle" style="border-top: 1px solid black; border-bottom: 1px solid black;">
| + | |
- | <td>[[Image:UW_testing_constructs1AB.png|400x100px]]</td>
| + | |
- | <td><b>The quorum-sensing promoters: How active is 'unactivated' Plas and Plux?</B><BR>
| + | |
- | *preliminary test for the basal levels of activity of the positively-controlled quorum sensing promoters </td>
| + | |
- | </tr>
| + | |
- | <tr valign="middle" style="border-top: 1px solid black;border-bottom: 1px solid black;">
| + | |
- | <td>[[Image:UW_testing_constructs1CD.png|400px]]</td>
| + | |
- | <td><b>The quorum-sensing constructs: How off is 'off' and how on is 'on'?</b></br>
| + | |
- | *test for levels of expression in the unenhanced versus enhanced state
| + | |
- | *xR must be expressed in same strain as Px; xI can be expressed in a different strain since its AHL is diffusable
| + | |
- | *both strains grown in a single culture tube </td>
| + | |
- | </tr>
| + | |
- | </table>
| + | |
| <br> | | <br> |
- | ====Testing functionality of the various promoters====
| |
- | <table width="100%" style="border-collapse: collapse; padding-top:15px; padding-bottom:15px;">
| |
- | <tr style="background-color:#CCCCCC; text-align:left;">
| |
- | <td width="400px"><b>CONSTRUCT</b></td>
| |
- | <td><b>AIMS</b></td>
| |
- | </tr>
| |
- | <tr valign="middle" style="border-top: 1px solid black; border-bottom: 1px solid black;">
| |
- | <td>[[Image:UW_testing_constructs2A1A2.png|400px]]</td>
| |
- | <td><b>The Omp promoter</b><br>
| |
- | *postively-controlled promoter activated by endogenous OmpR protein (sensitive to salt concentrations via EnvZ protein)
| |
- | *test for activity using high salt levels in EnvZ+ strain
| |
- | *test for activity using the photo-active red system in EnvZ- strain </td>
| |
- | </tr>
| |
- | <tr valign="middle" style="border-top: 1px solid black; border-bottom: 1px solid black;">
| |
- | <td>[[Image:UW_testing_constructs2B.png|400px]]</td>
| |
- | <td><b>The Tet promoter and operator </b><br>
| |
- | *negatively-controlled promoter, repressed by TetR and derepressed by the inducer tetracycline
| |
- | *test for levels of expression during repressed versus derepressed state</td>
| |
- | </tr>
| |
- | <tr valign="middle" style="border-top: 1px solid black; border-bottom: 1px solid black;">
| |
- | <td>[[Image:UW_testing_constructs2CD.png|400px]]</td>
| |
- | <td><b>The quorum-sensing promoters: Plas and Plux </b><br>
| |
- | *as above</td>
| |
- | </tr>
| |
- | <tr valign="middle" style="border-top: 1px solid black; border-bottom: 1px solid black;">
| |
- | <td>[[Image:UW_testing_constructs2E.png|400px]]</td>
| |
- | <td><b>The PlasOcI promoter-operator fusion </b><br>
| |
- | *negatively- and positively-controlled promoter in the final half adder design, repressed by cI and enhanced by LasR
| |
- | *testfor activity in the repressed versus enhanced state
| |
- | *test in addition to above construct since operator fusion may affect promoter activity </td>
| |
- | </tr>
| |
- | </table>
| |
- |
| |
- | ===Mathematical Model===
| |
- |
| |
- | To create a predictive model, we used a set of differential equations to graph the approximate concentrations of each chemical with respect to time. These graphs are intended to illustrate the relative concentrations of the chemicals involved for each possible combination of inputs. The first quarter of the graph (t=0 to 500) illustrates the concentration of chemicals when adding 0+0; the second quarter (t=500 to 1000) illustrates the 0+1 case; the third quarter illustrates the 1+0 case; and the fourth quarter the 1+1 case.
| |
- |
| |
- | <math>\frac{d[O]}{dt} = k' + \frac{k \cdot ([I]^n/K^n)^\mu}{1 + ([I]^n/K^n)^\mu} - d \cdot [O] </math>
| |
- |
| |
| | | |
- | [[Image:UW_Graphs.jpg]] | + | {| style="border-spacing:0px; border-width:thin; border-color:black; border-style:solid" |
| + | |- |
| + | | style="font-size:x-large; font-weight:bold; border-bottom-width:thin; border-bottom-color:black; border-bottom-style:solid; font-size:x-large; font-weight:bold; padding:5px; background-color:#FBCC30" | Our Team |
| + | |- |
| + | | style="padding:5px" | [[Image:Group photo mimi1.JPG|470px|left|thumb|Undergraduate Members]] [[Image:UW_Advisors.jpg|407px|center|thumb|Faculty and Graduate Advisors]] |
| + | |- |
| + | | style="padding:5px" | The UW iGEM team is a very interdisciplinary group. Our team members span three faculties: Science, Mathematics, and Engineering, and represent a wide range of undergraduate programs: Biology, Biomedical Sciences, Biochemistry, Computer Science, Bioinformatics, Computer Engineering, Electrical Engineering, Chemical Engineering, Systems Design Engineering, and Mathematical Physics. |
| | | |
- | ===Measurements===
| + | Drawing on our diverse backgrounds, we bring a wide range of skills and modes of creative thinking to our iGEM project. The iGEM competition is providing us with an opportunity to become more familiar with the emerging field of synthetic biology in an engaging and fun atmosphere. In addition to gaining experience in the design, construction, and analysis of genetic circuits, we are also meeting the challenge of bringing together a large, diverse group toward a common goal. |
| | | |
- | ==Extensions==
| + | |} |
- | ===Full Adder===
| + | |
- | As a future project, we would like to extend our half-adder to a full-adder, which would be much more useful as it would give us the ability to add numbers of more than one digit. Below is a diagram of all the outputs given all possible inputs.
| + | |
| | | |
- | [[Image:UW_full_adder_diagram.PNG |thumb|center|500px|Inputs and Outputs of the Biological Full Adder]]
| + | <br clear="all"> |
| | | |
| + | {| style="border-spacing:0px; border-width:thin; border-color:black; border-style:solid; width:100%" |
| + | |- |
| + | | colspan="4" style="border-bottom-width:thin; border-bottom-color:black; border-bottom-style:solid; font-size:x-large; font-weight:bold; padding:5px; background-color:#FBCC30" | Our Project |
| + | |- |
| + | | colspan="4" style="padding:5px; font-size:large" | Abstract |
| + | |- |
| + | | colspan="2" style="vertical-align:top; border-bottom-width:thin; border-bottom-color:black; border-bottom-style:solid; padding:5px" | The goal of this project is to design a basic device for computing. Our idea was to reproduce a circuit element called a half adder with DNA, which takes in two 1-bit inputs, adds them, and outputs a sum and a carry. Our device responds to two inputs: red light and the chemical tetracycline. The input sensors control a set of genetic switches in order to carry out the computation and fluoresces green, red, or neither, depending on the outcome. |
| | | |
- | A gene design that makes use of some of the half-adder components can be seen below.
| + | Half adders are used as building blocks for full adders, which perform calculations similar to long addition but in binary. They are also an essential component in a device called the Arithmetic Logic Unit (ALU), a fundamental building block for the central processing unit in a modern computer. ALUs perform simple and complex operations such as bitwise logical operations and mathematical operations. |
| | | |
- | [[Image:GeneDesignFA.JPG|frame|center|Full Adder|]]
| + | The constructs for the half adder were built in parallel as well as the testing constructs. A future extension to this project would be to create a full adder. More information on each stage of the project is available below. |
- | <br style="clear:both;"/>
| + | |
| | | |
- | ==Acknowledgements== | + | | colspan="2" style="border-bottom-width:thin; border-bottom-color:black; border-bottom-style:solid; padding:5px; vertical-align:middle" | [[Image:Design schematic.jpg|thumb|center|475px|Schematic Design of the Biological Half-Adder]] |
- | The UW-iGEM team would like to thank the following organizations and individuals for their contributions:
| + | |- |
| + | | style="width:25%; border-right-width:thin; border-right-color:black; border-right-style:solid; font-size:large; text-align:left; padding:5px; background-color:#FBCC30" | [[Project | Project Design]] || style="width:25%; border-right-width:thin; border-right-color:black; border-right-style:solid; font-size:large; text-align:left; padding:5px; background-color:#FBCC30" | [[Modelling | Mathematical Modelling]] || style="width:25%; border-right-width:thin; border-right-color:black; border-right-style:solid; font-size:large; text-align:left; padding:5px; background-color:#FBCC30" | [[Construction_and_Testing | Construction and Testing]] || style="width:25%; font-size:large; text-align:left; padding:5px; background-color:#FBCC30" | [[Future_Work | Future Work]] |
| + | |- |
| + | | style="vertical-align:top; border-right-width:thin; border-right-color:black; border-right-style:solid; padding:5px" | |
| + | * Binary addition and boolean logic |
| + | * Half-adder vs. full-adder designs |
| + | * Biological half-adder implementation |
| + | | style="vertical-align:top; border-right-width:thin; border-right-color:black; border-right-style:solid; padding:5px" | |
| + | * Modelling the gene regulatory network |
| + | * Simulation results |
| + | | style="vertical-align:top; border-right-width:thin; border-right-color:black; border-right-style:solid; padding:5px" | |
| + | * Strategy for half-adder construction |
| + | * Testing constructs for device |
| + | * Test execution plan |
| + | * Submitted parts |
| + | | style="vertical-align:top; padding:5px" | |
| + | * Explanation of a full adder |
| + | * Gene design for full adder |
| + | * Implementation plan |
| + | |} |
| | | |
- | <gallery> | + | <br clear="all"> |
- | Image:Fsf logo.gif|[http://www.science.uwaterloo.ca/fsf/index.html Faculty of Science Foundation ]of University of Waterloo
| + | |
- | Image:MEF_logo.gif|[http://www.student.math.uwaterloo.ca/~mefcom/ Mathematics Endowment Fund ]of University of Waterloo
| + | |
- | Image:SFF_Logo.gif|[http://www.eng.uwaterloo.ca/~sff/ Sir Sanford Fleming Foundation] of University of Waterloo
| + | |
- | Image:WEEFLogo.jpg|[http://www.weef.uwaterloo.ca/ Waterloo Engineering Endowment Fund]
| + | |
- | Image:WatSEF_Logo.jpg|[http://www.science.uwaterloo.ca/~watsef/mainpage.html Waterloo Science Endowment Fund]
| + | |
| | | |
- | </gallery>
| + | {| style="border-spacing:0px; border-width:thin; border-color:black; border-style:solid; width:100%; text-align:center" |
| + | |- |
| + | | style="font-size:x-large; font-weight:bold; font-size:x-large; font-weight:bold; padding:5px; background-color:#FBCC30; border-bottom-width:thin; border-bottom-color:black; border-bottom-style:solid; text-align:left" colspan="15" | Acknowledgements |
| + | |- |
| + | | colspan="3" | [[Image:Fsf_logo.gif|150px]] || colspan="3" | [[Image:MEF_logo.gif|150px]] || colspan="3" | [[Image:SFF_Logo.gif|150px]] || colspan="3" | [[Image:WEEFLogo.jpg|150px]] || colspan="3" | [[Image:WatSEF_Logo.jpg|150px]] |
| + | |- |
| + | | colspan="3" | [http://www.science.uwaterloo.ca/fsf/index.html Faculty of Science Foundation ] || colspan="3" | [http://www.student.math.uwaterloo.ca/~mefcom/ Mathematics Endowment Fund ] || colspan="3" | [http://www.eng.uwaterloo.ca/~sff/ Sir Sanford Fleming Foundation] || colspan="3" | [http://www.weef.uwaterloo.ca/ Waterloo Engineering Endowment Fund] || colspan="3" | [http://www.science.uwaterloo.ca/~watsef/mainpage.html Waterloo Science Endowment Fund] |
| + | |- |
| + | | colspan="15" | |
| + | |- |
| + | | colspan="5" | [[Image:UW_EngFacLogo.PNG |150px]] || colspan="5" | [[Image:UW_SciFacLogo.PNG|150px]] || colspan="5" | [[Image:UW_MathFacLogo.PNG|150px]] |
| + | |- |
| + | | colspan="5" | [http://www.engineering.uwaterloo.ca University of Waterloo Faculty of Engineering] || colspan="5" | [http://www.science.uwaterloo.ca University of Waterloo Faculty of Science] || colspan="5" | [http://www.math.uwaterloo.ca University of Waterloo Faculty of Mathematics] |
| + | |- |
| + | | colspan="15" | |
| + | |- |
| + | | colspan="5" style="padding:5px" | [[Image:UW_Waterloocrest.PNG | 150px]] || colspan="10" style="text-align:left; padding:5px" | We would like to thank the following people for their support and guidance: |
| + | * Dr. Trevor Charles |
| + | * Dr. Barbara Moffatt |
| + | * Dr. Joshua Neufeld |
| + | |} |
| | | |
- | * Dr. Trevor Charles
| + | <br clear="all"> |
| + | <center> |
| + | [[Waterloo | Home ]] | [[Project | Project]] | [[Modelling | Mathematical Modelling]] | [[Construction_and_Testing | Construction and Testing]] | [[Future_Work | Future Work]] |
| + | </center> |