Document Type
Syllabus
Publication Date
Spring 2024
Course Description
This course covers four topics fundamental to computer science. Each of these topics speaks to how computations are performed, at one level or another. The four topics are:
- Functional Programming is a programming paradigm that treats computation as the evaluation of a mathematical function. It avoids the use of state, side effects, and mutable data to make it easier to understand and predict the behavior of the program. In this course, we will use a functional programming language named Erlang.
- Graph Theory is the study of graphs, which are mathematical models of groups of objects and connections between pairs of them. The objects are typically called vertices (singular is vertex) or nodes; the connections are typically called edges. Many types of problems in computer science can be described using graphs, and we will study many important algorithms used to solve problems on graphs.
- Digital Logic is fundamental to the operation of computers, and is basically the computer hardware implementation of Boolean algebra. We will investigate how we can implement AND, OR, NOR, XOR, and more complicated logic forms, and look at techniques for more complicated calculations, such as adding and multiplying numbers in binary.
- Computational Theory is the field of studying computation and computability. Most of our work in this area will focus on automata theory, or looking at how computation can be modeled at a theoretical level. We will discuss discrete finite automata and grammars, as well as a brief look at computability.
Recommended Citation
Thede, Scott, "CSC 233A&B Foundations of Computation Thede Spring 2024" (2024). All Course Syllabi. 342, Scholarly and Creative Work from DePauw University.
https://scholarship.depauw.edu/records_syllabi/342
COinS
Student Outcomes
Students who successfully complete this course will be able to do the following: