CS195H Homework 1 Grid homotopies and free groups. Due: February 5, 2015, before class

Size: px
Start display at page:

Download "CS195H Homework 1 Grid homotopies and free groups. Due: February 5, 2015, before class"

Transcription

1 CS195H Homework 1 Grid homotopies and free groups

2 This second homework is almost all about grid homotopies and grid curves, but with a little math in the middle. This homework, last year, took people about ten hours on average. It had a few additional problems, but lacked the problems on free groups at the start. Please again work on this problem set in pairs, but pick a new partner for this week. I recommend that each group have someone whose main strength is math, and someone else whose main strength is CS. (These could, I suppose, be the same person!) To hand in the homework, you ll need to do two things: (a) hand in the math parts as a handwritten or (better) pdf document. (b) hand in the code. Handwritten work should be given in during class and code should be submitted by in the form of a zip file, which should contain: A README.txt document saying whose work this is, and clarifying anything unusual you did. A bunch of.m files, one for each procedure you wrote. The must have the names and arguments specified, because we ll be using an automated program to test them. If I invoke pseq2lseq and you ve written psequencetolsequence, you ll fail the tests we ve written and get no credit. Make our lives easy so that you can make your grade better! The PDF for your written portion of the assignment, if you ve chosen to hand it in this way. You should name your zip file with your login and the 2-digit assignment number 01. I, for instance, would call mine jfh01.zip. You might call yours Robert_Smith01.zip, if you like using your brown.edu login. Math Stuff Problem 1 [15 pts] In class we talked about loops in the punctured plane, concentrating on loops that start and end at E = (0, 0), with the puncture at P = ( 1 2, 1 2 ). When we consider homotopy classes of loops (two loops 1

3 γ 1 and γ 2 are the same if there s a homotopy from one to the other, leaving the basepoint E fixed throughout, i.e., a continuous function with the properties that H : [0, 1] [0, 1] R 2 H(0, t) = γ 0 (t) for all t (1) H(1, t) = γ 1 (t) for all t, and (2) H(s, 0) = H(s, 1) = E for all s. (3) This set of homotopy classes of loops has a standard name. Letting R 2 0 denote R 2 {(0, 0)}, the set s called π 1 (R 2 0, E). (In general, for any space, X, and any point x 0 X, π 1 (X, x 0 ) denotes the group of homotopy classes of paths in X, based at x 0.) And as we saw in class, there s a group structure on the set, given by concatenating curves. The constant curve at the origin serves as an identity, etc. And we also saw that this particular group corresponded to Z, the integers, which can also be considered the free group on one letter. In general by a free group on a set like {a, b} we mean all finite sequences of elements of the set, or those elements with a superscript of 1. The simplest such sequence is the empty sequence, which is usually denoted e just to make it visible, but other instances of legal sequences are aaaba 1 b 1 babb, and aba. Multiplication in the group is done by concatenation, and there is one rule: any sequence like aa 1 or a 1 a should be replaced with the empty sequence. (That means that the second example sequence given above should be rewritten as aaaba 1 b 1 babb = aaaba 1 abb = aaabbb. It s traditional to write a 3 instead of aaa, just to keep things simpler, but that s just a notational convenience. That means that the second example can be written a 3 b Warmup. In the free group on two letters a and b (which we ll denote F ({a, b}), write down the left-inverses of ab, a 2 ba, and b 1 a, i.e., for the first problem, find a string u such that uab = e, once you simplify. 2

4 Explain why, in each case, the left-inverse is also a rightinverse, and why this will generally be true for any element of a free group. (In doing this, you re confirming another of the group axioms, i.e., showing that a free group really is a group, which we glossed over pretty fast in class.) One great thing about free groups is that they serve as the foundation for the idea of groups described by generators and relations. I m going to ask you to just play with this idea without trying too hard to formalize it just yet. An example of generators-and-relations description of a group is a a 3 = e or, more commonly, a a 3. That notation means Take the free group with one generator, a, and add a new rule: whenever you have three as in a row, you can replace them with an empty string. Perhaps a better version of the rule is you can, after any set of algebraic manipulations, replace three as by an empty string. So if we have a 1 a 2, we can change it to a 1 a 1 a 3, and hence to a 1 a 1 = a 2. In the notation, the symbols to the left of the vertical bar are called generators and those to the right are relations. Sometimes relations are written in the form a 6 = e, where e denotes the identity, i.e., the empty string, or even ab = ba, but more often they re written without an equals sign; in our two examples, we d write a 6 and aba 1 b 1 ; in each case, the presence of a relation on the right hand side without an equals sign means this sequence can be replaced by an empty sequence. A little algebra will show you that in the example we ve given, we have a 2 = a 1, and various similar things. In fact, there are really only three elements: e, a, and a 2. By the time you get to a 3, it s just another name for the identity e. So this description is just another way to denote Z/3Z, the integers mod 3. With that in mind, here are a couple of other generators-and-relations descriptions of some small groups. Your job is, for each one, to tell me the order of the group (i.e., the number of elements) and whether you recognize it (i.e., know some standard group that s isomorphic to it). 2. a, b a 2, b 3, a 2 ba 1 b 1 3. a, b a 4, b 2, abab 3

5 4. a a 7, a 4 5. a, b, c, d a 2, abab 1, acac 1, adad 1, ab 2, ac 2, ad 2, bcd 1, cdb 1, dbc 1. (This last one is difficult... feel free to give up. After all, it s possible that I missed some relation.) Problem 2 [10 pts] We ve studied grid homotopy with a rectangular grid. What would happen if instead we d started with a triangular grid, in which each vertex has six edges coming out of it? (It might be good to label these from 0 to 5, where edge i comes out in direction 60i degrees from the positive x-axis, measured counterclockwise.) How would you do work analogous to what we ve done so far? For instance, what would you choose as your basic moves? Would every grid-loop in the plane still be grid-homotopic to the constant grid-loop (the one with no edges)? Would grid-homotopy classes of grid-loops in the punctured plane still be in 1-1 correspondence with the integers? How would you choose to represent your triangle-grid curves? Problem 3 [10 pts] In the programming section below, you ll be writing code to interconvert among three representations of grid-loops. There s one more representation namely an edge followed by a sequence of turns, where a turn of 0 means reverse direction, 1 means turn left, 2 means go straight, and 3 means turn right. One disadvantage of this representation is that you can t represent the empty loop, since it starts with an edge. (An alternative choice would be to say that a loop always starts from the origin, having arrived there going north; then a 1 would mean that the first step was to the west, a 2 would mean north, and so on.) Describe what a hairpin insertion/deletion looks like in this labeling scheme; then described what a slide-move looks like. You may assume, for simplicity, that your hairpin or slide move is applied to a pair of edges in the middle of a long sequence of edges, i.e., there are turn numbers to both the left and right of the part you re fiddling with you don t have to worry about the corner case where the hairpin comes on the first two moves of the loop, etc. 4

6 Programming In class we discussed grid curves polygonal paths in the plane whose edges were all length-one, and whose vertices were all at integergrid points. A grid-loop is a grid path whose starting and ending points are identical. We declared two loops grid-homotopic if one could be obtained from the other by a sequence of moves of two types: 1. Deleting or inserting a hairpin, i.e., replacing a segment of the path like (i, j), (i, j + 1), (i, j) with just (i, j) [the hairpin can be in either x or y, and the +1 can be replaced by a 1, of course. 2. Sliding across a square: replacing (i, j), (i + 1, j), (i + 1, j + 1) with (i, j), (i, j + 1), (i + 1, j + 1). Note that the examples of hairpins and slides above are just examples. There are also vertically oriented harpins, etc., and you need to deal with all of them. Problem 1 [15 pts] There are three easy representations for a grid-loop: 1. a sequence of points, 2. a starting point and a sequence of edges (an edge being one of the vectors [0, 1], [1, 0], [0, 1], and [ 1, 0]), 3. a starting point and a sequence of edge-labels (like E, N, W, S for east, north, etc.) To make it easier, use 1, 2, 3, and 4 for east, north, west, and south respectively. Write a simple program for converting from each of these to each other one, in Matlab. Your points should be represented as 1 2 matrices, so a sequence of n points is an n 2 matrix. Your vectors should be represented as 1 2 matrices as well. Use structures (a Matlab data type) to represent an edge-sequence or a label-sequence, but a simple matrix to represent a point-sequence. We chose the names pseq, eseq, and lseq, so that your functions should be called pseq2lseq, etc. Each should take a single argument and return a single value, i.e., should start with function ls = pseq2lseq(ps), for example. 5

7 Hint: once you ve written three of these, the other three should be very easy to write. Details: A pseq should contain an odd number of points, with the starting point (typically (0,0)) being the same as the last point. So the constant pseq at the origin looks like 0 0 while a loop that goes around a single square looks like An eseq should have two fields, es.start, a 1 2 array containing the starting point, and es.dirs, an n 2 array containing the directions of the edges in order. An lseq should have two fields, ls.start, a 1 2 array containing the starting point, and ls.dirs, an n 1 array containing numbers 1 through 4, indicating the directions of the edges. Be very careful to give your functions the signatures we ve described, and your structures the fields we ve described; we ll be grading your code with an automatic grading script, and if your function s not there because you gave it the wrong name, you lose. Problem 2 [10 pts] A grid-loop has to be closed, i.e., have the same starting and ending point. That s an invariant of the structure, and it s easy to check in representation 1. Write programs checkeseqclosed, etc., to check that this invariant holds in representations 2 and 3. Your program should take a single argument, and return either true (if the invariant holds) or false otherwise. Problem 3 [10 pts] There are other invariants of the data structure: the points must all be on the grid, all edges must have length one, etc. For each representation, write an isvalid program to check that everything 6

8 about a particular instance of this data structure is valid. (names: isvalidpseq, isvalideseq, isvalidlseq). Once again: single argument, return single boolean result. Problem 4 [10 pts] Write a program that takes a grid loop (in pseq form!) as input and produces as output a sequence of grid-loops (in pseq form), each differing from the last by a single grid-homotopy step, and with the first being the input loop, and the last being a constant loop at the input-loop s starting point. Your input should be a pseq, and your output should be a cell array (another matlab data type) containing pseqs. Call your program findnullhomotopy(pseq). Problem 5 [10 pts] Write a program that displays the resulting homotopy, by showing the initial loop, and then repeatedly re-drawing: each subsequent drawing should show the previous loop in light grey, and the current loop in black. Use figure(gcf); pause(0.5); to pause a halfsecond between drawings. Call your program drawhomotopy(hom); the input, hom, should be a cell array of the kind produced by findnullhomotopy, so that drawhomotopy(findnullhomotopy(pseq)) is a legal invocation. Problem 6 [10 pts] Suppose that your input loop has n edges. Since the final (constant) loop will have no edges, you ll need to apply at least ceiling(n/2) hairpin-deletions during the homotopy. That means that producing the homotopy takes Ω(n) steps (where a step is a slide or a hairpin move, not an elementary operation like addition or assignment). Let s let H(n) be the greatest time required to reduce any length-n loop to a constant loop. Show that H(n) is Ω(n 2 ). Also show that it s O(n 3 ) by exhibiting an n 3 algorithm. Can you do better than O(n 3 )? 7

9 Problem 7 [0 pts] Tell us how long you spent on this problem set, and who you worked with. (Please hand in only one copy for the two of you.) 8

CS195H Homework 2 The Whitney Graustein Theorem

CS195H Homework 2 The Whitney Graustein Theorem CS195H Homework 2 The Whitney Graustein Theorem Due: February 13th, 2014 This third homework is about (a) definitions, homotopy proofs, etc, (b) an interesting mesh that we ll be looking at for the remainder

More information

Homework 8: Matrices Due: 11:59 PM, Oct 30, 2018

Homework 8: Matrices Due: 11:59 PM, Oct 30, 2018 CS17 Integrated Introduction to Computer Science Klein Homework 8: Matrices Due: 11:59 PM, Oct 30, 2018 Contents 1 Reverse (Practice) 4 2 Main Diagonal (Practice) 5 3 Horizontal Flip 6 4 Vertical Flip

More information

APPM 2460 PLOTTING IN MATLAB

APPM 2460 PLOTTING IN MATLAB APPM 2460 PLOTTING IN MATLAB. Introduction Matlab is great at crunching numbers, and one of the fundamental ways that we understand the output of this number-crunching is through visualization, or plots.

More information

CS195H Homework 5. Due:March 12th, 2015

CS195H Homework 5. Due:March 12th, 2015 CS195H Homework 5 Due:March 12th, 2015 As usual, please work in pairs. Math Stuff For us, a surface is a finite collection of triangles (or other polygons, but let s stick with triangles for now) with

More information

Unit 1, Lesson 1: Moving in the Plane

Unit 1, Lesson 1: Moving in the Plane Unit 1, Lesson 1: Moving in the Plane Let s describe ways figures can move in the plane. 1.1: Which One Doesn t Belong: Diagrams Which one doesn t belong? 1.2: Triangle Square Dance m.openup.org/1/8-1-1-2

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Basics of Computational Geometry

Basics of Computational Geometry Basics of Computational Geometry Nadeem Mohsin October 12, 2013 1 Contents This handout covers the basic concepts of computational geometry. Rather than exhaustively covering all the algorithms, it deals

More information

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

CS 403 Compiler Construction Lecture 3 Lexical Analysis [Based on Chapter 1, 2, 3 of Aho2]

CS 403 Compiler Construction Lecture 3 Lexical Analysis [Based on Chapter 1, 2, 3 of Aho2] CS 403 Compiler Construction Lecture 3 Lexical Analysis [Based on Chapter 1, 2, 3 of Aho2] 1 What is Lexical Analysis? First step of a compiler. Reads/scans/identify the characters in the program and groups

More information

Barchard Introduction to SPSS Marks

Barchard Introduction to SPSS Marks Barchard Introduction to SPSS 21.0 3 Marks Purpose The purpose of this assignment is to introduce you to SPSS, the most commonly used statistical package in the social sciences. You will create a new data

More information

Starting Boolean Algebra

Starting Boolean Algebra Boolean Algebra March 2, 27 Diagram for FunChip2 Here is a picture of FunChip2 that we created more or less randomly in class on /25 (used in various Activities): Starting Boolean Algebra Boolean algebra

More information

COMBINATORIAL METHODS IN ALGEBRAIC TOPOLOGY

COMBINATORIAL METHODS IN ALGEBRAIC TOPOLOGY COMBINATORIAL METHODS IN ALGEBRAIC TOPOLOGY 1. Geometric and abstract simplicial complexes Let v 0, v 1,..., v k be points in R n. These points determine a hyperplane in R n, consisting of linear combinations

More information

Table of Laplace Transforms

Table of Laplace Transforms Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

Barchard Introduction to SPSS Marks

Barchard Introduction to SPSS Marks Barchard Introduction to SPSS 22.0 3 Marks Purpose The purpose of this assignment is to introduce you to SPSS, the most commonly used statistical package in the social sciences. You will create a new data

More information

Here are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.

Here are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required. 1 of 10 23/07/2016 05:15 Paul's Online Math Notes Calculus III (Notes) / Line Integrals / Line Integrals - Part I Problems] [Notes] [Practice Problems] [Assignment Calculus III - Notes Line Integrals Part

More information

Instructor: Padraic Bartlett. Lecture 2: Schreier Diagrams

Instructor: Padraic Bartlett. Lecture 2: Schreier Diagrams Algebraic GT Instructor: Padraic Bartlett Lecture 2: Schreier Diagrams Week 5 Mathcamp 2014 This class s lecture continues last s class s discussion of the interplay between groups and graphs. In specific,

More information

Graphing on Excel. Open Excel (2013). The first screen you will see looks like this (it varies slightly, depending on the version):

Graphing on Excel. Open Excel (2013). The first screen you will see looks like this (it varies slightly, depending on the version): Graphing on Excel Open Excel (2013). The first screen you will see looks like this (it varies slightly, depending on the version): The first step is to organize your data in columns. Suppose you obtain

More information

Lecture 1: Overview

Lecture 1: Overview 15-150 Lecture 1: Overview Lecture by Stefan Muller May 21, 2018 Welcome to 15-150! Today s lecture was an overview that showed the highlights of everything you re learning this semester, which also meant

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Relations Let s talk about relations! Grade 6 Math Circles November 6 & 7 2018 Relations, Functions, and

More information

Chapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal.

Chapter 18 out of 37 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal. Chapter 8 out of 7 from Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff by J. M. Cargal 8 Matrices Definitions and Basic Operations Matrix algebra is also known

More information

1 Introduction to Matlab

1 Introduction to Matlab 1 Introduction to Matlab 1. What is Matlab? Matlab is a computer program designed to do mathematics. You might think of it as a super-calculator. That is, once Matlab has been started, you can enter computations,

More information

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

a b c d a b c d e 5 e 7

a b c d a b c d e 5 e 7 COMPSCI 230 Homework 9 Due on April 5, 2016 Work on this assignment either alone or in pairs. You may work with different partners on different assignments, but you can only have up to one partner for

More information

AXIOMS FOR THE INTEGERS

AXIOMS FOR THE INTEGERS AXIOMS FOR THE INTEGERS BRIAN OSSERMAN We describe the set of axioms for the integers which we will use in the class. The axioms are almost the same as what is presented in Appendix A of the textbook,

More information

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 24

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 24 Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras Lecture - 24 So in today s class, we will look at quadrilateral elements; and we will

More information

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology Intermediate Algebra Gregg Waterman Oregon Institute of Technology c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

More information

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics

: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Assignment 1: Turtle Graphics Page 1 600.112: Intro Programming for Scientists and Engineers Assignment 1: Turtle Graphics Peter H. Fröhlich phf@cs.jhu.edu Joanne Selinski joanne@cs.jhu.edu Due Date: Wednesdays

More information

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5 C++ Data Types Contents 1 Simple C++ Data Types 2 2 Quick Note About Representations 3 3 Numeric Types 4 3.1 Integers (whole numbers)............................................ 4 3.2 Decimal Numbers.................................................

More information

Notebook Assignments

Notebook Assignments Notebook Assignments These six assignments are a notebook using techniques from class in the single concrete context of graph theory. This is supplemental to your usual assignments, and is designed for

More information

Math 1505G, 2013 Graphs and Matrices

Math 1505G, 2013 Graphs and Matrices Math 505G, 0 Graphs and Matrices September 7, 0 These are some notes for the short talk I gave the other day. We ll discuss an interesting application of matrix algebra. This is outside what will be tested

More information

Finite Math - J-term Homework. Section Inverse of a Square Matrix

Finite Math - J-term Homework. Section Inverse of a Square Matrix Section.5-77, 78, 79, 80 Finite Math - J-term 017 Lecture Notes - 1/19/017 Homework Section.6-9, 1, 1, 15, 17, 18, 1, 6, 9, 3, 37, 39, 1,, 5, 6, 55 Section 5.1-9, 11, 1, 13, 1, 17, 9, 30 Section.5 - Inverse

More information

Excel Basics Fall 2016

Excel Basics Fall 2016 If you have never worked with Excel, it can be a little confusing at first. When you open Excel, you are faced with various toolbars and menus and a big, empty grid. So what do you do with it? The great

More information

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope.

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope. Rate and Change of Slope A1711 Activity Introduction Hey there, I m (name) and today I m gonna talk to you about rate of change and slope. Slope is the steepness of a line and is represented by the letter

More information

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine. 1 Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine. Three parts to this talk. A lot of content, so I

More information

Geometric Constructions

Geometric Constructions HISTORY OF MATHEMATICS Spring 2005 Geometric Constructions Notes, activities, assignment; #3 in a series. Note: I m not giving a specific due date for this somewhat vague assignment. The idea is that it

More information

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture - 8 Consistency and Redundancy in Project networks In today s lecture

More information

CS 4349 Lecture October 18th, 2017

CS 4349 Lecture October 18th, 2017 CS 4349 Lecture October 18th, 2017 Main topics for #lecture include #minimum_spanning_trees. Prelude Homework 6 due today. Homework 7 due Wednesday, October 25th. Homework 7 has one normal homework problem.

More information

Java Review. Fundamentals of Computer Science

Java Review. Fundamentals of Computer Science Java Review Fundamentals of Computer Science Link to Head First pdf File https://zimslifeintcs.files.wordpress.com/2011/12/h ead-first-java-2nd-edition.pdf Outline Data Types Arrays Boolean Expressions

More information

3 ADT Implementation in Java

3 ADT Implementation in Java Object-Oriented Design Lecture 3 CS 3500 Spring 2010 (Pucella) Tuesday, Jan 19, 2010 3 ADT Implementation in Java Last time, we defined an ADT via a signature and a specification. We noted that the job

More information

Use the Move tool to drag A around and see how the automatically constructed objects (like G or the perpendicular and parallel lines) are updated.

Use the Move tool to drag A around and see how the automatically constructed objects (like G or the perpendicular and parallel lines) are updated. Math 5335 Fall 2015 Lab #0: Installing and using GeoGebra This semester you will have a number of lab assignments which require you to use GeoGebra, a dynamic geometry program. GeoGebra lets you explore

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

Chapter 4 Determining Cell Size

Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size The third tutorial is designed to give you a demonstration in using the Cell Size Calculator to obtain the optimal cell size for your circuit

More information

Pre-Algebra Notes Unit One: Variables, Expressions, and Integers

Pre-Algebra Notes Unit One: Variables, Expressions, and Integers Pre-Algebra Notes Unit One: Variables, Expressions, and Integers Evaluating Algebraic Expressions Syllabus Objective: (.) The student will evaluate variable and numerical expressions using the order of

More information

Mathematics and Symmetry: A Bridge to Understanding

Mathematics and Symmetry: A Bridge to Understanding Mathematics and Symmetry: A Bridge to Understanding Gail Kaplan Department of Mathematics Towson University Towson, Maryland 5, USA gkaplan@towson.edu Abstract This paper describes how to teach group theory

More information

n! = 1 * 2 * 3 * 4 * * (n-1) * n

n! = 1 * 2 * 3 * 4 * * (n-1) * n The Beauty and Joy of Computing 1 Lab Exercise 9: Problem self-similarity and recursion Objectives By completing this lab exercise, you should learn to Recognize simple self-similar problems which are

More information

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss

Exploring Fractals through Geometry and Algebra. Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss Exploring Fractals through Geometry and Algebra Kelly Deckelman Ben Eggleston Laura Mckenzie Patricia Parker-Davis Deanna Voss Learning Objective and skills practiced Students will: Learn the three criteria

More information

(Refer Slide Time 5:19)

(Refer Slide Time 5:19) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 7 Logic Minimization using Karnaugh Maps In the last lecture we introduced

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

This homework has an opportunity for substantial extra credit, which is described at the end of this document.

This homework has an opportunity for substantial extra credit, which is described at the end of this document. CS 2316 Pair Homework Box Packer Due: Tuesday, June 17th, before 11:55 PM Out of 100 points Files to submit: 1. boxpacker.py For Help: - TA Helpdesk Schedule posted on class website. - Email TA's or use

More information

Chapel Hill Math Circle: Symmetry and Fractals

Chapel Hill Math Circle: Symmetry and Fractals Chapel Hill Math Circle: Symmetry and Fractals 10/7/17 1 Introduction This worksheet will explore symmetry. To mathematicians, a symmetry of an object is, roughly speaking, a transformation that does not

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module

More information

Week - 01 Lecture - 03 Euclid's Algorithm for gcd. Let us continue with our running example of gcd to explore more issues involved with program.

Week - 01 Lecture - 03 Euclid's Algorithm for gcd. Let us continue with our running example of gcd to explore more issues involved with program. Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 Euclid's Algorithm

More information

Chapter 1. Math review. 1.1 Some sets

Chapter 1. Math review. 1.1 Some sets Chapter 1 Math review This book assumes that you understood precalculus when you took it. So you used to know how to do things like factoring polynomials, solving high school geometry problems, using trigonometric

More information

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu

ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu ECON 502 INTRODUCTION TO MATLAB Nov 9, 2007 TA: Murat Koyuncu 0. What is MATLAB? 1 MATLAB stands for matrix laboratory and is one of the most popular software for numerical computation. MATLAB s basic

More information

Introduction to Computer Architecture

Introduction to Computer Architecture Boolean Operators The Boolean operators AND and OR are binary infix operators (that is, they take two arguments, and the operator appears between them.) A AND B D OR E We will form Boolean Functions of

More information

1 Pencil and Paper stuff

1 Pencil and Paper stuff Spring 2008 - Stat C141/ Bioeng C141 - Statistics for Bioinformatics Course Website: http://www.stat.berkeley.edu/users/hhuang/141c-2008.html Section Website: http://www.stat.berkeley.edu/users/mgoldman

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

Microsoft Office Excel Training

Microsoft Office Excel Training Region One ESC presents: Microsoft Office Excel Training Create your first workbook Course contents Overview: Where to begin? Lesson 1: Meet the workbook Lesson 2: Enter data Lesson 3: Edit data and revise

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have

More information

9 abcd = dcba b + 90c = c + 10b b = 10c.

9 abcd = dcba b + 90c = c + 10b b = 10c. In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

CS164: Midterm I. Fall 2003

CS164: Midterm I. Fall 2003 CS164: Midterm I Fall 2003 Please read all instructions (including these) carefully. Write your name, login, and circle the time of your section. Read each question carefully and think about what s being

More information

Catalan Numbers. Table 1: Balanced Parentheses

Catalan Numbers. Table 1: Balanced Parentheses Catalan Numbers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 00 We begin with a set of problems that will be shown to be completely equivalent. The solution to each problem

More information

Electrical Circuits and Random Walks

Electrical Circuits and Random Walks Electrical Circuits and Random Walks LA Math Circle, High School II December 2, 2018 This worksheet is largely about graphs. Whenever there is a graph G, V (G) will denote the set of vertices of G, and

More information

APPM 2460: Week Three For, While and If s

APPM 2460: Week Three For, While and If s APPM 2460: Week Three For, While and If s 1 Introduction Today we will learn a little more about programming. This time we will learn how to use for loops, while loops and if statements. 2 The For Loop

More information

An Interesting Way to Combine Numbers

An Interesting Way to Combine Numbers An Interesting Way to Combine Numbers Joshua Zucker and Tom Davis October 12, 2016 Abstract This exercise can be used for middle school students and older. The original problem seems almost impossibly

More information

3D shapes types and properties

3D shapes types and properties 3D shapes types and properties 1 How do 3D shapes differ from 2D shapes? Imagine you re giving an explana on to a younger child. What would you say and/or draw? Remember the surfaces of a 3D shape are

More information

Meeting 1 Introduction to Functions. Part 1 Graphing Points on a Plane (REVIEW) Part 2 What is a function?

Meeting 1 Introduction to Functions. Part 1 Graphing Points on a Plane (REVIEW) Part 2 What is a function? Meeting 1 Introduction to Functions Part 1 Graphing Points on a Plane (REVIEW) A plane is a flat, two-dimensional surface. We describe particular locations, or points, on a plane relative to two number

More information

UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING

UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 3 Matrix Math Introduction Reading In this lab you will write a

More information

Kuratowski Notes , Fall 2005, Prof. Peter Shor Revised Fall 2007

Kuratowski Notes , Fall 2005, Prof. Peter Shor Revised Fall 2007 Kuratowski Notes 8.30, Fall 005, Prof. Peter Shor Revised Fall 007 Unfortunately, the OCW notes on Kuratowski s theorem seem to have several things substantially wrong with the proof, and the notes from

More information

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways.

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways. Grade 9 IGCSE A1: Chapter 9 Matrices and Transformations Materials Needed: Straightedge, Graph Paper Exercise 1: Matrix Operations Matrices are used in Linear Algebra to solve systems of linear equations.

More information

NAME EET 2259 Lab 3 The Boolean Data Type

NAME EET 2259 Lab 3 The Boolean Data Type NAME EET 2259 Lab 3 The Boolean Data Type OBJECTIVES - Understand the differences between numeric data and Boolean data. -Write programs using LabVIEW s Boolean controls and indicators, Boolean constants,

More information

CS2110 Assignment 2 Lists, Induction, Recursion and Parsing, Summer

CS2110 Assignment 2 Lists, Induction, Recursion and Parsing, Summer CS2110 Assignment 2 Lists, Induction, Recursion and Parsing, Summer 2008 Due Thursday July 3, 2008, 6:00PM 0 General Instructions 0.1 Purpose This assignment will help you solidify your knowledge of Java

More information

A quick Matlab tutorial

A quick Matlab tutorial A quick Matlab tutorial Michael Robinson 1 Introduction In this course, we will be using MATLAB for computer-based matrix computations. MATLAB is a programming language/environment that provides easy access

More information

CSE/NEUBEH 528 Homework 0: Introduction to Matlab

CSE/NEUBEH 528 Homework 0: Introduction to Matlab CSE/NEUBEH 528 Homework 0: Introduction to Matlab (Practice only: Do not turn in) Okay, let s begin! Open Matlab by double-clicking the Matlab icon (on MS Windows systems) or typing matlab at the prompt

More information

Homework 3: Recursion Due: 11:59 PM, Sep 25, 2018

Homework 3: Recursion Due: 11:59 PM, Sep 25, 2018 CS17 Integrated Introduction to Computer Science Klein Homework 3: Recursion Due: 11:59 PM, Sep 25, 2018 Contents 1 Factorial 3 2 Fibonacci 4 3 Odds Only 5 4 Increment All 6 5 Frequency 6 6 Sublist 7 6.1

More information

CS 134 Programming Exercise 3:

CS 134 Programming Exercise 3: CS 134 Programming Exercise 3: Repulsive Behavior Objective: To gain experience implementing classes and methods. Note that you must bring a program design to lab this week! The Scenario. For this lab,

More information

(Refer Slide Time: 00:02:00)

(Refer Slide Time: 00:02:00) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 18 Polyfill - Scan Conversion of a Polygon Today we will discuss the concepts

More information

Grade 6 Math Circles October 16 & Non-Euclidean Geometry and the Globe

Grade 6 Math Circles October 16 & Non-Euclidean Geometry and the Globe Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Grade 6 Math Circles October 16 & 17 2018 Non-Euclidean Geometry and the Globe (Euclidean) Geometry Review:

More information

Paul's Online Math Notes. Online Notes / Algebra (Notes) / Systems of Equations / Augmented Matricies

Paul's Online Math Notes. Online Notes / Algebra (Notes) / Systems of Equations / Augmented Matricies 1 of 8 5/17/2011 5:58 PM Paul's Online Math Notes Home Class Notes Extras/Reviews Cheat Sheets & Tables Downloads Algebra Home Preliminaries Chapters Solving Equations and Inequalities Graphing and Functions

More information

We don t have much time, so we don t teach them [students]; we acquaint them with things that they can learn. Charles E. Leiserson

We don t have much time, so we don t teach them [students]; we acquaint them with things that they can learn. Charles E. Leiserson Homework 3 CS 321 - Data Structures Fall 2018 Dec 6, 2018 Name: Collaborators: We don t have much time, so we don t teach them [students]; we acquaint them with things that they can learn. Charles E. Leiserson

More information

Course contents. Overview: Goodbye, calculator. Lesson 1: Get started. Lesson 2: Use cell references. Lesson 3: Simplify formulas by using functions

Course contents. Overview: Goodbye, calculator. Lesson 1: Get started. Lesson 2: Use cell references. Lesson 3: Simplify formulas by using functions Course contents Overview: Goodbye, calculator Lesson 1: Get started Lesson 2: Use cell references Lesson 3: Simplify formulas by using functions Overview: Goodbye, calculator Excel is great for working

More information

MathZoom, Summer, 2014

MathZoom, Summer, 2014 A one-dimensional bug starts at the origin and each minute moves either left or right exactly one unit. Suppose it makes there moves with equal likelihood. That is the probability of a move to the left

More information

MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

More information

Repetition Through Recursion

Repetition Through Recursion Fundamentals of Computer Science I (CS151.02 2007S) Repetition Through Recursion Summary: In many algorithms, you want to do things again and again and again. For example, you might want to do something

More information

2. BOOLEAN ALGEBRA 2.1 INTRODUCTION

2. BOOLEAN ALGEBRA 2.1 INTRODUCTION 2. BOOLEAN ALGEBRA 2.1 INTRODUCTION In the previous chapter, we introduced binary numbers and binary arithmetic. As you saw in binary arithmetic and in the handling of floating-point numbers, there is

More information

Answers. Chapter 2. 1) Give the coordinates of the following points:

Answers. Chapter 2. 1) Give the coordinates of the following points: Answers Chapter 2 1) Give the coordinates of the following points: a (-2.5, 3) b (1, 2) c (2.5, 2) d (-1, 1) e (0, 0) f (2, -0.5) g (-0.5, -1.5) h (0, -2) j (-3, -2) 1 2) List the 48 different possible

