Announcements. John Jannotti (cs32) Design Patterns Feb 13, / 1
|
|
- Hugo Park
- 6 years ago
- Views:
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.
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 informationCourse 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 informationCourse 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 informationDesign 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 informationUI 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 informationExtensibility 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 informationMath 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 informationPlease 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 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 informationCSE 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 information0. 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 informationHypothesis 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 informationCS 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 informationMaps 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 informationComp 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 informationAstronomy 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 informationrethinking 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 information1.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 informationIntroduction 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 informationMath 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 informationAlex 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 informationReview 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 informationBig 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 informationSharing 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 informationLecture 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 informationWelcome 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 informationA 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 informationCalculus 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 informationNotes 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 informationSUMMER 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 informationDP 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 informationCS 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 informationPreparing 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 informationAnnouncements 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 informationLecture 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 informationPhysics 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 informationCSC236 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 informationPrerequisite: 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 informationNewton 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 informationMath 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 informationIntermediate 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 informationPhysics 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 informationMATH 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 informationDay 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 informationAnnouncements 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 informationINF 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 informationProject # 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
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 informationCHEMISTRY 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 informationPosition 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 informationSUMMER 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 informationKey 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 informationConceptual 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 informationSection 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 informationPhysics 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 informationSection 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 informationBig 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 informationDr. 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 informationChemistry 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 informationMAT01A1. 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 informationSafety: 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 informationEquations, 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 informationMrs. 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 informationPhysics 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 informationLinear 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 informationAppendix 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 informationMethods 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 informationCS 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 informationModern 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 informationNo. 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 informationSEVERE 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 informationLecture 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 informationDIFFERENTIAL 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 informationMAT01A1. 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 informationAnalog 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 informationHow 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 informationGroup 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 informationGearing 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 informationPrealgebra. 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 informationFactory 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 informationPage 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 informationEQ: 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 informationWe 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 informationCIS 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 informationBridging 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 informationUnit 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 informationED 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 informationMatrix 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 informationNewton 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 informationTEACHING 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 informationWSMA 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 information30. 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 informationNo. 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 informationNo. 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 informationCS 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 information1 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 informationTextbooks, 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 informationTheory 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 informationCS 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 informationMA 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