{ Welcome to CAMDUG Dojo Day Thank you to our hosts, Granta Design (We’re hiring!) Sorry for the lack of internet.

Slides:



Advertisements
Similar presentations
Warm Up Example 1 Check whether the ordered pair is a solution of 2x – 3y > -2 a.(0,0) 2(0)-3(0)> -2 0> -2 True b.(0,1) 2(0)-3(1)> -2 -3> -2 False.
Advertisements

Introduction to Programming
1 CS 171: Introduction to Computer Science II Review: OO, Inheritance, and Libraries Ymir Vigfusson.
Java Syntax Part I Comments Identifiers Primitive Data Types Assignment.
Conditionals with Strings The comparison operators we’ve seen so far (==, !=, >=, > etc.) all apply to numbers ( ints floats doubles etc.) and return either.
Introduction to Programming with Java, for Beginners Control Structures.
Unit 171 Algorithms and Problem Solving  Introduction  Algorithm Design  Algorithm Properties  Algorithm Control Flow  Examples  Comparing Algorithms.
05 Simple selection1June Simple selection CE : Fundamental Programming Techniques.
Programming Concepts MIT - AITI. Variables l A variable is a name associated with a piece of data l Variables allow you to store and manipulate data in.
Test Driven Development Coding Katas ADRIAN O’SULLIVAN, LEAD APPLICATION DEVELOPER DEUTSCHE BANK GLOBAL TECHNOLOGY.
Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria
CH Programming An introduction to programming concepts.
CS0004: Introduction to Programming Relational Operators, Logical Operators, and If Statements.
Chapter 2: Objects and Primitive Data Classes and Objects String, Random, Math, NumberFormat, DecimalFormat and Wrapper Classes.
Prime numbers Jordi Cortadella Department of Computer Science.
Flow of Control Part 1: Selection
Objective: Section 1.6 Solving Linear Inequalities 1 5 Minute Check  Solve the following equations. 1. 7x – 4 = 5x – 3y = 16y – 9 3.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 2: Variables & Data Types.
Chapter 16: Programming Structures Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
Java The Java programming language was created by Sun Microsystems, Inc. It was introduced in 1995 and it's popularity has grown quickly since A programming.
Introduction to Java Java Translation Program Structure
CS 105 Perl: Data Types Nathan Clement 15 May 2014.
Chapter 4 Introduction to Classes, Objects, Methods and strings
Chapter 16: Programming Structures Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
FG ABCDE Vocabulary Exponents & Powers1.5 Translating Verbal Phrases 1.3 Order of Operations1.6.
ITP © Ron Poet Lecture 6 1 More on if. ITP © Ron Poet Lecture 6 2 Remembering Tests  We often want to remember the result of a test, so that we can use.
Higher Computing Software Development -So Far- 5/10/10.
More Python Proglan Python Session 2. Lists  Lists are like flexible arrays. They can contain as many variables as you wish, and all variable types are.
1 Introduction 1. Why Data Structures? 2. What AreData Structure? 3. Phases of Software Development 4. Precondition and Postcondition 5. Examples.
19-Feb-16 Simple Control Structures boolean s, the if statement, and the while loop.
© 2004 Pearson Addison-Wesley. All rights reserved January 23, 2006 Creating Objects & String Class ComS 207: Programming I (in Java) Iowa State University,
 An object is basically anything in the world that can be created and manipulated by a program.  Examples: dog, school, person, password, bank account,
XuanTung Hoang 1 Something to discuss Feedbacks on Midterm Exam Final exam and term project  Final exam requires solid knowledge/skills in Java  Be more.
Confidential Adding Positive and Negative Integers.
The Importance/Components of the Real Number System.
Object-Oriented Programming: Classes and Objects
Introduction to Programming
Number Systems INTRODUCTION.
Creating Objects & String Class
Introduction to Scripting
Introduction to Objects
Object-Oriented Programming: Classes and Objects
Relational Algebra Chapter 4, Part A
Object Oriented Programming
Introduction to Programming
1.6 Represent Functions as Rules and Tables
Solution Solution Checking Solutions of Inequalities
C Operators, Operands, Expressions & Statements
Loops CIS 40 – Introduction to Programming in Python
Introduction to Programming
3. Decision Structures Rocky K. C. Chang 19 September 2018
Introduction to Programming Using Python PART 2
Selection Statements.
Introduction to Programming
Chapter 3: Selection Structures: Making Decisions
Simple Control Structures
JavaScript: Introduction to Scripting
Functions and Tables.
Simple Control Structures
Selection Statements Chapter 3.
Chap 2. Identifiers, Keywords, and Types
Chapter 9 Introduction To Classes
Introduction to Programming
DATA TYPES AND OPERATIONS
REPETITION Why Repetition?
2.2 Adding Rationals Adding Fractions Adding Decimals 1. You need to have the same denominator when you add fractions If not, find the LCD 2. Multiply.
COMPUTING.
Introduction to Objects
Presentation transcript:

{ Welcome to CAMDUG Dojo Day Thank you to our hosts, Granta Design (We’re hiring!) Sorry for the lack of internet

 Welcome!  What is Software Craftsmanship?  What is Test-Driven Development (TDD)? Introduction

 Pair Programming  Aim for one assertion per test  Give your tests fully descriptive names  TestThat_Foo_ShouldReturnBar_WhenBazIsFalse Session Basics Method Name Expectation Condition

{ Roman Numerals 2 paired iterations Introduction to TDD

Leap Year kata  Write a function that returns true or false depending on whether its input integer is a leap year or not.  A leap year is divisible by 4, but is not otherwise divisible by 100 unless it is also divisible by 400.  2001 is a typical common year  1996 is a typical leap year  1900 is an atypical common year  2000 is an atypical leap year

Roman Numerals Kata  Given a positive integer number determine its Roman numeral representation.  You cannot write numerals like IM for 999  I can be subtracted from V and X only; X can be subtracted from L and C only; C can be subtracted from D and M only  V, L and D can never be subtracted  I = 1  V = 5  X = 10  L = 50  C = 100  D = 500  M = 1000

{ Minefield kata 2 paired iterations Cementing your knowledge

Minefield kata  Write a program to output a hint-field where each square is a * for a mine or the number of adjacent mine-squares if the square does not contain a mine.

Minefield kata  Example input 4 3 *.....*.....  Example output *211 12*1 0111

{ Thanks to our sponsor Red Gate Lunch

{ Bank accounts 1 paired iteration TDD in the real world

 Write a system to model a bank account  Implement these three basic behaviours:  Deposit  Withdraw  Check balance Bank account

{ Bank account kata 1 paired iteration New rules An objective work-out

Object calisthenics 1.One level of indentation per method 2.Don’t use the ELSE keyword 3.Wrap all primitives and Strings 4.First class collections 5.One dot per line 6.Don’t abbreviate 7.Keep all entities small 8.No classes with more than two instance variables 9.No getters/setters/properties

{ Thank you for coming! Please join us at The Flying Pig Close