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:
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.
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:
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.
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.
These dates are on the Class Calendar.
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:
(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:
(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.
Additional requirements for Pass and High Pass
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:
The most important things to know about selecting the topic of your project are:
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.
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:
The Euler function and Euler's Theorem: The Euler function, denoted ("phi", pronounced "fee") is a function that takes in a natural number as input, and counts the number of natural numbers that are less than and relatively prime to . (Example: .) 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 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 such that
The answer here is any value of that is congruent to mod . 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 )? A project in this area could look at:
Prime numbers: Prime numbers are a rich source of some very deep mathematical ideas. A project on prime numbers could investigate:
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 . 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 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:
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:
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.
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, Scala, and ML. 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 , turns out to be –- why? And what about some of the other algorithms we've seen?
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:
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.
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 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.
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.