Mathematics in Computer Science Curricula



Similar documents
CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

How To Get A Computer Science Degree At Appalachian State

Master of Science in Computer Science

Mathematics (MAT) MAT 061 Basic Euclidean Geometry 3 Hours. MAT 051 Pre-Algebra 4 Hours

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

Master of Arts in Mathematics

MATHEMATICS (MATH) 3. Provides experiences that enable graduates to find employment in sciencerelated

Doctor of Philosophy in Computer Science

Diablo Valley College Catalog

Proposal for Undergraduate Certificate in Large Data Analysis

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Division of Mathematical Sciences

CS & Applied Mathematics Dual Degree Curriculum Content

Prerequisite: High School Chemistry.

Learning outcomes. Knowledge and understanding. Competence and skills

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

COMPUTER SCIENCE GRADUATE INFORMATION PACKET UNM SCHOOL OF ENGINEERING

Sequence of Mathematics Courses

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Penn State Harrisburg Computer Science

MATHEMATICS. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences. Degree Requirements

MATHEMATICAL SCIENCES, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN APPLIED MATHEMATICS

Computer Science/Software Engineering

COMPUTER SCIENCE. Learning Outcomes (Graduate) Graduate Programs in Computer Science. Mission of the Undergraduate Program in Computer Science

Credit Number Lecture Lab / Shop Clinic / Co-op Hours. MAC 224 Advanced CNC Milling MAC 229 CNC Programming

Graduate Certificate in Systems Engineering

Statistics Graduate Courses

Graduate Co-op Students Information Manual. Department of Computer Science. Faculty of Science. University of Regina

Mathematics. Mathematics MATHEMATICS Sacramento City College Catalog. Degree: A.S. Mathematics AS-T Mathematics for Transfer

Department of Computer Science

Cabrillo College Catalog

MATH. ALGEBRA I HONORS 9 th Grade ALGEBRA I HONORS

School of Mathematics, Computer Science and Engineering. Mathematics* Associate in Arts Degree COURSES, PROGRAMS AND MAJORS

Software Modeling and Verification

Bachelor and Master of Science degrees in Mathematics and Statistics at University of Helsinki

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

ESIEE Paris International Master of Computer Science DMC (Diplôme National de Master) Official program for years 2016 to 2018

SECOND YEAR. Major Subject 3 Thesis (EE 300) 3 Thesis (EE 300) 3 TOTAL 3 TOTAL 6. MASTER OF ENGINEERING IN ELECTRICAL ENGINEERING (MEng EE) FIRST YEAR

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

School of Computer Science

Computer Science. Master of Science

Computer Science MS Course Descriptions

Course Syllabus For Operations Management. Management Information Systems

Department of Computer Science School of Arts and Science.

Winter 2016 Course Timetable. Legend: TIME: M = Monday T = Tuesday W = Wednesday R = Thursday F = Friday BREATH: M = Methodology: RA = Research Area

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

SEMESTER PLANS FOR MATH COURSES, FOR MAJORS OUTSIDE MATH.

The Master s Degree with Thesis Course Descriptions in Industrial Engineering

QUALITY ENGINEERING PROGRAM

Information and Communications Technology Courses at a Glance

Study Program Handbook Computer Science

Master Degree Program in Computer Science (CS)

MEng, BSc Applied Computer Science

Appendices master s degree programme Artificial Intelligence

M.S. Computer Science Program

Computer Science Information Sheet for entry in What is Computer Science?

Consolidation,Work,Group, Final,Report!

Software Engineering Transfer Degree

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

MEng, BSc Computer Science with Artificial Intelligence

Core Courses Seminar (0-2) Non-credit Ph.D. Thesis (0-1) Non-credit Special Studies (8-0) Non-credit. Elective Courses

New Tracks in B.S. in Mathematics

Degrees Major in Computer Science Minor in Computer Science Major in Software Engineering

Bachelor Degree in Informatics Engineering Master courses

MATHEMATICS MATHEMATICS

ISU Department of Mathematics. Graduate Examination Policies and Procedures

BookTOC.txt. 1. Functions, Graphs, and Models. Algebra Toolbox. Sets. The Real Numbers. Inequalities and Intervals on the Real Number Line

MATHEMATICS (MAT) Programs Offered. Master of Science. Mathematics

2. EXPLAIN CHANGE TO DEGREE PROGRAM AND GIVE A DETAILED RATIONALE FOR EACH INDIVIDUAL CHANGE:

Software Verification: Infinite-State Model Checking and Static Program

Masters in Human Computer Interaction

Why Get an M.Eng. in CS or Anything Else? Prof. Charlie Van Loan CS M.Eng. Program Director

