Mathematical Concepts in Computing II

Course number: 
CIS 2166
Semester: 
Fall 2015
Instructors:
Name E-mail 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
Prerequisites: 

(  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 ( Course or Test: CIS 1068 | Minimum Grade of C- | May not be taken concurrently.  )
AND ( Course or Test: CIS 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.

Textbooks: 
  Kenneth Rosen, Discrete Mathematics and its Applications, 7th edition, McGraw Hill
Topics covered: 
  • Algorithms (Ch. 3)
  • Graphs (Ch. 10)
  • Matrix Algebra
  • Unconstrained Optimization
  • Modeling Computation (Ch. 13)
Course goals: 

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:
    1. Estimate the growth of function and classify algorithms according to complexity.
    2. Use mathematical induction and recursive definitions
    3. Understand properties of graphs and algorithms on graphs
    4. Perform basic operations on matrices, including computing eigenvalues and eigenvectors
    5. Solve systems of linear equations
    6. Familiar with Google PageRank algorithm
    7. Classify formal languages and develop finite state machines
    8. Understand Turing machines
Attendance policy: 
Attendance to all meetings of the class is mandatory
Accomodations for Students with Disabilities: 
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact me privately to discuss the specific situation by the end of the second week of classes or as soon as practical. If you have not done so already, please contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the resources available to you. I will work with DRS to coordinate reasonable accommodations for all students with documented disabilities. (http://www.temple.edu/studentaffairs/disability/accommodations/).
Student and Faculty Academic Rights and Responsibilities: 
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following http://policies.temple.edu/PDF/99.pdf.