Mathematical Structures in Programming Introduction

Size: px
Start display at page:

Download "Mathematical Structures in Programming Introduction"

Transcription

1 Mathematical Structures in Programming to Calculational Programming SOKENDAI/National Institute of Informatics URL: hu Sokendai, 2015 Mathematical Structures in Programming

2 Self Mathematical Structures in Programming

3 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. Mathematical Structures in Programming

4 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. Mathematical Structures in Programming

5 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1996: PhD, Information Engineering, University of Tokyo Mathematical Structures in Programming

6 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1996: PhD, Information Engineering, University of Tokyo 1996: Research Associate (Assistant Professor), Univ. of Tokyo Mathematical Structures in Programming

7 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1996: PhD, Information Engineering, University of Tokyo 1996: Research Associate (Assistant Professor), Univ. of Tokyo 1997: Lecturer, Univ. of Tokyo Mathematical Structures in Programming

8 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1996: PhD, Information Engineering, University of Tokyo 1996: Research Associate (Assistant Professor), Univ. of Tokyo 1997: Lecturer, Univ. of Tokyo 2000: Associate Professor, Univ. of Tokyo Mathematical Structures in Programming

9 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1996: PhD, Information Engineering, University of Tokyo 1996: Research Associate (Assistant Professor), Univ. of Tokyo 1997: Lecturer, Univ. of Tokyo 2000: Associate Professor, Univ. of Tokyo 2008: Full Professor, National Institute of Informatics (NII) Mathematical Structures in Programming

10 Self 1988: BS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1991: MS, Dept. of Computer Science, Shanghai Jiaotong Univ. 1996: PhD, Information Engineering, University of Tokyo 1996: Research Associate (Assistant Professor), Univ. of Tokyo 1997: Lecturer, Univ. of Tokyo 2000: Associate Professor, Univ. of Tokyo 2008: Full Professor, National Institute of Informatics (NII) Mathematical Structures in Programming

11 Research Interests Functional Programming (FP) Learned FP from Prof. Yonggiang Sun in SJTU since 1986 Serving on steering committees of ICFP, Haskell, APLAS Mathematical Structures in Programming

12 Research Interests Functional Programming (FP) Learned FP from Prof. Yonggiang Sun in SJTU since 1986 Serving on steering committees of ICFP, Haskell, APLAS Algorithmic Languages and Calculi PhD thesis: Calculational Approach to Program Optimization Serving as an IFIP WG 2.1 member (TC 2 Japan Representative) Mathematical Structures in Programming

13 Research Interests Functional Programming (FP) Learned FP from Prof. Yonggiang Sun in SJTU since 1986 Serving on steering committees of ICFP, Haskell, APLAS Algorithmic Languages and Calculi PhD thesis: Calculational Approach to Program Optimization Serving as an IFIP WG 2.1 member (TC 2 Japan Representative) Bidirectional Programming & Software Engineering Started in 2003 Serving on BX steering committee, IEEE TSE Associate Editor Mathematical Structures in Programming

14 Related Lectures Mathematical Structures in Programs Preliminary topics given to undergraduate students in Department of Mathematical Informatics, Univ. of Tokyo, Advanced topics given to graduate school of Information Science and Engineering, Univ. of Tokyo, , and Sokendai, Intensive course for graduate students in Kyoto Univ., 2009, and in Peking Univ., Mathematical Structures in Programming

15 Related Lectures Mathematical Structures in Programs Preliminary topics given to undergraduate students in Department of Mathematical Informatics, Univ. of Tokyo, Advanced topics given to graduate school of Information Science and Engineering, Univ. of Tokyo, , and Sokendai, Intensive course for graduate students in Kyoto Univ., 2009, and in Peking Univ., to Program Calculation/Transformation Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2005, Braga, Portugal, 4-8 July, 2005) BASICS Summer School on Types and Programming Languages (BASICS 2010, Hangzhou, China, October 12-16, 2010) Mathematical Structures in Programming

16 Tsuru-Kame-Zan The Tsuru-Kame Problem Some cranes (tsuru) and tortoises (kame) are mixed in a cage. Known is that there are 6 heads and 20 legs. Find out the numbers of cranes and tortoises. Mathematical Structures in Programming

17 A Kindergarten Approach Mathematical Structures in Programming

18 A Kindergarten Approach A simple enumeration Mathematical Structures in Programming

19 A Kindergarten Approach A simple enumeration Mathematical Structures in Programming

20 Primary School Mathematical Structures in Programming

21 Primary School Reasoning Mathematical Structures in Programming

22 Primary School Reasoning if all 6 animals were cranes, there ought to be 6 2 = 12 legs. Mathematical Structures in Programming

23 Primary School Reasoning if all 6 animals were cranes, there ought to be 6 2 = 12 legs. However, there are in fact 20 legs, the extra = 8 legs must belong to some tortoises. Mathematical Structures in Programming

24 Primary School Reasoning if all 6 animals were cranes, there ought to be 6 2 = 12 legs. However, there are in fact 20 legs, the extra = 8 legs must belong to some tortoises. Since one tortoise can add 2 legs, we have 8/2 = 4 tortoises. Mathematical Structures in Programming

25 Primary School Reasoning if all 6 animals were cranes, there ought to be 6 2 = 12 legs. However, there are in fact 20 legs, the extra = 8 legs must belong to some tortoises. Since one tortoise can add 2 legs, we have 8/2 = 4 tortoises. So there must be 6 4 = 2 cranes. Mathematical Structures in Programming

26 Middle School Mathematical Structures in Programming

27 Middle School Algebra (Equation Theory) Mathematical Structures in Programming

28 Middle School Algebra (Equation Theory) x + y = 6 2x + 4y = 20 Mathematical Structures in Programming

29 Middle School Algebra (Equation Theory) x + y = 6 2x + 4y = 20 which gives x = 2 y = 4 Mathematical Structures in Programming