Electrical and Computer Engineering Undergraduate Advising Manual

COURSE TITLE COURSE DESCRIPTION

INFORMATION TECHNOLOGY PROGRAM

Bachelor of Science in Information Technology. Course Descriptions

Mathematics INDIVIDUAL PROGRAM INFORMATION Macomb1 ( )

ANTALYA INTERNATIONAL UNIVERSITY INDUSTRIAL ENGINEERING COURSE DESCRIPTIONS

Department of Computer Science

BSEE Degree Plan Bachelor of Science in Electrical Engineering:

Masters in Networks and Distributed Systems

Chapter 3: Mathematical Models and Numerical Methods Involving First-Order Differential Equations

096 Professional Readiness Examination (Mathematics)

School of Computer Science

List of courses MEngg (Computer Systems)

Dual Degree Agreement Computer Science / Applied Mathematics

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Accelerated Bachelor of Science/Master of Science in Computer Science. Dual Degree Program

Prentice Hall Mathematics: Algebra Correlated to: Utah Core Curriculum for Math, Intermediate Algebra (Secondary)

SYSTEMS, CONTROL AND MECHATRONICS

Transcription:

Mathematics in Computer Science Curricula School of Computer Science Carnegie Mellon University Pittsburgh, PA Sixth International Conference on Mathematics of Program Construction July 2002, Dagstuhl, Germany

Prelude: Three Observations Linear Algebra and Probability & Statistics are increasingly important to Computer Scientists As Computer Science matures, more mathematics enters CS curricula in different guises As Computer Science matures, more course material covering mathematically-based concepts moves from the graduate to the undergraduate level 2

Computing at Carnegie Mellon CMU Fine Arts Design Drama Social Sciences Psychology Philosophy Statistics Science Biology Math School of Computer Science Engineering Mechanical Electrical Business Public Policy Software Engineering Institute Human Computer Interaction Linguistics Entertainment Learning and Discovery Languages Technology Computer Science Neural Cognition Robotics Supercomputing Software Engineering Pitt 3

Some Numbers 160 faculty 200 courses offered 270 doctoral students in 6 PhD programs 200 masters students in 8 MS programs 540 bachelors students in 1 BS program Computer Mellon University (4000 undergrad, 2500 grad) 100 CS minors 400 additional computer or IT-related undergrad majors 350-450 computer or IT-related masters students CMU named Most Wired Campus by Yahoo Internet Life 4

Mathematics for Program Construction Why in CS? Courses (UG) Discrete Math Algebraic structures: groups, rings, fields, graphs, Algebraic properties: commutativity, associativity, idempotency, Combinatorics: counting, summation, permutation, data structures algorithms state machines Data Structures Algorithms Prog Languages Object-Oriented Prog Compilers Machine Architecture Operating Systems Logic Logics: propositional, predicate logics; first-order, higher-order, Proof techniques: induction, deduction, contradiction, case analysis, reduction, diagonalization, pigeonhole principle, pointwise principle, invariants pre/post conditions recursion symbolic computation specification/verification Prog Principles Functional Prog Formal Languages Automata Theory Complexity Artificial Intelligence Databases Software Eng 5

15-212 Programming Principles: Homework 6 Tiny ML Yes: polymorphic recursive datatypes, recursive functions, pattern matching No: mutual recursion/datatype declarations, modules system Parser Typer Evaluator value 6

Mathematics for Program Construction Computing Systems (Hardware and Software) 7

Mathematics for Computing Systems Construction Discrete Math, Logic, and Linear Algebra Gaussian elimination < vector spaces, matrices, eigenvalues, eigenvectors, linear transformations, orthogonalization, determinants, < Abstract algebra Why in CS? linear programming matrices clustering numerical methods Courses Algorithms Artificial Intelligence Robotics Graphics Vision 1 Probability & Statistics Prob: random processes, conditional probability, distribution functions, limit theorems, Stats: confidence intervals, estimation, regression, variance analysis, Bayesian inference, 8 randomization performance analysis queueing theory scheduling planning learning 2 Algorithms Operating Systems Networking Artificial Intelligence Speech

15-451 Algorithms: Homework 6 Theorem: Given n pairs (x 0, y 0 ),, (x n-1, y n-1 ) there is a unique polynomial A(x) of degree < n that passes through all these points Ie, A(x i ) = y i for i = 0,, n-1 Complete the proof of this theorem by solving [ ] Your job is to show that the determinant of the Vandermonde matrix is nonzero so long as all the x i s are distinct, which then implies that the matrix is invertible (x i, y i ) (x n-1, y n-1 ) (x n-2, y n-2 ) (x 0, y 0 ) (x 1, y 1 ) 9

