Loyola Marymount University
Note
Much of the content in this syllabus is taken directly or adapted from the syllabus of the same course taught by Dr. Andrew Forney available at forns.lmu.build.
Instructor: Jared Coleman
Email: jared.coleman@lmu.edu
Office: DOO-212
Office Hours: Tu/Th 2:00-3:30 PM
Zoom: https://lmula.zoom.us/my/jaredcoleman
Lecture Time:
- Section 01: Tu/Th 8:00-9:40 AM
- Section 02: Tu/Th 3:40-5:20 PM
Lecture Location:
- Section 01: PER-207
- Section 02: SEA 100
Semester: Fall 2025
Course Description
In CMSI 2130 (Algorithms), we will learn new techniques for applying the tools you learned about in CMSI 2120 (Data Structures) to solve different types of problems. In doing so, you will develop a deeper understanding of the trade-offs between different algorithms and data structures, and how to choose the right one(s) for a given problem.
Learning Objectives
By the end of this course, students will have gained:
- An understanding of programming paradigms, including: search, heuristic design, memoization, pruning, dynamic programming, greedy algorithms, backtracking, constraint propagation, hill-climbing, and genetic algorithms.
- The ability to apply your knowledge of appropriate data structures and algorithms to solve problems in a variety of domains.
- An intuition for the time and space complexities of algorithms.
- An understanding of the some modern topics in artificial intelligence, game theory, computational mathematics, compression, cryptography, and optimization.
- Exposure to technical interview topics to prepare yourself for internships and beyond.
- Experience with time-management, GitHub repository mechanics, clean programming style, and documentation.
Unlike previous courses (e.g., CMSI 1010 and CMSI 2120), there will be no in-class code-along. Class lectures and group classwork assignments will focus on conceptual understanding and problem-solving strategies. Homework assignments will require you to translate your conceptual understanding into code.
Textbooks and Materials
We will be “using” one optional textbook for the course, which covers the lecture material in greater depth: Introduction to Algorithms by Cormen, et al.
Although the text is not mandatory for the course, it contains all of the concepts that we will be covering during the lectures in great detail. I will provide abbreviated course notes for our lectures through Brightspace. Resources will be provided throughout the course detailing any additional topics that are not sufficiently contained in the above text.
Lecture Attendance
- Not mandatory to attend: lecture attendance is strongly advised. Some lecture content may not be summarized in the course notes, like questions asked by peers, classwork exercises, and hints for homework and exams.
- No need to inform me of missed lecture: I’ll just assume you’ll be making things up by reading online / asking friends.
- Lectures are participatory: come prepared to ask and answer questions to make the most out of your education!
- Laptops discouraged: take notes by hand and summarize the important points — don’t copy verbatim.
Work Load Expectations
At LMU, every unit you are enrolled in is considered 3 hours of weekly effort.
Warning
Since this is a 4-unit class, you should expect to spend 12 hours per week on this course.
This includes time spent in lecture, time spent on homework, and time spent studying for exams. Thus, you should expect to spend an average of 9 hours per week outside of lecture on this course. I recommend keeping track of how much time you spend on this course each week to ensure you are meeting this expectation!
Finding Help for the Course
LMU CMSI has a ton of resources and people who are thrilled to help you succeed! See the following opportunities and avenues for getting help in this class’ material.
-
Slack Messaging: Download Slack (slack.com) and join the LMU CS workspace (lmucs.slack.com). Feel free to send questions any time of day and I will respond when I can. If I don't respond within 24 hours, please follow up with a reminder message!
-
Office Hours: I have both in-person and Zoom office hours each week (see top of syllabus for details).
-
Teaching Assistants (TAs): Teaching Assistants (TAs) are student employees who are on-staff during certain hours to help you review material, debug code, and answer questions about the class! Weekly, TA-led recitation sections will be available for reviewing the previous week’s material. See schedule for weekly recitation meetings held in the Doolan Keck Lab Annex. This schedule is subject to change and may fluctuate with weekly TA availability. Check the tutoring channel on the LMUCS Slack for the latest updates to the TA schedules!
Warning
Remember that the TAs are students too and have busy schedules. Please refrain from messaging them outside of their scheduled hours. Do not ask TAs to do your work or debugging for you — they’ve been explicitly told not to do so.
I recommend going to the Keck Lab to work on assignments during TA office hours. Try to do so well in advance of deadlines!
Tentative Schedule of Topics
The following is a tentative schedule for topics to be covered in the course and is subject to change. For each topic, the relevant chapter of the textbook is also given, however, you are only required to understand the sections of each chapter that correlate with the material in the course notes. Homework assignments are not scheduled here and will instead be announced in class and posted on Brightspace. Check Brightspace regularly for the most up-to-date information on assignments and due dates.
Assignments and Grading
-
Classwork [15%]: Small classwork assignments will be given roughly every 2 weeks with some in-class time allocated for their completion. Though you will have the opportunity to finish these in groups and with my assistance during class, you are not required to attend lectures, and so may submit these electronically by their listed due dates. Your lowest classwork grade will be dropped (even if you skipped it entirely).
-
Homework [40%]: Larger assignments with heavy coding required. Programming style and comments are graded as well. All homework assignments are weighted equally. Expect roughly 5 assignments in total.
-
PostCommit Quizzes [10%]: PostCommit is an app developed in LMU CMSI that uses AI to help you prepare for technical interviews by answering plain-English questions about your own assignment submissions.
- Enroll after accepting your first GitHub Classroom assignment by completing registration at PostCommit Student Enrollment.
- Complete each assignment by its deadline. Important: For group assignments, you must join your group via GitHub Classroom.
- Take the quiz: For most programming assignments, a customized quiz will probe your understanding of the code you committed. You will answer in plain English, similar to a technical interview. To participate, you must (1) be present in class when the quiz is offered (scheduled after the assignment deadline, TBA in class), (2) bring your own laptop or lease one from the department/ITS, and (3) take the quiz on your device.
- Grading and feedback: This component is participation-only. Your score does not depend on quiz performance. However, each question you “master” earns one raffle ticket1 toward several Amazon gift cards awarded at semester’s end. After the class completes the quiz, individualized feedback will be available in the app regarding the quality and depth of your responses, along with interview preparation advice.
-
Exams [35%]: There will be 2 exams (a midterm and final). Your best exam score will be worth 2/3 of the exam grade and your worse score will be worth the remaining 1/3. For example, if your 2 exam scores were 60 and 90, then your weighted exam score for the course will be 80.0 (= 60×(1/3) + 90×(2/3)).
Grading Scale
You are guaranteed the following grade based on your percentage score in the course:
| Percentage | Grade |
|---|---|
| [93, 100] | A |
| [90, 93) | A− |
| [87, 90) | B+ |
| [83, 87) | B |
| [80, 83) | B− |
| [77, 80) | C+ |
| [73, 77) | C |
| [70, 73) | C− |
| [65, 70) | D |
| [0, 65) | F |
I will round up your final grade to the nearest half-point. For example, an 89.5 will be rounded up to a 90.0 (A-) but an 89.49 will be rounded down to an 89.0 (B+). Take advantage of every assignment and extra credit opportunity to maximize your grade!
Late Work Policy
Warning
All assignments are due at exactly the time indicated by the method specified.
Assignments not turned in by the deadline will receive a 0. Extensions may be granted only under exceptional circumstances and on a case-by-case basis. Start assignments early and ask for help when you need it to avoid late submissions!
Academic Integrity
Students are encouraged to talk and think about problems in groups, but each submission should be their own, containing no code that has been copy-pasted from another student. No matter who you got help from, by the time you submit your assignment you should be able to explain every line of code in your submission! We take plagiarism very seriously, and each submission will be run through a similarity-checking tool. We are very methodical about reporting academic honesty violations and do not hesitate to escalate any suspected cases through official university channels.
Danger
All forms of plagiarism will result in severe disciplinary action.
The following are examples (not a comprehensive list!) of unacceptable behavior in this course:
- Copying non-trivial amounts of code from ANY other source into an assignment (excluding small things from StackOverflow like how to use Python list comprehension to simplify some code). This includes code found on the internet or through the use of a generative AI model like ChatGPT.
- Copying code from another student’s submission.
- Copying another group’s solutions on a classwork exercise.
- Re-using or copying work or solution sets from a previous semester, even if it is your own work from when you previously took the course.
If you plan to copy anything from the internet, ask first!
University Policy Statement on Academic Honesty
Loyola Marymount University is a community dedicated to academic excellence, student-centered education, and the Jesuit and Marymount traditions. As such, the University expects all members of its community to act with honesty and integrity at all times, especially in their academic work. Academic honesty requires that all members of the LMU community act with integrity, respect their own intellectual and creative work as well as that of others, acknowledge sources consistently and completely, act honestly during exams and on assignments, and report results accurately. As an LMU Lion, by the Lion’s Code, you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship.
Academic dishonesty will be treated as an extremely serious matter, with serious consequences that can range from receiving no credit for assignments/tests to expulsion. It is never permissible to turn in any work that has been copied from another student or copied from a source (including Internet) without properly acknowledging/citing the source. It is never permissible to work on an assignment, exam, quiz or any project with another person unless your instructor has indicated so in the written instructions/guidelines. It is your responsibility to make sure that your work meets the standard of academic honesty set forth in the “Academic Honesty Policy” found at: https://academics.lmu.edu/honesty/.
Tentative Nature of the Syllabus
This syllabus and its contents are subject to revision; students are responsible for any changes or modifications announced or distributed in class or posted on Brightspace.
University Resources
Expectations for Classroom Behavior
Students are encouraged to engage respectfully with each other. There are several documents describing expectations for student conduct and behavior at LMU. Please review the documents listed below.
- The Lion’s Code can be found here: https://studentaffairs.lmu.edu/about/osccr/studentcodespolicies/
- Additional guidelines on LMU Student Classroom and Course-Related Behavior can be found here: https://lmu.box.com/s/v2x89uspgbx3l23egcz7mjd6dbekcn60
- Students are required to adhere to the behavior standards listed in the Loyola Marymount University Community Standards and to refrain from disrupting classes and other academic settings. Details on the LMU Community Standards process can be found here: https://studentaffairs.lmu.edu/about/studentaffairsdeansoffice/lionscode/communitystandardsprocess/
Respect for self and others: As an LMU Lion, by the Lion’s Code, you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship and to show respect for staff, professors, and other students.
Computer Science Department - Student Guide
Visit https://sites.google.com/view/lmucs for resources and guides to help you succeed in your computer science courses.
Academic Degree Requirements and Policies
Visit https://bulletin.lmu.edu/academic-degree-requirements-policies/ page for more detailed information on academic policies and requirements.
Disability Support Services (DSS) Accommodations
The DSS Office offers resources to enable students with physical, learning, ADD/ADHD, psychiatric disabilities and those on the autism spectrum to achieve maximum independence while pursuing their educational goals. Staff specialists interact with all areas of the University to eliminate physical and attitudinal barriers. Students must provide documentation for their disability from an appropriate licensed professional. Services are offered to students who have established disabilities under state and federal laws. We also advise students, faculty and staff regarding disability issues.
Students who need reasonable modifications, special assistance, academic accommodations or housing accommodations should direct their request to the DSS Office as soon as possible. All discussions will remain confidential. The DSS Office is located on the 2nd floor of Daum Hall and may be reached by email at dsslmu@lmu.edu or phone at (310) 338-4216. Please visit http://www.lmu.edu/dss for additional information.
Academic Resource Center
The Academic Resource Center provides writing support and peer tutoring in a variety of subjects. Be sure to make tutoring a part of your academic experience when you want feedback on a writing project or help understanding course concepts and preparing for exams. To make an appointment with a tutor, follow the “Writing & Course Tutoring” link in myLMU. Visit https://academics.lmu.edu/arc/ for more information.
Emergency Preparedness Information
To report an emergency or suspicious activity, contact the LMU Department of Public Safety by phone (x222 or 310-338-2893) or at the nearest emergency call box. In the event of an evacuation, follow the evacuation signage throughout the building to the designated safe refuge area where you will receive further instruction from Public Safety or a Building Captain. For more safety information and preparedness tips, visit http://www.lmu.edu/emergency
Public Safety can be reached 24 hours a day/7 days a week/365 days a year at 310.338.2893 (or x222 from a campus phone). In a life-threatening emergency, call 9-1-1 first and then call Public Safety if possible. To report an incident, call Public Safety, submit an e-report on the Public Safety website or via the Rave Guardian mobile app, or visit Public Safety in Foley Annex. Review evacuation information and other safety tips posted in each learning space. Make sure you are registered to receive emergency alerts — confirm your contact info at lmu.edu/alert, and download Rave Guardian in the Apple or Google Play store. For more information and emergency preparedness tips, visit https://publicsafety.lmu.edu. For information and updates on COVID please see: https://www.lmu.edu/together/.
Community of Care
LMU provides a collaborative case-management program to enhance community safety and support student well-being. This program provides support for prevention, assessment, and intervention as needed to assist students with navigating personal and academic challenges. Faculty can make a community of care referral for students. To learn more about their services, visit: https://studentaffairs.lmu.edu/wellness/coc/learnmoreaboutus/.
Footnotes
-
If you elect to participate in the PostCommit research component; see email sent to your Lion mail for details. ↩