30 The same problem may have different difficulties depending on what weapons we have in hand. Many arithmetic problems can be easily solved if we use the equation theory. Mathematical Structures in Programming

31 The same problem may have different difficulties depending on what weapons we have in hand. Many arithmetic problems can be easily solved if we use the equation theory. What are weapons for solving programming problems? Do we have an equation theory for constructing correct and efficient programs? Mathematical Structures in Programming

32 The same problem may have different difficulties depending on what weapons we have in hand. Many arithmetic problems can be easily solved if we use the equation theory. What are weapons for solving programming problems? Do we have an equation theory for constructing correct and efficient programs? Calculational Programming Mathematical Structures in Programming

33 A Programming Problem Can you develop a correct linear-time program for solving the following problem? Maximum Segment Sum Problem Given a list of numbers, find the maximum of sums of all consecutive sublists. [ 1, 3, 3, 4, 1, 4, 2, 1] = 7 [ 1, 3, 1, 4, 1, 4, 2, 1] = 6 [ 1, 3, 1, 4, 1, 1, 2, 1] = 4 Mathematical Structures in Programming

34 A Simple Solution 1 Enumerating all segments (segs); Mathematical Structures in Programming

35 A Simple Solution 1 Enumerating all segments (segs); 2 Computing sum for each segment(sums); Mathematical Structures in Programming

36 A Simple Solution 1 Enumerating all segments (segs); 2 Computing sum for each segment(sums); 3 Calculating the maximum of all the sums (max). Mathematical Structures in Programming

37 A Simple Solution 1 Enumerating all segments (segs); 2 Computing sum for each segment(sums); 3 Calculating the maximum of all the sums (max). Mathematical Structures in Programming

38 A Simple Solution 1 Enumerating all segments (segs); 2 Computing sum for each segment(sums); 3 Calculating the maximum of all the sums (max). Exercise How many segments does a list of length n have? Mathematical Structures in Programming

39 A Simple Solution 1 Enumerating all segments (segs); 2 Computing sum for each segment(sums); 3 Calculating the maximum of all the sums (max). Exercise How many segments does a list of length n have? Exercise What is the time complexity of this simple solution? Mathematical Structures in Programming

40 There indeed exists a clever solution! mss=0; s=0; for(i=0;i<n;i++){ s += x[i]; if(s<0) s=0; if(mss<s) mss= s; } x[i] s mss Mathematical Structures in Programming

41 There is a big gap between the simple and clever solutions! Mathematical Structures in Programming

42 There is a big gap between the simple and clever solutions! Can we calculate the clever solution from the simple solution? Mathematical Structures in Programming

43 There is a big gap between the simple and clever solutions! Can we calculate the clever solution from the simple solution? What rules and theorems are necessary to do so? Mathematical Structures in Programming

44 There is a big gap between the simple and clever solutions! Can we calculate the clever solution from the simple solution? What rules and theorems are necessary to do so? How to apply the rules and theorems to do so? Mathematical Structures in Programming

45 There is a big gap between the simple and clever solutions! Can we calculate the clever solution from the simple solution? What rules and theorems are necessary to do so? How to apply the rules and theorems to do so? Can we reuse the derivation procedure to solve similar problems, say maximum increasing segment sum problme? Mathematical Structures in Programming

46 Transformational Programming One starts by writing clean and correct programs, and then use program transformation techniques to transform them step-by-step to more efficient equivalents. Specification: Clean and Correct programs Folding/Unfolding Program Transformation Efficient Programs Mathematical Structures in Programming

47 Program Calculation Program calculation is a kind of program transformation based on Constructive Algorithmics, a framework for developing laws/rules/theories for manipulating programs. Mathematical Structures in Programming

48 Program Calculation Program calculation is a kind of program transformation based on Constructive Algorithmics, a framework for developing laws/rules/theories for manipulating programs. Specification: Clean and Correct programs Folding-free Program Transformation Efficient Programs Mathematical Structures in Programming

49 Work on Program Calculation Algorithm Derivation Fold/Unfold-based Transformational Programming (Darlington&Burstall:77) Bird-Meertens Formalism (BMF) (Bird:87) Algebra of Programming (Bird&de Moor:96) Mathematical Structures in Programming

50 Work on Program Calculation Algorithm Derivation Fold/Unfold-based Transformational Programming (Darlington&Burstall:77) Bird-Meertens Formalism (BMF) (Bird:87) Algebra of Programming (Bird&de Moor:96) Our Work on Program Transformation in Calculation Form Fusion (ICFP 96) Tupling (ICFP 97) Accumulation (NGC 99) Inversion/Bidirectionalization (MPC 04, PEPM 07, ICFP 07, MPC 10, ICFP 10) Dynamic Programming (ICFP 00, ICFP 03, ICFP 08) Parallelization (POPL 98, ESOP 02, PLDI 07, POPL 09, ESOP 12) Mathematical Structures in Programming

51 What I will talk in this course? Algorithm Derivation Fold/Unfold-based Transformational Programming (Darlington&Burstall:77) Bird-Meertens Formalism (BMF) (Bird:87) Algebra of Programming (Bird&de Moor:96) Our Work on Program Transformation in Calculation Form Fusion (ICFP 96) Tupling (ICFP 97) Accumulation (NGC 99) Inversion/Bidirectionalization (MPC 04, PEPM 07, ICFP 07, MPC 10, ICFP 10) Dynamic Programming (ICFP 00, ICFP 03, ICFP 08) Parallelization (POPL 98, ESOP 02, PLDI 07, POPL 09, ESOP 12) Mathematical Structures in Programming

52 What I will talk in this course? Algorithm Derivation Fold/Unfold-based Transformational Programming (Darlington&Burstall:77) Bird-Meertens Formalism (BMF) (Bird:87) Algebra of Programming (Bird&de Moor:96) Our Work on Program Transformation in Calculation Form Fusion (ICFP 96) Tupling (ICFP 97) Accumulation (NGC 99) Inversion/Bidirectionalization (MPC 04, PEPM 07, ICFP 07, MPC 10, ICFP 10) Dynamic Programming (ICFP 00, ICFP 03, ICFP 08) Parallelization (POPL 98, ESOP 02, PLDI 07, POPL 09, ESOP 12) Functional Programming (basic concepts of algorithmic languages, program specification and reasoning) Mathematical Structures in Programming

