Announcements. John Jannotti (cs32) Design Patterns Feb 13, / 1

Size: px
Start display at page:

Download "Announcements. John Jannotti (cs32) Design Patterns Feb 13, / 1"

Transcription

1 Announcements We ll code review Stars on Thursday. Volunteer your code by ing me. Lab this week covers Ajax/Javascript. Interactive UIs. No lab (or lab hours) next week. Submit a group project idea on Piazza by Friday. Autocorrect Gear-up 6:30pm today here. (Metcalf) Science Center s Learning Exchange program is looking for student facilitators to teach this semester! LE helps middle school students develop their coding and math skills by using Scratch and Javascript to create their own games. As a facilitator, you ll work one-on-one with students, guiding them in completing their projects and introducing them to coding. It s a low-time commitment and a great way to make a difference off College Hill. If interested, please fill out this form: John Jannotti (cs32) Design Patterns Feb 13, / 1

2 Design Patterns John Jannotti /course/cs0320/www/lectures/ Feb 13, 2018 John Jannotti (cs32) Design Patterns Feb 13, / 1

3 Project Ideas League / tournament scheduler (round-robin, double elimination, matched strength) Anti-clickbait (or fake news) as a service and a browser plugin to use it. Analyze, find anomolies in large document dumps. Wait-in-line app (need to make it interesting texting, history) Good Go, Chess, Scrabble, Crossword, Poker, Bridge players Real-time Strategy Game (Ikariam, Call of War) Desktop Tower Defense (Mix up a classic.) Teleconferencing, burner numbers, other voice app (w/ Twilio) John Jannotti (cs32) Design Patterns Feb 13, / 1

4 (Bad) Project Ideas Anything with network effects. (Not enough time.) Anything that requires specific data (that you don t have). Real startup ideas (If simplistic implementation) Try to look outside the market of Any Brown Student. Find a niche. Don t just build a C.R.U.D app! John Jannotti (cs32) Design Patterns Feb 13, / 1

5 Design Patterns Designers (of all kinds) work by recycling ideas. Experience provides more & better ideas. Knowing what ideas will work when. And how to combine them into something new Patterns are a way of naming these ideas. The basic ideas themselves. The information for how & when to use them. John Jannotti (cs32) Design Patterns Feb 13, / 1

6 Patterns at multiple levels Code patterns for-loop over array indices Test a condition and acquire a lock atomically. Data structure patterns Interface X, AbstractX class. Provide iterator as inner class, Itr Design patterns Organizing classes, methods, interfaces. Architectural patterns Plugins, Thread-per-request, Client-Server, Peer-to-peer. John Jannotti (cs32) Design Patterns Feb 13, / 1

7 What is a Design Pattern? Problem to be addressed What the pattern is trying to do Motivation for using the pattern Exactly what the pattern does for you Conditions When the pattern can be applied Strengths & Weaknesses of the pattern Implementation What are the classes and methods? How are the classes related? How are the methods implemented? John Jannotti (cs32) Design Patterns Feb 13, / 1

8 Caveats These are solutions looking for problems. Understand & analyze the problem first. Then consider suitable patterns. The pattern s problem description is vital. Experience will (eventually) tell what works. Beware of added/excess complexity. A simple rule of thumb: Introduce a pattern (or, any complexity) when your code needs it, not in anticipation of needing it. YAGNI. But don t use that as an excuse. Often, general code is easier and clearer!. Think about a SIZE constant, or n-dimensional vs 3-dimensions. John Jannotti (cs32) Design Patterns Feb 13, / 1

9 Standard Patterns Design Patterns, Gamma et al. And lots of other books Anti-patterns (code smells ) Patterns can be classified by use Factory patterns Delegation patterns Structural patterns Control patterns John Jannotti (cs32) Design Patterns Feb 13, / 1

10 Factory Patterns How to create objects Without using new directly. Why? Various forms Factory class - Builders, hides multiple implementation classes Factory interface - callers provide factory to library Factory method - good for Fly-weight (below) Interesting variants Prototype: copy a sample object (But Java s clone() has problems.) Singleton: allow only one instantiation (Some recommend an enum.) Fly-weight: shared use of immutable instances (maybe copy-on-write) John Jannotti (cs32) Design Patterns Feb 13, / 1

11 Sidebar: The need for Multimaps You may have code that does this: 1 Map<Clerk, L i s t <Sale >> l e d g e r = new HashMap<>(); 2 3 p u b l i c v o i d makesale ( C l e r k c l e r k, S a l e s a l e ) { 4 L i s t <Sale > s a l e s = l e d g e r. get ( c l e r k ) ; 5 i f ( s a l e s == n u l l ) { 6 s a l e s = new A r r a y L i s t <Sale >(); 7 l e d g e r. put ( c l e r k, s a l e s ) ; 8 } 9 s a l e s. add ( s a l e ) ; 0 } John Jannotti (cs32) Design Patterns Feb 13, / 1

12 With Multimaps, you can say 1 Multimap<Clerk, Sale > l e d g e r = 2 new ArrayListMultimap <>(); 3 4 p u b l i c v o i d makesale ( C l e r k c l e r k, S a l e s a l e ) { 5 l e d g e r. put ( c l e r k, s a l e ) ; 6 } There s Multiset, too. Boy, that s handy when I need to count how often something (words, bigrams?) appears in a dataset (corpus?). John Jannotti (cs32) Design Patterns Feb 13, / 1

13 Factory use in Guava s Multimaps Clients can choose iteration order / overhead. ArrayListMultimap, HashMultimap, LinkedHashMultimap... Clients can use new or Multimaps.newXXX() Factory methods here are mostly historic, aesthetic. Immutable versions for safety ImmutableListMultimap, ImmutableSetMultimap Builder pattern is required. (two slides forward) Some are not even public classes Multimaps.newListMultimap() Multimaps.newSortedSetMultimap() Factory methods hide details. And these Factory methods take Factory objects! John Jannotti (cs32) Design Patterns Feb 13, / 1

14 Builder Pattern Avoids confusing construction for many fielded objects. 1 gc = new G r a p h i c s C o n t e x t ( 1, 30, n u l l, 2 C o l o r. RED, C o l o r. Black, 3... ) ; vs 1 gc = new G r a p h i c s C o n t e x t. B u i l d e r ( ) 2. l i n e T h i c k n e s s ( 1 ) 3. o p a c i t y (30) 4. f o r e g r o u n d ( C o l o r.red) 5. background ( C o l o r. BLACK) 6. b u i l d ( ) ; John Jannotti (cs32) Design Patterns Feb 13, / 1

15 Builder Pattern Avoids confusing construction for many fielded objects. 1 gc = new G r a p h i c s C o n t e x t ( 1, 30, n u l l, 2 C o l o r. RED, C o l o r. Black, 3... ) ; vs 1 gc = new G r a p h i c s C o n t e x t. B u i l d e r ( ) 2. l i n e T h i c k n e s s ( 1 ) 3. o p a c i t y (30) 4. f o r e g r o u n d ( C o l o r.red) 5. background ( C o l o r. BLACK) 6. b u i l d ( ) ; Make Builder a static inner class that calls the outer class s private constructor. John Jannotti (cs32) Design Patterns Feb 13, / 1

16 Builder Pattern for Collections Why must ImmutableMap offer a Builder class? 1 Map<S t r i n g, I n t e g e r > p o p u l a t i o n = 2 new ImmutableMap. B u i l d e r <S t r i n g, I n t e g e r >() 3. put ( AL, ) 4. put ( AK, ) put ( WY, ) 7. b u i l d ( ) ; John Jannotti (cs32) Design Patterns Feb 13, / 1

17 Builder Pattern for Collections Why must ImmutableMap offer a Builder class? 1 Map<S t r i n g, I n t e g e r > p o p u l a t i o n = 2 new ImmutableMap. B u i l d e r <S t r i n g, I n t e g e r >() 3. put ( AL, ) 4. put ( AK, ) put ( WY, ) 7. b u i l d ( ) ; You can t build an immutable map up bit by bit! (And you can t make a type safe varargs constructor that alternates types.) John Jannotti (cs32) Design Patterns Feb 13, / 1

18 Delegation Patterns Separate implementation and interface Multiple possible implementations Might want to reuse existing implementation Implementation might change later, be remote, be complex... Solutions Proxy real object is remote, protected, created on demand... Early hint: This is great for objects in databases. Object might be complex: Facade Translate an interface: Adapter Adding dynamic functionality: Decorator John Jannotti (cs32) Design Patterns Feb 13, / 1

19 ForwardingMultimap See ForwardingMultimap.java. It forwards every single method to a designated Multimap. 2 p u b l i c v o i d c l e a r ( ) { 3 d e l e g a t e ( ). c l e a r ( ) ; 4 } 6 p u b l i c M u l t i s e t <K> keys ( ) { 7 r e t u r n d e l e g a t e ( ). k eys ( ) ; 8 } John Jannotti (cs32) Design Patterns Feb 13, / 1

20 Decorator allows more flexibility than hierarchy 1 c l a s s LoggingMultimap<K, V> 2 e x t e n d s ForwardingMultimap<K, V> { 3 p r i v a t e Multimap<K, V> i n n e r ; 4 LoggingMultimap ( Multimap<K, V> mmap) { 5 i n n e r = mmap; 6 } p u b l i c v o i d d e l e g a t e ( ) { r e t u r n i n n e r ; } p u b l i c v o i d c l e a r ( ) { 9 s u p e r. c l e a r ( ) ; 0 System. out. p r i n t l n ( C l e a r e d a multimap ) ; 1 } 2 } You can replace a Multimap mm with new LoggingMultimap(mm) and carry on. And it works for any Multimap. (Guava provides at least 10 different implementations!) John Jannotti (cs32) Design Patterns Feb 13, / 1

21 Other Patterns Structural patterns Composite Group several of something into one of those things. Command Great for undo. Control patterns Iterator expose elements, but not container. Strategy embed algorithm in a class. Template algorithm with virtual hooks, a skeleton. Visitor apply operations to an object graph. Algorithmic patterns Observer publish-subscribe. Momento save/restore state. John Jannotti (cs32) Design Patterns Feb 13, / 1

22 Composite Pattern for Delivery Areas 1 a b s t r a c t p u b l i c c l a s s Area { 2 a b s t r a c t p u b l i c b o o l e a n c o n t a i n s ( LatLong x ) ; 3 } 4 p u b l i c c l a s s J o i n t A r e a e x t e n d s Area { 5 p r i v a t e L i s t <Area> a r e a s = new A r r a y L i s t <>(); 6 p u b l i c J o i n t A r e a ( Area... as ) { 7 f o r ( Area a : as ) 8 a r e a s. add ( a ) ; 9 } 0 p u b l i c boolean c o n t a i n s ( LatLong x ) { 1 f o r ( Area a r e a : a r e a s ) 2 i f ( a r e a. c o n t a i n s ( x ) ) 3 r e t u r n t r u e ; 4 r e t u r n f a l s e ; 5 } 6 } John Jannotti (cs32) Design Patterns Feb 13, / 1

23 Strategy in Autocorrect Your program will need to Create suggestions using a few different techniques. Rank those suggestions a couple different ways. We suggest using the Strategy pattern. Generator Ranker John Jannotti (cs32) Design Patterns Feb 13, / 1

