Thank you all for a great semester! I can have office hours if you like over the next few days. I’ll be on discord at the usual Tuesday 12 pm slot tomorrow.
Due Monday December 7th
For Monday:
 This is our last daily post! It is full of announcements, so please please read through them all.
 UPDATE: Online FCQs are open until Monday. FCQs are used to evaluate your instructors for reappointment, promotion and tenure, and to inform the department about their teaching effectiveness. I, personally, greatly appreciate feedback and work to improve my teaching using your feedback. Also, if you haven’t answered my own additional feedback form, please please do!
 The last module, Module 5 (quantum and coding) will be available for the entire exam period. It will be takehome style, on canvas, due at 11:59 pm on the 13th. This is a HARD DEADLINE. Plan ahead! Plan to complete it the day before the deadline if possible. Upload a draft of whatever you have earlier in the day so that if you have internet troubles, you don’t lose the entire exam. Email me before the deadline if you are having problems.
 Here are solutions (part 1, part 2) to the coding theory problems from the last daily post.
 For the daily task, watch 3Blue1Brown’s video on the Hamming code (20:05). It explains a different perspective than we did in class that really does a good job of explaining the clever idea behind it. Thanks to J.B. for pointing out this exists!
 For our last day of class, I want to have fun. I won’t do any new material, but I will try to make it fun on the topic of cryptography. So: I may prepare some kahoot questions on cryptography review/trivia, and I will be happy to take requests for fun topics (I’m happy to prepare minilectures on things if I know them or can learn them), and/or “all questions answered”. Use this channel to make suggestions and/or second other people’s suggestions. I’ve had a really fun time in this class and I’d like to spend more time with you not just working hard. It’s you guys that will make it fun! Here’s an original “all questions answered” article — it goes back via Knuth to Feynman. PS: Class is optional but encouraged, and I won’t record it. Post ideas to #lastday on the discord channel.
 And finally, a big THANK YOU to everyone for attending the course and for keeping a positive attitude through our online learning experience, for making me smile and putting forth your best efforts. It’s you, the students, who make all the work worth it. Thank you.
 For your final daily post, you can use the text entry box to write one thing you learned from this course that you think will be useful or that you are glad you learned. I’m curious what students take away. That’s it!
Due Friday December 4th
Due Fri:
 Please know that online FCQs are open until Friday. FCQs are used to evaluate your instructors for reappointment, promotion and tenure, and to inform the department about their teaching effectiveness. I, personally, greatly appreciate feedback and work to improve my teaching using your feedback.
 Also, if you haven’t answered my own additional feedback form, please do!
 The last module, Module 5 (quantum and coding) will be available for the entire exam period. It will be takehome style, on canvas, due at 11:59 pm on the 13th. This is a HARD DEADLINE. Plan ahead! Plan to complete it the day before the deadline if possible. Upload a draft of whatever you have earlier in the day so that if you have internet troubles, you don’t lose the entire exam. Email me before the deadline if you are having problems.
 Here are solutions to the last two daily posts.
 To Do: Here are some coding theory questions to try: Textbook (available on canvas) Chapter 18 Problems 1, 3, 4, 9. Hand in on canvas.
Due Wednesday, December 2nd
For Wed:
 Please know that online FCQs are open. FCQs are used to evaluate your instructors for reappointment, promotion and tenure, and to inform the department about their teaching effectiveness. I, personally, greatly appreciate feedback and work to improve my teaching using your feedback.
 If needed, you’ll want to review the following aspects of linear algebra for studying linear codes:

 vectors and matrix multiplication
 vector space and subspace
 span
 basis (independence, uniqueness of expression in terms of a basis)
 dimension
 kernel of a linear transformation
 rowspace and columnspace
 ranknullity theorem
 transpose of a matrix

 To Do:
 Please take some time to fill in this feedback form on aspects of the course. I list some of the design aspects of our course and ask whether they were helpful or problematic. It’s a big help to me for designing for future students. It’s anonymous.
 Consider the binary code C = {(0,0,1),(1,1,1),(1,0,0),(0,1,0)}. The alphabet is {0,1}. This is the same one as last daily post. Some of the questions that follow are also repeated; you can just revisit your answers.

 What is the length of C?
 What is d(C) (the minimum distance)?
 What are q, n, M and d if C is a qary (n,M,d)code?
 How many errors can C detect?
 How many errors can C correct?
 Show that C is not linear.
 Suppose you send the codeword (1,1,1) and 2 errors are made on the noisy channel, in the first and last positions. Explain what message is received and what it decodes to. Was communication successful?
 Show that C is a coset of a linear code. (The definition of a coset is on page 413 of the text, although I talked about it informally in class today: it’s a translation, by some vector, of a subspace). What is the linear code? Call it C’.
 Find n and k so that C’ is an [n,k]code.
 Define C’ by linear equation(s).
 Give a basis for C’.
 Give a matrix for which C’ is the rowspace.