53 Course Plan 1 to Functional Programming (about 4 lectures) Learn basic concepts of programming languages (FP as a meta language) Learn how to build programs constructively and how to reason about programs (FP as a programming language) Mathematical Structures in Programming

54 Course Plan 1 to Functional Programming (about 4 lectures) Learn basic concepts of programming languages (FP as a meta language) Learn how to build programs constructively and how to reason about programs (FP as a programming language) 2 Program Calculus: BMF (about 4 lectures) Learn basic programming theory for calculating programs from problem specifications Learn basic techniques for calculating programs Mathematical Structures in Programming

55 Course Plan 1 to Functional Programming (about 4 lectures) Learn basic concepts of programming languages (FP as a meta language) Learn how to build programs constructively and how to reason about programs (FP as a programming language) 2 Program Calculus: BMF (about 4 lectures) Learn basic programming theory for calculating programs from problem specifications Learn basic techniques for calculating programs 3 Applications of Calculational Programming (about 4 lectures) Learn how to solve a wide class of optimization problems Learn how to automatic parallelize sequential programs Mathematical Structures in Programming

56 Course Plan 1 to Functional Programming (about 4 lectures) Learn basic concepts of programming languages (FP as a meta language) Learn how to build programs constructively and how to reason about programs (FP as a programming language) 2 Program Calculus: BMF (about 4 lectures) Learn basic programming theory for calculating programs from problem specifications Learn basic techniques for calculating programs 3 Applications of Calculational Programming (about 4 lectures) Learn how to solve a wide class of optimization problems Learn how to automatic parallelize sequential programs 4 In-class Discussion (about 2 lectures) Discuss solutions to programming exercises in the class Mathematical Structures in Programming

57 Evaluation No Final Written Examination :-) Mathematical Structures in Programming

58 Evaluation No Final Written Examination :-) In-class activity: 50% Report: 20% Final Presentation: 30% Mathematical Structures in Programming

59 Evaluation No Final Written Examination :-) In-class activity: 50% Report: 20% Final Presentation: 30% You can get 100% unconditionally, if you can solve the open problem which will be discussed in the class Mathematical Structures in Programming

60 References Graham Hutton, Programming in Haskell, Cambridge University Press, Richard Bird, Lecture Notes on Constructive Functional Programming, Technical Monograph PRG-69, Oxford University, Anne Kaldewaij, Programming: The Derivation of Algorithms, Prentice Hall, Richard Bird and Oege de Moor, The Algebra of Programming, Prentice-Hall, Roland Backhouse, Program Construction: Calculating Implementation from Specification, Wiley, Slides will be available at the following website after the class. Mathematical Structures in Programming

Program Calculus Calculational Programming

Program Calculus Calculational Programming Program Calculus Calculational Programming National Institute of Informatics June 21 / June 28 / July 5, 2010 Program Calculus Calculational Programming What we will learn? Discussing the mathematical

More information

Towards Systematic Parallel Programming over MapReduce

Towards Systematic Parallel Programming over MapReduce Towards Systematic Parallel Programming over MapReduce Yu Liu 1, Zhenjiang Hu 2, Kiminori Matsuzaki 3 1 The Graduate University for Advanced Studies, Japan yuliu@nii.ac.jp 2 National Institute of Informatics,

More information

ADAM CHLIPALA. Research interests. Education. Refereed conference papers

ADAM CHLIPALA. Research interests. Education. Refereed conference papers 579 Soda Hall Berkeley, CA 94720-1776 USA adamc@cs.berkeley.edu http://www.cs.berkeley.edu/ adamc/ Research interests ADAM CHLIPALA Dependent type systems; interactive theorem proving; type-based programming

More information

2. Department of Computer Science, Yale University

2. Department of Computer Science, Yale University Report on the Visit to Department of Computer Sciences, Yale University Wenbiao Wu ESD Lab, Department of Electronics Royal Institute of Technology Sweden 1. Introduction Department of Computer Science

More information

Program Proposal for a Direct Converted Program. BS in COMPUTER SCIENCE

Program Proposal for a Direct Converted Program. BS in COMPUTER SCIENCE Program Proposal for a Direct Converted Program BS in COMPUTER SCIENCE Document Page number Curriculum Sheet p. 2 p. -year Roadmap p. p. 5 Two Year Course Schedule p. 6 (2018 2019 AY and 2019 2020 AY)

More information

Master & Doctor of Philosophy Programs in Computer Science

Master & Doctor of Philosophy Programs in Computer Science Master & Doctor of Philosophy Programs in Computer Science Research Fields Pattern Recognition Data Analysis Internet of Things and Network Communication Machine Learning Web Semantic and Ontology For

More information

Surrounding Theorem: Developing Parallel Programs for Matrix-Convolutions

Surrounding Theorem: Developing Parallel Programs for Matrix-Convolutions Surrounding Theorem: Developing Parallel Programs for Matrix-Convolutions Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, and Masato Takeichi Department of Mathematical Informatics, University of Tokyo

More information

Master of Engineering in Computer Engineering Orientation. August 22, Pierce Cantrell Department of Electrical and Computer Engineering

Master of Engineering in Computer Engineering Orientation. August 22, Pierce Cantrell Department of Electrical and Computer Engineering Master of Engineering in Computer Engineering Orientation August 22, 2017 Pierce Cantrell Department of Electrical and Computer Engineering Outline Requirements for Master of Engineering in Computer Engineering

More information

A Fusion-Embedded Skeleton Library

