For at least 40 years, there has been debate and disagreement as to the role of mathematics in the computer science curriculum. This article presents the results of an analysis of the math requirements of 199 computer science (CS) BS/BA degrees from 158 universities, looking not only at which math classes are required, but at how they are used as prerequisites (and corequisites) for CS courses. Our motivation stems from three observations. First, in prior work on degree complexity,^{28} we observed that, in the 60 schools analyzed, mathematics (particularly calculus) represented a barrier to student progression in the CS sequence. Second, as part of the Center for Inclusive Computing’s (CIC)^{a} work, we performed all-day site visits at the CS departments of 54 universities and observed significant variation in both the number and placement of required math courses. Third, at Florida International University (FIU), we observed firsthand that a BA in CS, with fewer math requirements than the BS in CS, increased student retention, diversity, and demand for computer science.

The goals of this analysis are to determine:

If the variability in the requirements and placement

^{b}of math classes we observed held for a larger sample of universities.If there are differences in the number of math classes for ABET-accredited

^{c}versus non-ABET accredited CS programs and for BA versus BS CS degrees.Commonalities across institutions as to what math is required to be a successful computer scientist.

This article presents our methodology, results, and guidelines published by ABET^{3} and the Association for Computing Machinery (ACM),^{27} and offers several recommendations for CS departments to consider.

## Key Insights

- We observed substantial variability in what departments view as the math required to be a successful computer scientist and in the placement of the required math classes.
- Indeed, there is no consensus on the placement of discrete math and calculus as pre- or corequisites in the CS introductory sequence, or whether calculus 1 needs to be a prerequisite for discrete math at all.
- We recommend that neither calculus nor discrete math be a prerequisite for CS1 or CS2, and more generally that a math class should only be a prerequisite to a particular CS class if the content of the math course is required to understand the content of that CS course.

## Methodology

We started with all U.S. post-secondary bachelor degree-granting institutions that graduated 150 or more students in CIP^{d} code 11 for academic year 2021 as reported in the Integrated Postsecondary Education Data System (IPEDS).^{34} This led to an initial sample size of 179 distinct universities. We opted to select schools with the largest numbers of graduates to analyze the requirements impacting the majority of students studying CS in the U.S. For example, if we look at CIP codes 11.0101 and 11.0701 alone—the two CIP “sub” codes that most commonly contain CS degrees^{39}—our sample size captures 60% of all undergraduates earning a CS degree in 2021.

We removed degrees/schools from the sample if the CS major requirements are not publicly available, the degree is interdisciplinary (for example, Business or CS+X), and/or the institution is a religious institution with more than 15 credits for religion coursework.^{e} The resulting sample contained 199 degrees from 158 universities spanning 39 states plus the District of Columbia and including four online universities. The state with the most representation was California with 28 degrees. Of the 158 institutions, 47 are members of the American Association of Universities.^{1} Further statistics of interest are: the sample contained 80% BS and 20% BA degrees, there was an almost even split between degrees offered by CS departments in and out of engineering (100 and 99 degrees respectively),^{f} 83 of the programs are CAC ABET-accredited,^{3} and 65 of the degrees are from the 55 minority-serving institutions (MSIs) included in the sample.

For each degree, we recorded all math requirements using publicly available degree requirements and plans of study. In our analysis, we made the following design decisions:

For 26 degrees, discrete math is split over two classes; we counted these as a single class because it did not change the results (for example, if calculus 1 was required for “discrete 1” then it is clearly also a prerequisite of “discrete 2”). Of the 24 degrees with two discrete math classes, six were on the quarter system.

For each degree, we defined core CS classes as those that all CS majors must complete.

We analyzed the math requirements only for core CS classes because our focus is on the impact of math requirements on all CS majors at an institution. Higher-level math courses may be needed for some elective CS classes, but a student can choose to avoid those classes.