Due Monday, November 30th
For Mon:
 I hope everyone has/had a wonderful thanksgiving, whether remote, takeout, whatever it is/was. 🙂
 I’ve opened a “ReDo Module 3 and 4” assignment on canvas. It will work like the ReDo for Module 1 and 2. In other words, you can do a replacement problem for problems on the assessments, for up to 80% replacement credit. Please email me to request that I add problems to it, and I will keep adding them as needed. This will be due the last day of class (December 7th), so make requests by December 4th at latest (note: solutions and grading for Mod 4 will happen this weekend).
 To Do:
 Compute the continued fraction of 31/64 by hand.
 Consider the binary code C = {(0,0,1),(1,1,1),(1,0,0),(0,1,0)}.

 What is the length of C?
 What are the Hamming distances between the codewords (there are 6 pairs to check)?
 How many errors can C detect?
 How many errors can C correct?
 Suppose you send the codeword (1,1,1) and 2 errors are made on the noisy channel, in the first and last positions. Explain what message is received and what it decodes to. Was communication successful?

 In general, suppose a code has codewords which are all at Hamming distance d from each other (in other words, every pair is distance d). How many errors can it detect? How many errors can it correct?
Due Wednesday November 25th
For Wed:
 Please know that online FCQs are open. FCQs are used to evaluate your instructors for promotion and tenure, and to inform the department about their teaching effectiveness. I, personally, greatly appreciate feedback and work to improve my teaching using your feedback.
 To do: Try out the Shor’s Algorithm simulation. More specifically:

 Try to factor 35. Use 10 qubits in the first register and 6 in the second (this is already set up by default). Try alpha = 9. Trace through the outputs and eventually obtain the measurement of the first register at the 5th box. Make sure you understand what is happening in each step (i.e. use this as an opportunity to review the material from Monday). Note: The QFT step can be really slow on the online sage server. (I just timed it at around 15 or 20 seconds.)
 With this measurement, use the 6th box to compute the continued fraction convergents. Pull out the smallest EVEN denominator and try that as your guess for r in the last box. Did you succeed in factoring? If not, try measuring again (no need to recompute the QFT, just go back one box and measure again), and using the new convergents. It may take several tries!
 Hand in answers to these questions:
 If you measure “0”, why is this not helpful? What other measurements seem to be unhelpful and why?
 Try alpha = 11 and explain how it fails. What is wrong with this alpha? (With reference to the proposition that we began Monday’s class with.)
 Try alpha = 19 and explain how it fails. What is wrong with this alpha? (Again with reference to the aforementioned proposition.)

Due Monday, November 23rd
Due Mon:
 To Know: Your assessment for Module 4 is due Monday!
 To Know: Here are solutions to the last daily.
 To Do: For the daily post, demonstrate the classical part of Shor’s algorithm using Sage, as follows:

 Choose N = 33463.
 Let
a
be your favourite random integer between 1 and N1.  Define
R = IntegerModRing(N)
andalpha = R(a)
. The Sage commandalpha.multiplicative_order()
will play the role of the quantum computer; it outputs the multiplicative order of alpha.  Use the result to factor N, in the manner of Shor’s algorithm, as described in class. If it doesn’t work, try another random alpha (as you would in Shor’s algorithm).
 Hand in a record of the task to the daily dropbox.

Due Friday November 20th
For Friday:
 To Know: Assessment 4 is still open, due Monday.
 To Do: Compare your solutions to the last daily exercises to my solutions.
 Optional but recommended: watch this WONDERFUL 3blue1brown video on Fourier Analysis (19:43). An important thing to note here: he’s doing a continuous input variable, whereas for us the domain is Z/nZ. There are lots of slightly different contexts where one does fourier analysis. But the principles are the same, although we do a sum where he does an integral.
 To Do: Here are some exercises to do on the quantum fourier transform, to get your hands dirty with it. Hand these in for the daily.
Due Wednesday November 18th
For Wed:
 To Know: Don’t forget Assessment Module 4 is open, due Monday. I added some more detailed RingLWE lecture notes to the History page, in case that is helpful.
 To Do: Compare your answers to the last daily exercise to these solutions.
 To Do: Here are some exercises on quantum gates. Please hand these in as the daily task.
Due Monday November 16th
For Monday:
 To Know: I have posted the Module 4 Assessment, to be due Monday November 23rd. Material includes finite fields, elliptic curves, projective space, lattices.
 To Know: The last assessment will be due during exam period. We’ll have to see how the end of the course plays out whether we’ll do separate Module 5 and 6 or combine. (Module 5 is quantum stuff; Module 6 is coding theory; it remains to be seen how fast we cover material.)
 To Know: Here’s an article about a Bell test at NIST here in Boulder and how they are using it to make random numbers.
 To Know: Excellent 3Blue1Brown/MinutePhysics video (17:34) which closely related to what we did today.
 To Do: Exercises on entanglement (and latex source). Hand in on canvas.
 To Know: The DeLong Lectures are next week.