More information

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below. Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you

More information

If Statements, For Loops, Functions

If Statements, For Loops, Functions Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements

More information

Getting Ready to Teach Unit 6

Getting Ready to Teach Unit 6 Getting Ready to Teach Unit 6 Learning Path in the Common Core Standards In this unit, students study the attributes of triangles, quadrilaterals, and other polygons. They find perimeter and area of various

More information

14.1 Encoding for different models of computation

14.1 Encoding for different models of computation Lecture 14 Decidable languages In the previous lecture we discussed some examples of encoding schemes, through which various objects can be represented by strings over a given alphabet. We will begin this

More information

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation Chapter 7 Introduction to Matrices This chapter introduces the theory and application of matrices. It is divided into two main sections. Section 7.1 discusses some of the basic properties and operations

More information

Ph3 Mathematica Homework: Week 1

Ph3 Mathematica Homework: Week 1 Ph3 Mathematica Homework: Week 1 Eric D. Black California Institute of Technology v1.1 1 Obtaining, installing, and starting Mathematica Exercise 1: If you don t already have Mathematica, download it and

More information

9 abcd = dcba b + 90c = c + 10b b = 10c.

9 abcd = dcba b + 90c = c + 10b b = 10c. In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should

More information

Bulgarian Math Olympiads with a Challenge Twist

Bulgarian Math Olympiads with a Challenge Twist Bulgarian Math Olympiads with a Challenge Twist by Zvezdelina Stankova Berkeley Math Circle Beginners Group September 0, 03 Tasks throughout this session. Harder versions of problems from last time appear

More information

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information