Wong s PhD Thesis: Verifiable Secret Redistribution i P : s i = k Create shares (Shamir) m + 1 j= 1 a 1 j i j 1 1 m m m Secret n n n k = m Secret b s ; b = m i i i i= 1 j= 1 j j i Old shares New shares New shares Reconstruct secret Proof of security of protocol relies on previous theorem 10

Shamir s Linear Threshold Scheme (2,3) sharing scheme Shares n shares; m reconstruct secret: P = n; B = Create shares: m i P : s i = k m + 1 j= 1 a j i j Reconstruct secret: Object k = m b s ; b = m i i i i= 1 j= 1 j j i 11

15-681 Machine Learning: Homework 3? facetrain Neural Network yes/no face detector pose recognizer wearing sunglasses? Learning continuous valued functions in context of clustering, classification, locally weighted regression, 12

Importance of Calculus: An Aside Calculus is a good means for introducing and reinforcing mathematical rigor Definitions, proofs, problem solving Both differential and integral calculus are important and useful Multivariate calculus is more directly relevant than calculus of approximation to computer scientists Robotics, graphics, vision 13

Observation #1 Discrete Math and Logic are essential for CS But don t forget the importance of Linear Algebra and Probability & Statistics 14

Interlude

Four Types (undergrad and grad levels) 1 Plain Old Math Calculus, Discrete Math, Logic, Linear Algebra, Probability, Statistics 2 CS with lots of Math Algorithms, Data Structures, Semantics, 3 Math adapted for CS Probability and Statistics for Computer Science, 4 Computational X where X = branch of Math/Science/Engineering Computational Geometry, 45/200 (23%) 3 3, 27 16

Type 2: CS with Lots of Math Core CS Algorithms, Automata Theory, Complexity, Data Structures, Principles of Programming, Programming Languages, Semantics Applications Cognitive Modeling, Cryptography, Data Mining, Electronic Commerce, Graphics, Machine Learning, Natural Language Processing, Performance Modeling, Robotics, Speech, Vision, Meta-level: CS with Lots of Math for Applications Algorithms in the Real World Algorithms for Natural Language Processing Algorithms for Knowledge Discovery and Data Mining 17

Type 3: Math for CS Intro to Feedback Control Systems (UG) dynamic response, feedback control, time and frequency domain analysis, Laplace transforms, state-space design, digital control, robotic control, force feedback robotic devices Math Fundamentals for Robotics (G) polynomial interpolation and approximation, solution of nonlinear equations, roots of polynomials, resultants, solution of linear equations, approximation by orthogonal functions (includes Fourier series), integration of ordinary differential equations, optimization, calculus of variations (with applications to mechanics), probability and stochastic processes (Markov chains), computational geometry Probability and Statistics for Computer Scientists (G) Probability and random variables, estimation, special distributions and sampling, nonparametric methods, Markov chains, queues, experimental design, numerical algorithms 18

16-299 Intro to Feedback Control Systems: Homework 3 Find the forward kinematics of the human hand from the wrist through the tip of the index finger Assume that the forearm is rigidly fixed to form the base of the manipulator There are then a total of six degrees of freedom: two at the wrist, two at the knuckle, and one at each of the finger joints Do not include wrist roll (ie, rotation about the forearm), which is actually located at the elbow joint rather than the wrist b Assign the z-axes for all coordinate frames (0 to 6) following the Denevit-Hartenberg algorithm we used in class f Find the homogeneous transformation for each link, A01, A12, etc 19

Type 4: Computational X Offered in CS Computational Algebra (UG) recursion and the algebra of generating functions, covering problems and polynomial equations, algebra and geometry of complex numbers and complex functions, logical functions as ordinary polynomials relative to their values on {0,1}, iteration and closure as exemplified by cellular automata, polynomial interpolation and n-valued functions, tables and Boolean matrices to implement relational products, permutations and equivalence relations, modular arithmetic, exponential behavior and quadradic reciprocity, computing in finite fields Computational Geometry (G) geometric primitives, line intersection plus randomized incrementals, triangulation and visibility, linear programming in two and three dimensions, orthogonal range searching, point location and Binary Space Partitions, Voronoi diagrams and Delaunay triangulation, convex hulls, non-orthogonal range searching Scientific Computing (G) linear least squares, eigenvalues, eigenvectors, Newton s method, Gaussian quadrature, initial value problems (Euler s method, Runge-Kutta) and boundary value problems (finite difference methods, finite element methods) for ordinary differential equations, partial differential equations (applications in stress analysis, heat diffusion, fluid flow, radiation, computer graphics), wavelets, mesh generation (Delaunay triangulation), variational methods 20