We counted classes labeled as “Data Structures & Algorithms” twice: once as data structures and once as algorithms. Schools differ in whether this material is taught over one or two classes because if “Data Structures & Algorithms” has a math pre- or corequisite, then the math class is blocking the student from both topics.

## Results

In Table 1, we report the total number of degrees that require each of the six most prevalent math courses. For example, we see that 191 of the 199 degrees require calculus 1. Indeed, we see that calculus 1 and discrete math are required by almost all programs. Calculus 3 is required by only 43 programs, the majority of which are in CS departments housed in a college of engineering and are ABET-accredited. Note that some programs require a math elective and often calculus 3 is on the list of possible electives.^{g}

Course | Degrees | Percentage |
---|---|---|

Calculus 1 | 191 | 96.0% |

Calculus 2 | 152 | 76.4% |

Discrete | 198 | 99.5% |

Probability/Statistics | 140 | 70.4% |

Linear Algebra | 116 | 58.3% |

Calculus 3 | 43 | 21.6% |

Tables 2, 3, and 4 show the pre- and corequisite math classes for core CS classes. For example, we see in Table 3 that calculus 1 is required before discrete math in 64 of the degrees and as a corequisite in nine degrees. We chose to present the detailed data for calculus 1, calculus 2, and discrete math, as these are the three most frequently required math classes and also have the most impact on a student’s progression through a program. More than one core CS class might explicitly list a math class as a prerequisite (for example a program might explicitly list discrete math as a prerequisite for algorithms and for computer organization because students can take algorithms and computer organization in any order, but each can only be taken *after* a student completes discrete math). Note that some courses have a math class as a “transitive prerequisite,” but these are not listed in the tables (for example, if discrete math is a prerequisite for data structures, and data structures is a prerequisite for algorithms, then by transitive closure discrete math is a prerequisite for algorithms).^{h}

Courses: | Pre-req | Co-req | Total |
---|---|---|---|

Algorithms | 115 | 2 | 117 |

Data Structures | 69 | 4 | 73 |

Theory of Computation | 28 | 28 | |

Programming Languages | 22 | 22 | |

Computer Organization | 18 | 18 | |

Intro to Databases | 17 | 17 | |

Computer Systems | 12 | 12 | |

Automata | 12 | 12 | |

Computer Architecture | 11 | 11 | |

Formal Lang/Assembly | 9 | 9 | |

Software Dev/Engr | 8 | 1 | 9 |

CS 2 | 6 | 3 | 9 |

Artificial Intelligence | 4 | 4 | |

Operating Systems | 4 | 4 | |

Object Oriented Design | 4 | 4 | |

Intro to Cybersecurity | 3 | 3 | |

CS 3 | 3 | 3 | |

Intro to Data Science | 3 | 3 | |

Machine Learning | 3 | 3 | |

Computer Networks | 3 | 3 | |

Randomness & Composition | 2 | 2 | |

Digital Logic | 2 | 2 | |

Great Ideas in CS | 1 | 1 | |

Intro to CS and Engineering | 1 | 1 | |

Cryptography | 1 | 1 | |

Secure Programming | 1 | 1 | |

Parallel Computing | 1 | 1 | |

CS 1 | 1 | 1 | |

Total | 363 | 11 | 374 |

No Post/Co-Req | 18 |

Courses | Pre-req | Co-req | Total |
---|---|---|---|

Discrete | 64 | 9 | 73 |

CS 1 | 13 | 24 | 37 |

CS 2 | 12 | 11 | 23 |

Data Structures | 11 | 5 | 16 |

Algorithms | 8 | 8 | |

Software Dev./Engr. | 6 | 6 | |

Digital Logic | 2 | 1 | 3 |

Computer Architecture | 2 | 2 | |

Computer Organization | 2 | 2 | |

Theory of Computation | 2 | 2 | |

CS 3 | 1 | 1 | 2 |

Computer Systems | 1 | 1 | |

Operating Systems | 1 | 1 | |

