Size: px
Start display at page:

Download ""

Transcription

1

2

3

4

5

6

7

8

9 enterprise, noun a project or undertaking that is especially bold, complicated or arduous readiness to engage in undertakings of difficulty, risk, danger or daring a design of which the execution is attempted a commercial or industrial undertaking a firm, company or business a unit of economic organisation or activity Concise Oxford English Dictionary Oxford English Dictionary Merriam-Webster's Collegiate Dictionary

10 enterprise, noun a project or undertaking that is especially bold, complicated or arduous readiness to engage in undertakings of difficulty, risk, danger or daring a design of which the execution is attempted a commercial or industrial undertaking a firm, company or business a unit of economic organisation or activity Concise Oxford English Dictionary Oxford English Dictionary Merriam-Webster's Collegiate Dictionary

11 code, noun a set of instructions for a computer a computer program, or a portion thereof a system of words, figures or symbols used to represent others, especially for the purposes of secrecy a set of conventions or principles governing behaviour or activity in a particular domain Concise Oxford English Dictionary Oxford English Dictionary Merriam-Webster's Collegiate Dictionary

12 Fizz buzz is a group word game for children to teach them about division.

13 Players generally sit in a circle. The player designated to go first says the number "1", and each player thenceforth counts one number in turn. However, any number divisible by three is replaced by the word fizz and any divisible by five by the word buzz. Numbers divisible by both become fizz buzz. A player who hesitates or makes a mistake is eliminated from the game.

14 Players generally sit in a circle. The player designated to go first says the number "1", and each player thenceforth counts one number in turn. However, any number divisible by three is replaced by the word fizz and any divisible by five by the word buzz. Numbers divisible by both become fizz buzz. A player who hesitates or makes a mistake is eliminated from the game.

15 Adults may play Fizz buzz as a drinking game, where making a mistake leads to the player having to make a drinking-related forfeit. [citation needed]

16 Fizz buzz has been used as an interview screening device for computer programmers.

17 FizzBuzz was invented to avoid the awkwardness of realising that nobody in the room can binary search an array.

18 public static String fizzbuzz(int n) { String result = ""; if (n % 3 == 0) { result += "Fizz"; } if (n % 5 == 0) { result += "Buzz"; } if (result.isempty()) { result += n; } return result; }

19 I have yet to see any problem, however complicated, which, when you looked at it in the right way, did not become still more complicated. Anderson's Law

20

21

22 Architecture is the art of how to waste space. Philip Johnson

23 fizzbuzz = ( lambda n: 'Fizz' * (n % 3 == 0) + 'Buzz' * (n % 5 == 0) + str(n) * (n % 3!= 0 and n % 5!= 0))

24 fizzes = cycle ["", "", "Fizz"] buzzes = cycle ["", "", "", "", "Buzz"] words = zipwith (++) fizzes buzzes numbers = map show [1..] fizzbuzz = zipwith max words numbers

25 Signal-to-noise ratio (often abbreviated SNR or S/N) is a measure used in science and engineering that compares the level of a desired signal to the level of background noise. Signal-to-noise ratio is sometimes used informally to refer to the ratio of useful information to false or irrelevant data in a conversation or exchange.

26

27

28 To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? William Shakespeare Hamlet

29 Continuing existence or cessation of existence: those are the scenarios. Is it more empowering mentally to work towards an accommodation of the downsizings and negative outcomes of adversarial circumstance, or would it be a greater enhancement of the bottom line to move forwards to a challenge to our current difficulties, and, by making a commitment to opposition, to effect their demise? Tom Burton Long Words Bother Me

30 Continuing existence or cessation of existence: those are the more empowe to work towa accommodati downsizings outcomes of circumstance a greater enh the bottom li forwards to a our current d by making a opposition, t demise?

31 Naomi Epel The Observation Deck

32

33 OBJECT-ORIENTED VenetianBlind Door Television Glass Picture Peephole TelevisionRemoteControl Sofa

34

35

36

37 People will be using the words you choose in their conversation for the next 20 years. You want to be sure you do it right.

38 package com.sun...;

39 Public APIs, like diamonds, are forever. Joshua Bloch "Bumper-Sticker API Design"

40 People will be using the words you choose in their conversation for the next 20 years. You want to be sure you do it right. Unfortunately, many people get all formal [...]. Just calling it what it is isn't enough.

41 They have to tack on a flowery, computer science-y, impressive sounding, but ultimately meaningless word, like Object, Thing, Component, Part, Manager, Entity, or Item.

42 public class ConfigurationManager {... }

43 public class Configuration {... }

44 public interface ConditionChecker { boolean checkcondition();... }

45 public interface Condition { boolean istrue();... }

46

47

48