A Fusion-Embedded Skeleton Library A Fusion-Embedded Skeleton Library Kiminori Matsuzaki 1, Kazuhiko Kakehi 1, Hideya Iwasaki 2, Zhenjiang Hu 1,3, and Yoshiki Akashi 2 1 Graduate School of Information Science and Technology, University

More information

How invariants help writing loops Author: Sander Kooijmans Document version: 1.0

How invariants help writing loops Author: Sander Kooijmans Document version: 1.0 How invariants help writing loops Author: Sander Kooijmans Document version: 1.0 Why this document? Did you ever feel frustrated because of a nasty bug in your code? Did you spend hours looking at the

More information

An Efficient Staging Algorithm for Binding-Time Analysis

An Efficient Staging Algorithm for Binding-Time Analysis An Efficient Staging Algorithm for Binding-Time Analysis Takuma Murakami 1, Zhenjiang Hu 1,2, Kazuhiko Kakehi 1, and Masato Takeichi 1 1 Department of Mathematical Informatics, Graduate School of Information

More information

DEPARTMENT OF COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE Department of Computer Science 1 DEPARTMENT OF COMPUTER SCIENCE Office in Computer Science Building, Room 279 (970) 491-5792 cs.colostate.edu (http://www.cs.colostate.edu) Professor L. Darrell Whitley,

More information

Xinyu Feng. January Ph.D. in Computer Science, Yale University, expected Advisor: Professor Zhong Shao.

Xinyu Feng. January Ph.D. in Computer Science, Yale University, expected Advisor: Professor Zhong Shao. Address Department of Computer Science Yale University 51 Prospect Street New Haven, CT 06520, U.S.A. Xinyu Feng January 2007 Phone: +1 203 432 1266 Fax: +1 203 432 0593 Email: feng@cs.yale.edu WWW: http://flint.cs.yale.edu/feng/

More information

744 Motooka Nishi-ku Fukuoka , Japan Phone/Fax:

744 Motooka Nishi-ku Fukuoka , Japan Phone/Fax: September 12, 2009 To whom it may concern: I am Dr. Masafumi Yamashita, a professor at the Department of Informatics, Graduate School of Information Science and Electrical Engineering, Kyushu University,

More information

Introduction to the Theory of Computation, Sipser, PWS, ISBN X, 1996

Introduction to the Theory of Computation, Sipser, PWS, ISBN X, 1996 CA320: COMPUTABILITY AND COMPLEXITY 1 1 Introduction CA320 Computability and Complexity Lecturer: Office: L2.55 Phone: 5017 Email: hamilton@computing.dcu.ie WWW: http://www.computing.dcu.ie/ hamilton Course

More information

Graduate Student Orientation

Graduate Student Orientation Graduate Student Orientation Department of Computer Science The Volgenau School of Engineering Professor Sanjeev Setia, Chair Fall 2018 http://cs.gmu.edu Presented by: Professor Alex Brodsky Outline CS

More information

Teaching Functional Programming

Teaching Functional Programming Zoltán Horváth hz@inf.elte.hu lecturers: István Bozó, Zoltán Csörnyei, Andrea Kovács, Gábor Páli, Máté Tejfel, Melinda Tóth Faculty of Informatics, Eötvös Loránd University, Budapest 15th Workshop on Software

More information

Status of the ISO-STEP Initiative for CGNS-Based Fluid Dynamics Standard

Status of the ISO-STEP Initiative for CGNS-Based Fluid Dynamics Standard Status of the ISO-STEP Initiative for CGNS-Based Fluid Dynamics Standard Presented to the AIAA CGNS Subcommittee January 9, 2001 Raymond R. Senior Technical Fellow Boeing, Phantom Works St. Louis, MO (314)

More information

Program Calculation in Coq

Program Calculation in Coq Program Calculation in Coq Julien Tesson 1, Hideki Hashimoto 2, Zhenjiang Hu 3, Frédéric Loulergue 1, and Masato Takeichi 2 1 Université d Orléans, LIFO, France {julien.tesson,frederic.loulergue}@univ-orleans.fr

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science (CS) modules CS1002 Object-Oriented Programming Computer Science - 1000 & 2000 Level - 2016/7 - December 2016 SCOTCAT Credits: 20 SCQF Level 7 Semester: 1 3.00

More information

Department of Computer Science

Department of Computer Science College of Science and Mathematics Department of Computer Science Dr. Vasil Hnatyshin Department Head Advising brochures also available online at: https://rucsm.org/cs/advising/brochures/ Fall 2017 Computer

More information

A Experiment Report about a Web Information Retrieval System

A Experiment Report about a Web Information Retrieval System A Experiment Report about a Web Information Retrieval System for 3 rd NTCIR Web Task Iwao NAGASHIRO Department of Information and Network, Tokai University 2-3-23, Takanawa, Minato-ku, Tokyo 108-8619,

More information

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan EECS 282 Information Systems Design and Programming Atul Prakash Professor, Computer Science and Engineering University of Michigan 1 What is the Course About? A second programming course - but different

More information

Presentation of the book BOOLEAN ARITHMETIC and its Applications

Presentation of the book BOOLEAN ARITHMETIC and its Applications Presentation of the book BOOLEAN ARITHMETIC and its Applications This book is the handout of one Post Graduate Discipline, offered since 1973, named PEA - 5737 Boolean Equations Applied to System Engineering,

More information

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan EECS 282 Information Systems Design and Programming Atul Prakash Professor, Computer Science and Engineering University of Michigan 1 What is the Course About? A second programming course - but different

More information

LOGIC AND DISCRETE MATHEMATICS

LOGIC AND DISCRETE MATHEMATICS LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University

More information

College of Sciences Department of Mathematics and Computer Science. Assessment Plan Mathematics

College of Sciences Department of Mathematics and Computer Science. Assessment Plan Mathematics College of Sciences Department of athematics and Computer Science Programs: Assessment Plan athematics athematics offers the following instructional programs: 1. Bachelor of Science in athematics Option

More information

[1,3] [3,7] [5,11] [7,15] [1,2] [3,4] [5,6] [7,8] [1,3] [3,7] [5,11] [7,15] [1,3] [3,7] [5,11] [7,15] PID 0 PID 1 PID 2 PID 3.

[1,3] [3,7] [5,11] [7,15] [1,2] [3,4] [5,6] [7,8] [1,3] [3,7] [5,11] [7,15] [1,3] [3,7] [5,11] [7,15] PID 0 PID 1 PID 2 PID 3. Di: A Powerful Parallel Skeleton Seiichi Adachi, Hideya Iwasaki, Zhenjiang Hu Department of Information Engineering, the University of Tokyo 7{3{1 Hongo, Bunkyo-ku, Tokyo 113{8656 Japan Abstract Skeleton

More information

Computer Science Curriculum for International Students

Computer Science Curriculum for International Students Computer Science Curriculum for International Students 2011-2012 Language of instruction Although the lecturer is allowed to teach his course in Dutch, - the course notes, handbook and/or other information

More information

Using Java and HTML for Linear Algebra Instruction

Using Java and HTML for Linear Algebra Instruction Using Java and HTML for Linear Algebra Instruction Jonathan R. Senning Gordon College October 27, 1997 Abstract This paper addresses some of the issues involved with using the HTML, JavaScript and Java

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures or, Classical Algorithms of the 50s, 60s, 70s Richard Mayr Slides adapted from Mary Cryan (2015/16) with small changes. School of Informatics University of Edinburgh ADS

More information

International Graduate Program on Applied Artificial Intelligence and Cyber-Security

International Graduate Program on Applied Artificial Intelligence and Cyber-Security International Graduate Program on Applied Artificial Intelligence and Cyber-Security Ver. 2 Advanced Topics in Artificial Intelligence AE, AO, BE, BO have been updated / October 4, 2018 1. IGP (A) Outline

More information

Logic and its Applications

Logic and its Applications Logic and its Applications Edmund Burke and Eric Foxley PRENTICE HALL London New York Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Contents Preface xiii Propositional logic 1 1.1 Informal introduction

More information

PURDUE UNIVERSITY. Exam Forms. Graduate School Web Database

PURDUE UNIVERSITY. Exam Forms. Graduate School Web Database PURDUE UNIVERSITY Graduate School Web Database 9/18/2013 This document is an introduction to the Exam Form process recently implemented in the Graduate School Web Database. It provides guidance on how

More information

PhD Candidacy Exam Overview

PhD Candidacy Exam Overview EDIC - Doctoral Program in Computer & Communication Sciences PhD Candidacy Exam Overview https://phd.epfl.ch/edic/candidacyexams Candidacy exam background The philosophy After your 1 st year of PhD you

More information

ASSIUT UNIVERSITY. Faculty of Computers and Information Department of Information Technology. on Technology. IT PH.D. Program.

ASSIUT UNIVERSITY. Faculty of Computers and Information Department of Information Technology. on Technology. IT PH.D. Program. ASSIUT UNIVERSITY Faculty of Computers and Information Department of Information Technology Informatiio on Technology PhD Program IT PH.D. Program Page 0 Assiut University Faculty of Computers & Informationn

More information

CS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106

CS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106 CS 565: Programming Languages Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106 Administrivia Who am I? Course web page http://www.cs.purdue.edu/homes/peugster/cs565spring08/ Office hours By appointment Main

More information

Solving Wasan Problems with an Inversion Method - Development of teaching materials for approaching complex geometry -

Solving Wasan Problems with an Inversion Method - Development of teaching materials for approaching complex geometry - Solving Wasan Problems with an Inversion Method - Development of teaching materials for approaching complex geometry - Chieko FUKUDA pxm03664@nifty.com Teikyo University, JAPAN Kyoko KAKIHANA kakihana@tsukuba-g.ac.jp

More information

Contents 1. Introduction 2 2. Solving equations Geometric proofs 20

Contents 1. Introduction 2 2. Solving equations Geometric proofs 20 Abstract. Geometry and Complex Numbers GEOMETRY AND COMPLEX NUMBERS JERZY DYDAK Contents 1. Introduction 2 2. Solving equations 10 3. Geometric proofs 20 Key words and phrases. Complex numbers. 1 2 JERZY

More information

LECTURE 16. Functional Programming

LECTURE 16. Functional Programming LECTURE 16 Functional Programming WHAT IS FUNCTIONAL PROGRAMMING? Functional programming defines the outputs of a program as a mathematical function of the inputs. Functional programming is a declarative

More information

PRE-ALGEBRA PREP. Textbook: The University of Chicago School Mathematics Project. Transition Mathematics, Second Edition, Prentice-Hall, Inc., 2002.

PRE-ALGEBRA PREP. Textbook: The University of Chicago School Mathematics Project. Transition Mathematics, Second Edition, Prentice-Hall, Inc., 2002. PRE-ALGEBRA PREP Textbook: The University of Chicago School Mathematics Project. Transition Mathematics, Second Edition, Prentice-Hall, Inc., 2002. Course Description: The students entering prep year have

More information

A NEW PROOF OF THE SMOOTHNESS OF 4-POINT DESLAURIERS-DUBUC SCHEME

A NEW PROOF OF THE SMOOTHNESS OF 4-POINT DESLAURIERS-DUBUC SCHEME J. Appl. Math. & Computing Vol. 18(2005), No. 1-2, pp. 553-562 A NEW PROOF OF THE SMOOTHNESS OF 4-POINT DESLAURIERS-DUBUC SCHEME YOUCHUN TANG, KWAN PYO KO* AND BYUNG-GOOK LEE Abstract. It is well-known

More information

Master Course in Computer Science Orientation day

Master Course in Computer Science Orientation day Master Course in Computer Science Orientation day Info on the Department of Computer Science Ranked first (in its area) in 5-year Research Assessment by Ministry of University and Research 2013 e 2017

More information

Ionuţ Buricea. Trying to extend this work to timed protocols, I studied the verification of timed systems

Ionuţ Buricea. Trying to extend this work to timed protocols, I studied the verification of timed systems Ionut Buricea Ionuţ Buricea phone: (650) 967-6253 email: ionutb@cis.ksu.edu URL: http://www.cis.ksu.edu/ ionutb/ Research Interests Modular design and compositional verification of communication protocols,

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Lecture 15 Ana Bove May 23rd 2016 More on Turing machines; Summary of the course. Overview of today s lecture: Recap: PDA, TM Push-down

More information

CSE111 Introduction to Computer Applications

CSE111 Introduction to Computer Applications CSE111 Introduction to Computer Applications Lecture 0 Organizational Issues Prepared By Asst. Prof. Dr. Samsun M. BAŞARICI Course Title Introduction to Computer Applications Course Type 1. Compulsory

More information

SJTU for UK-China Science Bridges Project

SJTU for UK-China Science Bridges Project SJTU for UK-China Science Bridges Project Department of Electronics Engineering Shanghai Jiao Tong University Prof. You Yunxu Dr. Jing liu Email: xuyouyun@sjtu.edu.cn jingliu_lj@sjtu.edu.cn Department

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL16: Bidirectional Programming II David Aspinall School of Informatics The University of Edinburgh Tuesday 23rd November 2010 Semester 1 Week 10 E H U N I V

More information

Dagger Traced Symmetric Monoidal Categories and Reversible Programming

Dagger Traced Symmetric Monoidal Categories and Reversible Programming Dagger Traced Symmetric Monoidal Categories and Reversible Programming William J. Bowman, Roshan P. James, and Amr Sabry School of Informatics and Computing, Indiana University {wilbowma,rpjames,sabry}@indiana.edu

More information

Derivation of a Pattern-Matching Compiler

Derivation of a Pattern-Matching Compiler Derivation of a Pattern-Matching Compiler Geoff Barrett and Philip Wadler Oxford University Computing Laboratory, Programming Research Group 1986 Introduction This paper presents the derivation of an efficient

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

The discussion of Chapter 1 will be split into two sessions; the first will cover 1.1 and 1.2; the second will cover 1.3, 1.4, and 1.5.

The discussion of Chapter 1 will be split into two sessions; the first will cover 1.1 and 1.2; the second will cover 1.3, 1.4, and 1.5. 1 The discussion of Chapter 1 will be split into two sessions; the first will cover 1.1 and 1.2; the second will cover 1.3, 1.4, and 1.5. 2 http://memory alpha.org/wiki/file:surak_tos.jpg. Copyright Paramount/CBS.

More information

CK-12 Geometry: Using Similar Right Triangles

CK-12 Geometry: Using Similar Right Triangles CK-12 Geometry: Using Similar Right Triangles Learning Objectives Identify similar triangles inscribed in a larger triangle. Evaluate the geometric mean. Find the length of an altitude or leg using the

More information

Introduction to Programming, Aug-Dec 2008

Introduction to Programming, Aug-Dec 2008 Introduction to Programming, Aug-Dec 2008 Lecture 1, Monday 4 Aug 2008 Administrative matters Resource material Textbooks and other resource material for the course: The Craft of Functional Programming

More information

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m. CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.

More information

COP 1170 Introduction to Computer Programming using Visual Basic

COP 1170 Introduction to Computer Programming using Visual Basic Course Justification This course is the first computer programming course in the Computer Information Systems Associate in Arts degree program; is required in the Computer Programming and Analysis, Database

More information

The Essence of Compiling with Continuations

The Essence of Compiling with Continuations RETROSPECTIVE: The Essence of Compiling with Continuations Cormac Flanagan Amr Sabry Bruce F. Duba Matthias Felleisen Systems Research Center Compaq cormac.flanagan@compaq.com Dept. of Computer Science

More information

中国计算机学会推荐国际学术期刊 序号 刊物简称 刊物全称 出版社 网址. 1 TOPLAS ACM Transactions on Programming Languages & Systems ACM

中国计算机学会推荐国际学术期刊 序号 刊物简称 刊物全称 出版社 网址. 1 TOPLAS ACM Transactions on Programming Languages & Systems ACM 中国计算机学会推荐国际学术期刊 ( 软件工程 / 系统软件 / 程序设计语言 ) 一 A 类 序号 刊物简称 刊物全称 出版社 网址 1 TOPLAS Transactions on Programming Languages & Systems http://dblp.uni-trier.de/db/journals/toplas/ 2 TOSEM Transactions on Software

More information

Algorithms and Data Structures, or

Algorithms and Data Structures, or Algorithms and Data Structures, or... Classical Algorithms of the 50s, 60s and 70s Mary Cryan A&DS Lecture 1 1 Mary Cryan Our focus Emphasis is Algorithms ( Data Structures less important). Most of the

More information

Prerequisites: Completed Algebra 1 and Geometry and passed Algebra 2 with a C or better

Prerequisites: Completed Algebra 1 and Geometry and passed Algebra 2 with a C or better High School Course Description for Honors Math Analysis Course Title: Honors Math Analysis Course Number: MTH461/462 Grade Level: 10-12 Meets a UC a-g Requirement: Pending Curricular Area: Mathematics

More information

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Harsh Beohar LF 265, harsh.beohar@uni-due.de Harsh Beohar Course Modelling of Concurrent Systems 1 Course handler

More information

FUNCTIONAL PEARLS The countdown problem

FUNCTIONAL PEARLS The countdown problem To appear in the Journal of Functional Programming 1 FUNCTIONAL PEARLS The countdown problem GRAHAM HUTTON School of Computer Science and IT University of Nottingham, Nottingham, UK www.cs.nott.ac.uk/

More information

Identification and Elimination of the Overhead of Accelerate with a Super-resolution Application

Identification and Elimination of the Overhead of Accelerate with a Super-resolution Application Regular Paper Identification and Elimination of the Overhead of Accelerate with a Super-resolution Application Izumi Asakura 1,a) Hidehiko Masuhara 1 Takuya Matsumoto 2 Kiminori Matsuzaki 3 Received: April

More information

Algebraic Dynamic Programming

Algebraic Dynamic Programming Algebraic Dynamic Programming Unit 3.b: Products of Evaluation Algebras Robert Giegerich 1 (Lecture) Benedikt Löwes (Exercises) Faculty of Technology Bielefeld University http://www.techfak.uni-bielefeld.de/ags/pi/lehre/adp

More information

STATISTICS (STAT) Statistics (STAT) 1

STATISTICS (STAT) Statistics (STAT) 1 Statistics (STAT) 1 STATISTICS (STAT) STAT 2013 Elementary Statistics (A) Prerequisites: MATH 1483 or MATH 1513, each with a grade of "C" or better; or an acceptable placement score (see placement.okstate.edu).

More information

Counting. Chapter Basic Counting. The Sum Principle. We begin with an example that illustrates a fundamental principle.

Counting. Chapter Basic Counting. The Sum Principle. We begin with an example that illustrates a fundamental principle. Chapter 1 Counting 1.1 Basic Counting The Sum Principle We begin with an example that illustrates a fundamental principle. Exercise 1.1-1 The loop below is part of an implementation of selection sort,

More information

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University

Bawar Abid Abdalla. Assistant Lecturer Software Engineering Department Koya University Logic Design First Stage Lecture No.5 Boolean Algebra Bawar Abid Abdalla Assistant Lecturer Software Engineering Department Koya University Boolean Operations Laws of Boolean Algebra Rules of Boolean Algebra

More information

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures Richard Mayr Slides adapted from Mary Cryan (2015/16) with some changes. School of Informatics University of Edinburgh ADS (2018/19) Lecture 1 slide 1 ADS (2018/19) Lecture 1 slide 3 ADS (2018/19) Lecture

More information

How to Request a Client using the UCC Self Serve Website. The following provides a detailed description of how to request a client...

How to Request a Client using the UCC Self Serve Website. The following provides a detailed description of how to request a client... The following provides a detailed description of how to request a client... 1. User Info - The first step is to confirm that we have your current information in case we need to contact you. Click on the

More information

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012)

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012) QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012) This QuickGuide is for SEAS students thinking of majoring or minoring in Computer Science. It explains how the program is structured,

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built

More information

Introduction to Multi-body Dynamics

Introduction to Multi-body Dynamics division Graduate Course ME 244) Tentative Draft Syllabus 1. Basic concepts in 3-D rigid-body mechanics 1. Rigid body vs flexible body 2. Spatial kinematics (3-D rotation transformations) and Euler theorem

More information

VC 17/18 TP14 Pattern Recognition

VC 17/18 TP14 Pattern Recognition VC 17/18 TP14 Pattern Recognition Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos Miguel Tavares Coimbra Outline Introduction to Pattern Recognition

More information

Course title: WEB DESIGN AND PROGRAMMING

Course title: WEB DESIGN AND PROGRAMMING Course title: WEB DESIGN AND PROGRAMMING Lecturers Full Prof. Dragutin Kermek, Ph.D., Matija Novak, M.Inf., Matija Kaniški, M.Inf. Language of Croatian and English instruction: Schedule: 75 teaching hours

More information

arxiv: v1 [math.ho] 7 Nov 2017

arxiv: v1 [math.ho] 7 Nov 2017 An Introduction to the Discharging Method HAOZE WU Davidson College 1 Introduction arxiv:1711.03004v1 [math.ho] 7 Nov 017 The discharging method is an important proof technique in structural graph theory.

More information

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Harsh Beohar LF 265, harsh.beohar@uni-due.de Harsh Beohar Course Modelling of Concurrent Systems 1 Course handler