Numerical Methods | 1 | 1 | |

Parallel Computing | 1 | 1 | |

Computer Networks | 1 | 1 | |

Machine Learning | 1 | 1 | |

Total | 128 | 54 | 180 |

No Post/Co Req | 75 |

Courses | Pre-req | Co-req | Total |
---|---|---|---|

Discrete | 13 | 2 | 15 |

Algorithms | 14 | 14 | |

Data Structures | 4 | 1 | 5 |

Computer Systems | 1 | 2 | 3 |

Theory of Computation | 2 | 2 | |

CS 2 | 2 | 2 | |

CS 4 | 1 | 1 | |

Operating Systems | 1 | 1 | |

Introduction to Data Science | 1 | 1 | |

Numerical Methods | 1 | 1 | |

Total | 38 | 7 | 45 |

No Postreq/Coreq | 108 |

We draw six conclusions from the data. First, 198 of the 199 degrees analyzed require discrete math be taken at some point in the degree.^{i} However, the results shown in Table 2 illustrate that there is no national consensus as to which classes should directly require discrete and whether it should be listed as a pre- or corequisite.

Second, 81% of the BS degrees require both calculus 1 and calculus 2, whereas only 57% of the BA degrees require both. When calculus is required varies substantially.^{28} This matters because the prescribed timing of when a student must take calculus can have a large impact on time-to-degree. At one end of the spectrum, 37 degree plans have calculus 1 as a pre- or corequisite to CS 1, meaning that a student has to be “calculus ready” in 24 degrees and have completed calculus 1 in 13 degrees to even begin their CS journey. In many universities, a substantial proportion of incoming first-year students are not calculus-ready and thus their discovery of CS is barred by this requirement (only about 20% of high school students take calculus^{13}). A question that arises from this variability is whether the requirement of calculus as an early prerequisite stems from an actual need in CS courses or whether it is a historical artifact of how CS programs were constructed decades ago (for example, most CS departments grew out of mathematics or computer engineering departments).

Third, there are 64 degrees requiring that calculus 1 be completed before discrete math and 13 requiring calculus 2 before a student is allowed to take discrete math. This also has major implications for time-to-degree because if a student fails calculus, then they are delayed in taking discrete math, which along with data structures are the two courses that almost all higher-level CS classes require.^{28} Because many schools have high drop/fail/withdraw (DFW) rates for calculus (in the CIC’s portfolio of Implementation Grantees^{j} some rates are as high as 50%), this requirement can easily add one to two semesters to a student’s time-to-degree.

Fourth, which department teaches discrete math also varies. Discrete is taught by the mathematics department in 51 degrees, by the CS department in 130 degrees, and for 17 degrees a student can take discrete math from either department. We examined whether the prerequisites for discrete math differ depending on the offering department. Of the 51 degrees for which discrete math is taught by the math department, 19 have calculus as a prerequisite and for the 130 degrees for which discrete is taught by CS, 61 degrees require calculus as a prerequisite.

Fifth, not surprisingly, there are significant differences as to the number and placement of math classes for BA and BS degrees. Calculus 1 and 2 are more frequently pre- and corequisites to CS1, CS2, and discrete math in BS degrees than in BA degrees (for example, calculus 1 is a prerequisite for discrete math in 41.5% of the BS degrees compared to just 27.5% in the BA degrees). Furthermore, BA degrees require fewer math classes than BS degrees, with an average of 3.4 and 4.9 required math classes, respectively. The distribution of math requirements in BA and BS degrees is shown in Figure 1.

Finally, we examined the difference in math requirements for ABET- and non-ABET-accredited programs. On average, an ABET-accredited program requires 5.1 math classes and a non-ABET-accredited program requires 4.2 math classes, and this difference is statistically significant. We show the distribution in Figure 2. Note that for BS degrees that are not ABET-accredited the average number of math classes is 4.6. Although ABET requires 15 credits of math for CS, schools vary in the number of credits assigned to each class and some count “highly mathematical” CS classes toward this requirement.^{k}