24 Correcter.java 1 2 p u b l i c c l a s s C o r r e c t e r { 3 C o r r e c t e r ( G e n e r a t o r g, Ranker r ) {... } ; 4 S t r i n g s u g g e s t ( S t r i n g p r e v i o u s, S t r i n g l a s t ) { 5 L i s t <S t r i n g > s u g g e s t i o n s = g... ( p r e v i o u s, l a s t ) ; 6 C o l l e c t i o n s. s o r t ( s u g g e s t i o n s, r... ) ; 7 } 8 } Generator and Ranker are interfaces for Strategies abstract classes if you have a good reason How can you turn on LED and word splitting at the same time? How will you make the Comparator? Maybe the Corpus belongs in the Ranker? Maybe you need to return a Suggestion/Bigram instead of a String? Maybe there s an existing interface Ranker can implement? John Jannotti (cs32) Design Patterns Feb 13, / 1

25 Using Patterns When you run into a problem The solution isn t obvious But the problem feels common Might be encoded as a design pattern Awareness of patterns helps you notice alternatives For describing a design Experienced programmers have seen the same patterns Stating a pattern simplifies description Don t get it wrong! John Jannotti (cs32) Design Patterns Feb 13, / 1

MURA Office hours Thurs at 12-1pm in CIT 546 Contact for more info.

MURA Office hours Thurs at 12-1pm in CIT 546 Contact for more info. Course Announcements Lecture capture has begun, available from Lectures page. First two and a half weeks are packed. Testing lab done, HTML started, and Stars due next Friday. Department has a lot of student

More information

Course Announcements. John Jannotti (cs32) Scope, Collections & Generics Feb 8, / 1

Course Announcements. John Jannotti (cs32) Scope, Collections & Generics Feb 8, / 1 Course Announcements Stars is due tomorrow. Stars grades should be out by next Monday. Javascript lab out today. How you make interactive webby GUIs. Today we re going to cover a bit of a hodge podge.

More information

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface. Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti

More information

Design Patterns part I. Design Patterns part I 1/32

Design Patterns part I. Design Patterns part I 1/32 Design Patterns part I Design Patterns part I 1/32 Design Patterns part I 2/32 History Design Patterns: are derived from design patterns from architecture their name was introduced to the software engineering

More information

UI Implementation. John Jannotti. Mar 21, /course/cs0320/www/docs/lectures/ John Jannotti (cs32) UI Implementation Mar 21, / 26

UI Implementation. John Jannotti. Mar 21, /course/cs0320/www/docs/lectures/ John Jannotti (cs32) UI Implementation Mar 21, / 26 UI Implementation John Jannotti /course/cs0320/www/docs/lectures/ Mar 21, 2017 John Jannotti (cs32) UI Implementation Mar 21, 2017 1 / 26 Announcements If you won t see/work with your partner over Spring

More information

Extensibility Patterns: Extension Access

Extensibility Patterns: Extension Access Design Patterns and Frameworks Dipl.-Medieninf. Christian Piechnick INF 2080 christian.piechnick@tu-dresden.de Exercise Sheet No. 5 Software Technology Group Institute for SMT Department of Computer Science

More information

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011 Math 31 Lesson Plan Day 2: Sets; Binary Operations Elizabeth Gillaspy September 23, 2011 Supplies needed: 30 worksheets. Scratch paper? Sign in sheet Goals for myself: Tell them what you re going to tell

More information

Please bring the task to your first physics lesson and hand it to the teacher.

Please bring the task to your first physics lesson and hand it to the teacher. Pre-enrolment task for 2014 entry Physics Why do I need to complete a pre-enrolment task? This bridging pack serves a number of purposes. It gives you practice in some of the important skills you will

More information

#29: Logarithm review May 16, 2009

#29: Logarithm review May 16, 2009 #29: Logarithm review May 16, 2009 This week we re going to spend some time reviewing. I say re- view since you ve probably seen them before in theory, but if my experience is any guide, it s quite likely

More information

CSE 241 Class 1. Jeremy Buhler. August 24,

CSE 241 Class 1. Jeremy Buhler. August 24, CSE 41 Class 1 Jeremy Buhler August 4, 015 Before class, write URL on board: http://classes.engineering.wustl.edu/cse41/. Also: Jeremy Buhler, Office: Jolley 506, 314-935-6180 1 Welcome and Introduction

More information

0. Introduction 1 0. INTRODUCTION

0. Introduction 1 0. INTRODUCTION 0. Introduction 1 0. INTRODUCTION In a very rough sketch we explain what algebraic geometry is about and what it can be used for. We stress the many correlations with other fields of research, such as

More information

Hypothesis testing and the Gamma function

Hypothesis testing and the Gamma function Math 10A November 29, 2016 Announcements Please send me email to sign up for the next two (last two?) breakfasts: This Thursday (December 1) at 9AM. Next Monday (December 5), also at 9AM. Pop-in lunch

More information

CS 361 Meeting 26 11/10/17

CS 361 Meeting 26 11/10/17 CS 361 Meeting 26 11/10/17 1. Homework 8 due Announcements A Recognizable, but Undecidable Language 1. Last class, I presented a brief, somewhat inscrutable proof that the language A BT M = { M w M is

More information

Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!)

Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Announcements Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Use Spark.before, Spark.after to open and close. Use ThreadLocal, or pass the connection

More information

Comp 11 Lectures. Mike Shah. July 12, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 12, / 33

Comp 11 Lectures. Mike Shah. July 12, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 12, / 33 Comp 11 Lectures Mike Shah Tufts University July 12, 2017 Mike Shah (Tufts University) Comp 11 Lectures July 12, 2017 1 / 33 Please do not distribute or host these slides without prior permission. Mike

More information

Astronomy Course Syllabus