More information

ENGINEERING (ENGR) Engineering (ENGR) 1. ENGR 1352 Engineering Design with CAD for CHE

ENGINEERING (ENGR) Engineering (ENGR) 1. ENGR 1352 Engineering Design with CAD for CHE Engineering (ENGR) 1 ENGINEERING (ENGR) ENGR 1111 Introduction to Engineering Description: An introduction to the study and practice of engineering. Skills for students in CEAT; expected engineering student

More information

Introduction to NodeXL

Introduction to NodeXL Introduction to NodeXL Wasim Ahmed (wahmed1@sheffield.ac.uk) (Twitter: @was3210) An Introduction to Tools for Social Media Research 11 th October 2016, London. 2 About me PhD student in the Health Informatics

More information

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560 Binghamton University EngiNet State University of New York EngiNet Thomas J. Watson School of Engineering and Applied Science WARNING All rights reserved. No Part of this video lecture series may be reproduced

More information

Real-Time Graphics Rendering Engine

Real-Time Graphics Rendering Engine Hujun Bao Wei Hua Real-Time Graphics Rendering Engine With 66 figures, 11 of them in color ADVANCED TOPICS IN SCIENCE AND TECHNOLOGY IN CHINA ADVANCED TOPICS IN SCIENCE AND TECHNOLOGY IN CHINA Zhejiang