## A Case Study of the Impact of Math in the CS Curriculum

At Florida International University (FIU), the considerations cited in this article (timing of math classes, linkages between math classes and the CS sequence, and more) came into play when they examined their ABET-accredited BS in CS program in 2015. FIU is a large, urban, minority-serving public university with a majority of “non-traditional students,” which the National Center for Education Statistics defines as students who either delay enrollment, attend part time, work full time, are financially independent for purposes of determining eligibility for financial aid, have dependents other than a spouse, are a single parent, and/or do not have a high school diploma.^{33} Furthermore, the majority of FIU undergraduates receive Pell grants, meaning they are considered low-income. For these students, graduating with little to no debt into a well-paying job can be life changing.

At FIU, the CS department is housed in the engineering college. In 2015, FIU’s CAC ABET accredited program, like most programs, required calculus 1 and 2 (both four-credit courses), discrete math,^{l} statistics, and automata theory, a course which allowed the program to meet the ABET math requirement. FIU also required, like the rest of engineering, physics 1 and 2 with labs (five credits each) in addition to other science courses. In other words, the CS major was very math and science heavy compared to other non-engineering degrees. Eliminating ABET accreditation was not an option, but the department was interested in offering a less math-and-science-heavy CS degree, as many students were either not successful in completing the BS in CS degree or were deciding to not pursue the degree because of the added time to degree completion and/or perceived difficulty.

In FIU’s CS curriculum, calculus 1 and 2 were not prerequisites for any required CS course, but were required for physics and statistics. Many students, knowing the importance of completing certain CS courses to be able to apply for internships, and wanting to avoid semesters that included physics, calculus, and programming courses, opted to load up on CS courses early in their studies and delay the “math+physics” part. It was not uncommon to have students complete all the CS course work successfully, have a good job offer, but then have graduation held up because they did not pass one or more of statistics, physics 2, calculus 2, or automata theory in their final semester.

As the university focused increasingly on reducing time to graduation, students were denied opportunities to switch majors after the first one to two years because they could not possibly do so without significant delay in graduation time. Additionally, FIU observed an unfortunate reality that many transfer students self-selected not to be CS majors, even if that had been their intent when starting at FIU. Although Florida universities in theory have strong articulation agreements with their state colleges, in practice many transfer students who were interested in CS found they did not have the right math courses to graduate on time. In 2015, the calculus and physics requirements in the CS degree added 18 credits to what was an already packed 60 upper division credits. This also added significantly more cost to the degree as Florida universities are mandated to charge double tuition for “excess hours.”^{23} Because FIU’s state college transfer student population (those coming to FIU with an Associate’s degree from a two-year institution) represent more than half the university’s students, this meant large numbers of students were not pursuing computer science for reasons not tied to the core computer science curriculum. Another consideration was that, even pre-COVID, many working students wanted the flexibility of at least some online courses, and the math and physics courses at FIU had limited to no online offerings because of poor student success in that modality.

With all this, FIU decided to keep its ABET-accredited BS in CS and create a new BA in CS, distinguished primarily by eliminating the calculus and physics requirements, replacing the statistics course with one of the math department alternatives that does not require calculus as a prerequisite, and moving a few required courses (such as automata theory) into the elective group. By requiring only discrete structures and statistics, the math and science requirement for the BA in CS became only slightly more than what is required for students in other non-CS and engineering majors. To be clear, although the BS and BA differ in the number of required vs. elective CS courses, the main reason students cite in distinguishing the two programs is whether the calculus sequence is required. FIU’s BA in CS alternative has been wildly popular. Today, the BA degree accounts for more than 60% of CS majors, but in absolute numbers the BS program has also grown. Above all, students are empowered to choose the pathway that best meets their needs. Many BA students indicate they would have not been able to start the CS degree without this pathway. Importantly, graduation rates in CS, which lagged behind the rest of the university, have caught up, alleviating the perception among students that the CS major was not worth pursuing.

