CS 242, Section 002 | Sonoma State University | Fall, 2021 |
Discrete Structures for Computer Science
|
||
Instructor: Henry M. Walker
Lecturer, Sonoma State University |
Many topics within computer science draw upon mathematical concepts, models, structures, skills, and techniques, At Sonoma State University, many elements of this mathematical foundation is covered in CS 242, although time and logistical limitations require some material to be deferred to various mathematics courses. The following table outlines some of these mathematical subjects and suggests common application areas. The table also identifies some common computer science courses that may draw upon this background. However, courses evolve over time, and mention of a topic and/or course here does not guarantee if or when any particular course might work with specific topics.
Mathematical Topic | Some CS Applications Areas | Courses for Potential Later Study | Initial Comments and Thoughts |
---|---|---|---|
sets |
Common starting place for algorithm design/implementation
| CS 315, CS 370, CS 315, CS 415, CS 454 | Since many applications store, retrieve, and process data stored conceptually as sets, many algorithms are devised to promote efficiency in specific contexts |
functions relations | Central in software development
| CS 315, CS 370, CS 380, CS 415, CS 480 | foundation for some widely used problem solving paradigms and families of programming languages |
Boolean algebra |
Fundamental computing tool
| all courses involving programming, in addition to CS 252, CS 370, CS 360, CS 460, etc, | Various studies of errors in softare trace difficulties to the
incorrect writing and manipulation of Boolean
expressions—that is, errors arise from improper use of
Boolean algebra. Contemporary hardware design can use Boolean algebra to define, refine, and optimize desired digital circuits |
| Common starting point for
| CS 315, CS 415, CS 454, CS 355? | Computing analysis and environments may depend upon normal forms for efficiency, effectiveness, and the handling of complexity |
| Development and refinement of digital circuits | CS 252 | Theoretical algorithms in Boolean algebra may underline hardware design tools and can have direct payoff in determining circuit design |
propositional calculus predicate calculus proof techniques
| Formal methods underline
| CS 370?, CS 415, CS 454 | Software testing can help identify errors, but testing of all possible cases is rarely feasible. Formal techniques can prove correctness in all cases. |
Counting techniques recurrence relations | Counting underlies the study of efficiency.
| CS 315, CS 415, CS 435, CS 454, CS 460 | counting underlies
|
graph theory | Graphs provide convenient models for study and problem solving:
| CS 315, CS 370?, CS 380?, CS 385?, CS 415, CS 454, CS 465? | Many applications translate naturally to the context of graphs, and numerous algoritms have been to solve questions involving graphs. |
relational algebra | Relations underlie
| CS 355, CS 415, CS 454, CS 480? | Simple functions provide a mechanism to associate a simple input with an output. Relations provide a much more general framework for the association of multiple components of data. |
abstract algebra (study deferred to Math 320) |
| CS 340?, CS 415?, CS 454?, CS 465? | Basic algebraic models (e.g., groups, rings, and fields) provide the basis for many [most?] modern encryption and decryption algorithms and secure communication |
linear algebra and matrices (study deferred to Math 322) |
| CS 330?, CS 375?, CS 415? | The efficient display and manipulation of images depends on the theoretical models and practical manipulations from linear algebra |
multivariable calculus (study deferred to Math 261) |
| CS 480? | One of the most basic mathematical techniques for Big Data processing require the development of mathematical models to discover and classify patters in known data. More generally, many algorithms are designed to approximate a desired answer through multiple iterations, especially when exact solutions may require too much time (e.g., millennia) to be feasible. Techniques underlying such processing often rely heavily on calculus.involving many variable.s |
created 24-27 June 2021 revised Summer 2021 |
|
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |