Date of Award

May 2020

Document Type


Degree Name

Doctor of Philosophy (PhD)


Mathematical Sciences

Committee Member

Felice Manganiello

Committee Member

Neil Calkin

Committee Member

Shuhong Gao

Committee Member

Kevin James


Given a self-similar structure in codes and de Bruijn sequences, recursive techniques may be used to analyze and construct them. Batch codes partition the indices of code words into m buckets, where recovery of t symbols is accomplished by accessing at most tau in each bucket. This finds use in the retrieval of information spread over several devices. We introduce the concept of optimal batch codes, showing that binary Hamming codes and first order Reed-Muller codes are optimal. Then we study batch properties of binary Reed-Muller codes which have order less than half their length.

Cartesian codes are defined by the evaluation of polynomials at a subset of points in F_q. We partition F_q into buckets defined by the quotient with a subspace V. Several properties equivalent to (V intersect ) = {0} for all i,j between 1 and mu are explored. With this framework, a code in F_q^(mu-1) capable of reconstructing mu indices is expanded to one in F_q^(mu) capable of reconstructing mu+1 indices. Using a base case in F_q^3, we are able to prove batch properties for codes in F_q. We generalize this to Cartesian Codes with a limit on the degree mu of the polynomials.

De Bruijn sequences are cyclic sequences of length q^n that contain every q-ary word of length n exactly once. The pseudorandom properties of such sequences make them useful for stream ciphers. Under a particular homomorphism, the preimages of a binary de Bruijn sequence form two cycles. We examine a method for identifying points where these sequences may be joined to make a de Bruijn sequence of order n. Using the recursive structure of this construction, we are able to calculate sums of subsequences in O(n^4 log(n)) time, and the location of a word in O(n^5 log(n)) time. Together, these functions allow us to check the validity of any potential toggle point, which provides a method for efficiently generating a recursive specification. Each successful step takes O(k^5 log(k)), for k from 3 to n.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.