Astronomy Course Syllabus Astronomy Course Syllabus Course: ASTR& 100 Title: Survey of Astronomy Section: DE Term: 2017 Spring Days: Online Time: Online Location: Online Instructor: Julie Masura Phone None E-mail: Canvas intranet

More information

rethinking software design by analyzing state

rethinking software design by analyzing state rethinking software design state by analyzing Daniel Jackson Workshop Honoring Shmuel Katz Technion Dec 19, 2013 three puzzles three puzzles why are formal methods not widely used? great advances, successful

More information

1.1 Administrative Stuff

1.1 Administrative Stuff 601.433 / 601.633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Introduction, Karatsuba/Strassen Date: 9/4/18 1.1 Administrative Stuff Welcome to Algorithms! In this class you will learn the

More information

Introduction to Determining Power Law Relationships

Introduction to Determining Power Law Relationships 1 Goal Introduction to Determining Power Law Relationships Content Discussion and Activities PHYS 104L The goal of this week s activities is to expand on a foundational understanding and comfort in modeling

More information

Math 111, Introduction to the Calculus, Fall 2011 Midterm I Practice Exam 1 Solutions

Math 111, Introduction to the Calculus, Fall 2011 Midterm I Practice Exam 1 Solutions Math 111, Introduction to the Calculus, Fall 2011 Midterm I Practice Exam 1 Solutions For each question, there is a model solution (showing you the level of detail I expect on the exam) and then below

More information

Alex s Guide to Word Problems and Linear Equations Following Glencoe Algebra 1

Alex s Guide to Word Problems and Linear Equations Following Glencoe Algebra 1 Alex s Guide to Word Problems and Linear Equations Following Glencoe Algebra 1 What is a linear equation? It sounds fancy, but linear equation means the same thing as a line. In other words, it s an equation

More information

Review for Final Exam, MATH , Fall 2010

Review for Final Exam, MATH , Fall 2010 Review for Final Exam, MATH 170-002, Fall 2010 The test will be on Wednesday December 15 in ILC 404 (usual class room), 8:00 a.m - 10:00 a.m. Please bring a non-graphing calculator for the test. No other

More information

Big Bang, Black Holes, No Math

Big Bang, Black Holes, No Math ASTR/PHYS 109 Dr. David Toback Lecture 5 1 Prep For Today (is now due) L5 Reading: No new reading Unit 2 reading assigned at the end of class Pre-Lecture Reading Questions: Unit 1: Grades have been posted

More information

Sharing Objects. Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. February 15, 2017

Sharing Objects. Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. February 15, 2017 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek February 15, 2017 and /FHTenL February 15, 2017 is safe Idioms 1/34 and and is safe Idioms /FHTenL February 15, 2017 2/34 visibility

More information

Lecture 1: Introduction to IO Tom Holden

Lecture 1: Introduction to IO Tom Holden Lecture 1: Introduction to IO Tom Holden http://io.tholden.org/ Email: t.holden@surrey.ac.uk Standard office hours: Thursday, 12-1PM + 3-4PM, 29AD00 However, during term: CLASSES will be run in the first

More information

Welcome to Physics 161 Elements of Physics Fall 2018, Sept 4. Wim Kloet

Welcome to Physics 161 Elements of Physics Fall 2018, Sept 4. Wim Kloet Welcome to Physics 161 Elements of Physics Fall 2018, Sept 4 Wim Kloet 1 Lecture 1 TOPICS Administration - course web page - contact details Course materials - text book - iclicker - syllabus Course Components

More information

A Level Mathematics and Further Mathematics Essential Bridging Work

A Level Mathematics and Further Mathematics Essential Bridging Work A Level Mathematics and Further Mathematics Essential Bridging Work In order to help you make the best possible start to your studies at Franklin, we have put together some bridging work that you will

More information

Calculus II. Calculus II tends to be a very difficult course for many students. There are many reasons for this.

Calculus II. Calculus II tends to be a very difficult course for many students. There are many reasons for this. Preface Here are my online notes for my Calculus II course that I teach here at Lamar University. Despite the fact that these are my class notes they should be accessible to anyone wanting to learn Calculus

More information

Notes from Yesterday s Discussion. Big Picture. CIS 500 Software Foundations Fall November 1. Some lessons.

Notes from Yesterday s  Discussion. Big Picture. CIS 500 Software Foundations Fall November 1. Some lessons. CIS 500 Software Foundations Fall 2006 Notes from Yesterday s Email Discussion November 1 Some lessons This is generally a crunch-time in the semester Slow down a little and give people a chance to catch

More information

SUMMER ASSIGNMENT - AP PHYSICS 1 & 2

SUMMER ASSIGNMENT - AP PHYSICS 1 & 2 Welcome to AP Physics! SUMMER ASSIGNMENT - AP PHYSICS 1 & 2 Follow the instructions carefully. The assignment consists of 3 parts as detailed below. The first two parts require you to buy supplies and

More information

DP Project Development Pvt. Ltd.

DP Project Development Pvt. Ltd. Dear Sir/Madam, Greetings!!! Thanks for contacting DP Project Development for your training requirement. DP Project Development is leading professional training provider in GIS technologies and GIS application

More information

CS Java. Introduction to Java. Andy Mroczkowski Department of Computer Science Drexel University

CS Java. Introduction to Java. Andy Mroczkowski Department of Computer Science Drexel University CS 190 - Java Introduction to Java Andy Mroczkowski uamroczk@cs.drexel.edu Department of Computer Science Drexel University February 18, 2008 / Lecture 5 Outline Course Status Course Information & Schedule

More information

Preparing for the CS 173 (A) Fall 2018 Midterm 1