15-859 Computational Geometry: Homework 2 Dual graph of Vor(P) Delaunay graph DG(P) 2 A Euclidean Minimum Spanning Tree of a set of points P in the plane is a tree T with vertex set P which minimizes the total edge length over all such trees Give an O(n log n) algorithm to find a EMST of a set of n points Hint: Show that the edge of a Delaunay triangulation of P contains an EMST of P Trading areas of the capitals of the twelve provinces in the Netherlands, as predicted by the Voronoi assignment model Fact: The EMST of a given set P of points is a subgraph of the Delaunay triangulation of P Theorem: The Delaunay triangulation of a set P of n points in the plane can be computed in O(n log n) expected time, using O(n) expected storage 21

Computational X Offered in Other Disciplines Business Mathematical Modeling for Consulting, Computational Finance (degree program) Chemical Engineering Computational Methods for Large Scale Process Design and Analysis Civil Engineering Introduction to Computer Applications in Civil and Environmental Engineering Electrical and Computer Engineering Mathematical Software in Engineering + 6 Computer Engineering courses Mathematics Introduction to Mathematical Software, Maple Lab, Modeling with Differential Equations Philosophy Logic and Computation, Computability and Incompleteness, Modal Logic, Probability and Artificial Intelligence, Constructive Logic, Game Theory, Recursion and Hierarchies, Proof Theory, Intuitionism and Constructive Mathematics, Category Theory, Cognitive Architecture and Bayesian Networks Physics Introduction to Computational Physics, Advanced Computational Physics NOT included is any course that simply requires or teaches computing skills or technology 22

Observation #2: More As subfields of Computer Science mature there is a growing trend of seeing more math in CS curricula via a range of course types Meta-level: As other disciplines turn to computing as a tool for research there is a growing trend of seeing more computational methods used and taught in those disciplines 23

Interlude

Evolution of Course Material PhD Graduate Seminar for Experts in the Field PhD Required Course for Non-experts Professional Masters Course Undergraduate Elective Undergraduate Core Course 25

PhD Graduate Seminar: Verification of Concurrent, Reactive and Real-Time Programs Modeling concurrent programs with state transition systems Temporal logics The mu-calculus and fixpoint theory The basic model checking algorithm Binary decision graphs and symbolic model checking Using Omega-automata to specify properties of concurrent systems Notions of equivalence for concurrent systems (observational equivalence, etc) Compositional reasoning techniques (eg, the assume guarantee paradigm) Exploiting abstraction and symmetry Using induction to reason about systems with many similar processes True concurrency and models based on partial orders Extending model checking techniques to handle real-time programs Model checking techniques for the mu-calculus 26

PhD First-Year Course: 15-740 Computer Architecture main memory cache cache cache processor 1 processor i processor n 1 Trace interesting behaviors (four different scenarios given) Invalid CPU read miss Clean 2 Eliminate an atomic operation Show a safety property is preserved 3 Eliminate an atomic operation Show a liveness property is violated CPU write miss CPU read miss CPU write (hit or miss) 4 Modify the bus arbitration scheme Show a fairness property is preserved Dirty 5 Add a prefetch operation Modify the spec and show the protocol is still correct CPU write 27

Professional Masters in Software Engineering: 17-654 Analysis of Software Artifacts client 1 client i client n server 1 Define state machine models for a client and a server suitable for modeling the AFS protocol [ ] You should ignore the timing problem due to failures and transmission delays However, you should model the possibility of failure To do this, you may find it useful to introduce and define another state machine 2 Use SMV notation for describing each state machine you define in (1) 3 Write out a CTL formula that captures the cache coherence correctness condition about belief, ie, If a client believes its cached file is valid then the server (who is the authority of that file) believes the client s copy is valid 28

Undergraduate Elective: 15-398 Bug-Catching: Automated Verification and Testing Five philosophers deep thought chopsticks A solution to the problem has to guarantee mutually exclusive access to the resources, absence of deadlock, and absence of starvation 1 Model protocol using SMV 2 CTL properties for safety, no alternation, mutual exclusion, deadlock freedom, and starvation freedom 3 Verify properties using SMV 29

Observation #3: Towards a More Principled Science As subfields of Computer Science mature related course material also matures, to the point of our being able to teach undergraduates more principles, ie, mathematically-based concepts, underlying our discipline 30

Summary Linear Algebra and Probability & Statistics are increasingly important to Computer Scientists As Computer Science matures, more mathematics enters CS curricula in different guises As Computer Science matures, more course material covering mathematically-based concepts moves from the graduate to the undergraduate level 31

Postlude Computer Science sprung out of Math and EE departments There is a double irony behind the trend of seeing more math in CS and the trend of seeing more CS in EE as an application area 32