49 When it is not necessary to change, it is necessary not to change. Lucius Cary

50 public class Money implements... {... public int getunits()... public int gethundredths()... public Currency getcurrency() public void setunits(int newunits)... public void sethundredths(int newhundredths)... public void setcurrency(currency newcurrency) }

51 public final class Money implements... {... public int getunits()... public int gethundredths()... public Currency getcurrency() }

52 public final class Money implements... {... public int units()... public int hundredths()... public Currency currency() }

53

54 Some people, when confronted with a problem, think, "I know, I'll use threads," and then two they hav erpoblesms. Ned Batchelder

55 All computers wait at the same speed.

56 Mutable Unshared mutable data needs no synchronisation Shared mutable data needs synchronisation Unshared Unshared immutable data needs no synchronisation Shared immutable data needs no synchronisation Shared Immutable

57 Mutable The Synchronisation Quadrant Unshared mutable data needs no synchronisation Shared mutable data needs synchronisation Unshared Unshared immutable data needs no synchronisation Shared immutable data needs no synchronisation Shared Immutable

58 Shared memory is like a canvas where threads collaborate in painting images, except that they stand on the opposite sides of the canvas and use guns rather than brushes. The only way they can avoid killing each other is if they shout "duck!" before opening fire. Bartosz Milewski "Functional Data Structures and Concurrency in C++"

59 Cargo cult programming is a style of computer programming characterized by the ritual inclusion of code or program structures that serve no real purpose.

60

61 Cargo cult programming is a style of computer programming characterized by the ritual inclusion of code or program structures that serve no real purpose. Cargo cult programming can also refer to the results of applying a design pattern or coding style blindly without understanding the reasons behind that design principle.

62

63 Rien n'est plus dangereux qu'une idée, quand on n'a qu'une idée. Émile-Auguste Chartier

64 Nothing is more dangerous than an idea, when you have only one idea. Émile-Auguste Chartier

65 Nothing is more dangerous than an IDE, when you have only one IDE.

66 I currently have an average of imports in each source file, which is seriously making my code mixed-up and confusing. Is too many imports in your code a bad thing? Is there any way around this?

67 It's normal in Java world to have a lot of imports. Not importing whole packages is good practice. It's a good practice to import class by class instead of importing whole packages.

68 Why?

69 It is not a problem. Any IDE will manage imports and show them to you only when needed. Most IDEs support code folding where all the imports are folded down to one line. I rarely even see my imports these days as the IDE manages them and hides them as well. Any good IDE, such as Eclipse, will collapse the imports in one line, and you can expand them when needed, so they won't clutter your view.

70

71 It is not a problem. Any IDE will manage imports and show them to you only when needed. Most IDEs support code folding where all the imports are folded down to one line. I rarely even see my imports these days as the IDE manages them and hides them as well. Any good IDE, such as Eclipse, will collapse the imports in one line, and you can expand them when needed, so they won't clutter your view.

72 It is not a problem. Any IDE will manage imports and show them to you only when needed. Most IDEs support code folding where all the imports are folded down to one line. I rarely even see my imports these days as the IDE manages them and hides them as well. Any good IDE, such as Eclipse, will collapse the imports in one line, and you can expand them when needed, so they won't clutter your view.

73 What is the Matrix? Control. The Matrix is a computer-generated dream world built to keep us under control in order to change a human being into this. Warner Bros.

74 I currently have an average of imports in each source file, which is seriously making my code mixed-up and confusing. Is too many imports in your code a bad thing? Is there any way around this? Yes? Yes. Yes!

75

76 Avoid Long Import Lists by Using Wildcards Long lists of imports are daunting to the reader. We don't want to clutter up the tops of our modules with 80 lines of imports. Rather we want the imports to be a concise statement about which packages we collaborate with.

77 import java.util.arraylist; import java.util.collection; import java.util.hashmap; import java.util.hashset; import java.util.linkedhashmap; import java.util.linkedhashset; import java.util.linkedlist; import java.util.list; import java.util.map; import java.util.navigablemap; import java.util.navigableset; import java.util.set; import java.util.sortedmap; import java.util.sortedset; import java.util.treemap; import java.util.treeset;

78 import java.util.*;

79 import java.beans.introspector; import java.lang.reflect.array; import java.lang.reflect.constructor; import java.lang.reflect.method; import java.lang.reflect.modifier; import java.lang.reflect.proxy; import java.util.arrays; import java.util.collection; import java.util.collections; import java.util.hashmap; import java.util.hashset; import java.util.iterator; import java.util.linkedhashset; import java.util.map; import java.util.set;

80 import java.beans.*; import java.lang.reflect.*; import java.util.*;

81 import java.awt.*; import java.util.*; List?

