COMS 6100 Class Notes

Size: px
Start display at page:

Download "COMS 6100 Class Notes"

Transcription

1 COMS 6100 Class Notes Daniel Solus November 1, General Remarks We will start with a small overview of the material from the end of last class. Since we were interrupted by the fire alarm. 2 Review 2.1 List Operators push/pop shift/unshift reverse split/join grep map Note: split is very useful for parseing text. You can split on multiple levels. I use this all the time! We looked at a few basic examples of list operators in action. In particular sort, reverse sort, split and join of starters. Then we looked at the more complex operators. 1

2 2.2 List Operators Examples: p r i n t \ n L i s t Operators \n ; = qw( cat f i s h dog cow ) ; = r e v e r s e ( s o r ) ; p r i n t I have the f o l l o w i n g p e t s \n ; p r i n t I have the f o l l o w i n g p e t s \n ; my $word = s t r e s s e d ; my $mirror = r e v e r s e $word ; p r i n t $word backwards i s $mirror \n ; my %wheels = ( u n i c y c l e => 1, bike => 2, t r i c y c l e => 3, car => 4, atv => 4, semi => 18, ) ; my %c o u n t 2 v e h i c l e = r e v e r s e %wheels ; # b e c a r e f u l o f key value p a i r s that have d u p l i c a t e v a l u e s being l o s t s p r i n t \%c o u n t 2 v e h i c l e :. j o i n (,, %c o u n t 2 v e h i c l e ). \n ; my $sentance = The quick brown fox... ; = s p l i t (, $sentance ) ; p r i n t ( Found the f o l l o w i n g words : \. j o i n ). \ \n ) ; j u i c e s = qw( apple cranapple orange grape apple c i d e r ) ; = grep ( / apple j u i c e s ) ; p r i n t ( These j u i c e s c o n tain apple : \ n ) ; f o r e a c h my $ j ) { p r i n t ( $ j. \n ) ; Question: Answer: What if we have more than one value? (when using.join) join only puts a, in between (be careful of duplicate values!) Note: $ is the fill in the blank variable Example: CHOMP, removes new line if they exist. but CHOMP alone will operate on $ 2

