<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DSpace Collection: Middlebury College Computer Science Theses</title>
    <link>http://hdl.handle.net/10090/773</link>
    <description />
    <items>
      <rdf:Seq>
        <rdf:li resource="http://hdl.handle.net/10090/6335" />
        <rdf:li resource="http://hdl.handle.net/10090/6229" />
        <rdf:li resource="http://hdl.handle.net/10090/802" />
        <rdf:li resource="http://hdl.handle.net/10090/801" />
      </rdf:Seq>
    </items>
  </channel>
  <textInput>
    <title>The Collection's search engine</title>
    <description>Search the Channel</description>
    <name>search</name>
    <link>http://dspace.nitle.org/simple-search</link>
  </textInput>
  <item rdf:about="http://hdl.handle.net/10090/6335">
    <title>Hex education: an introduction to computer hex</title>
    <link>http://hdl.handle.net/10090/6335</link>
    <description>Title: Hex education: an introduction to computer hex
&lt;br/&gt;
&lt;br/&gt;Authors: Smith, Brendan
&lt;br/&gt;
&lt;br/&gt;Abstract: This thesis will explore the topic of computer Hex by taking an in-depth look at the&#xD;
game&amp;#8217;s background, the ways in which artificial Hex players have been implemented to&#xD;
date, and some possible avenues for future advancement in this area. The first chapter&#xD;
provides an explanation of the rules of the game and some of the finer intricacies of Hex&#xD;
gameplay. The second chapter discusses a few of the mathematical properties of Hex that&#xD;
are of special importance to both gameplay and implementation. The third chapter&#xD;
recounts the history of the game, and the fourth chapter gives an overview of basic Hex&#xD;
strategy. An account of the first artificial Hex player, an analog machine, is given in&#xD;
chapter five. Chapter six discusses the standard techniques used to implement adversarial&#xD;
computer game players. Chapters seven and eight give a comprehensive analysis of two&#xD;
successful computer Hex players (Queenbee and Hexy), including their unique evaluation&#xD;
functions and search strategies. The final chapter compares these two Hex players,&#xD;
discusses their limitations, and takes a look at some possible new directions for computer&#xD;
Hex.
&lt;br/&gt;
&lt;br/&gt;Description: 57 leaves : ill. Includes bibliographical references. Thesis (B.A.)--Middlebury College, 2008.</description>
  </item>
  <item rdf:about="http://hdl.handle.net/10090/6229">
    <title>Primality testing</title>
    <link>http://hdl.handle.net/10090/6229</link>
    <description>Title: Primality testing
&lt;br/&gt;
&lt;br/&gt;Authors: Wehrwein, Jeff
&lt;br/&gt;
&lt;br/&gt;Abstract: Prime numbers have a very simple de&amp;#12;finition, but they inspire an abundance of interesting&#xD;
and complex theory. Originally a topic of interest only to pure mathematicians,&#xD;
primes have found an important practical role in our modern technological world. This&#xD;
thesis introduces the &amp;#12;eld of primality testing, with some mathematical background&#xD;
on the many interesting properties of prime numbers. The main focus of the thesis&#xD;
is the exploration of several diff&amp;#11;erent primality tests from both an algorithmic and&#xD;
mathematical point of view. In addition, it explores some real-world applications of&#xD;
primality testing and discusses implementation issues and results. It concludes with&#xD;
a brief summary of current methods and possible directions of future improvements.
&lt;br/&gt;
&lt;br/&gt;Description: 87 leaves. Includes bibliographical references. Thesis (B.A.)--Middlebury College, 2008</description>
  </item>
  <item rdf:about="http://hdl.handle.net/10090/802">
    <title>Parallelizing Numerical Integration</title>
    <link>http://hdl.handle.net/10090/802</link>
    <description>Title: Parallelizing Numerical Integration
&lt;br/&gt;
&lt;br/&gt;Authors: Mitrevski, Petar
&lt;br/&gt;
&lt;br/&gt;Abstract: The ability to evaluate definite integrals is essential for virtually all fields of&#xD;
science. When a closed form expression cannot be obtained for a function, numerical&#xD;
integration may be used to approximate the value of the integral. There are various&#xD;
methods for numerical integration. In this study the rectangle, trapezoidal and Simpson&amp;#8217;s&#xD;
rules were implemented into serial and parallel programs. All the programs were tested&#xD;
by integrating the functions by integrating the functions g(x) = &amp;#8308;/&amp;#8321;+ x&amp;#8322;,  h(x) = sin x/x,  k(x) =3x&amp;#8322; and f(x) = e - x&amp;#8322;,&#xD;
between the limits: 10-9 and 1. The acquired integration results were compared to values&#xD;
obtained from Wolfram&amp;#8217;s software package Mathematica. The running times of all the&#xD;
programs were recorded and compared for given integration parameters.&#xD;
As expected, the accuracy of the results obtained for a particular integration was&#xD;
found to be the greatest using Simpson&amp;#8217;s rule and the lowest using the rectangle rule.&#xD;
When the number of segments was increased, the accuracy of the integration increased as&#xD;
well, however it was limited by the processor&amp;#8217;s precision and the precision of the data&#xD;
type double in C. The running time of the programs on a single processor is constrained&#xD;
by the von Neumann bottleneck. By using parallel processors, it is possible to decrease&#xD;
the running time of the programs, while maintaining the accuracy of the results. In&#xD;
particular, doubling the number of processors was found to approximately halve the&#xD;
running time.&#xD;
The total error for a specific integration can be defined in terms of the integrated&#xD;
function and the number of segments used. The error scales with different powers of the&#xD;
number of segments used, depending on the integration rule. In case of the rectangle rule,&#xD;
a linear relationship was found between the error and the size of the integration segments.&#xD;
The error of the trapezoidal rule was proportional to the square of the segment size.&#xD;
Whereas, a quadric relationship was seen between the total error and the size of the&#xD;
segments when Simpson&amp;#8217;s rule was applied.
&lt;br/&gt;
&lt;br/&gt;Description: Submitted in partial fulfillment of the requirement for the degree of Bachelor of Arts in Computer Science&#xD;
Middlebury College</description>
  </item>
  <item rdf:about="http://hdl.handle.net/10090/801">
    <title>A Comparison of Blocking &amp; Non-Blocking Synchronization</title>
    <link>http://hdl.handle.net/10090/801</link>
    <description>Title: A Comparison of Blocking &amp; Non-Blocking Synchronization
&lt;br/&gt;
&lt;br/&gt;Authors: Chirls, Kevin
&lt;br/&gt;
&lt;br/&gt;Abstract: Synchronization is the problem of coordinating multiple events across time within&#xD;
a single system, such that the parallel events occur successfully without collisions.&#xD;
Computers use many different forms of synchronization for controlling hardware access,&#xD;
shared memory, shared files, process execution, as well as the handling of numerous&#xD;
other resources. It is especially important for data structures in a parallel processing&#xD;
environment. The status quo and most commonly used implementation of&#xD;
synchronization is blocking synchronization, which utilizes locks to prevent conflicts&#xD;
between competing processes. This thesis explores and compares the alternative of nonblocking&#xD;
synchronization, which does not employ locks, but instead complex algorithms&#xD;
using hardware-based primitive atomic operations.
&lt;br/&gt;
&lt;br/&gt;Description: Submitted in partial fulfillment of the requirement for the degree of Bachelor of Arts in Computer Science&#xD;
Middlebury College</description>
  </item>
</rdf:RDF>