82 import java.awt.*; import java.util.*; import java.util.list;

83 Our task is not to find the maximum amount of content in a work of art. Our task is to cut back content so that we can see the thing at all. Susan Sontag

/ WordFriday enterprise, noun enterprise, noun a project or undertaking that is especially bold, complicated or arduous readiness to engage in undertakings of difficulty, risk, danger or daring a design

More information

Seven Ineffective Coding Habits of Many

Seven Ineffective Coding Habits of Many Seven Ineffective Coding Habits of Many Programmers @KevlinHenney It turns out that style matters in programming for the same reason that it matters in writing. It makes for better reading. Douglas

More information

Small Is Beautiful. A talk on code as if people mattered A talk on code as if economics

Small Is Beautiful. A talk on code as if people mattered A talk on code as if economics Small Is Beautiful A talk on code as if people mattered A talk on code as if economics mattered @KevlinHenney Sustainable development is development that meets the needs of the present without compromising

More information

Seven Ineffective Coding Habits of Many

Seven Ineffective Coding Habits of Many Seven Ineffective Coding Habits of Many Programmers @KevlinHenney It turns out that style matters in programming for the same reason that it matters in writing. It makes for better reading. Noisy Code

More information

Immutability @KevlinHenney Change is the only constant. Heraclitus When it is not necessary to change, it is necessary not to change. Lucius Cary Mutable Unshared mutable data needs no synchronisation

More information

System Modelling. Lecture

System Modelling. Lecture System Modelling Lecture 02.10.2012 Lecture Objectives Storyboards as a base Objects to Classes GUI design with Story-Driven Modelling Intro to the project: 25pts Story-Driven Modeling 1. Concrete behavior

More information

Disability Advisory Service

Disability Advisory Service Disability Advisory Service TextHelp Read & Write 9 Gold Version 1.2 March 2013 Contents Accessing Text Help Read & Write on a PAWS computer... 4 Introduction... 5 The Toolbar... 6 Toolbar Buttons... 7

More information

1.Which four options describe the correct default values for array elements of the types indicated?

1.Which four options describe the correct default values for array elements of the types indicated? 1.Which four options describe the correct default values for array elements of the types indicated? 1. int -> 0 2. String -> "null" 3. Dog -> null 4. char -> '\u0000' 5. float -> 0.0f 6. boolean -> true

More information

Objectives. Coding Standards. Why coding standards? Elements of Java Style. Understand motivation for coding standards

Objectives. Coding Standards. Why coding standards? Elements of Java Style. Understand motivation for coding standards Objectives Coding Standards Understand motivation for coding standards Be able to write code that conforms to JOSSE coding standards. Philip Johnson Collaborative Software Development Laboratory Information

More information

COMP-202 Unit 4: Programming with Iterations

COMP-202 Unit 4: Programming with Iterations COMP-202 Unit 4: Programming with Iterations Doing the same thing again and again and again and again and again and again and again and again and again... CONTENTS: While loops Class (static) variables

More information

CP122 CS I. Iteration

CP122 CS I. Iteration CP122 CS I Iteration Tech News! Pix2Pix: machine learning translation of images https://affinelayer.com/pixsrv/ Tech News! Pix2Pix: machine learning translation of images https://affinelayer.com/pixsrv/

More information

Frege. purely functional programming on the JVM. JUG Luzern 2016

Frege. purely functional programming on the JVM. JUG Luzern 2016 Frege purely functional programming on the JVM JUG Luzern 2016 Dierk König canoo mittie Dreaming of code Why do we care? a = 1 1 b = 2 1 2 time 1 c = b 1 2 time 2 b = a 1 2 time 3 a = c 1 2 place1 place2

More information

Software. Is

Software. Is Software Is Details @KevlinHenney Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs,

More information

Frege. purely functional programming on the JVM. GOTO Berlin 2015

Frege. purely functional programming on the JVM. GOTO Berlin 2015 Frege purely functional programming on the JVM GOTO Berlin 2015 Dierk König canoo mittie Dreaming of code Why do we care? a = 1 1 b = 2 1 2 time 1 c = b 1 2 time 2 b = a 1 2 time 3 a = c 1 2 place1 place2

More information

ArrayList. Introduction. java.util.arraylist

ArrayList. Introduction. java.util.arraylist ArrayList Introduction In this article from my free Java 8 course, I will be giving you a basic overview of the Java class java.util.arraylist. I will first explain the meaning of size and capacity of

More information

Appendix A: Interfaces and Classes in the AP Java Subset (AB)

Appendix A: Interfaces and Classes in the AP Java Subset (AB) Appendix A: Interfaces and Classes in the AP Java Subset (AB) class java.lang.object int hashcode() java.lang: interface java.lang.comparable ; class java.lang.integer Integer(int value) int intvalue()

