# Mathematical Concepts in Computing II

Name | Office location | |
---|---|---|

Longin Jan Latecki | longin.jan.latecki@temple.edu |
Science Education and Research Center (SERC), Room 378 |

David Shulman | David.Shulman@temple.edu |
Science Education and Research Center (SERC), Room 325 |

( Course or Test: MATH 1041 | Minimum Grade of C | May not be taken concurrently. )

OR

( Course or Test: MATH 1941 | Minimum Grade of C | May not be taken concurrently. )

OR

( Course or Test: MATH 1042 | Minimum Grade of C- | May be taken concurrently. )

OR

( Course or Test: MATH 1942 | Minimum Grade of C- | May be taken concurrently. )

OR

( Course or Test: MATH 1951 | Minimum Grade of C- | May be taken concurrently. )

OR

( Course or Test: MATH 2043 to 3080 | Required Courses: 1 | Minimum Grade of C- | May be taken concurrently. )

OR

( MA06 Y - May not be taken concurrently. )

AND 1068 | Minimum Grade of C- | May not be taken concurrently. )

AND 1166 | Minimum Grade of C- | May not be taken concurrently. )

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

*Discrete Mathematics and its Applications*, 7th edition, McGraw Hill Inc.

- Algorithms (Ch. 3)
- Graphs (Ch. 10)
- Matrix Algebra
- Unconstrained Optimization
- Modeling Computation (Ch. 13)

## Course Goals and Learning Objectives

- A continuation of CIS 1166. Concepts include fundamental mathematical concepts of computing: complexity of algorithms, graphs, matrix algebra, finite automata. Applications to computer science are illustrated.
- The learning objectives of this course include understanding of mathematical foundations of the following basic concepts: growth of functions, complexity of algorithms, mathematical induction and recursive definitions, graph representation, properties of graphs, algorithms on graphs, matrix algebra, systems of linear equations, eigenvalues and eigenvectors, language recognition, finite state machines, Turing machines.
- At the end of this course, students will be able to:
- Estimate the growth of function and classify algorithms according to complexity.
- Use mathematical induction and recursive definitions
- Understand properties of graphs and algorithms on graphs
- Perform basic operations on matrices, including computing eigenvalues and eigenvectors
- Solve systems of linear equations
- Familiar with Google PageRank algorithm
- Classify formal languages and develop finite state machines
- Understand Turing machines