Curtis Bright
Graduate Student

University of Waterloo
School of Computer Science
DC 2302C
cbright

Presently, I am working on applying SAT solvers and computer algebra systems to problems in combinatorics and number theory.

In Fall 2015, I taught CS 136 alongside Gordon Cormack, a follow-up to CS 135 which uses the programming language C.

In Summer 2015, I was the sole instructor of CS 115, an introduction to computer science intended for non-CS majors.

In Fall 2014, I taught a section of CS 135, an introduction to computer science based around the programming language Racket.

In Summer 2014, I oversaw the implementation of a variant of the LLL algorithm in the open source number theory library FLINT.

Previously, I delivered tutorials and assisted running courses with a focus on data structures, algorithms, and logic. I spent most of the last decade becoming well-versed in mathematics: I have taken over 50 courses offered by the Faculty of Mathematics at the University of Waterloo, and have been a teaching assistant for over a dozen.

My Erdős number is 2, through the papers Minimal elements for the prime numbers (Bright, Devillers, Shallit) and New bounds on the length of finite Pierce and Engel series (Erdős, Shallit).

Things I've (co-)written which are available online.

- January 17, 2016 MathCheck2: A SAT+CAS verifier for combinatorial conjectures
- September 27, 2014 Minimal elements for the prime numbers (Updated)
- April 10, 2014 Exceptional examples in the
`abc`conjecture - April 15, 2013 Computing the Galois group of a polynomial
- April 21, 2012 The quartic formula derivation
- April 21, 2012 The quartic formula poster
- April 2, 2012 8*13^(4*8005)+183 is a probable prime
- December 29, 2011 From the shortest vector problem to the dihedral hidden subgroup problem
- April 20, 2011 Passing arguments: A comparison among programming languages
- April 9, 2011 Vector rational number reconstruction poster
- March 30, 2011 Vector rational number reconstruction [Errata]
- December 20, 2010 Automated construction of phylogenetic trees
- December 13, 2010 Ataxx with AI
- August 31, 2009 Vector rational number reconstruction
- April 29, 2009 Reduction of lattice bases
- April 16, 2009 Neural networks for insurance fraud detection
- December 15, 2008 Algorithms for lattice basis reduction
- July 20, 2008 Notes on chapter 2 of Ideals, Varieties and Algorithms
- April 24, 2008 Modular periodicity of linear recurrence sequences
- April 18, 2008 Insurance fraud statistics
- February 12, 2008 Solving Ramanujan's square equation computationally
- February 12, 2008 NSRA on Obláth's problem
- September 12, 2007 Finding generalized near-repdigit squares

Talks I've given which used slides.

- December 7, 2016 MathCheck2: A SAT+CAS verifier for combinatorial conjectures
- December 7, 2016 Minimal Elements for the Prime Numbers
- November 18, 2016 MathCheck2: A SAT+CAS verifier for combinatorial conjectures
- September 24, 2016 MathCheck2: Combining learning-based search (SAT) with symbolic computation (CAS) SC
^{2}Workshop, Timişoara, Romania - September 20, 2016 MathCheck2: A SAT+CAS verifier for combinatorial conjectures CASC, Bucharest, Romania
- July 12, 2016 MathCheck: A math assistant combining SAT with computer algebra systems IJCAI, New York, USA
- July 2, 2016 MathCheck2: A SAT+CAS verifier for combinatorial conjectures SMT Workshop, Coimbra, Portugal
- May 13, 2016 MathCheck2: A SAT+CAS verifier for combinatorial conjectures ACMES, London, Ontario
- March 14, 2016 PhD Research Proposal: A SAT+CAS system for checking math conjectures
- March 27, 2014 Extremal examples in the
`abc`conjecture - September 9, 2013 Proving the Prime Number Theorem in an hour
- April 8, 2013 Computing the Galois group of a polynomial
- December 8, 2011 From the shortest vector problem to the dihedral hidden subgroup problem
- June 9, 2011 Vector rational number reconstruction
- August 28, 2009 Vector rational number reconstruction: Version 2
- August 20, 2009 Vector rational number reconstruction
- May 21, 2009 Lattice basis reduction and the LLL Algorithm
- July 31, 2008 LLL overview: Lenstra-Lenstra-Lovász lattice basis reduction
- July 3, 2008 Notes on chapter 2 of Ideals, Varieties and Algorithms

I use LaTeX for taking notes. How well this works depends on the course content; it typically works better in pure mathematics courses than in computer science courses. Although I can't guarantee the accuracy or completeness of my transcriptions, I'm posting some notes for courses I've taken (or sat through) in the hope they will be useful to others. Let me know if you spot any typos, or even better, fix them yourself on GitHub.

- PMATH 641 Winter 2013 Algebraic Number Theory with Cameron Stewart
- PMATH 740 Spring 2012 Analytic Number Theory with Stephen New
- PMATH 442 Fall 2011 Galois Theory with David McKinnon
- PMATH 345 Spring 2010 Polynomials, Rings and Finite Fields with David McKinnon
- PMATH 351 Winter 2010 Real Analysis with Che Tat Ng
- PMATH 345 Fall 2009 Polynomials, Rings and Finite Fields with Rahim Moosa
- PMATH 351 Fall 2009 Real Analysis with Kathryn Hare
- PMATH 944 Fall 2009 Geometry of Numbers with Cameron Stewart

I was the designer of the SCG logo, a spoof on a proposed UW logo. Other nonacademic projects of mine can be found on my personal website, www.curtisbright.com.