CMSI 2820: Discrete Mathematics for Computer Science
Loyola Marymount University | Fall 2025
Course Information
Instructor: Professor Julian Gonzalez
Office: Foley Annex 139
Email: Julian.Gonzalez@lmu.edu
Office Hours: Monday & Wednesday, 2:00 PM - 5:00 PM
Prerequisites: CMSI 1010 or ENGR 160 or ENGR 1200
Sections:
Section 1: Pereira 207, 9:55 AM – 11:35 AM
Section 2: Pereira 207, 6:00 PM – 7:40 PM
Email is the preferred contact method. If my office door is open, feel free to stop by.
Course Description
This 4-unit course combines discrete mathematics theory with practical application in Python. Topics include Intuitionistic Propositional and Predicate Logic, Number Theory, Type Theory, Combinatorics, Graph Theory, Set Theory, and other concepts relevant to the Discrete Foundations of Computer Science.
This course meets in person in a synchronous, lecture-based format. Recordings of all lectures will be uploaded to the course site for asynchronous access, typically after class. You are encouraged to ask questions at any time during lectures.
Coursework consists of written and programming assignments, as well as optional creative projects and optional midterm and final assessments for additional credit. Collaboration is encouraged, but all submitted work must be your own original work. If you work with others or use outside sources, cite them appropriately so I can accurately assess each student's understanding.
This 4-unit course requires a minimum of 12 hours of work per week, in accordance with University policy. I encourage students to work consistently in manageable segments ("chiseling") to avoid last-minute stress. Homework assignments include checkpoints to help track progress and reinforce understanding.
Learning Outcomes
This course aims to provide a rigorous foundation in the mathematics underlying Computer Science. Many of the common problems you will solve and need to represent both conceptually and in code have distinct patterns. While the course may not cover all topics in depth, you will develop the following core competencies:
- Understand the fundamentals of Intuitionistic Logic, including differences from Classical Logic, and its applications in propositional and predicative reasoning, higher-order extensions, and its relationship to Type Theory.
- Explore Boolean numbers and their role in computer logic, Venn diagrams, natural numbers, algebraic properties of operations (commutativity, associativity), and arithmetic operations such as modular arithmetic and integer division.
- Examine fundamental collection types, including sets and tuples, their operations (union, intersection, powerset, Cartesian product), and the representation of relationships through set membership.
- Study functions in the context of the Lambda Calculus and typed lambda calculus, including their reductions (Alpha, Beta, Gamma) and comparison to set-theoretic functions.
- Investigate combinatorics, including combinations, permutations, factorial algebra, tetration, the pigeonhole principle, and inductive proof techniques.
- Develop a strong understanding of graph theory, covering simple and directed graphs, trees, paths, cycles, connectivity, and graph isomorphisms, and apply these concepts to solve complex problems such as the traveling salesman problem and minimum spanning trees.
- Recognize how previous concepts are reinterpreted through Set Theory versus Type Theory.
- Apply Python to analyze, solve, and engage with discrete mathematics problems and algorithmic techniques.
Required Materials
This course does not require students to purchase textbooks, subscriptions, paid web tools, or lab fees. You will need:
- A laptop/desktop with unrestricted terminal access
- Python 3 and an IDE (e.g., VSCode)
- Reliable internet access
All reading materials, including textbooks, articles, videos, and other media, will be available on the course site.
Grading & Standards-Based System
This course uses a standards-based grading system. Grades are earned additively rather than averaged. You can recover points later if needed, ensuring early struggles do not lock in a lower grade.
CMSI 2820: Discrete Mathematics for CS
T: 480
Syllabus
00HW 0
P: 3
EX S0
P: 2
Logic
T: 80
HW 1
P: 100
Numbers
T: 80
HW 2
P: 100
OHW 1
P: 20
Collections
T: 80
HW 3
P: 100
OHW 2
P: 20
Midterm
OEX S1
P: 10
OEX S2
P: 10
OEX S3
P: 10
Functions
T: 80
HW 4
P: 100
OHW 3
P: 20
Combinatorics
T: 80
HW 5
P: 100
OHW 4
P: 20
Graph Theory
T: 80
HW 6
P: 100
OHW 5
P: 20
Final
OHW 6
P: 20
OEX S4
P: 10
OEX S5
P: 10
OEX S6
P: 10
Course Structure
The course is divided into six standards (modules), each worth 80 points (total: 480). Assignments are organized as follows:
| Standard | Assignments | Points |
|---|---|---|
| Syllabus | HW0 (3 pts), EX S0 (2 pts) | 5 (bonus) |
| Logic | HW1 (100 pts) | 80 needed |
| Numbers | HW2 (100 pts), OHW1 (20 pts) | 80 needed |
| Collections | HW3 (100 pts), OHW2 (20 pts) | 80 needed |
| Functions | HW4 (100 pts), OHW3 (20 pts) | 80 needed |
| Combinatorics | HW5 (100 pts), OHW4 (20 pts) | 80 needed |
| Graph Theory | HW6 (100 pts), OHW5 (20 pts) | 80 needed |
Optional exams (Midterm, Final) provide additional opportunities to recover points in earlier standards.
Assignments & Policies
Homework
Each standard has a primary homework (HW) and an optional homework (OHW) targeting the previous standard. Homeworks are broken down into two major areas: written and programming. The written portion will consist of theoretical problems that are best solved on paper. The programming portion will be distributed as a Python skeleton that must be completed to pass a series of unit tests that require applying our theory into practice. All homework, optional or otherwise, is due on Fridays.
Unexcused Extensions
Automatic, unexcused extensions are available: turning in one portion of the Homework (written or programming) on Saturday results in a 5pt deduction. Turning in a portion on Sunday gives you the previous 5-point penalty and an additional 10-point deduction. Submitting a portion after Sunday without an excuse results in the loss of all points.
Excused Extensions
Medical or personal emergencies can receive additional extensions with email communication requesting it.
Exams
The Midterm and Final are optional. They provide focused opportunities to boost scores in prior standards. If you have reached the point total required to pass a standard (80pts), then they are optional.
Submission
Assignments and exams are submitted through Brightspace. Grades and private materials will be posted there as well.
Student Responsibilities
This section summarizes the University rules that relate to this course and our in-person classroom environment.
Academic Honesty Policy
"Loyola Marymount University is a community dedicated to academic excellence. Academic honesty in scholarship and creative work stands at the center of LMU's academic life, and is essential for true learning and creation of knowledge to take place. As a university in the Jesuit and Marymount traditions, this community expects its members to act in accordance with the highest standards of honesty and ethics at all times. Violations of academic honesty undermine the fundamental educational mission of the University and cannot be tolerated. Students are responsible for understanding the standards of academic honesty and determining how they apply to their academic work and behavior."
Academic Honesty Policy Website →Disability Support Services
"The mission of the Disability Support Services (DSS) Office at LMU is to provide equal access and opportunities for students with established disabilities. We are committed to promoting and celebrating the diversity of our students, staff, and faculty and work to eliminate systemic barriers, address individual bias, and maintain a respectful and equitable working environment."
Disability Support Services Website →LMU Expectation for Classroom Behavior
"Disruptive behavior which is persistent or significantly interferes with classroom activities may be subject to disciplinary action. A student may be referred to the Office of Student Conduct and Community Responsibility if their behavior constitutes a violation of the conduct code."
OSCCR Website →Reporting of Sexual or Interpersonal Misconduct
"Loyola Marymount University ("LMU") recognizes the significant, unacceptable and nationwide existence of Sexual and Interpersonal Misconduct on college campuses. LMU is dedicated to the prevention of such misconduct and to providing a caring, supportive and effective response when such misconduct occurs."
Misconduct Reporting Information →Communication Expectations
Official communication must occur through LMU-approved channels (student email, Department Teams/Slack, or letters on official LMU letterhead). Students are responsible for regularly checking their LMU email. Other official channels may be audited in cases of misconduct.
Emergency Preparedness
"Building a more resilient LMU is a shared responsibility among all students, faculty, and staff. Emergency Management serves as an all-encompassing tool for campus emergency information, disaster readiness events at LMU, and tips on how to prepare for and respond to various emergencies."
Emergency Preparedness Website →Student Services
As a student at LMU you have access to many services that you may not be aware of! I have linked as many as I can think of here to provide you with an easy way to find these services. You'll also find a small paragraph of the mission statement from each of these services.
(COC) Community of Care
"The mission of the Loyola Marymount University Community of Care (COC) — a collaborative case-management program — is to enhance community safety and student well-being. The Community of Care provides prevention, assessment, and intervention for and with students as they navigate the challenges that stand in their way of academic and personal success."
Learn More →LION Connect
"LionConnect is a comprehensive portal designed to empower students to take control of their academic journey to achieve their goals. By offering a personalized dashboard, seamless scheduling, and direct access to dedicated support staff, LionConnect enhances communication and collaboration between students and the Web of Support staff. This innovative approach leverages technology and real-time data to provide personalized and timely interventions, ensuring students receive the support they need to succeed."
Learn More →(EIS) Ethnic and Intercultural Services
"The mission of the department of Ethnic and Intercultural Services (EIS) is to support the intercultural learning and development of students, specifically those from historically underrepresented backgrounds at LMU. This area has played a central role to support the personal and academic success of students through programs and services focused on identity development, community building, and advocacy."
Learn More →Center for Student Collegiate Recovery
"Loyola Marymount University's Center for Student Collegiate Recovery, located on the first floor of Malone (Malone 113), provides a comfortable space and supportive community for students in recovery or seeking to create and sustain improvements in their wellness. Students will be empowered to take individual responsibility for their own health and well-being while belonging to a community of support."
Learn More →(OISS) Office for International Students and Scholars
"The Office for International Students and Scholars (OISS) serves as a resource to the University by ensuring regulatory compliance. OISS provides programs and services that support international students' and scholars' social, educational and professional success, thereby, creating an engaged global community."
Learn More →(OSCCR) Office of Student Conduct and Community Responsibility
"Loyola Marymount University's Office of Student Conduct & Community Responsibility (OSCCR) is committed to fostering an environment conducive to the pursuit of knowledge. Such an environment is based upon respect, trust, integrity and accountability. Through education and by upholding community standards detailed in the Student Conduct Code, OSCCR holds LMU students accountable for their violations and helps them grow into more responsible and community-minded persons."
Learn More →(CSA) Pam Rector Center for Service and Action
"The Pam Rector Center for Service and Action at LMU offers students and graduates a range of opportunities to volunteer their time serving those disadvantaged or oppressed. Service opportunities are available on campus, locally in the Los Angeles area, and abroad through dedicated service groups or special events."
Learn More →(SES) Student Employment Services
"Student Employment Services (SES) at LMU provides part-time employment opportunities, workshops, and services to further students' professional development and post-graduate success. More than 3,400 LMU students work in more than 5,300 positions across campus."
Learn More →(SHS) Student Health Services
"Student Health Services (SHS) remains committed to the health and safety of our campus community. We are a full-service medical office that is accredited by the Accreditation Association for Ambulatory Health Care (AAAHC). Our health care team includes physicians, nurse practitioners, registered nurses, and trained support staff."
Learn More →(SPS) Student Psychological Services
"Student Psychological Services is committed to facilitating student growth and development of the whole person by providing high quality, confidential psychological services that is social justice oriented, ethical and culturally informed, to ensure the inclusivity and safety for students."
Learn More →(ARC) Academic Resource Center
"The Academic Resource Center (ARC) provides Course Tutoring, Writing Tutoring, and Academic Coaching. Our services are designed as a complement to the curriculum with the intentions of fostering academic success."
Learn More →(ITS) Information Technology Services
"ITS enables technologically-rich learning environments, provides effective teaching and scholarship resources and maintains reliable, accessible, and integrated information systems. Information Technology Services (ITS) provides management and services in support of the University's information technology resources."
Learn More →(FERPA) Family Education Rights and Privacy Act
"FERPA stands for the Family Education Rights and Privacy Act of 1974. This law protects the privacy of student education records from kindergarten through graduate school. FERPA applies to all schools that receive funds through an applicable program of the U.S. Department of Education."
Learn More →(ASLMU) Associated Students of LMU
"ASLMU, in keeping with the Jesuit and Marymount tradition, empowers the voice of the students and actively promotes a vibrant campus life. Driven by integrity, we devote ourselves to being persons for and with others."
Learn More →Professor Julian Gonzalez (ME)
This one, surprisingly, is not an acronym! It's literally referring to me, Professor Julian Gonzalez. If this is overwhelming and you are unsure where to go or what to do, you can talk to me personally as a guide through your resources! Feel free to email me to make a private appointment with me in my office for a private space to discuss your thoughts.
However, these services are not free (you are paying for them after all!). You keep access to these services by maintaining and upholding the Lion Code, which can be found below.
Lion Code
"I am a Lion. Courageous of mind, charitable of heart, I stand in faith. I will own the actions of my mind, hand, and heart, and build the community that sustains us. The respect and support that nurtures me is born of my respect for others. The dignity of the other, the stranger, grants me dignity. The expectations of my community are my own, and I will discover how I may be more fully alive. I will join the discourse of the academy with honesty of voice and integrity of scholarship. Respecting peers, professionals, professors, and students, I will embrace the diverse perspectives, arts, and sciences to discover what it means to be human. I will shelter and support the intellectual adventures of others. In this tradition, within my community, a part of this academy, I stand in faith, prepared to learn to be one for others, ready to take up responsibility in the world."
Lion Code Website →Golden Rule: "Don't Disturb the Learning of Others."
Frequently Asked Questions
What if I miss the exam due date?▼
Unlike the assignments, which have an optional unexcused extension you can take for a point-loss, if you miss the due date for an exam that's just it. I made the exams purposefully straightforward and non-time consuming to avoid any scheduling issues.
Due to the University handling the assignment of Finals during the last week of the semester, does that change how exams are administered?▼
No, they will still be over Brightspace digitally to be taken anytime during the week, like the midterm. However, since I am required to be in those assigned rooms for 2 hours I will provide them as an open study days for help during finals week.
Are AI tools allowed in your course?▼
Yes! I'd rather you know the appropriate use of a tool rather than trying to use it behind my back to disastrous results. What you shouldn't try to do is make it do all your HW. It is tempting, but I already know that AI tools perform poorly on our course material. However, AI tools are great at the comprehension of the topics! So don't ask ChatGPT to do the problem, ask it for ideas on what to do instead!
Is participation mandatory?▼
Nope. If you are the type of learner that performs better just listening quietly feel free to do so! However, don't ever be afraid to ask questions! We are covering hard material (Because I adapted course materials from graduate level work from many colleges like Cornell, Carnegie Mellon, Stanford, and others) so don't just "bask", ask!
Are the workload expectations the same as in other courses?▼
Great question! I actually want to encourage "less" work by getting you all to work sooner in small chunks. Think about my grading system, if you do well on the homework by chiseling away at it early, you will avoid more than half of all the assignments and still get an A! So it might feel like the workload is higher, but really I just want it more often and for less time.
Am I allowed to have my computer/phone out and open during class?▼
Yes. I'll be honest, the old system of keeping your tech out of sight so that I can monopolize your attention is pretty draconian (Old and reminiscent of Vampires). If a message that YOU think is important comes up and you feel you need to answer it, go ahead, just don't disrupt others is all. Also this is a computer science course, bit odd to have a policy against tech right?
Can I eat in class?▼
This is a bit of a loaded question. My big rule is not to disrupt anyone. If you can eat it without bothering those in your immediate area, then you are good to go. Foods that emit an "area of effect" so to speak are not allowed as they may be disruptive to others. I also retain the ability to stop anyone from eating at any time for the purposes of class activities or enforcing other university policies.
Can I ask for extra-credit?▼
While it may seem harsh, no. The course is made to provide all the opportunity necessary to succeed up front. If by the very end there is a serious issue we will work on it together, but if you are sitting at a B+ right on the edge of an A-, I will not invent work to boost your grade as it would be unfair to other students.
Am I required to show up to class?▼
No, you are all adult enough by now to make that decision for yourself. I'd highly recommend showing up because I constructed this class to center around the in-person experience. But I will not be docking your grade if you do not attend. The only detriment you will receive is from the awkwardness that arises from missing material.
This list is subject to expand.
This syllabus is tentative and subject to change. Updates will be communicated promptly via email.