More information

SML Style Guide. Last Revised: 31st August 2011

SML Style Guide. Last Revised: 31st August 2011 SML Style Guide Last Revised: 31st August 2011 It is an old observation that the best writers sometimes disregard the rules of rhetoric. When they do so, however, the reader will usually find in the sentence

More information

Java Puzzle Ball Nick Ristuccia

Java Puzzle Ball Nick Ristuccia Java Puzzle Ball Nick Ristuccia Lesson 4-1 Designing Lambda Puzzles Mysterious Lambda I knew I was going need to make Lambda Puzzles. Or maybe even a new game to teach Lambda expressions. This would be

More information

BBM 102 Introduction to Programming II Spring 2017

BBM 102 Introduction to Programming II Spring 2017 BBM 102 Introduction to Programming II Spring 2017 Collections Framework Instructors: Ayça Tarhan, Fuat Akal, Gönenç Ercan, Vahid Garousi 1 Today The java.util.arrays class Java Collection Framework java.util.collection

More information

BBM 102 Introduction to Programming II Spring 2017

BBM 102 Introduction to Programming II Spring 2017 BBM 102 Introduction to Programming II Spring 2017 Collections Framework Today The java.util.arrays class Java Collection Framework java.util.collection interface java.util.list interface java.util.arraylist

More information

Not overriding equals

Not overriding equals Not overriding equals what happens if you do not override equals for a value type class? all of the Java collections will fail in confusing ways 1 Not overriding equals Complex y = new Complex(1, -2);

More information

Lecture 23: Domain-Driven Design (Part 1)

Lecture 23: Domain-Driven Design (Part 1) 1 Lecture 23: Domain-Driven Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Goals for this lecture Introduce the main concepts of Domain-Driven

More information

CS 1044 Project 5 Fall 2009

CS 1044 Project 5 Fall 2009 User-defined Functions and Arrays This programming assignment uses many of the ideas presented in topics 3 through 18 of the course notes, so you are advised to read those carefully. Read and follow the

More information

Computer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004

Computer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004 Computer Science 136 Spring 2004 Professor Bruce Final Examination May 19, 2004 Question Points Score 1 10 2 8 3 15 4 12 5 12 6 8 7 10 TOTAL 65 Your name (Please print) I have neither given nor received

More information

Advanced Object Oriented Programming EECS2030Z

Advanced Object Oriented Programming EECS2030Z Advanced Object Oriented Programming EECS2030Z 1 Academic Support Programs: Bethune having trouble with your FSC and LSE courses? consider using the Academic Support Programs at Bethune College PASS free,

More information

CONTENTS: While loops Class (static) variables and constants Top Down Programming For loops Nested Loops

CONTENTS: While loops Class (static) variables and constants Top Down Programming For loops Nested Loops COMP-202 Unit 4: Programming with Iterations Doing the same thing again and again and again and again and again and again and again and again and again... CONTENTS: While loops Class (static) variables

More information

Procedural Programming. It's Back? It Never Went

Procedural Programming. It's Back? It Never Went Procedural Programming It's Back? It Never Went Away @KevlinHenney procedural? µονόλιθος µservices µservices This is the Unix philosophy: Write programs that do one thing and do it well. Write programs

More information

Decisions: Logic Java Programming 2 Lesson 7

Decisions: Logic Java Programming 2 Lesson 7 Decisions: Logic Java Programming 2 Lesson 7 In the Java 1 course we learned about if statements, which use booleans (true or false) to make decisions. In this lesson, we'll dig a little deeper and use

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of January 21, 2013 Abstract Review of object-oriented programming concepts: Implementing

More information

Domain-Driven Design Activity

Domain-Driven Design Activity Domain-Driven Design Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Entities and Value Objects are special types of objects

More information

4.5 Cigarette smokers problem

4.5 Cigarette smokers problem 4.5 Cigarette smokers problem The cigarette smokers problem problem was originally presented by Suhas Patil [8], who claimed that it cannot be solved with semaphores. That claim comes with some qualifications,

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

Understanding Browsers

Understanding Browsers Understanding Browsers What Causes Browser Display Differences? Different Browsers Different Browser Versions Different Computer Types Different Screen Sizes Different Font Sizes HTML Errors Browser Bugs

More information

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer

More information

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Azon Master Class. By Ryan Stevenson   Guidebook #5 WordPress Usage Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress

More information

21 Lessons Learned From Sending Over 110,000 s

21 Lessons Learned From Sending Over 110,000  s 21 Lessons Learned From Sending Over 110,000 Emails By Stuart Walker http://www.nichehacks.com DISCLAIMER / LEGAL NOTICES: Although the author and publisher have made every effort to ensure that the information

