--- tags: mth350, project --- # MTH 350 Course Project Information ## Purpose We'll learn a lot in MTH 350, but there are *many* areas connected to abstract algebra that we will not explore as a whole class. The **project** in MTH 350 gives you a chance to do the following: - Find a topic connected to abstract algebra that is meaningful to you personally; - Learn about that topic by doing research on it; and - Communicate what you've learned through writing, oral presentation, and media creation. Done well and with the right mindset, the topic you learn about in your project might be the topic you remember the most from the course. The project is also a product that you can use to show potential employers, graduate schools, etc. to demonstrate your **skill at learning technical subjects independently** and **communicating complex ideas in a way that people can understand**. ## Structure In your project, you'll choose a topic (see below for a list of suggestions) that is of a sufficient level of depth (not so deep that you can't complete the work, not so shallow that it doesn't stretch you) and learn about it. The project itself will consist of three parts: 1. **A paper**. You will write a 5-8 page paper with references, aimed an audience of your MTH 350 peers --- people who know the concepts from the course but have no familiarity otherwise with your topic. 2. **A presentation to the class**. You'll also craft a presentation, between 5 and 10 minutes in length, that serves as a very brief lesson about your topic. This is not just a read-through or summary of your paper (boring!) but rather an engaging, interesting "remix" of your paper that brings your research to life for 5-10 minutes. These presentations will take place during class time on April 20 and 22, as well as during our final exam period from 10:00-11:50am on April 27. ~~3. **A video trailer**. Finally, you'll be making a video trailer for your project, like the trailer for a movie, of length somewhere between 1 and 2 minutes. This should be like an advertisement for your project that gets people interested in learning more about it.~~ **EDIT: Removed on 2021-03-10** **Projects may be done individually or in two-person teams.** Teams of 3 or larger are not permitted. ## Timeline Putting together a project is a complex process with many moving parts. **Keeping forward momentum on the parts from now through April 20 is crucial.** To help you with this, we're breaking down each stage of the process into the following timeline. - **March 2:** Deadline for selection of topics. **You and your partner (if you have one) are expected to have decided on the topic by this date**. See below for more about topics and the selection process. - **March 2-5:** First project check-in. **By this time, you are expected to have chosen your topic, found sources, and have a plan for learning the material.** You'll be required to schedule a 10-15 meeting with me (Talbert) to discuss these items and any other questions you have. Before the meeting, you'll be required to send me a list of 3-5 sources you plan on using, along with a short summary of why each is relevant, accessible to you (i.e. it's not at too high of a level for you), and pros and cons of each source. See below for more information on sources. - **March 15-19:** Optional check-in meetings. **By this point, you are expected to have notes from your sources and an outline of the paper and presentation.** If you want to schedule a meeting with me (Talbert) to discuss any of this, slots will be available. - **March 26:** First draft of paper is due. - **March 29-April 2:** Feedback given on the first draft of the paper, and check-ins. Youll be getting feedback from me on your paper, and you'll be required to attend a 10-15 meeting with me to discuss that feedback as well as any questions you have about the rest of the project moving forward. - **April 9:** Second draft of paper due. - **April 12-16:** Feedback given on the second draft of your paper, and optional check-ins during which you can meet with me (Talbert) to discuss any aspect of the project you want. - ~~**April 15:** Trailers are due.~~ - **April 20, 22, and 27**: Project presentations. These dates are on the Class Calendar. ## Grading criteria Projects are marked **No Pass**, **Pass**, or **High Pass**. The criteria for **Pass** and **High Pass** are below; a **No Pass** is given if one or more of the criteria for **Pass** is not met. To earn a **Pass** mark: + The **paper** must: + Use a professional writing tool that uses proper mathematical notation, such as the ones you use for Problem Sets. **$\LaTeX$ is strongly recommended.** + Be between 5 and 8 pages in length when single-spaced with one-inch margins, not including the list of references. + Contain a list of references used in the paper. (The style of the reference list/bibliography is up to you; but please use a professionally acceptable style such as APA or Chicago.) + Be coherent, relevant to the topic, and possess a clear and logical structure. + Be virtually free of errors in English grammar, spelling, and punctuation. (Small numbers of honest typographical errors are tolerated; multiple instances of sentence fragments, misspelled words, etc. will not be.) + Demonstrate a sound grasp of the mathematics involved and explain it, and its value, clearly to the target audience. + Contain appropriate levels of mathematical content --- not too much, but also not too little. + Be written in a way that engages the interest of the readers. *(Put yourself in the readers' shoes. Will they feel bored or stupid reading your work? Will they care about your topic while reading your work? Will they want to know more when they're done?)* + The **presentation** must: + Be between 5 and 10 minutes in length. + Use a professional presentation tool such as PowerPoint, Google Slides, [reveal.js](https://revealjs.com/), or [$\LaTeX$ Beamer](https://www.overleaf.com/learn/latex/beamer). + Be well structured and coherent, with a logical structure to the slides and an easy-to-follow narrative. + Demonstrate a sound grasp of the mathematics involved, and explains the mathematics involved in a way that the target audience can easily understand. + **NOT** just recite from the paper or work through mathematical computations! + Contain appropriate levels of mathematical content --- not too much, but also not too little. (**EDIT: Trailer requirement removed on 2021-03-10**) To earn a **High Pass** mark, your work has to meet all of the specifications above, as well as several of the following: + The **paper:** + Is written with eloquence, a distinct voice, highly effective logical and narrative structure, and outstanding explanations of the mathematics. + Gives exceptional insight into the mathematics involved and presents the math in such a way that a reader in the core audience can understand it without any extra effort. Proofs are written clearly; computations are complete and clearly strutured and presented. + Not only shows a strong grasp of the mathematics but also a grasp of why it is important, and communicates this value clearly to the reader. + Makes connections between the topic at hand and other areas of mathematics (particularly the standard topics in MTh 350) or outside mathematics. + The **presentation:** + Is engaging and intellectually stimulating. (It should also be at least a little bit *fun*.) + Guides the audience through the ideas of the project with a strong and coherent narrative. + Does more than just summarize or recite from the paper, but presents it in a way that effectively utilizes oral and visual communication. + Demonstrates a strong grasp of the mathematical content and the ability to communicate it clearly to the target audience. (**EDIT: Trailer requirement removed on 2021-03-10**) You will have the opportunity at all points in the timeline to get feedback on your work in progress, so that if you are missing some key piece of earning a **Pass** mark, you'll know about it early enough to make changes. All marks are made using the professor's professional judgment based on the evidence provided by the work. :::warning **Additional requirements for Pass and High Pass** - A **High Pass** requires: - The topic must be formally claimed by **5:00pm Eastern time** on **Friday, March 5**. - The initial check-in meeting must be held, not just scheduled, by **5:00pm Eastern on Wednesday, March 10**. - The second check-in meeting must be held, not just scheduled, by **5:00pm Eastern on Friday, April 2**. - **All other deadlines must be met.** - A **Pass** requires: - The topic must be formally claimed by **5:00pm Eastern time** on **Friday, March 5**. - The initial check-in meeting must be held, not just scheduled, by **5:00pm Eastern on Wednesday, March 10**. - The second check-in meeting must be held, not just scheduled, by **5:00pm Eastern on Friday, April 2**. - All of the other deadlines **with one exception of your choice** must be met, and the one deadline that is not met cannot be exceeded by more than 24 hours. ::: Additionally, **no part of your project can violate the rules of academic honesty of the course or of GVSU**. Plagiarism and the like will be rigorously punished on this project. Please see the section on "Academic Honesty" below. Finally, please note: + As stated in [the grading table in the syllabus](https://hackmd.io/@rtalbert235/HyqkgcE0P#How-do-I-earn-a-grade-in-the-course), a **Pass** mark on the project is only required for course grades of B or A. If you are aiming for, or are content with, a grade of C, then you **do not** have to do the project. + A **Pass** mark on the project is *required* for a course grade of B or A. To earn a grade of A, you must earn **Pass** on both the Project and the Proof Portfolio and a **High Pass** on at least one of those. In other words a **High Pass** on the Project is not required for an A unless you do not earn a **High Pass** on the Proof Portfolio. ## Topics and how to select one The most important things to know about selecting the topic of your project are: - Once you select a topic, you **may not** change it. - Project topics are **first-come, first-served**. - Therefore it's important to do a little research on 2-3 potential topics that sound interesting, and **only go with the one that you like the most**. - **You should keep a list of 2-3 topics you'd be happy to work on** so you can have a backup in case someone chooses your favorite topic. Perhaps the worst thing that you can do is **procrastinate on researching topics, then picking one without researching it because the deadline for topic selection is soon.** In the past, when students have done this, they end up with topics that sound cool superficially, but which they end up hating because they didn't put in the effort to really learn about it; and it doesn't go well. ### Some suggested topics Below are some potential topics, grouped by general area. You can pick one of these, or come up with your own. I am happy to discuss any topic idea further with you. **Cryptography:** Cryptography is the study of communication in the presence of an adversary --- i.e. encrypting messages so that only the intended reader can read them. We've played with some cryptographic ideas in class, and there's a lot more to explore, most of which use one or more ideas from our class. You could pick any one of the following systems to write about: + Hill ciphers (These involve a combo of matrix multiplication and mod $n$ arithmetic) + The Vigenere cipher and how it was broken + RSA (Your textbook deals with this in Investigation 34) + The Diffie-Hellman protocol (not an encryption method but a way for two remote users to create a shared secret number) + Knapsack cipher (The very first public-key cipher) + Digital signature algorithms (also not an encryption technique but a way of "signing" a digital document so that only you could have signed it. There are several digital signature methods, each of which might be its own topic.) **The Euler $\varphi$ function and Euler's Theorem:** The Euler function, denoted $\varphi$ ("phi", pronounced "fee") is a function that takes in a natural number $n$ as input, and $\varphi(n)$ counts the number of natural numbers that are less than $n$ and relatively prime to $n$. (Example: $\varphi(6) = 2$.) The Euler function seems obscure but it plays an outsized role in mathematical applications. In particular *Euler's Theorem* uses this function to arrive at a fact about raising integers to a power mod $n$ that is used in many modern cryptosystems. **The Chinese Remainder Theorem:** This is a theorem about when it's possible to solve *systems of congruence equations*, like finding a single integer value of $x$ such that $$x \equiv 2 \pmod{5} \ \text{and} \ x \equiv 3 \pmod{7}$$ The answer here is any value of $x$ that is congruent to $17$ mod $35$. How did we get that? That's what the Chinese Remainder Theorem is about. **Polynomials:** One set of objects that we do algebra with, is *polynomials*. Like numbers or matrices, we can define addition and multiplication on polynomials and then do arithmetic and algebra with them --- in fact that's a large part of what high school Algebra 2 is about. In high school, we assume that the coefficients on polynomials are real numbers. But what if we allow the coefficients to be other kinds of objects (e.g. polynomials with coefficients from $\mathbb{Z}_6$)? A project in this area could look at: - Properties of the polynomial ring $R[x]$ (Investigation 11) - Divisibility in polynomial rings (Investigation 12) - Factorization of polynomials (Investigation 13) **Prime numbers:** Prime numbers are a rich source of some very deep mathematical ideas. A project on prime numbers could investigate: - The Prime Number Theorem - Mersenne Primes and the [Great Internet Mersenne Prime Search](https://www.mersenne.org/) (that we played with in Weekly Practice 2) - Pseudoprimes. A *pseudoprime* is a number that satisfies a property that is common to all prime numbers but which is not itself prime. For example if $p$ is a prime number then it turns out that $2^{p-1} - 1$ is divisible by $p$. (Example: $5$ divides $2^4 - 1$.) But if $a$ divides $2^{a-1} - 1$, it doesn't mean $a$ is prime. (Example: $a = 341$.) Pseudoprimes are rare and can be problematic for various reasons. **Integer factorization:** The Fundamental Theorem of Arithmetic tells us that every natural number bigger than 2 has a unique prime factorization, but it doesn't tell how to get that factorization or what the most efficient way of factoring is. In fact, factoring an integer is a very hard problem from a computational standpoint, and some clever and technical ways to do it efficiently have been a focus of mathematics research in recent years. **Check digit systems:** Have you ever wondered how a website knows whether you've entered in a valid credit card number when you go to buy something, or why the security code on your credit card is what it is? It has to do with algebra, especially through *permutations* and certain aspects of arithmetic mod $n$. You could do a project on this by completing Investigation 35 in the text. **Divisibility tricks:** There are some simple tricks for determining when an integer is divisible by a certain number. For exmaple if the integer is even, you know it's divisible by 2; if it ends in a 0 or 5 you know it's divisible by 5. You might also have heard of the trick that says if the sum of the digits of a number is divisible by 3, then the number itself is divisible by 3. Why does that last one work? Also, there are some more exotic tricks for finding divisibility by other numbers like 7, or 17, or 37. [This paper](http://www.dehn.wustl.edu/~blake/courses/WU-Ed6021-2011-Summer/handouts/Marc%20Renault%20-%20Stupid%20Divisibility%20Tricks.pdf) is a nice rundown of different tricks. Pick one (that isn't incredibly simple) and explain how/why it works. Or choose a method from this list: - Divisibility by 3 and 9 - Alternating sum of digits - Trim from the left or right **Groups:** The number systems we're working with in MTH 350 all have *two* operations. But what if you stripped things down and looked at systems that have just *one* operation? Things get simpler, but also a little harder to work with. The focus of MTH 450, the sequel to this course, focuses on these kinds of systems, known as **groups**. A project on groups could investigate: - Groups of symmetries (Investigation 19) - Basic theory of abstract groups (Investigation 20) **Semigroups and monoids:** If a *group* is a number system that has just one operation (see above), then we can strip the system down even farther and look at a **semigroup** (a system with one operation where the only requirement is associativity) and the related concept of a **monoid** (a semigroup whose operation has an identity element). Semigroups and monoids turn out to be highly useful in fields like computer science and linguistics. **Error detection and correction:** If you're texting with someone and they drop or misspell a letter accidentally, for example "Be there in a mibute", we humans know that the "b" in "mibute" was probably an "n". We *detect* and *correct* the error. Of course our phones know how to do this too, hence the concept of autocorrecting. How does this work? You can explore this idea and how algebra gives tools for doing it in [this textbook chapter](http://abstract.ups.edu/aata/algcodes.html). **Functional programming languages:** There is an emerging new breed of programming languages called *functional* languages that operate quite differently from more conventional ones like Python or C++. Functional languages do everything --- including `for` loops and the like --- with single-valued functions and recursion. Examples inlclude [Haskell](https://www.haskell.org/), [Scala](https://www.scala-lang.org/), and [ML](https://en.wikipedia.org/wiki/ML_(programming_language)). These tend to have deep roots in abstract algebra, using the concepts of algebraic structures to define data types and work with them. A project in this area could pick one of these languages, learning a little bit of it, and describing how it works and how it is connected to abstract algebra. **Computational complexity of integer operations:** *(This is mostly for Computer Science people, either CS majors or people interested in CSm because it requires knowledge of big-O notation or a willingness to learn about it.)* We've seen several computational methods in Investigations 1-4 such as the Euclidean Algorithm and the Sieve of Eratosthenes. How computationally efficient are these, in terms of **big-O time complexity**? For example, the Sieve of Eratosthenes method for finding all prime numbers less than or equal to $n$, turns out to be $\cal{O}(n \log (\log n))$ --- why? And what about some of the other algorithms we've seen? ## Sources You will need to pick and choose your sources carefully, as they will be the material you use to teach yourself the concepts of your project. The main rule of thumb you should abide by with sources is that **sources should be reputable, informative, and accessible**. You should avoid sources that might be too hard to understand (like graduate-level textbooks), don't have useful information in them (like a mostly theoretical treatment of a applied topic), or are sketchy (like some random person's MySpace page about prime numbers). Officially, the rules for sources on your project are: - Your project should use **at least 2-3 sources other than your textbook** and **they cannot all be websites**. Electronic textbooks like [this one](http://abstract.ups.edu/aata/algcodes.html) don't count as "websites". Wikipedia is a "website". If you're not sure if something qualifies as a "website", just ask. - **Each source other than your textbook needs to be approved by me** (Talbert). You can run a potential source by me at any time, but your first check-in during the week of March 2-5 will include a discussion of your sources. - **If you want to add a source after I approve your list, you will need to get approval first**. You are of course welcome to use whatever you want to help you understand your topic in an unofficial way --- YouTube, podcasts, blogs, journal articles, etc. But your "sources" are to be a relatively small number of reputable resources that constitute the main "text" that you use for your project. ## Academic Honesty The rules for academic honesty for the project will be the same as those used for Weekly Practices and Problem Sets: >On Weekly Practices and Problem Sets, your work must represent *your own understanding in your own words*. You may not use solutions, directly or indirectly, from any sources --- including other students, past students, online sources, or other textbooks. [Section 4.0 of the GVSU Student Code](https://www.gvsu.edu/cms4/asset/7B58A5E7-F4C2-114C-CCDA36F96BD2AF73/gvsu_student_code_fall_2020.pdf) spells out the university's definition of academic honesty: >Academic dishonesty is defined as actions or behaviors that misrepresent one’s contributions to or the results of any scholarly product submitted for credit, evaluation, or dissemination. This definition includes, but is not limited to, fabrication, falsification, cheating, and plagiarism. *Plagiarism* is defined as follows: >Plagiarism is defined as offering the work of someone else as one’s own. The language or ideas taken from another may range from isolated formulas, sentences, or paragraphs to entire articles copied from books, periodicals, speeches or the writings of other students. Again, your work must represent **your own understanding in your own words**. There may be some instances where you might present the work of another in your project, for example if you need to present a mathematical proof you are not expected to generate it from scratch. But there are other situations where you need to make the work your own --- simply changing the words in another person's explanation and then saying it's *your* explanation is likely to be academically dishonest. If you are unsure whether some portion of your paper, presentation, or trailer falls withint the bounds of academic honesty, **ask me**. Don't guess at it! Violations of academic honest on this project will be rigorously pursued. *At minimum*, students found guilty of academic dishonesty will receive a **No Pass** mark on the project which will effectively cap your base grade in the course at a "C". More severe instances of academic dishonesty could entail more severe penalties, including a grade of "F" in the course or dismissal from the university. ## Pro Tips + **Get started early** by researching some of the topic ideas given above and, if you want to work in a pair, finding someone to work with. + **Use the timeline to break up the project into phases.** For example, your goal for the phase including now through March 2 is to find a partner if desired and commit to a topic. Then your goal from then through March 5 is to do research and gather sources. + **Continue to break up the phases into small, digestible actions that can be done one at a time.** For example, from March 19 to March 26 you need to go from the outline of your paper to a first draft. This is not *one* thing to do, but several: *Write the first paragraph*; *write a draft of section 1*; and so on. **Break it into pieces and ask yourself "What is the next action?"** + **Do a little work on your project every day.** If you break the project into parts and then break those into small subparts, you should end up with tasks that are simple and small enough to complete in a small amount of time --- do the "next action" that needs to be done, on a daily basis. + **DO NOT PROCRASTINATE.** ## Credits This document was drawn up in collaboration with Dr. Lauren Keough, who teaches Section 02 of this course, and borrows from some earlier documentation when the course was taught by Dr. Jon Hodge.