What are the core concepts of discrete mathematics within CS? Is there an accepted core set of concepts that is discrete mathematics as it applies to the study of Computer Science? The math department in my school is thinking about creating a course, they asked for our input, and I wasn't sure what to point them to.
In the search for a "core set of concepts that is discrete mathematics as it applies to the study of Computer Science," I kept finding nebulous ideas, without concrete parameters. There seems to be a general consensus that there is the need for a firm foundation in discrete mathematics when studying CS. There is also a broad agreement that "graph theory, and other topics" is part of that foundation. Unfortunately the other topics portion of the requirements are seldom well specified, and seemingly never delineated with any specificity.

I recognize that the question is in a high school (USA ages ~ 15-18) context. Be that as it may I've settled on a source from the university context for a solid, definitive, and delineated set of "core discrete mathematics material" to set as a touchstone.

Williams College requires that students who select "Computer Science" as their major demonstrate a proficiency in discrete mathematics. This requirement is usually met with a "C", or better, grade in their MATH 200 course. In Spring 2017, the Computer Science department added an alternate method of satisfying the requirement: A "Discrete Mathematics Proficiency Exam."

Williams is classified as "most selective" by U.S. News &amp; World Report, admitting less than 20% of the applicants each year. As such it is expected that they have set standards, in all areas, rather high. However, I prefer to avoid the dangers alluded to by Michelangelo (disputed): The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it. If I were to choose a target, aiming "high" has the advantage that I might reach the target. If I fail to reach the target, I will know how high I can go. If the aim is low, however, and I reach that target, I still will not know if I could have reached higher. Therefore, using the materials from Williams College as a guide for a high school course seems worthwhile.

All that being said, here is the "short list" of their subject areas, (taken from their Preparing for the exam web page.)


Sets, Relations, and Functions
Basic Logic
Proof Techniques
Basics of Counting
Discrete Probability
Measuring Algorithm Complexity
Graphs and Trees


There is, most assuredly, a lot of ground to cover there, and it does not look any "easier" with a full breakdown. The referenced web page (ibid.) lists a breakdown of the topics followed by the  learning outcomes. I think the learning outcomes likely to be more significant in answering the OP's instant question, and have reproduced them with their subjects below.



TL;DNR

The seven areas above have following learning outcomes listed in the cited materials:


  Sets, Relations, and Functions
  
  Learning Outcomes:
  
  
  Define, as well as explain with examples, the basic terminology of functions, relations, and sets.
  
  
  Perform the operations associated with sets, functions, and relations.
  Relate practical examples to the appropriate set, function, or relation model, and interpret the associated operations and terminology in context.
  
  
  
  Basic Logic
  
  Learning Outcomes:
  
  
  Convert logical statements from informal language to propositional (and quantified) logic expressions.
  
  
  Apply formal methods of symbolic propositional logic, such as calculating validity of formulae and computing normal forms.
  Use the rules of inference to construct proofs in propositional logic.
  
  
  
  Proof Techniques
  
  Learning Outcomes:
  
  
  Identify the proof technique used in a given proof.
  
  
  Outline the basic structure of each proof technique described in this unit.
  Apply each of the proof techniques correctly in the construction of a sound argument.
  Determine which type of proof is best for a given problem.
  Explain the parallel between ideas of mathematical induction to recursion and recursively defined sequences.
  Explain the relationship between weak and strong induction and give examples of the appropriate use of each.
  State the well-ordering principle and its relationship to mathematical induction.
  
  
  
  Basics of Counting
  
  Learning Outcomes:
  
  
  Apply counting arguments, including sum and product rules, inclusion-exclusion principle and arithmetic/geometric progressions.
  
  
  Apply the pigeonhole principle in the context of a formal proof.
  Compute permutations and combinations of a set, and interpret the meaning in the context of the particular application.
  Map real-world applications to appropriate counting formalisms, such as determining the number of ways to arrange people around a table, subject to constraints on the seating arrangement, or the number of ways to determine certain hands in cards (e.g., a full house).
  Solve a variety of basic recurrence relations.
  Analyze a problem to determine underlying recurrence relations.
  Perform computations involving modular arithmetic.
  
  
  
  Discrete Probability
  
  Learning Outcomes:
  
  
  Calculate probabilities of events for elementary problems such as games of chance.
  
  
  Differentiate between dependent and independent events.
  Make a probabilistic inference in a real-world problem using Bayes’ theorem to determine the probability of a hypothesis given evidence.
  
  
  
  Measuring Algorithm Complexity
  
  Learning Outcomes:
  
  
  Be able to meaningfully compare the asymptotic growths of pairs of functions.
  
  
  Graphs and Trees
  
  Learning Outcomes:
  
  
  Illustrate by example the basic terminology of graph theory, and some of the properties and special cases of each type of graph/tree.
  
  
  Be able to prove elementary results about graphs and trees, such as:
  In any graph, the sum of the degrees of the vertices equals twice the number of edges.
  In any tree, the number of edges is one less than the number of vertices.
  Model a variety of real-world problems in computer science using appropriate forms of graphs and trees, such as representing a network topology or the organization of a hierarchical file system.
  
  


Source: Discrete Mathematics Preparation from Williams College Computer Science Department