More information

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1

CS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1 CS 4604: Introduction to Database Management Systems B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1 E/R: NOT IN BOOK! IMPORTANT: Follow only lecture slides for this topic! Differences

More information

EXPLORING EUCLIDEAN AND TAXICAB GEOMETRY WITH DYNAMIC MATHEMATICS SOFTWARE

EXPLORING EUCLIDEAN AND TAXICAB GEOMETRY WITH DYNAMIC MATHEMATICS SOFTWARE EXPLORING EUCLIDEAN AND TAXICAB GEOMETRY WITH DYNAMIC MATHEMATICS SOFTWARE Erhan Selcuk Haciomeroglu & Janet B. Andreasen University of Central Florida Abstract Technology has changed the nature of mathematics

More information

Introduction to Modular Arithmetic

Introduction to Modular Arithmetic Randolph High School Math League 2014-2015 Page 1 1 Introduction Introduction to Modular Arithmetic Modular arithmetic is a topic residing under Number Theory, which roughly speaking is the study of integers

More information

ELEC 2200 Digital Logic Circuits

ELEC 2200 Digital Logic Circuits ELEC 22 Digital Logic Circuits Charles E. Stroud, Professor Dept. of Electrical & Computer Engineering Office: 325 Broun Hall Email: cestroud@eng.auburn.edu Text: Digital Logic Circuit Analysis & Design