More information

Introduction to Concurrency Principles of Concurrent System Design

Introduction to Concurrency Principles of Concurrent System Design Introduction to Concurrency 4010-441 Principles of Concurrent System Design Texts Logistics (On mycourses) Java Concurrency in Practice, Brian Goetz, et. al. Programming Concurrency on the JVM, Venkat

More information

System Modelling. Lecture

System Modelling. Lecture System Modelling Lecture 25.10.2011 Lecture Objectives GUI design with Story-Driven Modelling Class Diagram to Code (revistited) Automatic Code Generation Intro to project Mancala game: 35pts Wireframes

More information

Software. Is

Software. Is Software Is Details @KevlinHenney Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs,

More information

Racket Style Guide Fall 2017

Racket Style Guide Fall 2017 CS17 Integrated Introduction to Computer Science Hughes Racket Style Guide Fall 2017 Contents 1 Introduction 1 2 Naming 1 3 Formatting 1 4 Equality 3 5 Conditionals 4 5.1 Prefer Cond to If......................................

More information

Chapter 21a Other Library Issues

Chapter 21a Other Library Issues Chapter 21a Other Library Issues Nick Maclaren http://www.ucs.cam.ac.uk/docs/course-notes/un ix-courses/cplusplus This was written by me, not Bjarne Stroustrup Function Objects These are not the only way

More information

Universal Design Principles Checklist

Universal Design Principles Checklist Universal Design Principles Checklist February 2012 The concept of Universal Design was developed by people who worked on designing equipment and environments for people with a disability. They saw that

More information

Shared Mutable State SWEN-220

Shared Mutable State SWEN-220 Shared Mutable State SWEN-220 The Ultimate Culprit - Shared, Mutable State Most of your development has been in imperative languages. The fundamental operation is assignment to change state. Assignable

More information

Results of TEC Faculty Survey

Results of TEC Faculty Survey Results of TEC Faculty Survey A survey of current faculty members across divisions was conducted by the Technology in Education Committee for General Grizzle using the Institutional Research Office s access

More information

Computers Programming Course 6. Iulian Năstac

Computers Programming Course 6. Iulian Năstac Computers Programming Course 6 Iulian Năstac Recap from previous course Data types four basic arithmetic type specifiers: char int float double void optional specifiers: signed, unsigned short long 2 Recap

More information

6.170 Laboratory in Software Engineering Java Style Guide. Overview. Descriptive names. Consistent indentation and spacing. Page 1 of 5.

6.170 Laboratory in Software Engineering Java Style Guide. Overview. Descriptive names. Consistent indentation and spacing. Page 1 of 5. Page 1 of 5 6.170 Laboratory in Software Engineering Java Style Guide Contents: Overview Descriptive names Consistent indentation and spacing Informative comments Commenting code TODO comments 6.170 Javadocs

More information

Information Retrieval in Libraries and Information Centres: Concepts, Challenges and Search Strategies

Information Retrieval in Libraries and Information Centres: Concepts, Challenges and Search Strategies Information Retrieval in Libraries and Information Centres: Concepts, Challenges and Search Strategies Chimah, J.N. 1, Unagha, A. O. 2 and Nwokocha, U. 3 National Centre for Energy Research & Development

More information

[PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management!

[PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management! [PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management! Discover Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project

More information

Chapter Goals. Contents LOOPS

Chapter Goals. Contents LOOPS CHAPTER 4 LOOPS Slides by Donald W. Smith TechNeTrain.com Final Draft Oct 30, 2011 Chapter Goals To implement while, for, and do loops To hand-trace the execution of a program To become familiar with common

More information

An Interface with Generics

An Interface with Generics Generics CSC207 Software Design Generics An Interface with Generics Generics class foo introduces a class with a type parameter T. introduces a type parameter that is required to be

More information

BCSWomen Android programming (with AppInventor) Family fun day World record attempt

BCSWomen Android programming (with AppInventor) Family fun day World record attempt BCSWomen Android programming (with AppInventor) Family fun day World record attempt Overview of the day Intros Hello Android! Getting your app on your phone Getting into groups Ideas for apps Overview

More information

CIT 590 Homework 10 Battleship

CIT 590 Homework 10 Battleship CIT 590 Homework 10 Battleship Purposes of this assignment: To give you more experience with classes and inheritance General Idea of the Assignment Once again, this assignment is based on a game, since

More information

Objectives of CS 230. Java portability. Why ADTs? 8/18/14

Objectives of CS 230. Java portability. Why ADTs?  8/18/14 http://cs.wellesley.edu/~cs230 Objectives of CS 230 Teach main ideas of programming Data abstraction Modularity Performance analysis Basic abstract data types (ADTs) Make you a more competent programmer

More information

1. Suppose you are using a HashMap<String,Integer>. What is the runtime of put and get assuming you have a reasonable hash function?

1. Suppose you are using a HashMap<String,Integer>. What is the runtime of put and get assuming you have a reasonable hash function? Data Structures Brett Bernstein Lecture 10: BitSets and Packages Exercises 1. Suppose you are using a HashMap. What is the runtime of put and get assuming you have a reasonable hash function?

More information

1 Docstrings. COSC 101 Lecture #14 Handout: Defining Functions, Part 4 Spring 2015

1 Docstrings. COSC 101 Lecture #14 Handout: Defining Functions, Part 4 Spring 2015 Docstrings A docstring is a string at the beginning of a function that explains what the function does. A docstring explains what a function does, but not necessarily how it does it. Collectively, docstrings

More information

COMP-202: Foundations of Programming. Lecture 16: Reference types Jackie Cheung, Winter 2016

COMP-202: Foundations of Programming. Lecture 16: Reference types Jackie Cheung, Winter 2016 COMP-202: Foundations of Programming Lecture 16: Reference types Jackie Cheung, Winter 2016 Warm Up Without looking at our code from the last lecture, let s write a Cat class. Fields: String name double

More information

Recipes4Success. You will make a two page project about your family and print it as a table tent.

Recipes4Success. You will make a two page project about your family and print it as a table tent. Recipes4Success You will make a two page project about your family and print it as a table tent. 2013. All Rights Reserved. This Material is copyrighted under United States copyright laws. Tech4Learning,

More information

BINARY FOR THE YOUNGER SET

BINARY FOR THE YOUNGER SET BINARY FOR THE YOUNGER SET OR WHY COMPUTERS USE A BINARY SYSTEM TO DO WHAT THEY DO BEST T. I. S. P. Teachers in Service Program FIRST, ONE SIMPLE GROUND RULE Yes, I know we write all our letters starting

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

Creating Universally Designed Word 2013 Documents - Quick Start Guide

Creating Universally Designed Word 2013 Documents - Quick Start Guide Creating Universally Designed Word 2013 Documents - Quick Start Guide Overview Creating accessible documents ones that work well with all sorts of technology can be a daunting task. The purpose of this

More information

public class SomeClass OtherClass SomeInterface { }

public class SomeClass OtherClass SomeInterface { } CMP 326 Final Fall 2015 Name: There is a blank page at the end of the exam if you need more room to answer a question. 1) (10 pts) Fill in the blanks to specify the missing keywords or definitions. public

More information

Updated: 2/14/2017 Page 1 of 6

Updated: 2/14/2017 Page 1 of 6 MASTER SYLLABUS 2017-2018 A. Academic Division: Business, Industry, and Technology B. Discipline: Engineering Technology C. Course Number and Title: ENGR1910 Engineering Programming D. Course Coordinator:

More information

Dynamic Design Patterns

Dynamic Design Patterns Dynamic Design Patterns Adaptive Design in Uncertain Diverse Environment Stephen Wang This book is for sale at http://leanpub.com/dynamic_design_patterns This version was published on 2013-08-22 This is

More information

JHDF5 (HDF5 for Java) 14.12

JHDF5 (HDF5 for Java) 14.12 JHDF5 (HDF5 for Java) 14.12 Introduction HDF5 is an efficient, well-documented, non-proprietary binary data format and library developed and maintained by the HDF Group. The library provided by the HDF

More information

Lecture 10: Introduction to Correctness

Lecture 10: Introduction to Correctness Lecture 10: Introduction to Correctness Aims: To look at the different types of errors that programs can contain; To look at how we might detect each of these errors; To look at the difficulty of detecting

More information

Die funktionale Zukunft

Die funktionale Zukunft Die funktionale Zukunft Digicomp Dev Day Zürich, 2017 Prof. Dierk König canoo FHNW @mittie Why do we care? a = 1 1 b = 2 1 2 time 1 c = b 1 2 time 2 b = a 1 2 time a = c 3 1 2 place1 place2 place3 Operational

More information

CSE332 Summer 2010: Final Exam

CSE332 Summer 2010: Final Exam CSE332 Summer 2010: Final Exam Closed notes, closed book; calculator ok. Read the instructions for each problem carefully before answering. Problems vary in point-values, difficulty and length, so you

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Federal Plain Language Guidelines

Federal Plain Language Guidelines Federal Plain Language Guidelines March 2011 Revision 1, May 2011 Table of Contents Introduction... i Revision 1 Changes... ii Table of Contents... iii I. Think about your audience... 1 a. Identify and

More information

Lecture 19. Using Classes Effectively

Lecture 19. Using Classes Effectively Lecture 19 Using Classes Effectively Announcements Reading Tuesday: Chapter 18 Thursday reading online Assignments A4 due tonight at Midnight 10 pts per day late Consultants available tonight A5 & A6 posted

More information

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains november 2004 Applying Code Generation Approach in Fabrique This paper discusses ideas on applying the code generation approach to help the developer to focus on high-level models rather than on routine

More information

Patterns in Java Unfinished Symmetry

Patterns in Java Unfinished Symmetry Patterns in Java Unfinished Symmetry Kevlin Henney kevlin@curbralan.com Koyaanisqatsi 1 Symmetry is about balance. The expectation that when a particular feature is present, its logical counterpart will

More information

Design and UML Class Diagrams

Design and UML Class Diagrams Design and UML Class Diagrams 1 Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML DistilledCh. 3, by M. Fowler How do people draw / write

More information

Why Deprecating async() is the Worst of all Options

Why Deprecating async() is the Worst of all Options Doc No: WG21 N3780 Date: 2013-09-26 Reply to: Nicolai Josuttis (nico@josuttis.de) Subgroup: SG1 Concurrency Prev. Version: none Why Deprecating async() is the Worst of all Options The concurrency working

More information

Topic 22 Hash Tables

Topic 22 Hash Tables Topic 22 Hash Tables "hash collision n. [from the techspeak] (var. `hash clash') When used of people, signifies a confusion in associative memory or imagination, especially a persistent one (see thinko).

More information

Agile Project Management: A Quick Start Beginner's Guide To Mastering Agile Project Management PDF

Agile Project Management: A Quick Start Beginner's Guide To Mastering Agile Project Management PDF Agile Project Management: A Quick Start Beginner's Guide To Mastering Agile Project Management PDF Discover Agile Project Management *** 3rd Edition *** DO YOU WANT TO ACHIEVE THE BEST AT EVERY STAGE OF

More information

Refactoring to

Refactoring to Refactoring to Immutability @KevlinHenney https://twitter.com/mfeathers/status/29581296216 https://xkcd.com/1270/ Functional programming combines the flexibility and power of abstract mathematics with

More information

Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Advance mode: Auto CS 170 Java Programming 1 The Switch Slide 1 CS 170 Java Programming 1 The Switch Duration: 00:00:46 Menu-Style Code With ladder-style if-else else-if, you might sometimes find yourself writing menu-style

More information

Module 2 Congruence Arithmetic pages 39 54

Module 2 Congruence Arithmetic pages 39 54 Module 2 Congruence Arithmetic pages 9 5 Here are some excellent websites that can help you on this topic: http://mathcentral.uregina.ca/qq/database/qq.09.98/kupper1.html http://nrich.maths.org/public.viewer.php?obj_id=50

More information

MULTIMEDIA TRAINING KIT INTRODUCTION TO OPENOFFICE.ORG WRITER HANDOUT

MULTIMEDIA TRAINING KIT INTRODUCTION TO OPENOFFICE.ORG WRITER HANDOUT MULTIMEDIA TRAINING KIT INTRODUCTION TO OPENOFFICE.ORG WRITER HANDOUT Developed by: Anna Feldman for the Association for Progressive Communications (APC) MULTIMEDIA TRAINING KIT...1 INTRODUCTION TO OPENOFFICE.ORG

More information

Sliders. If we start this script, we get a window with a vertical and a horizontal slider:

Sliders. If we start this script, we get a window with a vertical and a horizontal slider: Sliders Introduction A slider is a Tkinter object with which a user can set a value by moving an indicator. Sliders can be vertically or horizontally arranged. A slider is created with the Scale method().

More information

Course Structure. COMP434/534B Software Design Component-based software architectures. Components. First term. Components.

Course Structure. COMP434/534B Software Design Component-based software architectures. Components. First term. Components. COMP434/534B Software Design Component-based software architectures Course Structure Two six week modules First term (me) Introduction to Sun s JavaBeans framework One two hour lecture per week for the

More information

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 [talking head] Formal Methods of Software Engineering means the use of mathematics as an aid to writing programs. Before we can

More information

When Brunel s ship the SS Great Britain was launched into the River Thames, it made such a splash that several spectators on the opposite bank were

When Brunel s ship the SS Great Britain was launched into the River Thames, it made such a splash that several spectators on the opposite bank were C. A. R. Hoare Emeritus Professor of Computing at the University of Oxford and is now a senior researcher at Microsoft Research in Cambridge, England. He received the 1980 ACM Turing Award for his fundamental

More information

Learning from Bad Examples. CSCI 5828: Foundations of Software Engineering Lecture 25 11/18/2014

Learning from Bad Examples. CSCI 5828: Foundations of Software Engineering Lecture 25 11/18/2014 Learning from Bad Examples CSCI 5828: Foundations of Software Engineering Lecture 25 11/18/2014 1 Goals Demonstrate techniques to design for shared mutability Build on an example where multiple threads

More information

COMP Summer 2015 (A01) Jim (James) Young jimyoung.ca

COMP Summer 2015 (A01) Jim (James) Young jimyoung.ca COMP 1010- Summer 2015 (A01) Jim (James) Young young@cs.umanitoba.ca jimyoung.ca Hello! James (Jim) Young young@cs.umanitoba.ca jimyoung.ca office hours T / Th: 17:00 18:00 EITC-E2-582 (or by appointment,

More information

AS COMPUTERS AND THEIR USER INTERFACES have become easier to use,

AS COMPUTERS AND THEIR USER INTERFACES have become easier to use, AS COMPUTERS AND THEIR USER INTERFACES have become easier to use, they have also become more complex for programmers to deal with. You can write programs for a simple console-style user interface using

More information

LN #3 (3 Hrs) Repetition, Computational state CTPS Department of CSE,Coimbatore

LN #3 (3 Hrs) Repetition, Computational state CTPS Department of CSE,Coimbatore LN #3 (3 Hrs) Repetition, Computational state CTPS 2018 Objectives To understand repetition of statements. To comprehend the form of test and termination in looping. To study the form and function of elements

More information

CS252 Advanced Programming Language Principles. Prof. Tom Austin San José State University Fall 2013

CS252 Advanced Programming Language Principles. Prof. Tom Austin San José State University Fall 2013 CS252 Advanced Programming Language Principles Prof. Tom Austin San José State University Fall 2013 What are some programming languages? Why are there so many? Different domains Mobile devices (Objective

More information

[ANALYSIS ASSIGNMENT 10]

[ANALYSIS ASSIGNMENT 10] 2009 Pidgin Carlos Simões Higino Silva João Carlos Almeida Miguel Graça Oliveira [ANALYSIS ASSIGNMENT 10] INTRODUCTION The purpose of this project is to evaluate a testing tool chosen by the team and provide

More information

What is database? Types and Examples

What is database? Types and Examples What is database? Types and Examples Visit our site for more information: www.examplanning.com Facebook Page: https://www.facebook.com/examplanning10/ Twitter: https://twitter.com/examplanning10 TABLE

More information

Uninvited. Developed by!com Simulations, Inc. MINDSCAPE

Uninvited. Developed by!com Simulations, Inc. MINDSCAPE Uninvited. Developed by!com Simulations, Inc. MINDSCAPE Uninvited. AllERT~ Developed by ICOM Simulations, Inc. MINDSCAPE Mindscape, Inc. 3444 Dundee Road Northbrook, Illinois 60062 An SFN Company Software

More information

Ovid Technologies, Inc. Databases

Ovid Technologies, Inc. Databases Physical Therapy Workshop. August 10, 2001, 10:00 a.m. 12:30 p.m. Guide No. 1. Search terms: Diabetes Mellitus and Skin. Ovid Technologies, Inc. Databases ACCESS TO THE OVID DATABASES You must first go

More information

FAQ - Podium v1.4 by Jim Allen

FAQ - Podium v1.4 by Jim Allen FAQ - Podium v1.4 by Jim Allen Podium is the only plug-in to run natively within SketchUp, and the only one to have a true 'one click' photorealistic output. Although it is about as simple as you can expect

More information

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015

COMP-202: Foundations of Programming. Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 COMP-202: Foundations of Programming Lecture 3: Boolean, Mathematical Expressions, and Flow Control Sandeep Manjanna, Summer 2015 Announcements Slides will be posted before the class. There might be few

More information

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them

More information

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures Dan Grossman Fall 2014 Hi! I m not Hal J I love this stuff and have taught

More information

Anjuli Kannan. Google Earth Driving Simulators (3:00-7:00)

Anjuli Kannan. Google Earth Driving Simulators (3:00-7:00) Google Earth Driving Simulators (3:00-7:00) An example of what you can do by learning the GoogleEarth API, once you know how to write code Google has published such an API so that people can make programs

More information

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th

COMS 1003 Fall Introduction to Computer Programming in C. Bits, Boolean Logic & Discrete Math. September 13 th COMS 1003 Fall 2005 Introduction to Computer Programming in C Bits, Boolean Logic & Discrete Math September 13 th Hello World! Logistics See the website: http://www.cs.columbia.edu/~locasto/ Course Web

More information

Binary, Hexadecimal and Octal number system

Binary, Hexadecimal and Octal number system Binary, Hexadecimal and Octal number system Binary, hexadecimal, and octal refer to different number systems. The one that we typically use is called decimal. These number systems refer to the number of

More information