Preparing for the CS 173 (A) Fall 2018 Midterm 1 Preparing for the CS 173 (A) Fall 2018 Midterm 1 1 Basic information Midterm 1 is scheduled from 7:15-8:30 PM. We recommend you arrive early so that you can start exactly at 7:15. Exams will be collected

More information

Announcements Wednesday, August 30

Announcements Wednesday, August 30 Announcements Wednesday, August 30 WeBWorK due on Friday at 11:59pm. The first quiz is on Friday, during recitation. It covers through Monday s material. Quizzes mostly test your understanding of the homework.

More information

Lecture 4 Scribe Notes

Lecture 4 Scribe Notes 6.890 Algorithmic Lower Bounds and Hardness Proofs Fall 2014 Erik Demaine Lecture 4 Scribe Notes 1 Welcome Quiet on set. Today we start a series of lectures on Satisfiability. We saw little bit about this

More information

Physics Fall Semester. Sections 1 5. Please find a seat. Keep all walkways free for safety reasons and to comply with the fire code.

Physics Fall Semester. Sections 1 5. Please find a seat. Keep all walkways free for safety reasons and to comply with the fire code. Physics 222 2018 Fall Semester Sections 1 5 Please find a seat. Keep all walkways free for safety reasons and to comply with the fire code. Electronic Devices Please separate your professional from your

More information

CSC236 Week 4. Larry Zhang

CSC236 Week 4. Larry Zhang CSC236 Week 4 Larry Zhang 1 Announcements PS2 due on Friday This week s tutorial: Exercises with big-oh PS1 feedback People generally did well Writing style need to be improved. This time the TAs are lenient,

More information

Prerequisite: one year of high school chemistry and MATH 1314

Prerequisite: one year of high school chemistry and MATH 1314 Chemistry 1411 COURSE SYLLABUS CRN 70200, Fall 2015 Time: Tuesday & Thursday 12:00 PM~3:00 PM (08/24~12/13) Instructor: Dr. Sudha Rani (Available before/after the class by appointment) Phone: 716-560-5491

More information

Newton s Law of Motion

Newton s Law of Motion Newton s Law of Motion Physics 211 Syracuse University, Physics 211 Spring 2019 Walter Freeman February 7, 2019 W. Freeman Newton s Law of Motion February 7, 2019 1 / 21 Announcements Homework 3 due next

More information

Math 31 Lesson Plan. Day 5: Intro to Groups. Elizabeth Gillaspy. September 28, 2011

Math 31 Lesson Plan. Day 5: Intro to Groups. Elizabeth Gillaspy. September 28, 2011 Math 31 Lesson Plan Day 5: Intro to Groups Elizabeth Gillaspy September 28, 2011 Supplies needed: Sign in sheet Goals for students: Students will: Improve the clarity of their proof-writing. Gain confidence

More information

Intermediate Logic. Natural Deduction for TFL

Intermediate Logic. Natural Deduction for TFL Intermediate Logic Lecture Two Natural Deduction for TFL Rob Trueman rob.trueman@york.ac.uk University of York The Trouble with Truth Tables Natural Deduction for TFL The Trouble with Truth Tables The

More information

Physics 162a Quantum Mechanics

Physics 162a Quantum Mechanics Physics 162a Quantum Mechanics 1 Introduction Syllabus for Fall 2009 This is essentially a standard first-year course in quantum mechanics, the basic language for describing physics at the atomic and subatomic

More information

MATH 243E Test #3 Solutions

MATH 243E Test #3 Solutions MATH 4E Test # Solutions () Find a recurrence relation for the number of bit strings of length n that contain a pair of consecutive 0s. You do not need to solve this recurrence relation. (Hint: Consider

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

Announcements Wednesday, August 30

Announcements Wednesday, August 30 Announcements Wednesday, August 30 WeBWorK due on Friday at 11:59pm. The first quiz is on Friday, during recitation. It covers through Monday s material. Quizzes mostly test your understanding of the homework.

More information

INF 4140: Models of Concurrency Series 3

INF 4140: Models of Concurrency Series 3 Universitetet i Oslo Institutt for Informatikk PMA Olaf Owe, Martin Steffen, Toktam Ramezani INF 4140: Models of Concurrency Høst 2016 Series 3 14. 9. 2016 Topic: Semaphores (Exercises with hints for solution)

More information

Project # Embedded System Engineering

Project # Embedded System Engineering Project #8 18-649 Embedded System Engineering Note: Course slides shamelessly stolen from lecture All course notes Copyright 2006-2013, Philip Koopman, All Rights Reserved Announcements and Administrative

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Asymptotic Analysis, recurrences Date: 9/7/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Asymptotic Analysis, recurrences Date: 9/7/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Asymptotic Analysis, recurrences Date: 9/7/17 2.1 Notes Homework 1 will be released today, and is due a week from today by the beginning

More information

CHEMISTRY 100 : CHEMISTRY and MAN

CHEMISTRY 100 : CHEMISTRY and MAN CHEMISTRY 100 : CHEMISTRY and MAN Course Syllabus and Schedule Spring 2011 (CRN 33242) Instructor. Dr. Harry Davis. Office is in Kokio 116, the phone is 734-9186 and messages may be left on the answering

More information

Position and Displacement

Position and Displacement Position and Displacement Ch. in your text book Objectives Students will be able to: ) Explain the difference between a scalar and a vector quantity ) Explain the difference between total distance traveled

More information

SUMMER ASSIGNMENT - AP PHYSICS 1 & 2

SUMMER ASSIGNMENT - AP PHYSICS 1 & 2 Welcome to AP Physics! SUMMER ASSIGNMENT - AP PHYSICS 1 & 2 Please follow the instructions carefully. The assignment consists of 3 parts as detailed below. The first two parts require you to buy supplies

More information

Key Questions: Where are Alaska s volcanoes? How many volcanoes are found in Alaska?