Preliminary results presented in Ross et al.^{38} indicated that while there was an immediate significant increase in both the number of computing majors overall and in the percentage of women pursing CS degrees, there were no statistically significant differences between the BA and BS degrees in enrollment on the basis of gender or on job attainment. There was a statistically significant difference in enrollment on the basis of race/ethnicity: A larger percentage of Hispanic, Asian, and Nonresident Alien students were enrolled in the BS program compared with other groups, while the BA program attracted a much higher percentage of Black students than the BS. Surveys completed by 45 BA and 89 BS graduates showed no statistically significant difference in obtaining job offers, but a statistical difference in salary distribution, favoring the BS degree. Beyond the relatively small numbers of responses to the employment survey, a notable limitation of the study was that at the time of the survey distribution, students were job hunting in the height of COVID.

With the exception of the salary disparity, many of the preliminary results have been confirmed in a more recent analysis. Notably, the percentage of computing majors who identify as Black or African American has risen from 11.0% to 13.0% since the full launch of the BA degree, even as the corresponding percentage has declined from roughly 12.5% to 11.3% of the overall FIU undergraduate student body. More recent survey results also show that the salary disparity between BA and BS pathways has disappeared. Details on this work, including results from a qualitative mixed-methods analysis, are forthcoming.^{43}

Of course, every institution is unique and has its own circumstances, but FIU’s example shows that changes to required courses, prerequisites, and corequisites can have significant impact.

## Related Work

In this section, we review the existing literature on the role of mathematics in CS and the recommendations of the two professional organizations that provide curricular recommendations and guidelines for CS. The first, the Accreditation Board for Engineering and Technology (ABET),^{2} was founded in 1932 to provide guidelines and oversight of engineering programs. CS accreditation started in 1985 under the Computer Science Accreditation Board (CSAB) and is currently conducted by ABET’s Computing Accreditation Commission.^{3} The second, the Association for Computing Machinery (ACM), was founded in 1947 and is a U.S.-based international professional society for computing.^{4} ACM publishes curricular guidelines for CS every 10 years with the two most recent publications being ACM-2023^{27} and ACM-2013 guidelines.^{25}

**ABET-CAC Guidelines.** ABET is a non-profit organization that certifies engineering/computing programs (as well as applied and natural science and engineering technology). Its goal is to provide employers and students a guarantee of what knowledge and skills graduates will have mastered. Although likely all engineering colleges require their engineering programs to be ABET-accredited, this is not true of CS programs even when the CS department sits within the college of engineering. Indeed only 83 of the 199 programs studied in our sample are ABET CAC-accredited.

The 2024-2025 ABET CAC accreditation requirements state that for a CS program to be accredited it must contain 15 credit hours of mathematics and statistics, which must include discrete mathematics, probability, statistics, and have rigor equivalent to introductory calculus.^{3} Note that calculus 1 is not explicitly required. Rather, the wording “rigor equivalent to introductory calculus,” which was first introduced in the 2019 criteria, only precludes courses such as pre-calculus from counting toward the 15 credit hours^{35}: “the intent is to signal to programs that calculus is not necessarily required if it does not support the program’s objectives as well as other mathematics courses…it is hoped that programs see it as an opportunity to include mathematics courses that best support the program rather than simply requiring traditional courses such as calculus.” Despite this, none of the ABET CAC-accredited programs in our sample have removed calculus 1 in response to this change, and only a handful have removed calculus 2. Further, the accreditation requirements make no mention of how classes should be ordered. ABET CAC does not specify which CS topics require particular math concepts and thus is silent on which CS courses should require calculus (or any other math class) as a prerequisite. Some ABET CAC-accredited CS programs code computational complexity and/or algorithms as math courses, which is permitted assuming they have a sufficiently mathematical focus. Also of note, ABET does not require that the credit hours be accounted for in complete courses. So, for instance, in a program that requires calculus 1 and 2, discrete math, and statistics, but for which calculus 1 and 2 are both four credits, the 15-credit-hour requirement can be met by finding one credit somewhere inside a three-credit CS course and counting that course as one math credit and two CS credits, rather than finding a fifth math course.