3 2.3 List Operators Examples: Continuing with list operator examples we looked at three blocks using grep, map and map again. The last block shows that we can use map instead of a loop to get all the primes less than 10. = ( 2, 3, 5, 7, 1 1, 1 3, 1 7, 1 9 ) ; = grep { $ < ; # $ i s the f i l l i n the blank v a r i a b l e p r i n t ( \nthese are the s m a l l e r primes : \ n ) ; f o r e a c h my $ i ) { p r i n t ( $ i. \n ) ; perfectsquaresofprimes = map { $ ; p r i n t ( \nthese are the p e r f e c t s q u a r e s o f the f i r s t primes : \ n ) ; f o r e a c h my $ i ) { p r i n t ( $ i. \n ) ; = map { $ < 10? $ : ( ; # same as using grep p r i n t ( \nthese are the s m a l l e r primes : \ n ) ; f o r e a c h my $ i ) { p r i n t ( $ i. \n ) ; 3 Flow Control We will take another look at flow control, which we have seen multiple times now, in Perl. Perl is much more expressive with flow control and conditional statements. This allows for greater flexiablity and efficiency. 3.1 Basics Conditional: if, elsif, else, unless - is the opposite of if, same as if (not $expression) Loop statements: While, until do, for, foreach Modifiers 3

4 3.2 Conditional Examples: my $a = 0 ; my $b = 1 ; i f (! $a &&! $b ) { p r i n t Neither \n ; # c o n v e n t i o n a l i f ( not $a and not $b ) { p r i n t Neither \n ; # same, but with e n g l i s h i f ( not ( $a or $b ) ) { p r i n t Neither \n ; # same, but with p a r e n t h e s e s u n l e s s ( $a or $b ) { p r i n t Neither \n ; # same, but maybe the c l e a r e s t Below is the basic outline for the loop structures while, until, and do while taken verbatim: Loop statements while( continuation_expression){ # loops while continuation_expression evaluates to true statement(s); until( expression){ # loops until expression evaluates to true statement(s); do{ # execute this block, at least once, #and then while continuation_expression is true statement(s); while( continuation_expression); while( continuation_expression); # either an infinite loop, or does nothing Question Who would like to see a loop example? 3.3 Loop Examples: 4

5 my $hungry = 1 ; while ( $hungry ) { $hungry = eat ( $banana ) ; my $answer ; my $ c o r r e c t ; do{ $answer = get answer ( ) ; $ c o r r e c t = check ( $answer ) ; while ( $ c o r r e c t ) ; 3.4 For Loop Outline: The following outlines how to execute a for loop in Perl explicitly. f o r ( i n i t i a l i z i a t i o n ; c o n t i n u a t i o n e x p r e s s i o n ; increment ) { # 1) i n i t i a l i z i a t i o n happens only once, at the very beginning # 2) then, the c o n t i n u a t i o n e x p r e s s i o n i s checked, i f i t true, then the block i s exectued # 3) then, increment, # 4) Go to 2 statement ( s ) ; 3.5 For Loop Examples: Let s do a countdown! p r i n t \nloops : \ n ; p r i n t \ncountdown : \ n ; f o r ( my $ i = 1 0 ; $ i >= 0 ; $i ){ p r i n t $ i... \ n ; p r i n t \ncountdown : \ n ; f o r e a c h my $ i ( r e v e r s e ) { p r i n t $ i... \ n ; 5

6 Question: Answer: index Just wondering if i gets lost with the decrement? Perl keeps the scope of the variable within the loop. just a loop 4 Modifiers Modify simple statements Parenthese usually are not needed Works well to set default values when needed 4.1 Valid modifiers: if unless while until when for foreach 4.2 Modifier Example I: p r i n t \ nmodifier Examples... \ n ; my $c ; my $ d e f a u l t = DEFAULT ; $a = $ d e f a u l t u n l e s s d e f i n e d $a ; $b = $ d e f a u l t u n l e s s d e f i n e d $b ; $c = $ d e f a u l t u n l e s s d e f i n e d $c ; p r i n t a : $a, b : $b, c : $c \n ; $a was already set to 0; $b was already set to 1 and $c was unde- Note: fined 6

7 Note: Note: Use modifiers if they fit your style. A big part of this is to recognize modifiers used in other s code. 4.3 Modifier Example II: my $balance = ; my $ d e p o s i t = 0 ; my $withdrawal ; p r i n t balance : $balance ( i n i t i a l ) \n ; $balance += $ d e p o s i t i f $ d e p o s i t ; p r i n t balance : $balance \n ; $ d e p o s i t = ; $balance += $ d e p o s i t i f $ d e p o s i t ; p r i n t balance : $balance \n ; $withdrawal = ; $ b a l a n c e = $withdrawal i f $withdrawal and $withdrawal <= $balance ; p r i n t balance : $balance \n ; This examples increments (and decrements) the balance variable after the requirement variable is modified. This is a style of coding that is familiar and intuitive. Understanding modifier usage is important when reading other people s code. 5 Subroutines A subroutine is a group of related statements treated as a single task. Perl allows for named subroutines and anonymous subroutines. There are various ways of handling arguments and subroutines. 5.1 Declaring Subroutines Call a subroutine by it s name, usually followed by parentheses enclosing any arguments. Parentheses are not needed if the subroutines is declaring first (use the parentheses anyway). Subroutines can call themselves (recursive subroutines) 7

8 Subroutines are another datatype. Names may begin with and & character but is not needed to call. 5.2 Arguments 1. Pass by value 2. Pass by reference Note: arguments are copied into the fill in the blank 5.3 Returning 1. return command 2. last executed statement is returned if there is no return command 3. + scalar or a flat list. 5.4 Subroutine Structure 1. Declare subroutine 2. Copy arguments (before perl overwrites ) 3. Check arguments 4. Perform computation 5. Return results 5.5 Subroutine Example I: p r i n t ( f a c t o r i a l ( 5 ). \n ) ; # p a r e n t h e s e s are r e q u i r e d sub f a c t o r i a l { my ( $n ) ; # f i l l i n the blank array r e t u r n $n i f $n <= 2 ; $n f a c t o r i a l ( $n 1) ; # by d e f a u l t, a s u b r o u t i n e r e t u r n s the l a s t executed statement p r i n t ( f a c t o r i a l 5) ; p r i n t ( \n ) ; # p a r e n t h e s e s not r e q u i r e d p r i n t ( &f a c t o r i a l ( 5 ). \n ) ; # & i s o p t i o n a l 8

9 Note: Subroutine to calculate factorial of n with no final return command. 5.6 Subroutine Example II: sub ten { r e t u r n wantarray ( )? ( ) : 1 0 ; = ten ( ) ; # 1, 2, 3, 4, 5, 6 7, 8, 9, 1 0 p r i n t ( \n ) ; my $value = ten ( ) ; # 10 p r i n t ( \ $value : $value \n ) ; ( $value ) = ten ( ) ; p r i n t ( (\ $value ) : $value \n ) ; my ( $one, $two ) = ten ( ) ; p r i n t ( (\ $one, \$two ) : ( $one, $two ) \n ) ; Note: wantarray indicates datatype to be used. 5.7 Subroutine Example III: # 1) Declare s u b r o u t i n e sub f i b o n a c c i { # 2) Copy arguments ( b e f o r e p e r l o v e r w r i t e s ) my ( $n ) ; # 3) Check arguments d i e Number must be p o s i t i v e i f $n <= 0 ; # 4) Perform computation # 5) Return r e s u l t s r e t u r n 1 i f $n <= 2 ; r e t u r n ( f i b o n a c c i ( $n 1) + f i b o n a c c i ( $n 2) ) ; f o r e a c h my $ i ( ) { my $ f i b = f i b o n a c c i ( $ i ) ; p r i n t f i b o n a c c i ( $ i ) i s $ f i b \n ; Subroutine prints out the first seven Fibonacci numbers. 9

Enumeration and generation of all constitutional alkane isomers of methane to icosane using recursive generation and a modified Morgan s algorithm

Enumeration and generation of all constitutional alkane isomers of methane to icosane using recursive generation and a modified Morgan s algorithm The C n H 2n+2 challenge Zürich, November 21st 2015 Enumeration and generation of all constitutional alkane isomers of methane to icosane using recursive generation and a modified Morgan s algorithm Andreas

More information

COMS 6100 Class Notes

COMS 6100 Class Notes COMS 6100 Class Notes Daniel Solus September 20, 2016 1 General Remarks The Lecture notes submitted by the class have been very good. Integer division seemed to be a common oversight when working the Fortran

More information

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information Theory of Computation Lecture Notes Prof. Yuh-Dauh Lyuu Dept. Computer Science & Information Engineering and Department of Finance National Taiwan University Problems and Algorithms c 2004 Prof. Yuh-Dauh

More information

Functions in Python L435/L555. Dept. of Linguistics, Indiana University Fall Functions in Python. Functions.

Functions in Python L435/L555. Dept. of Linguistics, Indiana University Fall Functions in Python. Functions. L435/L555 Dept. of Linguistics, Indiana University Fall 2016 1 / 18 What is a function? Definition A function is something you can call (possibly with some parameters, i.e., the things in parentheses),

More information

Decidability and Undecidability

Decidability and Undecidability Decidability and Undecidability Major Ideas from Last Time Every TM can be converted into a string representation of itself. The encoding of M is denoted M. The universal Turing machine U TM accepts an

More information

Factorial Designs. Outline. Definition. Factorial designs. Factorial designs. Higher order interactions

Factorial Designs. Outline. Definition. Factorial designs. Factorial designs. Higher order interactions 1 Factorial Designs Outline 2 Factorial designs Conditions vs. levels Naming Why use them Main effects Interactions Simple main effect Graphical definition Additivity definition Factorial designs Independent

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. May 11/13, 2015 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Moving into the information age: From records to Google Earth

Moving into the information age: From records to Google Earth Moving into the information age: From records to Google Earth David R. R. Smith Psychology, School of Life Sciences, University of Hull e-mail: davidsmith.butterflies@gmail.com Introduction Many of us

More information

Evolving a New Feature for a Working Program

Evolving a New Feature for a Working Program Evolving a New Feature for a Working Program Mike Stimpson arxiv:1104.0283v1 [cs.ne] 2 Apr 2011 January 18, 2013 Abstract A genetic programming system is created. A first fitness function f 1 is used to

More information

Turing Machines Part II

Turing Machines Part II Turing Machines Part II Problem Set Set Five Five due due in in the the box box up up front front using using a late late day. day. Hello Hello Condensed Slide Slide Readers! Readers! This This lecture

More information

Turing Machines Part II

Turing Machines Part II Turing Machines Part II Hello Hello Condensed Slide Slide Readers! Readers! This This lecture lecture is is almost almost entirely entirely animations that that show show how how each each Turing Turing

More information

1. Problem I calculated these out by hand. It was tedious, but kind of fun, in a a computer should really be doing this sort of way.

1. Problem I calculated these out by hand. It was tedious, but kind of fun, in a a computer should really be doing this sort of way. . Problem 5.2-. I calculated these out by hand. It was tedious, but kind of fun, in a a computer should really be doing this sort of way. 2 655 95 45 243 77 33 33 93 86 5 36 8 3 5 2 4 2 2 2 4 2 2 4 4 2

More information

A Note on Turing Machine Design

A Note on Turing Machine Design CS103 Handout 17 Fall 2013 November 11, 2013 Problem Set 7 This problem explores Turing machines, nondeterministic computation, properties of the RE and R languages, and the limits of RE and R languages.

More information

Mathematical Induction

Mathematical Induction Mathematical Induction MAT231 Transition to Higher Mathematics Fall 2014 MAT231 (Transition to Higher Math) Mathematical Induction Fall 2014 1 / 21 Outline 1 Mathematical Induction 2 Strong Mathematical

More information

Tallahassee Community College. 1. Define addition. 2. Draw a picture of 3 apples + 2 apples. 3. Write the directions for adding on the number line.

Tallahassee Community College. 1. Define addition. 2. Draw a picture of 3 apples + 2 apples. 3. Write the directions for adding on the number line. Tallahassee Community College 4 I. Understanding Addition ADDITION OF WHOLE NUMBERS (DEFINITIONS AND PROPERTIES) 1. Define addition. 2. Draw a picture of 3 apples + 2 apples. 3. Write the directions for

More information

How to Make or Plot a Graph or Chart in Excel

How to Make or Plot a Graph or Chart in Excel This is a complete video tutorial on How to Make or Plot a Graph or Chart in Excel. To make complex chart like Gantt Chart, you have know the basic principles of making a chart. Though I have used Excel

More information

Searching. Sorting. Lambdas

Searching. Sorting. Lambdas .. s Babes-Bolyai University arthur@cs.ubbcluj.ro Overview 1 2 3 Feedback for the course You can write feedback at academicinfo.ubbcluj.ro It is both important as well as anonymous Write both what you

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. April 18/ May 2, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction to Turing Machines. Reading: Chapters 8 & 9 Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages

More information

Discrete Mathematical Structures: Theory and Applications

Discrete Mathematical Structures: Theory and Applications Chapter 1: Foundations: Sets, Logic, and Algorithms Discrete Mathematical Structures: Theory and Applications Learning Objectives Learn about sets Explore various operations on sets Become familiar with

More information

Finite State Transducers

Finite State Transducers Finite State Transducers Eric Gribkoff May 29, 2013 Original Slides by Thomas Hanneforth (Universitat Potsdam) Outline 1 Definition of Finite State Transducer 2 Examples of FSTs 3 Definition of Regular

More information

Universal Turing Machine. Lecture 20

Universal Turing Machine. Lecture 20 Universal Turing Machine Lecture 20 1 Turing Machine move the head left or right by one cell read write sequentially accessed infinite memory finite memory (state) next-action look-up table Variants don

More information

Functional Big-step Semantics

Functional Big-step Semantics Functional Big-step Semantics FM talk, 11 Mar 2015 Magnus Myréen Books Big-step semantics are defined as inductively defined relation. Functions are better! me Context: CakeML verified compiler Old compiler:

More information

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number Topic Contents Factoring Methods Unit 3 The smallest divisor of an integer The GCD of two numbers Generating prime numbers Computing prime factors of an integer Generating pseudo random numbers Raising

More information

Turing Machines Part Two

Turing Machines Part Two Turing Machines Part Two Recap from Last Time Our First Turing Machine q acc a start q 0 q 1 a This This is is the the Turing Turing machine s machine s finiteisttiteiconntont. finiteisttiteiconntont.

More information

How Latent Semantic Indexing Solves the Pachyderm Problem

How Latent Semantic Indexing Solves the Pachyderm Problem How Latent Semantic Indexing Solves the Pachyderm Problem Michael A. Covington Institute for Artificial Intelligence The University of Georgia 2011 1 Introduction Here I present a brief mathematical demonstration

More information

Loop Convergence. CS 536: Science of Programming, Fall 2018

Loop Convergence. CS 536: Science of Programming, Fall 2018 Solved Loop Convergence CS 536: Science of Programming, Fall 2018 A. Why Diverging programs aren t useful, so it s useful to know how to show that loops terminate. B. Objectives At the end of this lecture

More information

Analysis of Algorithms CMPSC 565

Analysis of Algorithms CMPSC 565 Analysis of Algorithms CMPSC 565 LECTURES 38-39 Randomized Algorithms II Quickselect Quicksort Running time Adam Smith L1.1 Types of randomized analysis Average-case analysis : Assume data is distributed

More information

Outline. 1 Merging. 2 Merge Sort. 3 Complexity of Sorting. 4 Merge Sort and Other Sorts 2 / 10

Outline. 1 Merging. 2 Merge Sort. 3 Complexity of Sorting. 4 Merge Sort and Other Sorts 2 / 10 Merge Sort 1 / 10 Outline 1 Merging 2 Merge Sort 3 Complexity of Sorting 4 Merge Sort and Other Sorts 2 / 10 Merging Merge sort is based on a simple operation known as merging: combining two ordered arrays

More information

2 - Strings and Binomial Coefficients

2 - Strings and Binomial Coefficients November 14, 2017 2 - Strings and Binomial Coefficients William T. Trotter trotter@math.gatech.edu Basic Definition Let n be a positive integer and let [n] = {1, 2,, n}. A sequence of length n such as

More information

COMP 355 Advanced Algorithms Algorithm Design Review: Mathematical Background

COMP 355 Advanced Algorithms Algorithm Design Review: Mathematical Background COMP 355 Advanced Algorithms Algorithm Design Review: Mathematical Background 1 Polynomial Time Brute force. For many non-trivial problems, there is a natural brute force search algorithm that checks every

More information

Solving Equations. Lesson Fifteen. Aims. Context. The aim of this lesson is to enable you to: solve linear equations

Solving Equations. Lesson Fifteen. Aims. Context. The aim of this lesson is to enable you to: solve linear equations Mathematics GCSE Module Four: Basic Algebra Lesson Fifteen Aims The aim of this lesson is to enable you to: solve linear equations solve linear equations from their graph solve simultaneous equations from

More information

highlights proof by contradiction what about the real numbers?

highlights proof by contradiction what about the real numbers? CSE 311: Foundations of Computing Fall 2013 Lecture 27: Turing machines and decidability highlights Cardinality A set S is countableiffwe can writeit as S={s 1, s 2, s 3,...} indexed by N Set of rationals

More information

Turing Machines Part Three

Turing Machines Part Three Turing Machines Part Three What problems can we solve with a computer? What kind of computer? Very Important Terminology Let M be a Turing machine. M accepts a string w if it enters an accept state when

More information

Math Review. for the Quantitative Reasoning measure of the GRE General Test

Math Review. for the Quantitative Reasoning measure of the GRE General Test Math Review for the Quantitative Reasoning measure of the GRE General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important for solving

More information

Problem One: Order Relations i. What three properties does a binary relation have to have to be a partial order?

Problem One: Order Relations i. What three properties does a binary relation have to have to be a partial order? CS103 Handout 16 Fall 2011 November 4, 2011 Extra Practice Problems Many of you have expressed interest in additional practice problems to review the material from the first four weeks of CS103. This handout

More information

The maximum-subarray problem. Given an array of integers, find a contiguous subarray with the maximum sum. Very naïve algorithm:

The maximum-subarray problem. Given an array of integers, find a contiguous subarray with the maximum sum. Very naïve algorithm: The maximum-subarray problem Given an array of integers, find a contiguous subarray with the maximum sum. Very naïve algorithm: Brute force algorithm: At best, θ(n 2 ) time complexity 129 Can we do divide

More information

Optimizing Finite Automata

Optimizing Finite Automata Optimizing Finite Automata We can improve the DFA created by MakeDeterministic. Sometimes a DFA will have more states than necessary. For every DFA there is a unique smallest equivalent DFA (fewest states

More information

Data Structures and Algorithms CSE 465

Data Structures and Algorithms CSE 465 Data Structures and Algorithms CSE 465 LECTURE 8 Analyzing Quick Sort Sofya Raskhodnikova and Adam Smith Reminder: QuickSort Quicksort an n-element array: 1. Divide: Partition the array around a pivot

More information

Denotational Semantics of Programs. : SimpleExp N.

Denotational Semantics of Programs. : SimpleExp N. Models of Computation, 2010 1 Denotational Semantics of Programs Denotational Semantics of SimpleExp We will define the denotational semantics of simple expressions using a function : SimpleExp N. Denotational

More information

In Which We Conclude Calculus by Using Taylor Series to Prove Euler s Identity Calculus 12, Veritas Prep.

In Which We Conclude Calculus by Using Taylor Series to Prove Euler s Identity Calculus 12, Veritas Prep. In Which We Conclude Calculus by Using Taylor Series to Prove Euler s Identity Calculus 12, Veritas Prep. 23 February 2011 Name: Directions: Feel free to use scrap paper if you need it. Show all your work

More information

Turing Machines Part One

Turing Machines Part One Turing Machines Part One What problems can we solve with a computer? Regular Languages CFLs Languages recognizable by any feasible computing machine All Languages That same drawing, to scale. All Languages

More information

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012)

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) 1 Streams Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) Streams provide a very simple abstraction for determinate parallel computation. The intuition for streams is already present in

More information

REVIEW: Waves on a String

REVIEW: Waves on a String Lecture 14: Solution to the Wave Equation (Chapter 6) and Random Walks (Chapter 7) 1 Description of Wave Motion REVIEW: Waves on a String We are all familiar with the motion of a transverse wave pulse

More information

Mathematical Background. Unsigned binary numbers. Powers of 2. Logs and exponents. Mathematical Background. Today, we will review:

Mathematical Background. Unsigned binary numbers. Powers of 2. Logs and exponents. Mathematical Background. Today, we will review: Mathematical Background Mathematical Background CSE 373 Data Structures Today, we will review: Logs and eponents Series Recursion Motivation for Algorithm Analysis 5 January 007 CSE 373 - Math Background

More information

Footnotes to Linear Algebra (MA 540 fall 2013), T. Goodwillie, Bases

Footnotes to Linear Algebra (MA 540 fall 2013), T. Goodwillie, Bases Footnotes to Linear Algebra (MA 540 fall 2013), T. Goodwillie, Bases November 18, 2013 1 Spanning and linear independence I will outline a slightly different approach to the material in Chapter 2 of Axler

More information

Computational Complexity

Computational Complexity Computational Complexity S. V. N. Vishwanathan, Pinar Yanardag January 8, 016 1 Computational Complexity: What, Why, and How? Intuitively an algorithm is a well defined computational procedure that takes

More information

Manipulating Equations

Manipulating Equations Manipulating Equations Now that you know how to set up an equation, the next thing you need to do is solve for the value that the question asks for. Above all, the most important thing to remember when

More information

Lisp Introduction. Dr. Neil T. Dantam. Spring CSCI-498/598 RPM, Colorado School of Mines. Dantam (Mines CSCI, RPM) Lisp Spring / 88

Lisp Introduction. Dr. Neil T. Dantam. Spring CSCI-498/598 RPM, Colorado School of Mines. Dantam (Mines CSCI, RPM) Lisp Spring / 88 Lisp Introduction Dr. Neil T. Dantam CSCI-498/598 RPM, Colorado School of Mines Spring 28 Dantam (Mines CSCI, RPM) Lisp Spring 28 / 88 Outline Lisp Common Lisp by Example Implementation Details Typing

More information

Study skills for mathematicians

Study skills for mathematicians PART I Study skills for mathematicians CHAPTER 1 Sets and functions Everything starts somewhere, although many physicists disagree. Terry Pratchett, Hogfather, 1996 To think like a mathematician requires

More information

R: A Quick Reference

R: A Quick Reference R: A Quick Reference Colorado Reed January 17, 2012 Contents 1 Basics 2 1.1 Arrays and Matrices....................... 2 1.2 Lists................................ 3 1.3 Loading Packages.........................

More information

Remainders. We learned how to multiply and divide in elementary

Remainders. We learned how to multiply and divide in elementary Remainders We learned how to multiply and divide in elementary school. As adults we perform division mostly by pressing the key on a calculator. This key supplies the quotient. In numerical analysis and

More information

Neural Networks Learning the network: Backprop , Fall 2018 Lecture 4

Neural Networks Learning the network: Backprop , Fall 2018 Lecture 4 Neural Networks Learning the network: Backprop 11-785, Fall 2018 Lecture 4 1 Recap: The MLP can represent any function The MLP can be constructed to represent anything But how do we construct it? 2 Recap:

More information

Applied Statistics in Business & Economics, 5 th edition

Applied Statistics in Business & Economics, 5 th edition A PowerPoint Presentation Package to Accompany Applied Statistics in Business & Economics, 5 th edition David P. Doane and Lori E. Seward Prepared by Lloyd R. Jaisingh McGraw-Hill/Irwin Copyright 2015

More information

Matrices and Vectors. Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A =

Matrices and Vectors. Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A = 30 MATHEMATICS REVIEW G A.1.1 Matrices and Vectors Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A = a 11 a 12... a 1N a 21 a 22... a 2N...... a M1 a M2... a MN A matrix can

More information

Computational Models Lecture 8 1

Computational Models Lecture 8 1 Computational Models Lecture 8 1 Handout Mode Nachum Dershowitz & Yishay Mansour. Tel Aviv University. May 17 22, 2017 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames by Maurice

More information

Fundamentals of Mathematics I

Fundamentals of Mathematics I Fundamentals of Mathematics I Kent State Department of Mathematical Sciences Fall 2008 Available at: http://www.math.kent.edu/ebooks/10031/book.pdf August 4, 2008 Contents 1 Arithmetic 2 1.1 Real Numbers......................................................

More information

Type Systems. Today. 1. What is the Lambda Calculus. 1. What is the Lambda Calculus. Lecture 2 Oct. 27th, 2004 Sebastian Maneth

Type Systems. Today. 1. What is the Lambda Calculus. 1. What is the Lambda Calculus. Lecture 2 Oct. 27th, 2004 Sebastian Maneth Today 1. What is the Lambda Calculus? Type Systems 2. Its Syntax and Semantics 3. Church Booleans and Church Numerals 4. Lazy vs. Eager Evaluation (call-by-name vs. call-by-value) Lecture 2 Oct. 27th,

More information

Abstract & Applied Linear Algebra (Chapters 1-2) James A. Bernhard University of Puget Sound

Abstract & Applied Linear Algebra (Chapters 1-2) James A. Bernhard University of Puget Sound Abstract & Applied Linear Algebra (Chapters 1-2) James A. Bernhard University of Puget Sound Copyright 2018 by James A. Bernhard Contents 1 Vector spaces 3 1.1 Definitions and basic properties.................

More information

Models of Computation, Recall Register Machines. A register machine (sometimes abbreviated to RM) is specified by:

Models of Computation, Recall Register Machines. A register machine (sometimes abbreviated to RM) is specified by: Models of Computation, 2010 1 Definition Recall Register Machines A register machine (sometimes abbreviated M) is specified by: Slide 1 finitely many registers R 0, R 1,..., R n, each capable of storing

More information

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 Clojure Concurrency Constructs, Part Two CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 1 Goals Cover the material presented in Chapter 4, of our concurrency textbook In particular,

More information

Induction and Recursion

Induction and Recursion . All rights reserved. Authorized only for instructor use in the classroom. No reproduction or further distribution permitted without the prior written consent of McGraw-Hill Education. Induction and Recursion

More information

The Inductive Proof Template

The Inductive Proof Template CS103 Handout 24 Winter 2016 February 5, 2016 Guide to Inductive Proofs Induction gives a new way to prove results about natural numbers and discrete structures like games, puzzles, and graphs. All of

More information

MOL410/510 Problem Set 1 - Linear Algebra - Due Friday Sept. 30

MOL410/510 Problem Set 1 - Linear Algebra - Due Friday Sept. 30 MOL40/50 Problem Set - Linear Algebra - Due Friday Sept. 30 Use lab notes to help solve these problems. Problems marked MUST DO are required for full credit. For the remainder of the problems, do as many

More information

Random Number Generation. Stephen Booth David Henty

Random Number Generation. Stephen Booth David Henty Random Number Generation Stephen Booth David Henty Introduction Random numbers are frequently used in many types of computer simulation Frequently as part of a sampling process: Generate a representative

More information

Module 1: Analyzing the Efficiency of Algorithms

Module 1: Analyzing the Efficiency of Algorithms Module 1: Analyzing the Efficiency of Algorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu What is an Algorithm?

More information

import java. u t i l. ;... Scanner sc = new Scanner ( System. in ) ;

import java. u t i l. ;... Scanner sc = new Scanner ( System. in ) ; CPSC 490 Input Input will always arrive on stdin. You may assume input is well-formed with respect to the problem specification; inappropriate input (e.g. text where a number was specified, number out

More information

Warm-up Quantifiers and the harmonic series Sets Second warmup Induction Bijections. Writing more proofs. Misha Lavrov

Warm-up Quantifiers and the harmonic series Sets Second warmup Induction Bijections. Writing more proofs. Misha Lavrov Writing more proofs Misha Lavrov ARML Practice 3/16/2014 and 3/23/2014 Warm-up Using the quantifier notation on the reference sheet, and making any further definitions you need to, write the following:

More information

On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work

On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work Lab 5 : Linking Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The main objective of this lab is to experiment

More information

Who am I? Math 1080: Numerical Linear Algebra. Books. Format

Who am I? Math 1080: Numerical Linear Algebra. Books. Format Who am I? Math 18: Numerical Linear Algebra M M Sussman sussmanm@mathpittedu Office Hours: MW 1:45PM-2:45PM, Thack 622 Part-time faculty in Math Dept Experience at Bettis lab Administer 27/271 Numerical

More information

Text Search and Closure Properties

Text Search and Closure Properties Text Search and Closure Properties CSCI 330 Formal Languages and Automata Theory Siu On CHAN Fall 208 Chinese University of Hong Kong /28 Text Search grep program grep -E regex file.txt Searches for an

More information

Mathematical Foundations of Programming. Nicolai Kraus. Draft of February 15, 2018

Mathematical Foundations of Programming. Nicolai Kraus. Draft of February 15, 2018 Very short lecture notes: Mathematical Foundations of Programming University of Nottingham, Computer Science, module code G54FOP, Spring 2018 Nicolai Kraus Draft of February 15, 2018 What is this? This

More information

Mathematical Proofs. e x2. log k. a+b a + b. Carlos Moreno uwaterloo.ca EIT e π i 1 = 0.

Mathematical Proofs. e x2. log k. a+b a + b. Carlos Moreno uwaterloo.ca EIT e π i 1 = 0. Mathematical Proofs Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 N k=0 log k 0 e x2 e π i 1 = 0 dx a+b a + b https://ece.uwaterloo.ca/~cmoreno/ece250 Mathematical Proofs Standard reminder to set phones

More information

Turing Machines. Wolfgang Schreiner

Turing Machines. Wolfgang Schreiner Turing Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner

More information

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,

More information

Homework Assignment 4 Root Finding Algorithms The Maximum Velocity of a Car Due: Friday, February 19, 2010 at 12noon

Homework Assignment 4 Root Finding Algorithms The Maximum Velocity of a Car Due: Friday, February 19, 2010 at 12noon ME 2016 A Spring Semester 2010 Computing Techniques 3-0-3 Homework Assignment 4 Root Finding Algorithms The Maximum Velocity of a Car Due: Friday, February 19, 2010 at 12noon Description and Outcomes In

More information

THE LOGIC OF COMPOUND STATEMENTS

THE LOGIC OF COMPOUND STATEMENTS CHAPTER 2 THE LOGIC OF COMPOUND STATEMENTS Copyright Cengage Learning. All rights reserved. SECTION 2.1 Logical Form and Logical Equivalence Copyright Cengage Learning. All rights reserved. Logical Form

More information

Text Search and Closure Properties

Text Search and Closure Properties Text Search and Closure Properties CSCI 3130 Formal Languages and Automata Theory Siu On CHAN Chinese University of Hong Kong Fall 2017 1/30 Text Search 2/30 grep program grep -E regexp file.txt Searches

More information

Day 1: Over + Over Again

Day 1: Over + Over Again Welcome to Morning Math! The current time is... huh, that s not right. Day 1: Over + Over Again Welcome to PCMI! We know you ll learn a great deal of mathematics here maybe some new tricks, maybe some

More information

Theory of Computation Lecture Notes

Theory of Computation Lecture Notes Theory of Computation Lecture Notes Prof. Yuh-Dauh Lyuu Dept. Computer Science & Information Engineering and Department of Finance National Taiwan University c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan

More information

Big , and Definition Definition

Big , and Definition Definition Big O, Ω, and Θ Big-O gives us only a one-way comparison; if f is O(g) then g eventually is bigger than f from that point on, but in fact f could be very small in comparison. Example; 3n is O(2 2n ). We

More information

ENEE 459E/CMSC 498R In-class exercise February 10, 2015

ENEE 459E/CMSC 498R In-class exercise February 10, 2015 ENEE 459E/CMSC 498R In-class exercise February 10, 2015 In this in-class exercise, we will explore what it means for a problem to be intractable (i.e. it cannot be solved by an efficient algorithm). There

More information

Mathematical Proofs. e x2. log k. a+b a + b. Carlos Moreno uwaterloo.ca EIT e π i 1 = 0.

Mathematical Proofs. e x2. log k. a+b a + b. Carlos Moreno uwaterloo.ca EIT e π i 1 = 0. Mathematical Proofs Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 N k=0 log k 0 e x2 e π i 1 = 0 dx a+b a + b https://ece.uwaterloo.ca/~cmoreno/ece250 Today's class: Mathematical Proofs We'll investigate

More information

Introductory Quantum Chemistry Prof. K. L. Sebastian Department of Inorganic and Physical Chemistry Indian Institute of Science, Bangalore

Introductory Quantum Chemistry Prof. K. L. Sebastian Department of Inorganic and Physical Chemistry Indian Institute of Science, Bangalore Introductory Quantum Chemistry Prof. K. L. Sebastian Department of Inorganic and Physical Chemistry Indian Institute of Science, Bangalore Lecture - 4 Postulates Part 1 (Refer Slide Time: 00:59) So, I

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 30 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November 2016 1 / 17 The Chomsky hierarchy: summary Level Language

More information

At the start of the term, we saw the following formula for computing the sum of the first n integers:

At the start of the term, we saw the following formula for computing the sum of the first n integers: Chapter 11 Induction This chapter covers mathematical induction. 11.1 Introduction to induction At the start of the term, we saw the following formula for computing the sum of the first n integers: Claim

More information

Topic 17. Analysis of Algorithms

Topic 17. Analysis of Algorithms Topic 17 Analysis of Algorithms Analysis of Algorithms- Review Efficiency of an algorithm can be measured in terms of : Time complexity: a measure of the amount of time required to execute an algorithm

More information

1 Sequences and Summation

1 Sequences and Summation 1 Sequences and Summation A sequence is a function whose domain is either all the integers between two given integers or all the integers greater than or equal to a given integer. For example, a m, a m+1,...,

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 03 Dynamic Programming (Chapter 15) Stephen Scott and Vinodchandran N. Variyam sscott@cse.unl.edu 1/44 Introduction Dynamic

More information

An Introduction to Z3

An Introduction to Z3 An Introduction to Z3 Huixing Fang National Trusted Embedded Software Engineering Technology Research Center April 12, 2017 Outline 1 SMT 2 Z3 Huixing Fang (ECNU) An Introduction to Z3 April 12, 2017 2

More information

Lab 2: Static Response, Cantilevered Beam

Lab 2: Static Response, Cantilevered Beam Contents 1 Lab 2: Static Response, Cantilevered Beam 3 1.1 Objectives.......................................... 3 1.2 Scalars, Vectors and Matrices (Allen Downey)...................... 3 1.2.1 Attribution.....................................

More information

Turing Machines, diagonalization, the halting problem, reducibility

Turing Machines, diagonalization, the halting problem, reducibility Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have

More information

Finding Limits Graphically and Numerically

Finding Limits Graphically and Numerically Finding Limits Graphically and Numerically 1. Welcome to finding limits graphically and numerically. My name is Tuesday Johnson and I m a lecturer at the University of Texas El Paso. 2. With each lecture

More information

Constructors - Cont. must be distinguished by the number or type of their arguments.

Constructors - Cont. must be distinguished by the number or type of their arguments. Constructors - Cont. 1 Constructors can be overloaded! must be distinguished by the number or type of their arguments. 2 When no constructor is defined, there is a default constructor with no arguments.

More information

1 ListElement l e = f i r s t ; / / s t a r t i n g p o i n t 2 while ( l e. next!= n u l l ) 3 { l e = l e. next ; / / next step 4 } Removal

1 ListElement l e = f i r s t ; / / s t a r t i n g p o i n t 2 while ( l e. next!= n u l l ) 3 { l e = l e. next ; / / next step 4 } Removal Präsenzstunden Today In the same room as in the first week Assignment 5 Felix Friedrich, Lars Widmer, Fabian Stutz TA lecture, Informatics II D-BAUG March 18, 2014 HIL E 15.2 15:00-18:00 Timon Gehr (arriving

More information

Without a Vector Calculus Coordinate System

Without a Vector Calculus Coordinate System Classroom Tips and Techniques: Point-and-Click Access to the Differential Operators of Vector Calculus Robert J. Lopez Emeritus Professor of Mathematics and Maple Fellow Maplesoft Introduction The -operator

More information

8 Primes and Modular Arithmetic

8 Primes and Modular Arithmetic 8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.

More information

MATH 521, WEEK 2: Rational and Real Numbers, Ordered Sets, Countable Sets

MATH 521, WEEK 2: Rational and Real Numbers, Ordered Sets, Countable Sets MATH 521, WEEK 2: Rational and Real Numbers, Ordered Sets, Countable Sets 1 Rational and Real Numbers Recall that a number is rational if it can be written in the form a/b where a, b Z and b 0, and a number

More information

O Notation (Big Oh) We want to give an upper bound on the amount of time it takes to solve a problem.

O Notation (Big Oh) We want to give an upper bound on the amount of time it takes to solve a problem. O Notation (Big Oh) We want to give an upper bound on the amount of time it takes to solve a problem. defn: v(n) = O(f(n)) constants c and n 0 such that v(n) c f(n) whenever n > n 0 Termed complexity:

More information

MITOCW ocw f99-lec05_300k

MITOCW ocw f99-lec05_300k MITOCW ocw-18.06-f99-lec05_300k This is lecture five in linear algebra. And, it will complete this chapter of the book. So the last section of this chapter is two point seven that talks about permutations,

More information