Key Questions: Where are Alaska s volcanoes? How many volcanoes are found in Alaska? Key Questions: Where are Alaska s volcanoes? How many volcanoes are found in Alaska? Unit 1 Grade levels: At a basic level, these activities are appropriate for grades 3-6; with suggested extensions for

More information

Conceptual Explanations: Simultaneous Equations Distance, rate, and time

Conceptual Explanations: Simultaneous Equations Distance, rate, and time Conceptual Explanations: Simultaneous Equations Distance, rate, and time If you travel 30 miles per hour for 4 hours, how far do you go? A little common sense will tell you that the answer is 120 miles.

More information

Section 2.7 Solving Linear Inequalities

Section 2.7 Solving Linear Inequalities Section.7 Solving Linear Inequalities Objectives In this section, you will learn to: To successfully complete this section, you need to understand: Add and multiply an inequality. Solving equations (.1,.,

More information

Physics Motion Math. (Read objectives on screen.)

Physics Motion Math. (Read objectives on screen.) Physics 302 - Motion Math (Read objectives on screen.) Welcome back. When we ended the last program, your teacher gave you some motion graphs to interpret. For each section, you were to describe the motion

More information

Section 4.6 Negative Exponents

Section 4.6 Negative Exponents Section 4.6 Negative Exponents INTRODUCTION In order to understand negative exponents the main topic of this section we need to make sure we understand the meaning of the reciprocal of a number. Reciprocals

More information

Big Bang, Black Holes, No Math

Big Bang, Black Holes, No Math ASTR/PHYS 109 Dr. David Toback Lectures 10, 11 & 12 1 Prep For Today (is now due) L12 Reading: (BBBHNM Unit 2) Pre-Lecture Reading Questions: If you were misgraded, need help or an extension let me know

More information

Dr. Korey Haynes. 1 cardstock 5 sticky notes A colored pencil Syllabus Activity sheet Study Points sheet. On your way in please grab:

Dr. Korey Haynes. 1 cardstock 5 sticky notes A colored pencil Syllabus Activity sheet Study Points sheet. On your way in please grab: MCTC Astronomy ASTR1100 Dr. Korey Haynes On your way in please grab: 1 cardstock 5 sticky notes A colored pencil Syllabus Activity sheet Study Points sheet NASA,/ESA/J. Hester and A. Loll (ASU) Today:

More information

Chemistry A Course Syllabus

Chemistry A Course Syllabus Chemistry A Course Syllabus Course Description: Chemistry A is designed to acquaint you with topics in chemistry, including the science of chemistry, matter and energy, atomic structure, the periodic table,

More information

MAT01A1. Numbers, Inequalities and Absolute Values. (Appendix A)

MAT01A1. Numbers, Inequalities and Absolute Values. (Appendix A) MAT01A1 Numbers, Inequalities and Absolute Values (Appendix A) Dr Craig 8 February 2017 Leftovers from yesterday: lim n i=1 3 = lim n n 3 = lim n n n 3 i ) 2 ] + 1 n[( n ( n i 2 n n + 2 i=1 i=1 3 = lim

More information

Safety: BE SURE TO KEEP YOUR SMART CART UPSIDE-DOWN WHEN YOU RE NOT ACTIVELY USING IT TO RECORD DATA.

Safety: BE SURE TO KEEP YOUR SMART CART UPSIDE-DOWN WHEN YOU RE NOT ACTIVELY USING IT TO RECORD DATA. Why do people always ignore Objective: 1. Determine how an object s mass affects the friction it experiences. 2. Compare the coefficient of static friction to the coefficient of kinetic friction for each

More information

Equations, Inequalities, and Problem Solving

Equations, Inequalities, and Problem Solving M0_BITT717_0_C0_01 pp.qxd 10/7/0 : PM Page 77 Equations, Inequalities, and Problem Solving Deborah Elias EVENT COORDINATOR Houston, Texas As an event planner, I am constantly using math. Calculations range

More information

Mrs. Quire - AP Physics 1 Summer Review

Mrs. Quire - AP Physics 1 Summer Review Mrs. Quire - P Physics Summer eview 08-09 Welcome to my P Physics class! It is an algebra based, college level course that will be interesting but challenging! P Physics is NOT an honors level course;

More information

Physics 351 Wednesday, January 10, 2018

Physics 351 Wednesday, January 10, 2018 Physics 351 Wednesday, January 10, 2018 Chapers 1 5 mostly review freshman physics, so we ll go through them very quickly in the first few days of class. Read Chapters 1+2 for Friday. Read Chapter 3 (momentum

More information

Linear algebra and differential equations (Math 54): Lecture 10

Linear algebra and differential equations (Math 54): Lecture 10 Linear algebra and differential equations (Math 54): Lecture 10 Vivek Shende February 24, 2016 Hello and welcome to class! As you may have observed, your usual professor isn t here today. He ll be back

More information

Appendix 4 Weather. Weather Providers

Appendix 4 Weather. Weather Providers Appendix 4 Weather Using weather data in your automation solution can have many benefits. Without weather data, your home automation happens regardless of environmental conditions. Some things you can

More information

Methods of Mathematics

Methods of Mathematics Methods of Mathematics Kenneth A. Ribet UC Berkeley Math 10B April 19, 2016 There is a new version of the online textbook file Matrix_Algebra.pdf. The next breakfast will be two days from today, April

More information

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018 CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts

More information

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Lecture 02 Groups: Subgroups and homomorphism (Refer Slide Time: 00:13) We looked

More information

No. of Days. Building 3D cities Using Esri City Engine ,859. Creating & Analyzing Surfaces Using ArcGIS Spatial Analyst 1 7 3,139

No. of Days. Building 3D cities Using Esri City Engine ,859. Creating & Analyzing Surfaces Using ArcGIS Spatial Analyst 1 7 3,139 Q3 What s New? Creating and Editing Data with ArcGIS Pro Editing and Maintaining Parcels Using ArcGIS Spatial Analysis Using ArcGIS Pro User Workflows for ArcGIS Online Organizations Q3-2018 ArcGIS Desktop

More information

SEVERE WEATHER PLAN FOR INSTITUTE OF TECHNOLOGY TALLAGHT

SEVERE WEATHER PLAN FOR INSTITUTE OF TECHNOLOGY TALLAGHT SEVERE WEATHER PLAN FOR INSTITUTE OF TECHNOLOGY TALLAGHT I. GENERAL A. This plan identifies IT Tallaght s response to severe weather warnings or conditions as experienced on campus or as communicated by

More information

Lecture 1: Asymptotic Complexity. 1 These slides include material originally prepared by Dr.Ron Cytron, Dr. Jeremy Buhler, and Dr. Steve Cole.

Lecture 1: Asymptotic Complexity. 1 These slides include material originally prepared by Dr.Ron Cytron, Dr. Jeremy Buhler, and Dr. Steve Cole. Lecture 1: Asymptotic Complexity 1 These slides include material originally prepared by Dr.Ron Cytron, Dr. Jeremy Buhler, and Dr. Steve Cole. Announcements TA office hours officially start this week see

More information

DIFFERENTIAL EQUATIONS

DIFFERENTIAL EQUATIONS DIFFERENTIAL EQUATIONS Basic Concepts Paul Dawkins Table of Contents Preface... Basic Concepts... 1 Introduction... 1 Definitions... Direction Fields... 8 Final Thoughts...19 007 Paul Dawkins i http://tutorial.math.lamar.edu/terms.aspx

More information

MAT01A1. Numbers, Inequalities and Absolute Values. (Appendix A)

MAT01A1. Numbers, Inequalities and Absolute Values. (Appendix A) MAT01A1 Numbers, Inequalities and Absolute Values (Appendix A) Dr Craig 7 February 2018 Leftovers from yesterday: lim n i=1 3 = lim n n 3 = lim n n n 3 i ) 2 ] + 1 n[( n ( n i 2 n n + 2 i=1 i=1 3 = lim

More information

Analog Computing: a different way to think about building a (quantum) computer

Analog Computing: a different way to think about building a (quantum) computer Analog Computing: a different way to think about building a (quantum) computer November 24, 2016 1 What is an analog computer? Most of the computers we have around us today, such as desktops, laptops,

More information

How to handle and solve a linear equation (what s a linear equation?) How to draw the solution set for a linear inequality

How to handle and solve a linear equation (what s a linear equation?) How to draw the solution set for a linear inequality Study guide for final exam, Math 1090 - College Algebra for Business and Social Sciences This guide is meant to be a help on studying what I think is most important important that you learn form this exam,

More information

Group Member Names: You may work in groups of two, or you may work alone. Due November 20 in Class!

Group Member Names: You may work in groups of two, or you may work alone. Due November 20 in Class! Galaxy Classification and Their Properties Group Member Names: You may work in groups of two, or you may work alone. Due November 20 in Class! Learning Objectives Classify a collection of galaxies based

More information

Gearing Up for Geometry!

Gearing Up for Geometry! Gearing Up for Geometry! Geometry is right around the corner and you need to make sure you are ready! Many of the concepts you learned in Algebra I will be used in Geometry and you will be epected to remember

More information

Prealgebra. Edition 5

Prealgebra. Edition 5 Prealgebra Edition 5 Prealgebra, Edition 5 2009, 2007, 2005, 2004, 2003 Michelle A. Wyatt (M A Wyatt) 2009, Edition 5 Michelle A. Wyatt, author Special thanks to Garry Knight for many suggestions for the

More information

Factory method - Increasing the reusability at the cost of understandability

Factory method - Increasing the reusability at the cost of understandability Factory method - Increasing the reusability at the cost of understandability The author Linkping University Linkping, Sweden Email: liuid23@student.liu.se Abstract This paper describes how Bansiya and

More information

Page 1 of 5 Printed: 2/4/09

Page 1 of 5 Printed: 2/4/09 Course Goal: CHEN 205 - Chemical Engineering Thermodynamics I, Credit 3 (3-0) Spring 2009, TuTh 9:35 10:50, Brown 102 (a) To introduce students to the fundamental concepts and laws of thermodynamics; and

More information

EQ: How do I convert between standard form and scientific notation?

EQ: How do I convert between standard form and scientific notation? EQ: How do I convert between standard form and scientific notation? HW: Practice Sheet Bellwork: Simplify each expression 1. (5x 3 ) 4 2. 5(x 3 ) 4 3. 5(x 3 ) 4 20x 8 Simplify and leave in standard form

More information

We ll start today by learning how to change a decimal to a fraction on our calculator! Then we will pick up our Unit 1-5 Review where we left off!

We ll start today by learning how to change a decimal to a fraction on our calculator! Then we will pick up our Unit 1-5 Review where we left off! Welcome to math! We ll start today by learning how to change a decimal to a fraction on our calculator! Then we will pick up our Unit 1-5 Review where we left off! So go back to your normal seat and get

More information

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: Specification Patterns Copyright 2001-2002, Matt Dwyer, John Hatcliff, Robby. The syllabus and all lectures for this

More information

Bridging the gap between GCSE and A level mathematics

Bridging the gap between GCSE and A level mathematics Bridging the gap between GCSE and A level mathematics This booklet is designed to help you revise important algebra topics from GCSE and make the transition from GCSE to A level a smooth one. You are advised

More information

Unit 08 Work and Kinetic Energy. Stuff you asked about:

Unit 08 Work and Kinetic Energy. Stuff you asked about: Unit 08 Work and Kinetic Energy Today s Concepts: Work & Kinetic Energy Work in a non-constant direction Work by springs Mechanics Lecture 7, Slide 1 Stuff you asked about: Can we go over the falling,

More information

ED 357/358 - FIELD EXPERIENCE - LD & EI LESSON DESIGN & DELIVERY LESSON PLAN #4

ED 357/358 - FIELD EXPERIENCE - LD & EI LESSON DESIGN & DELIVERY LESSON PLAN #4 ED 357/358 - FIELD EXPERIENCE - LD & EI LESSON DESIGN & DELIVERY LESSON PLAN #4 Your Name: Sarah Lidgard School: Bentheim Elementary School Lesson: Telling Time Length: approx. 50 minutes Cooperating Teacher:

More information

Matrix Calculations: Inner Products & Orthogonality

Matrix Calculations: Inner Products & Orthogonality Matrix Calculations: Inner Products & Orthogonality A. Kissinger (and H. Geuvers) Institute for Computing and Information Sciences Version: spring 2016 A. Kissinger (and H. Geuvers) Version: spring 2016

More information

Newton s Law of Motion

Newton s Law of Motion Newton s Law of Motion Physics 211 Syracuse University, Physics 211 Spring 2019 Walter Freeman February 11, 2019 W. Freeman Newton s Law of Motion February 11, 2019 1 / 1 Announcements Homework 3 due Friday

More information

TEACHING NUMERICAL LINEAR ALGEBRA AT THE UNDERGRADUATE LEVEL by Biswa Nath Datta Department of Mathematical Sciences Northern Illinois University

TEACHING NUMERICAL LINEAR ALGEBRA AT THE UNDERGRADUATE LEVEL by Biswa Nath Datta Department of Mathematical Sciences Northern Illinois University TEACHING NUMERICAL LINEAR ALGEBRA AT THE UNDERGRADUATE LEVEL by Biswa Nath Datta Department of Mathematical Sciences Northern Illinois University DeKalb, IL 60115 E-mail: dattab@math.niu.edu What is Numerical

More information

WSMA Algebra - Expressions Lesson 14

WSMA Algebra - Expressions Lesson 14 Algebra Expressions Why study algebra? Because this topic provides the mathematical tools for any problem more complicated than just combining some given numbers together. Algebra lets you solve word problems

More information

30. TRANSFORMING TOOL #1 (the Addition Property of Equality)

30. TRANSFORMING TOOL #1 (the Addition Property of Equality) 30 TRANSFORMING TOOL #1 (the Addition Property of Equality) sentences that look different, but always have the same truth values What can you DO to a sentence that will make it LOOK different, but not

More information

No. of Days. ArcGIS 3: Performing Analysis ,431. Building 3D cities Using Esri City Engine ,859

No. of Days. ArcGIS 3: Performing Analysis ,431. Building 3D cities Using Esri City Engine ,859 What s New? Creating Story Maps with ArcGIS Field Data Collection and Management Using ArcGIS Get Started with Insights for ArcGIS Introduction to GIS Using ArcGIS & ArcGIS Pro: Essential Workflow Migrating

More information

No. of Days. ArcGIS Pro for GIS Professionals ,431. Building 3D cities Using Esri City Engine ,859

No. of Days. ArcGIS Pro for GIS Professionals ,431. Building 3D cities Using Esri City Engine ,859 What s New? Creating Story Maps with ArcGIS Field Data Collection and Management Using ArcGIS Get Started with Insights for ArcGIS Introduction to GIS Using ArcGIS & ArcGIS Pro: Essential Workflow Migrating

More information

CS 2110: INDUCTION DISCUSSION TOPICS

CS 2110: INDUCTION DISCUSSION TOPICS CS 110: INDUCTION DISCUSSION TOPICS The following ideas are suggestions for how to handle your discussion classes. You can do as much or as little of this as you want. You can either present at the board,

More information

1 Closest Pair of Points on the Plane

1 Closest Pair of Points on the Plane CS 31: Algorithms (Spring 2019): Lecture 5 Date: 4th April, 2019 Topic: Divide and Conquer 3: Closest Pair of Points on a Plane Disclaimer: These notes have not gone through scrutiny and in all probability

More information

Textbooks, supplies and other Resources TITLE: CHEMISTRY: A MOLECULAR APPROACH EDITION:4 TH EDITION

Textbooks, supplies and other Resources TITLE: CHEMISTRY: A MOLECULAR APPROACH EDITION:4 TH EDITION January 2017 Tulsa Community College General Chemistry I Syllabus Spring 2017 Course: CHE 1315 Section: 101 Call #: 23394 About the Course COURSE PREREQUISITES: Prerequisite course required MTH - 1513

More information

Theory of Computation Prof. Raghunath Tewari Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Theory of Computation Prof. Raghunath Tewari Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Theory of Computation Prof. Raghunath Tewari Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Lecture 10 GNFA to RE Conversion Welcome to the 10th lecture of this course.

More information

CS 361: Probability & Statistics

CS 361: Probability & Statistics March 14, 2018 CS 361: Probability & Statistics Inference The prior From Bayes rule, we know that we can express our function of interest as Likelihood Prior Posterior The right hand side contains the

More information

MA 510 ASSIGNMENT SHEET Spring 2009 Text: Vector Calculus, J. Marsden and A. Tromba, fifth edition

MA 510 ASSIGNMENT SHEET Spring 2009 Text: Vector Calculus, J. Marsden and A. Tromba, fifth edition MA 510 ASSIGNMENT SHEET Spring 2009 Text: Vector Calculus, J. Marsden and A. Tromba, fifth edition This sheet will be updated as the semester proceeds, and I expect to give several quizzes/exams. the calculus

More information