More information

Students in the 12-course program will have the following degree requirements:

Students in the 12-course program will have the following degree requirements: The (MPCS) at the is a professionally-oriented Masters in Computer Science degree in applied computing. The program combines the foundations of computer science with the applied skills necessary for careers

More information

Lecture Notes on Data Representation

Lecture Notes on Data Representation Lecture Notes on Data Representation 15-814: Types and Programming Languages Frank Pfenning Lecture 9 Tuesday, October 2, 2018 1 Introduction In this lecture we ll see our type system in action. In particular

More information

Programming Languages Lecture 14: Sum, Product, Recursive Types

Programming Languages Lecture 14: Sum, Product, Recursive Types CSE 230: Winter 200 Principles of Programming Languages Lecture 4: Sum, Product, Recursive Types The end is nigh HW 3 No HW 4 (= Final) Project (Meeting + Talk) Ranjit Jhala UC San Diego Recap Goal: Relate

More information

Department of Computer Science and Engineering

Department of Computer Science and Engineering Department of Computer Science and Engineering 1 Department of Computer Science and Engineering Department Head: Professor Edward Swan Office: 300 Butler Hall The Department of Computer Science and Engineering

More information

Stavros Nikolaou. 413 Gates Hall URL: Ithaca, NY, 14853, USA Date of Birth: December, 1987

Stavros Nikolaou. 413 Gates Hall URL:  Ithaca, NY, 14853, USA Date of Birth: December, 1987 413 Gates Hall +1 6073795409 Department of Computer Science Cornell University email: snikolaou@cs.cornell.edu URL: www.cs.cornell.edu/~snikolaou Ithaca, NY, 14853, USA Date of Birth: December, 1987 Education

More information

Homework 1: Parallel Programming Basics Homework 1: Parallel Programming Basics Homework 1, cont.

Homework 1: Parallel Programming Basics Homework 1: Parallel Programming Basics Homework 1, cont. // CS9 Parallel Programming Lecture : Introduction to Parallel Algorithms Mary Hall August, 0 Homework : Parallel Programming Basics Turn in electronically on the CADE machines using the handin program:

More information

Princess Sumaya University for Technology King Hussein School for Computing Sciences- Computer Graphics Department Curriculum 2017

Princess Sumaya University for Technology King Hussein School for Computing Sciences- Computer Graphics Department Curriculum 2017 University Requirements: (27 Credit Hours) a- Mandatory Courses (12 credit hours): 11000 Computer Skills Placement Test 0-11100 Computer Skills (Remedial) 0-31010 Arabic Placement Test 0-31019 Arabic (Remedial)

More information

40 Behaviour Compatibility

40 Behaviour Compatibility 40 Behaviour Compatibility [2] R. De Nicola, Extentional Equivalences for Transition Systems, Acta Informatica, vol. 24, pp. 21-237, 1987. [3] J. Gray, Notes on Data Base Operating Systems, in Operating

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

Informatics 1: Data & Analysis

Informatics 1: Data & Analysis Informatics 1: Data & Analysis Lecture 5: Relational Algebra Ian Stark School of Informatics The University of Edinburgh Tuesday 31 January 2017 Semester 2 Week 3 https://blog.inf.ed.ac.uk/da17 Tutorial

More information

The ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head.

The ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head. The ECE Curriculum Prof. Bruce H. Krogh Associate Dept. Head krogh@ece.cmu.edu 1 Freshman year ECE Core Courses 18-100 Introduction to Electrical and Computer Engineering physical devices analog circuits

More information

Validity Checking of Putback Transformations in Bidirectional Programming

Validity Checking of Putback Transformations in Bidirectional Programming Validity Checking of Putback Transformations in Bidirectional Programming Zhenjiang Hu 1, Hugo Pacheco 2, Sebastian Fischer 3 1 National Institute of Informatics, Japan 2 Cornell University, USA 3 Christian-Albrechts

More information

Establishment of new Department of Informatics, UNIRI and experiences in teaching SE course

Establishment of new Department of Informatics, UNIRI and experiences in teaching SE course Establishment of new Department of Informatics, UNIRI and experiences in teaching SE course Nataša Hoić-Božić, natasah@inf.uniri.hr Sanja Čandrlić, sanjac@inf.uniri.hr Odjel za informatiku, Sveučilište

More information

Use of GeoGebra in teaching about central tendency and spread variability

Use of GeoGebra in teaching about central tendency and spread variability CREAT. MATH. INFORM. 21 (2012), No. 1, 57-64 Online version at http://creative-mathematics.ubm.ro/ Print Edition: ISSN 1584-286X Online Edition: ISSN 1843-441X Use of GeoGebra in teaching about central

More information

Shortcut Method for Implementation of BDRT

Shortcut Method for Implementation of BDRT Shortcut Method for Implementation of BDRT Prof. Vikram M. Kakade 1 Lecturer, EXTC Dept., PRMCEAM-Badnera, Amravati, Maharashtra, India ABSTRACT In this paper my aim is analyze the behavior of physical

More information

Statistics (STAT) Statistics (STAT) 1. Prerequisites: grade in C- or higher in STAT 1200 or STAT 1300 or STAT 1400

Statistics (STAT) Statistics (STAT) 1. Prerequisites: grade in C- or higher in STAT 1200 or STAT 1300 or STAT 1400 Statistics (STAT) 1 Statistics (STAT) STAT 1200: Introductory Statistical Reasoning Statistical concepts for critically evaluation quantitative information. Descriptive statistics, probability, estimation,

More information