Although not a subject of this article, it is worth noting that that this year ABET CAC replaced the previous requirement of six credits of science, with the following requirement: “Coursework that develops and applies the scientific method in a non-computing area.”^{3} Thus, just a single science class which meets these criteria is sufficient for ABET CAC 2024 accreditation, which, for most universities, is no more than the general education requirements for all majors. Schools that find themselves struggling to fit all of the CS classes into their degrees as the discipline continues to evolve and expand would do well by re-examining their legacy science requirements as a first step.

**ACM 2023 Guidelines.** The ACM 2023 Computer Science Curricula committee issues curricular guidelines for CS undergraduate programs. This is a partnership of the ACM, IEEE-CS, and AAAI. The report is available on the ACM’s website (https://csed.acm.org). Historically, the ACM curricular guidelines have *not* recommended that students take calculus before CS1 or discrete math.^{5}^{,}^{6}^{,}^{25} In the *Math Requirements* section, the 2023 report recommends that students should come to college with pre-calculus, and thus pre-calculus can be viewed as a prerequisite for discrete math. The *Core Hours* section outlines two sets of core math requirements: a minimal “CS-core” set suited to credit-limited majors and a more expansive “KA-core” set to align with technically focused programs. The only course needed to satisfy the “CS-core” set is discrete math. The “KA-core” set contains some coverage of calculus, probability, and linear algebra in addition to discrete math but does not specify how many credit hours should be devoted to their study. The *Course Packing Suggestions* section reports: “Many computer science departments now offer courses that prepare students mathematically for AI and machine learning. Such courses can combine just enough calculus, optimization, linear algebra and probability; yet others may split linear algebra into its own course. These courses have the advantage of motivating students with computing applications and including programming as pedagogy for mathematical concepts.” These CS departments have created their own math curriculum so that they are not forced to require CS students take the same math curriculum used in engineering and mathematics departments. This is the approach taken at Northeastern University, where all CS majors are required to take discrete math, calculus 1, and CS2810 Mathematics of Data Models,^{m} and at George Washington University, which offers CS-4341/6341: Continuous Structures (https://www2.seas.gwu.edu/simhaweb/contalg/instructors.html). The ACM’s flexibility around math is recent, as, historically, the ACM curricular guidelines have favored highly technical math. Indeed, M. Tedre’s history of CS education points out that the 1968 ACM guidelines were written by mathematicians not computer scientists.^{30}

**Research on mathematics requirements.** For at least 40 years, there has been debate and disagreement as to the role of mathematics in the computer science curriculum. Some question whether the historically high amount of math in many CS programs is still necessary,^{21}^{,}^{36}^{,}^{37} some suggesting that the fundamental math course for CS is discrete math^{17} and others arguing that the community has become math-phobic.^{9}^{,}^{40} The overarching argument is that mathematics proficiency often correlates with success in computing^{26}^{,}^{42} and that mathematics reasoning and problem solving translate to skills needed for CS.^{7} But the evidence is less clear. For instance, studies 20 years ago had mixed results as to whether math is a predictor of success in programming.^{10}^{,}^{41} More recent work^{19} suggests that taking AP calculus in high school produced better outcomes in introductory programming courses than taking AP CS. However, when controlling for students’ background characteristics (such as parental education), that advantage disappeared. Among all this confusion, there are studies suggesting that mathematics requirements in STEM programs, including engineering and computing serve as a barrier to broadening participation, weeding out students who could otherwise succeed.^{18}^{,}^{22} Indeed, Bressoud’s seminal 2015 study provides a thoughtful discussion of how the current state of college calculus can deter students from mathematics and STEM majors.^{12}

To the best of our knowledge, this article presents the first large-scale analysis in the last decade of the math pre- and corequisites listed on the publicly available websites for universities offering CS degrees in the U.S.^{n} Papers exist on the design of the CS undergraduate curriculum^{11} and on the relationship between math and CS—with arguments for CS being reliant on math^{29} and for math being reliant on CS.^{8}^{,}^{20} Perhaps the paper most relevant to this work is the Baldwin et al.^{7} paper mapping the connections between math and CS as laid out in the 2013 ACM guidelines.^{25} They found that the most connected topic to CS was probability and statistics with content connections to higher-level CS topics such as theory of computation, information systems, networks, and computer organization. Baldwin et al. presented a survey of 25 degree programs, for which they found the average number of required math classes is 4.5—similar to the results of this article.

## Conclusions and Recommendations

Our analysis shows that although the majority of CS departments in the U.S. require calculus, there is no consensus as to where in the degree it should be placed. And further, the subject material covered in calculus is likely not needed for most CS classes. It is our belief that the worst placement is as a pre- or corequisite for CS1 as this impacts a student’s ability to discover CS. Indeed, as stated, many students are not calculus-ready when they enter college and thus are at risk of being delayed in taking CS1 or, worse, dissuaded from trying out and discovering the field. Only 57% of high schools in the U.S. offer CS^{24} so we absolutely must have a good path for students to discover CS at university. Indeed, the degree plans for 162 of the 199 CS programs share the belief that students can take CS1 without calculus as a pre- or corequisite. Finally, even when it is only listed as a corequisite, it is not clear that taking calculus 1 and CS1 in the same semester leads to success, particularly for students who are true beginners to coding.

Our analysis shows that although the majority of CS departments in the U.S. require calculus, there is no consensus as to where in the degree it should be placed.

Perhaps the largest variation across the universities is the placement of discrete math in the program. We conjecture that this is because CS as a field does not yet agree on what topics need be included in discrete math, which in turn causes variation not only in the prerequisites for discrete math but also the post-requisites (that is, which core classes require discrete math). We know anecdotally that some faculty use math prerequisites for CS classes, not because the subject material of the math course is needed, but because they want a certain “mathematical maturity” before students take the class. But what does mathematical maturity mean? If the content of a CS course does not rely on the content of a math course but instead the quantitative skills a student would build by taking that math course, then perhaps they can develop those skills in the CS course itself?

Through this analysis we arrive at three recommendations for CS programs. First, do not require calculus 1 or 2 as a prerequisite or co-requisite for CS1, CS2, or discrete math. The first class in which these math concepts *might* be used is likely data structures or algorithms (that is, when students start to analyze run time and use big-O notation). Second, CS departments should separate progression in CS from progression in mathematics. This is particularly important if a university has a high DFW rate in calculus 1 and/or calculus 2. In this case, calculus blocks many students from being able to move forward in their CS classes. Indeed, we recommend that every CS department look at the DFW rates of calculus 1 and calculus 2 at their university and strongly consider whether these classes are serving their students at all. And this is particularly important for departments with capacity constraints on the CS major, which use students’ GPA in CS1, CS2 and calculus to determine who can major in CS.^{15} Third, as mentioned in the ACM 2023 guidelines, departments might want to consider creating a math class taught by their own faculty to teach the CS-relevant topics from continuous math.

In summary, we invite you to ponder this ultimately puzzling question: Are we letting the math department determine who majors in CS?

## Acknowledgments

This project was partially funded by Pivotal Ventures and by the National Science Foundation (award 230845). We would like to thank Raj Rajenda, Rahul Simha, Felix Muzny, Monique Ross, Albert Lionelle, Megan Giordano, and Catherine Gill for their comments on earlier drafts of this paper.

## Join the Discussion (0)

## Become a Member or Sign In to Post a Comment