Week 1 Assignment Word Search

Size: px
Start display at page:

Download "Week 1 Assignment Word Search"

Transcription

1 Week 1 Assignment Word Search Overview For this assignment, you will program functionality relevant to a word search puzzle game, the game that presents the challenge of discovering specific words in a twodimensional grid of random letters. You will be given 2.txt files, one containing the puzzle board (2D grid of letters), and another containing a set of words ( guesses ) that may or may not exist in the puzzle. Your job is to write a class that searches for the guess words inside the puzzle and returns the words it found. More precisely, you will write 3 separate search routines, a naïve search, a dataset transformation search, and finally your own custom search (whatever you want to do, so long as it meets the criteria specified below). A Main.java file will be provided which invokes the functionality of your WordSearch class. This test file must be compiled and run with your class as-is to test your program. You will see that it handles creating an instance of your class, calling the 3 search methods and printing the results. Thus your efforts will be concentrated on creating your class and testing it with this file. We will run your program with different puzzle and guess word files (not provided to you), so it is best to make sure your program works with various puzzles. The purpose of this assignment is to: Challenge you Ensure you know Java (or force you to pick it up quickly) since we will be using it for Android Test your ability to implement various algorithms Demonstrate algorithm efficiency across varying data sets (average case, worst case) Submissions WordSearch.java (only, nothing else) Grading Rubric A 0% will be given if the program fails to compile or run. search1() returns correct results 45% search2() returns correct results and runs faster than search1() 45% search3() returns correct results and runs fastest of all 10% Important Use the package name: edu.fullsail.mgms.apm.wordsearch The test program will use the same package name, giving it access to your class. 1

2 Directions You will write a class that compiles and runs with the test file provided. You can use any Java compiler/ide you wish, including command lines tools, so long as your program compiles and runs with the test file and loads the.txt files provided within the same directory. If you have never used a Java compiler or IDE, some popular ones include: Eclipse, IntelliJ IDEA, NetBeans, or simple command line shell. We have provided an Eclipse IDE primer document in the References section of the FSO page for this course. Unless you have already done some Android programming, you do not need to install the Google ADT tools for Eclipse (or Android Studio) at this time. They are not necessary for this assignment. Here is a screenshot of the entire program running in Eclipse: Note, when searching for words, you only have to handle matches in 3 directions: horizontally forward, vertically downward and diagonally southeast. After completing this assignment, adding matching for reverse words is trivial. Here is an example of valid finds of the words dog, cat, and rat : d v d j k o c r t d g i e a l e i c a t 2

3 Create 1 class called WordSearch in a file called WordSearch.java. Place it in the same directory/package as the Main.java test file provided to you. Your WordSearch class should contain the following: Any member variables you need to support the requirements A constructor void loadpuzzle( String ) takes the filename of the puzzle board and loads it into memory void loadguesses( String ) takes the filename of the guesses list and loads it into memory String[] search1( ) searches the puzzle for the list of guesses and returns those found o This is a naïve brute force algorithm, which will, for each guess word, visit every spot in the puzzle board and compare each letter of the guess word against the puzzle in the 3 directions: horizontal, vertical and diagonal. o The algorithm that you will use is as follows: for each guess word for each letter/location of the puzzle for each letter of the guess word check for a horizontal match against puzzle if match found, put guess word into list else for each letter of the guess word check for a vertical match against puzzle if match found, put guess word into list else for each letter of the guess word check for a diagonal match against puzzle if match found, put guess word into list return list as array of Strings String[] search2( ) searches the puzzle for the list of guesses and returns those found o This algorithm is much more elegant. You will transform the puzzle into a long string, with each row, column and diagonal appended to the string, and then do a simple String.contains() search with each of the guesses. The Java SE will use an optimized string search algorithm to match the guess word against the puzzle string. By transforming the puzzle into this string space, you can take advantage of this fast string search algorithm. o The algorithm that you will use is as follows: create an empty StringBuffer (mutable String) // append rows of puzzle delimited by space for each row for each column append puzzle[row][column] append a space after each row // append columns of puzzle delimited by space for each column 3

4 for each row append puzzle[row][column] append a space after each column // append diagonals of puzzle delimited by space for i=(-numrows)+1 to i<numcolumns, i++ for j=0,k=0 to j<numrows, j++, k++ if i+k>=0 and i+k<numcolmns append puzzle[j][i+k] append a space after diagonal for each guess word if buffer.contains(guess) put guess word into list return list as array of Strings o The diagonal transformation comes from looking at the puzzle board as a rhombus, starting out of bounds and traversing diagonally, but ignoring locations that are out of bounds of the rectangular board. For example: * * * d v d j k * * o c r t d * * g i e a l * * e i c a t * * * String[] search3( ) searches the puzzle for the list of guesses and returns those found o You can use any algorithm that you want, so long as it meets the criteria: Returns the correct list of found guess words Executes faster than the other algorithms o Here are some suggestions: Perhaps copy the first algorithm and then optimize it as much as possible, including a simple check that quickly breaks out of each puzzle letter check if the first letter of the guess doesn t match the puzzle letter at that spot. We only need to do comparisons if the guess word s first letter matches up with the puzzle letter. You could also cut down on dynamic allocation of variables, etc. Perhaps quickly generate a histogram of the letters in the puzzle into a data structure (like an int[26][]), that tells you how many a s are in the puzzle, and their offset locations, how many b s and their offset locations, etc. Then for each guess word, you could just take the first letter, jump to the right spot in the histogram array and visit each of the offsets into puzzle that are relevant to that letter. This way you avoid visiting every spot in the puzzle. Be creative Google o This is pretty challenging, since search2() s algorithm is very efficient already. Do your best. You may find that you can only design an algorithm that works well on certain puzzles, but not others... Welcome to graduate school! 4

5 Code Samples Here is a code snippet to append puzzle letters diagonally, with each diagonal separated by a space. for (int i=((-mheight)+1); i<mwidth; i++) for (int j=0, k=0; j<mheight; j++, k++) if (i+k >= 0 && i+k < mwidth) text.append(mpuzzle[j][i+k]); text.append(" "); Here is a code snippet to load the puzzle file: public void loadpuzzle(string filename) InputStream input = null; BufferedReader reader = null; try input = new FileInputStream(filename); reader = new BufferedReader(new InputStreamReader(input, Charset.forName("UTF-8"))); String line = reader.readline(); if (!line.isempty()) String[] tokens = line.split("x"); if (tokens.length >= 2 && tokens[0]!= null && tokens[1]!= null) mwidth = Integer.decode(tokens[0]); mheight = Integer.decode(tokens[1]); mpuzzle = new char[mheight][mwidth]; for (int j=0; j<mheight; j++) line = reader.readline(); if (line.isempty()) break; for (int i=0; i<mwidth; i++) mpuzzle[j][i] = line.charat(i); catch (Exception e) e.printstacktrace(); System.err.flush(); finally try if (reader!= null) reader.close(); catch (Exception e) e.printstacktrace(); System.err.flush(); 5

6 Sample Output Here is an example of what the output looks like with the default puzzle provided: 6

CS/COE 1501

CS/COE 1501 CS/COE 1501 www.cs.pitt.edu/~lipschultz/cs1501/ Brute-force Search Brute-force (or exhaustive) search Find the solution to a problem by considering all potential solutions and selecting the correct one

More information

Spring 06 Assignment 2: Constraint Satisfaction Problems

Spring 06 Assignment 2: Constraint Satisfaction Problems 15-381 Spring 06 Assignment 2: Constraint Satisfaction Problems Questions to Vaibhav Mehta(vaibhav@cs.cmu.edu) Out: 2/07/06 Due: 2/21/06 Name: Andrew ID: Please turn in your answers on this assignment

More information

Intro to Java Programming Project

Intro to Java Programming Project Intro to Java Programming Project In this project, your task is to create an agent (a game player) that can play Connect 4. Connect 4 is a popular board game, similar to an extended version of Tic-Tac-Toe.

More information

Spring 06 Assignment 2: Constraint Satisfaction Problems

Spring 06 Assignment 2: Constraint Satisfaction Problems 15-381 Spring 06 Assignment 2: Constraint Satisfaction Problems Questions to Vaibhav Mehta(vaibhav@cs.cmu.edu) Out: 2/07/06 Due: 2/21/06 Name: Andrew ID: Please turn in your answers on this assignment

More information

Data Structure Analysis

Data Structure Analysis Data Structure Analysis Introduction The objective of this ACW was to investigate the efficiency and performance of alternative data structures. These data structures are required to be created and developed

More information

Project Connect Four (Version 1.1)

Project Connect Four (Version 1.1) OPI F2008: Object-Oriented Programming Carsten Schürmann Date: April 2, 2008 Project Connect Four (Version 1.1) Guidelines While we acknowledge that beauty is in the eye of the beholder, you should nonetheless

More information

Assignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade.

Assignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade. Assignment 1 Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade. For this assignment you are being asked to design, implement and document a simple card game in the

More information

In the game of Chess a queen can move any number of spaces in any linear direction: horizontally, vertically, or along a diagonal.

In the game of Chess a queen can move any number of spaces in any linear direction: horizontally, vertically, or along a diagonal. CMPS 12A Introduction to Programming Winter 2013 Programming Assignment 5 In this assignment you will write a java program finds all solutions to the n-queens problem, for 1 n 13. Begin by reading the

More information

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game.

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game. CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25 Homework #1 ( Due: Oct 10 ) Figure 1: The laser game. Task 1. [ 60 Points ] Laser Game Consider the following game played on an n n board,

More information

CMPT 310 Assignment 1

CMPT 310 Assignment 1 CMPT 310 Assignment 1 October 4, 2017 100 points total, worth 10% of the course grade. Turn in on CourSys. Submit a compressed directory (.zip or.tar.gz) with your solutions. Code should be submitted as

More information

INTRODUCTION TO COMPUTER SCIENCE I PROJECT 6 Sudoku! Revision 2 [2010-May-04] 1

INTRODUCTION TO COMPUTER SCIENCE I PROJECT 6 Sudoku! Revision 2 [2010-May-04] 1 INTRODUCTION TO COMPUTER SCIENCE I PROJECT 6 Sudoku! Revision 2 [2010-May-04] 1 1 The game of Sudoku Sudoku is a game that is currently quite popular and giving crossword puzzles a run for their money

More information

ISudoku. Jonathon Makepeace Matthew Harris Jamie Sparrow Julian Hillebrand

ISudoku. Jonathon Makepeace Matthew Harris Jamie Sparrow Julian Hillebrand Jonathon Makepeace Matthew Harris Jamie Sparrow Julian Hillebrand ISudoku Abstract In this paper, we will analyze and discuss the Sudoku puzzle and implement different algorithms to solve the puzzle. After

More information

CMPS 12A Introduction to Programming Programming Assignment 5 In this assignment you will write a Java program that finds all solutions to the n-queens problem, for. Begin by reading the Wikipedia article

More information

Investigation of Algorithmic Solutions of Sudoku Puzzles

Investigation of Algorithmic Solutions of Sudoku Puzzles Investigation of Algorithmic Solutions of Sudoku Puzzles Investigation of Algorithmic Solutions of Sudoku Puzzles The game of Sudoku as we know it was first developed in the 1979 by a freelance puzzle

More information

Conway s Soldiers. Jasper Taylor

Conway s Soldiers. Jasper Taylor Conway s Soldiers Jasper Taylor And the maths problem that I did was called Conway s Soldiers. And in Conway s Soldiers you have a chessboard that continues infinitely in all directions and every square

More information

Comparing Methods for Solving Kuromasu Puzzles

Comparing Methods for Solving Kuromasu Puzzles Comparing Methods for Solving Kuromasu Puzzles Leiden Institute of Advanced Computer Science Bachelor Project Report Tim van Meurs Abstract The goal of this bachelor thesis is to examine different methods

More information

CMPT 310 Assignment 1

CMPT 310 Assignment 1 CMPT 310 Assignment 1 October 16, 2017 100 points total, worth 10% of the course grade. Turn in on CourSys. Submit a compressed directory (.zip or.tar.gz) with your solutions. Code should be submitted

More information

2 Textual Input Language. 1.1 Notation. Project #2 2

2 Textual Input Language. 1.1 Notation. Project #2 2 CS61B, Fall 2015 Project #2: Lines of Action P. N. Hilfinger Due: Tuesday, 17 November 2015 at 2400 1 Background and Rules Lines of Action is a board game invented by Claude Soucie. It is played on a checkerboard

More information

To use one-dimensional arrays and implement a collection class.

To use one-dimensional arrays and implement a collection class. Lab 8 Handout 10 CSCI 134: Spring, 2015 Concentration Objective To use one-dimensional arrays and implement a collection class. Your lab assignment this week is to implement the memory game Concentration.

More information

CS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger

CS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger CSB, Fall 0 Project #: Jumping Cubes(version ) P. N. Hilfinger Due: Tuesday, 8 November 0 Background The KJumpingCube game is a simple two-person board game. It is a pure strategy game, involving no element

More information

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30 CSE 3402 3.0 Intro. to Concepts of AI Winter 2012 Dept. of Computer Science & Engineering York University Assignment 2 Total marks: 100. Out: February 10 Due: March 5 at 14:30 Note 1: To hand in your report

More information

Lab 1. CS 5233 Fall 2007 assigned August 22, 2007 Tom Bylander, Instructor due midnight, Sept. 26, 2007

Lab 1. CS 5233 Fall 2007 assigned August 22, 2007 Tom Bylander, Instructor due midnight, Sept. 26, 2007 Lab 1 CS 5233 Fall 2007 assigned August 22, 2007 Tom Bylander, Instructor due midnight, Sept. 26, 2007 In Lab 1, you will program the functions needed by algorithms for iterative deepening (ID) and iterative

More information

Problem of the Month. Miles of Tiles. 5 in. Problem of the Month Miles of Tiles Page 1

Problem of the Month. Miles of Tiles. 5 in. Problem of the Month Miles of Tiles Page 1 Problem of the Month Miles of Tiles Level A: You have a picture frame. You would like to decorate the frame by gluing tiles on it. The frame is a square shape. 14 in The frame is 1 inch wide all around.

More information

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, 2017 11:59pm This will be our last assignment in the class, boohoo Grading: For this assignment, you will be graded traditionally,

More information

8. You Won t Want To Play Sudoku Again

8. You Won t Want To Play Sudoku Again 8. You Won t Want To Play Sudoku Again Thanks to modern computers, brawn beats brain. Programming constructs and algorithmic paradigms covered in this puzzle: Global variables. Sets and set operations.

More information

G52CPP Lab Exercise: Hangman Requirements (v1.0)

G52CPP Lab Exercise: Hangman Requirements (v1.0) G52CPP Lab Exercise: Hangman Requirements (v1.0) 1 Overview This is purely an exercise that you can do for your own interest. It will not affect your mark at all. You can do as little or as much of it

More information

UN DOS TREZ Sudoku Competition. Puzzle Booklet for Preliminary Round. 19-Feb :45PM 75 minutes

UN DOS TREZ Sudoku Competition. Puzzle Booklet for Preliminary Round. 19-Feb :45PM 75 minutes Name: College: Email id: Contact: UN DOS TREZ Sudoku Competition Puzzle Booklet for Preliminary Round 19-Feb-2010 4:45PM 75 minutes In Association With www.logicmastersindia.com Rules of Sudoku A typical

More information

This game can be played in a 3x3 grid (shown in the figure 2.1).The game can be played by two players. There are two options for players:

This game can be played in a 3x3 grid (shown in the figure 2.1).The game can be played by two players. There are two options for players: 1. bjectives: ur project name is Tic-Tac-Toe game. This game is very popular and is fairly simple by itself. It is actually a two player game. In this game, there is a board with n x n squares. In our

More information

Computer Science COMP-250 Homework #4 v4.0 Due Friday April 1 st, 2016

Computer Science COMP-250 Homework #4 v4.0 Due Friday April 1 st, 2016 Computer Science COMP-250 Homework #4 v4.0 Due Friday April 1 st, 2016 A (pronounced higher-i.q.) puzzle is an array of 33 black or white pixels (bits), organized in 7 rows, 4 of which contain 3 pixels

More information

Lab 7: 3D Tic-Tac-Toe

Lab 7: 3D Tic-Tac-Toe Lab 7: 3D Tic-Tac-Toe Overview: Khan Academy has a great video that shows how to create a memory game. This is followed by getting you started in creating a tic-tac-toe game. Both games use a 2D grid or

More information

Eleventh Annual Ohio Wesleyan University Programming Contest April 1, 2017 Rules: 1. There are six questions to be completed in four hours. 2.

Eleventh Annual Ohio Wesleyan University Programming Contest April 1, 2017 Rules: 1. There are six questions to be completed in four hours. 2. Eleventh Annual Ohio Wesleyan University Programming Contest April 1, 217 Rules: 1. There are six questions to be completed in four hours. 2. All questions require you to read the test data from standard

More information

class TicTacToe: def init (self): # board is a list of 10 strings representing the board(ignore index 0) self.board = [" "]*10 self.

class TicTacToe: def init (self): # board is a list of 10 strings representing the board(ignore index 0) self.board = [ ]*10 self. The goal of this lab is to practice problem solving by implementing the Tic Tac Toe game. Tic Tac Toe is a game for two players who take turns to fill a 3 X 3 grid with either o or x. Each player alternates

More information

Pointers. The Rectangle Game. Robb T. Koether. Hampden-Sydney College. Mon, Jan 21, 2013

Pointers. The Rectangle Game. Robb T. Koether. Hampden-Sydney College. Mon, Jan 21, 2013 Pointers The Rectangle Game Robb T. Koether Hampden-Sydney College Mon, Jan 21, 2013 Robb T. Koether (Hampden-Sydney College) Pointers Mon, Jan 21, 2013 1 / 21 1 Introduction 2 The Game Board 3 The Move

More information

Assignment II: Set. Objective. Materials

Assignment II: Set. Objective. Materials Assignment II: Set Objective The goal of this assignment is to give you an opportunity to create your first app completely from scratch by yourself. It is similar enough to assignment 1 that you should

More information

1 The Pieces. 1.1 The Body + Bounding Box. CS 314H Data Structures Fall 2018 Programming Assignment #4 Tetris Due October 8/October 12, 2018

1 The Pieces. 1.1 The Body + Bounding Box. CS 314H Data Structures Fall 2018 Programming Assignment #4 Tetris Due October 8/October 12, 2018 CS 314H Data Structures Fall 2018 Programming Assignment #4 Tetris Due October 8/October 12, 2018 In this assignment you will work in pairs to implement a variant of Tetris, a game invented by Alexey Pazhitnov

More information

This chapter gives you everything you

This chapter gives you everything you Chapter 1 One, Two, Let s Sudoku In This Chapter Tackling the basic sudoku rules Solving squares Figuring out your options This chapter gives you everything you need to know to solve the three different

More information

CS 51 Homework Laboratory # 7

CS 51 Homework Laboratory # 7 CS 51 Homework Laboratory # 7 Recursion Practice Due: by 11 p.m. on Monday evening, but hopefully will be turned in by the end of the lab period. Objective: To gain experience using recursion. Recursive

More information

Taffy Tangle. cpsc 231 assignment #5. Due Dates

Taffy Tangle. cpsc 231 assignment #5. Due Dates cpsc 231 assignment #5 Taffy Tangle If you ve ever played casual games on your mobile device, or even on the internet through your browser, chances are that you ve spent some time with a match three game.

More information

The patterns considered here are black and white and represented by a rectangular grid of cells. Here is a typical pattern: [Redundant]

The patterns considered here are black and white and represented by a rectangular grid of cells. Here is a typical pattern: [Redundant] Pattern Tours The patterns considered here are black and white and represented by a rectangular grid of cells. Here is a typical pattern: [Redundant] A sequence of cell locations is called a path. A path

More information

MESA Cyber Robot Challenge: Robot Controller Guide

MESA Cyber Robot Challenge: Robot Controller Guide MESA Cyber Robot Challenge: Robot Controller Guide Overview... 1 Overview of Challenge Elements... 2 Networks, Viruses, and Packets... 2 The Robot... 4 Robot Commands... 6 Moving Forward and Backward...

More information

A Level Computer Science H446/02 Algorithms and programming. Practice paper - Set 1. Time allowed: 2 hours 30 minutes

A Level Computer Science H446/02 Algorithms and programming. Practice paper - Set 1. Time allowed: 2 hours 30 minutes A Level Computer Science H446/02 Algorithms and programming Practice paper - Set 1 Time allowed: 2 hours 30 minutes Do not use: a calculator First name Last name Centre number Candidate number INSTRUCTIONS

More information

G51PGP: Software Paradigms. Object Oriented Coursework 4

G51PGP: Software Paradigms. Object Oriented Coursework 4 G51PGP: Software Paradigms Object Oriented Coursework 4 You must complete this coursework on your own, rather than working with anybody else. To complete the coursework you must create a working two-player

More information

Second Annual University of Oregon Programming Contest, 1998

Second Annual University of Oregon Programming Contest, 1998 A Magic Magic Squares A magic square of order n is an arrangement of the n natural numbers 1,...,n in a square array such that the sums of the entries in each row, column, and each of the two diagonals

More information

Tic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23

Tic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Lars-Henrik Eriksson Functional Programming 1 Original presentation by Tjark Weber Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Take-Home Exam Take-Home Exam Lars-Henrik Eriksson (UU) Tic-tac-toe 2 / 23

More information

Assignment 6 CAD Mechanical Part 1 Editing Tools Objectives

Assignment 6 CAD Mechanical Part 1 Editing Tools Objectives Assignment 6 CAD Mechanical Part 1 Editing Tools Objectives In this assignment you will apply the explode and rectangular array commands, as well as skills learned in earlier assignments. Getting Started

More information

Web-CAT submission URL: CAT.woa/wa/assignments/eclipse

Web-CAT submission URL:   CAT.woa/wa/assignments/eclipse King Saud University College of Computer & Information Science CSC111 Lab05 Loops All Sections ------------------------------------------------------------------- Instructions Web-CAT submission URL: http://10.131.240.28:8080/web-cat/webobjects/web-

More information

Ojas Ahuja, Kevin Black CS314H 12 October 2018

Ojas Ahuja, Kevin Black CS314H 12 October 2018 Tetris Ojas Ahuja, Kevin Black CS314H 12 October 2018 1 Introduction We implement Tetris, a classic computer game in which a player must arrange variously-shaped falling pieces into rows on a 2D grid.

More information

Board Game AIs. With a Focus on Othello. Julian Panetta March 3, 2010

Board Game AIs. With a Focus on Othello. Julian Panetta March 3, 2010 Board Game AIs With a Focus on Othello Julian Panetta March 3, 2010 1 Practical Issues Bug fix for TimeoutException at player init Not an issue for everyone Download updated project files from CS2 course

More information

This assignment is worth 75 points and is due on the crashwhite.polytechnic.org server at 23:59:59 on the date given in class.

This assignment is worth 75 points and is due on the crashwhite.polytechnic.org server at 23:59:59 on the date given in class. Computer Science Programming Project Game of Life ASSIGNMENT OVERVIEW In this assignment you ll be creating a program called game_of_life.py, which will allow the user to run a text-based or graphics-based

More information

Structured Programming Using Procedural Languages INSS Spring 2018

Structured Programming Using Procedural Languages INSS Spring 2018 Structured Programming Using Procedural Languages INSS 225.101 - Spring 2018 Project #3 (Individual) For your third project, you are going to write a program like what you did for Project 2. You are going

More information

Eight Queens Puzzle Solution Using MATLAB EE2013 Project

Eight Queens Puzzle Solution Using MATLAB EE2013 Project Eight Queens Puzzle Solution Using MATLAB EE2013 Project Matric No: U066584J January 20, 2010 1 Introduction Figure 1: One of the Solution for Eight Queens Puzzle The eight queens puzzle is the problem

More information

Coin Cappers. Tic Tac Toe

Coin Cappers. Tic Tac Toe Coin Cappers Tic Tac Toe Two students are playing tic tac toe with nickels and dimes. The player with the nickels has just moved. Itʼs now your turn. The challenge is to place your dime in the only square

More information

a b c d e f g h i j k l m n

a b c d e f g h i j k l m n Shoebox, page 1 In his book Chess Variants & Games, A. V. Murali suggests playing chess on the exterior surface of a cube. This playing surface has intriguing properties: We can think of it as three interlocked

More information

Games of Skill ANSWERS Lesson 1 of 9, work in pairs

Games of Skill ANSWERS Lesson 1 of 9, work in pairs Lesson 1 of 9, work in pairs 21 (basic version) The goal of the game is to get the other player to say the number 21. The person who says 21 loses. The first person starts by saying 1. At each turn, the

More information

Exp. 2: Chess. 2-1 Discussion. 2-2 Objective

Exp. 2: Chess. 2-1 Discussion. 2-2 Objective Exp. 2: Chess 2-1 Discussion Chess, also called European chess or International chess, is a two-player strategy board game played on a chessboard, which is estimated to have 10 43 to 10 50 changes. A chessboard

More information

CMSC 201 Fall 2018 Project 3 Sudoku

CMSC 201 Fall 2018 Project 3 Sudoku CMSC 201 Fall 2018 Project 3 Sudoku Assignment: Project 3 Sudoku Due Date: Design Document: Tuesday, December 4th, 2018 by 8:59:59 PM Project: Tuesday, December 11th, 2018 by 8:59:59 PM Value: 80 points

More information

CSE231 Spring Updated 04/09/2019 Project 10: Basra - A Fishing Card Game

CSE231 Spring Updated 04/09/2019 Project 10: Basra - A Fishing Card Game CSE231 Spring 2019 Updated 04/09/2019 Project 10: Basra - A Fishing Card Game This assignment is worth 55 points (5.5% of the course grade) and must be completed and turned in before 11:59pm on April 15,

More information

Module 2.1, 2.2 Review. EF101 Analysis & Skills Module 2.3. Sketched Features and Operations. On-line Help Two Locations

Module 2.1, 2.2 Review. EF101 Analysis & Skills Module 2.3. Sketched Features and Operations. On-line Help Two Locations EF101 Analysis & Skills Module 2.3 Engineering Graphics Revolved Features Placed Features Work Features Module 2.1, 2.2 Review What are the three types of operations for adding features to the base feature?

More information

Lesson 15: Graphics. Introducing Computer Graphics. Computer Programming is Fun! Pixels. Coordinates

Lesson 15: Graphics. Introducing Computer Graphics. Computer Programming is Fun! Pixels. Coordinates Lesson 15: Graphics The purpose of this lesson is to prepare you with concepts and tools for writing interesting graphical programs. This lesson will cover the basic concepts of 2-D computer graphics in

More information

Maze Solving Algorithms for Micro Mouse

Maze Solving Algorithms for Micro Mouse Maze Solving Algorithms for Micro Mouse Surojit Guha Sonender Kumar surojitguha1989@gmail.com sonenderkumar@gmail.com Abstract The problem of micro-mouse is 30 years old but its importance in the field

More information

MODULE: DESIGNING AND DEVELOPING OBJECT-ORIENTED COMPUTER PROGRAMS ASSIGNMENT TITLE: WORDSEARCH MARCH 2014

MODULE: DESIGNING AND DEVELOPING OBJECT-ORIENTED COMPUTER PROGRAMS ASSIGNMENT TITLE: WORDSEARCH MARCH 2014 MDU: DSGG D DVPG BJCT-TD CMPUT PGMS SSGMT TT: WDSC MC 2014 mportant otes: Please refer to the ssignment Presentation equirements for advice on how to set out your assignment. These can be found on the

More information

Grade 6 Math Circles March 7/8, Magic and Latin Squares

Grade 6 Math Circles March 7/8, Magic and Latin Squares Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Grade 6 Math Circles March 7/8, 2017 Magic and Latin Squares Today we will be solving math and logic puzzles!

More information

SEEM3460/ESTR3504 (2017) Project

SEEM3460/ESTR3504 (2017) Project SEEM3460/ESTR3504 (2017) Project Due on December 15 (Fri) (14:00), 2017 General Information 30% or more mark penalty for uninformed late submission. You must follow the guideline in this file, or there

More information

GENERALIZATION: RANK ORDER FILTERS

GENERALIZATION: RANK ORDER FILTERS GENERALIZATION: RANK ORDER FILTERS Definition For simplicity and implementation efficiency, we consider only brick (rectangular: wf x hf) filters. A brick rank order filter evaluates, for every pixel in

More information

CS180 Project 5: Centipede

CS180 Project 5: Centipede CS180 Project 5: Centipede Chapters from the textbook relevant for this project: All chapters covered in class. Project assigned on: November 11, 2011 Project due date: December 6, 2011 Project created

More information

POST TEST KEY. Math in a Cultural Context*

POST TEST KEY. Math in a Cultural Context* POST TEST KEY Designing Patterns: Exploring Shapes and Area (Rhombus Module) Grade Level 3-5 Math in a Cultural Context* UNIVERSITY OF ALASKA FAIRBANKS Student Name: POST TEST KEY Grade: Teacher: School:

More information

Kenken For Teachers. Tom Davis January 8, Abstract

Kenken For Teachers. Tom Davis   January 8, Abstract Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles January 8, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic

More information

STAB22 section 2.4. Figure 2: Data set 2. Figure 1: Data set 1

STAB22 section 2.4. Figure 2: Data set 2. Figure 1: Data set 1 STAB22 section 2.4 2.73 The four correlations are all 0.816, and all four regressions are ŷ = 3 + 0.5x. (b) can be answered by drawing fitted line plots in the four cases. See Figures 1, 2, 3 and 4. Figure

More information

CS 445 HW#2 Solutions

CS 445 HW#2 Solutions 1. Text problem 3.1 CS 445 HW#2 Solutions (a) General form: problem figure,. For the condition shown in the Solving for K yields Then, (b) General form: the problem figure, as in (a) so For the condition

More information

Programming Problems 14 th Annual Computer Science Programming Contest

Programming Problems 14 th Annual Computer Science Programming Contest Programming Problems 14 th Annual Computer Science Programming Contest Department of Mathematics and Computer Science Western Carolina University April 8, 2003 Criteria for Determining Team Scores Each

More information

Median Filter and Its

Median Filter and Its An Implementation of the Median Filter and Its Effectiveness on Different Kinds of Images Kevin Liu Thomas Jefferson High School for Science and Technology Computer Systems Lab 2006-2007 June 13, 2007

More information

BMT 2018 Combinatorics Test Solutions March 18, 2018

BMT 2018 Combinatorics Test Solutions March 18, 2018 . Bob has 3 different fountain pens and different ink colors. How many ways can he fill his fountain pens with ink if he can only put one ink in each pen? Answer: 0 Solution: He has options to fill his

More information

isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris

isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris isudoku Computing Solutions to Sudoku Puzzles w/ 3 Algorithms by: Gavin Hillebrand Jamie Sparrow Jonathon Makepeace Matthew Harris What is Sudoku? A logic-based puzzle game Heavily based in combinatorics

More information

Welcome to the Sudoku and Kakuro Help File.

Welcome to the Sudoku and Kakuro Help File. HELP FILE Welcome to the Sudoku and Kakuro Help File. This help file contains information on how to play each of these challenging games, as well as simple strategies that will have you solving the harder

More information

Creating a Mobile Game

Creating a Mobile Game The University of Akron IdeaExchange@UAkron Honors Research Projects The Dr. Gary B. and Pamela S. Williams Honors College Spring 2015 Creating a Mobile Game Timothy Jasany The University Of Akron, trj21@zips.uakron.edu

More information

SudokuSplashZone. Overview 3

SudokuSplashZone. Overview 3 Overview 3 Introduction 4 Sudoku Game 4 Game grid 4 Cell 5 Row 5 Column 5 Block 5 Rules of Sudoku 5 Entering Values in Cell 5 Solver mode 6 Drag and Drop values in Solver mode 6 Button Inputs 7 Check the

More information

CSC242 Intro to AI Spring 2012 Project 2: Knowledge and Reasoning Handed out: Thu Mar 1 Due: Wed Mar 21 11:59pm

CSC242 Intro to AI Spring 2012 Project 2: Knowledge and Reasoning Handed out: Thu Mar 1 Due: Wed Mar 21 11:59pm CSC242 Intro to AI Spring 2012 Project 2: Knowledge and Reasoning Handed out: Thu Mar 1 Due: Wed Mar 21 11:59pm In this project we will... Hunt the Wumpus! The objective is to build an agent that can explore

More information

COS 226 Algorithms and Data Structures Fall Midterm Exam

COS 226 Algorithms and Data Structures Fall Midterm Exam COS 226 lgorithms and Data Structures Fall 2015 Midterm Exam You have 80 minutes for this exam. The exam is closed book, except that you are allowed to use one page of notes (8.5-by-11, one side, in your

More information

Begin this assignment by first creating a new Java Project called Assignment 5.There is only one part to this assignment.

Begin this assignment by first creating a new Java Project called Assignment 5.There is only one part to this assignment. CSCI 2311, Spring 2013 Programming Assignment 5 The program is due Sunday, March 3 by midnight. Overview of Assignment Begin this assignment by first creating a new Java Project called Assignment 5.There

More information

4/9/2015. Simple Graphics and Image Processing. Simple Graphics. Overview of Turtle Graphics (continued) Overview of Turtle Graphics

4/9/2015. Simple Graphics and Image Processing. Simple Graphics. Overview of Turtle Graphics (continued) Overview of Turtle Graphics Simple Graphics and Image Processing The Plan For Today Website Updates Intro to Python Quiz Corrections Missing Assignments Graphics and Images Simple Graphics Turtle Graphics Image Processing Assignment

More information

Foundations of Multiplication and Division

Foundations of Multiplication and Division Grade 2 Module 6 Foundations of Multiplication and Division OVERVIEW Grade 2 Module 6 lays the conceptual foundation for multiplication and division in Grade 3 and for the idea that numbers other than

More information

The KNIME Image Processing Extension User Manual (DRAFT )

The KNIME Image Processing Extension User Manual (DRAFT ) The KNIME Image Processing Extension User Manual (DRAFT ) Christian Dietz and Martin Horn February 6, 2014 1 Contents 1 Introduction 3 1.1 Installation............................ 3 2 Basic Concepts 4

More information

CS Problem Solving and Structured Programming Lab 1 - Introduction to Programming in Alice designed by Barb Lerner Due: February 9/10

CS Problem Solving and Structured Programming Lab 1 - Introduction to Programming in Alice designed by Barb Lerner Due: February 9/10 CS 101 - Problem Solving and Structured Programming Lab 1 - Introduction to Programming in lice designed by Barb Lerner Due: February 9/10 Getting Started with lice lice is installed on the computers in

More information

CSC 110 Lab 4 Algorithms using Functions. Names:

CSC 110 Lab 4 Algorithms using Functions. Names: CSC 110 Lab 4 Algorithms using Functions Names: Tic- Tac- Toe Game Write a program that will allow two players to play Tic- Tac- Toe. You will be given some code as a starting point. Fill in the parts

More information

Slitherlink. Supervisor: David Rydeheard. Date: 06/05/10. The University of Manchester. School of Computer Science. B.Sc.(Hons) Computer Science

Slitherlink. Supervisor: David Rydeheard. Date: 06/05/10. The University of Manchester. School of Computer Science. B.Sc.(Hons) Computer Science Slitherlink Student: James Rank rankj7@cs.man.ac.uk Supervisor: David Rydeheard Date: 06/05/10 The University of Manchester School of Computer Science B.Sc.(Hons) Computer Science Abstract Title: Slitherlink

More information

Lesson 1: The Rules of Pentago

Lesson 1: The Rules of Pentago Lesson 1: The Rules of Pentago 1.1 Learning the Rules The Board The Pentago game board is a 6x6 grid of places, each containing a detent or divot (a small round depression in the surface) that can hold

More information

Once you get a solution draw it below, showing which three pennies you moved and where you moved them to. My Solution:

Once you get a solution draw it below, showing which three pennies you moved and where you moved them to. My Solution: Arrange 10 pennies on your desk as shown in the diagram below. The challenge in this puzzle is to change the direction of that the triangle is pointing by moving only three pennies. Once you get a solution

More information

New Methods in Finding Binary Constant Weight Codes

New Methods in Finding Binary Constant Weight Codes Faculty of Technology and Science David Taub New Methods in Finding Binary Constant Weight Codes Mathematics Master s Thesis Date/Term: 2007-03-06 Supervisor: Igor Gachkov Examiner: Alexander Bobylev Karlstads

More information

Image Forgery. Forgery Detection Using Wavelets

Image Forgery. Forgery Detection Using Wavelets Image Forgery Forgery Detection Using Wavelets Introduction Let's start with a little quiz... Let's start with a little quiz... Can you spot the forgery the below image? Let's start with a little quiz...

More information

CSC 380 Final Presentation. Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis

CSC 380 Final Presentation. Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis CSC 380 Final Presentation Connect 4 David Alligood, Scott Swiger, Jo Van Voorhis Intro Connect 4 is a zero-sum game, which means one party wins everything or both parties win nothing; there is no mutual

More information

AUGI Tips and Tricks: The Reunion Tour Autodesk Revit Style

AUGI Tips and Tricks: The Reunion Tour Autodesk Revit Style AUGI Tips and Tricks: The Reunion Tour Autodesk Revit Style Donnia Tabor-Hanson Cope Architecture AB3279 After many years of having a successful Autodesk University class on AUGI tips and tricks featuring

More information

Techniques for Generating Sudoku Instances

Techniques for Generating Sudoku Instances Chapter Techniques for Generating Sudoku Instances Overview Sudoku puzzles become worldwide popular among many players in different intellectual levels. In this chapter, we are going to discuss different

More information

MAS336 Computational Problem Solving. Problem 3: Eight Queens

MAS336 Computational Problem Solving. Problem 3: Eight Queens MAS336 Computational Problem Solving Problem 3: Eight Queens Introduction Francis J. Wright, 2007 Topics: arrays, recursion, plotting, symmetry The problem is to find all the distinct ways of choosing

More information

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm Weight: 8% Individual Work: All assignments in this course are to be completed individually. Students are advised to read the guidelines

More information

Assignment 12 CSc 210 Fall 2017 Due December 6th, 8:00 pm MST

Assignment 12 CSc 210 Fall 2017 Due December 6th, 8:00 pm MST Assignment 12 CSc 210 Fall 2017 Due December 6th, 8:00 pm MST Introduction In this final project, we will incorporate many ideas learned from this class into one program. Using your skills for decomposing

More information

The most difficult Sudoku puzzles are quickly solved by a straightforward depth-first search algorithm

The most difficult Sudoku puzzles are quickly solved by a straightforward depth-first search algorithm The most difficult Sudoku puzzles are quickly solved by a straightforward depth-first search algorithm Armando B. Matos armandobcm@yahoo.com LIACC Artificial Intelligence and Computer Science Laboratory

More information

CSE1710. Big Picture. Reminder

CSE1710. Big Picture. Reminder CSE1710 Click to edit Master Week text 09, styles Lecture 17 Second level Third level Fourth level Fifth level Fall 2013! Thursday, Nov 6, 2014 1 Big Picture For the next three class meetings, we will

More information

WPF PUZZLE GP 2016 ROUND 8 INSTRUCTION BOOKLET. Host Country: Russia. Andrey Bogdanov. Special Notes: No special notes for this round.

WPF PUZZLE GP 2016 ROUND 8 INSTRUCTION BOOKLET. Host Country: Russia. Andrey Bogdanov. Special Notes: No special notes for this round. WPF PUZZLE GP 01 INSTRUTION OOKLET Host ountry: Russia ndrey ogdanov Special Notes: No special notes for this round. Points, asual Section: Points, ompetitive Section: 1. Not Like the Others 1. Not Like

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Friday November 24, 2017 at 11:55pm Weight: 7% Sample Solution Length: Less than 100 lines, including blank lines and some comments (not including the provided code) Individual

More information

IMAGELAB A PLATFORM FOR IMAGE MANIPULATION ASSIGNMENTS. as published in The Journal of Computing Sciences in Colleges, Vol.

IMAGELAB A PLATFORM FOR IMAGE MANIPULATION ASSIGNMENTS. as published in The Journal of Computing Sciences in Colleges, Vol. IMAGELAB A PLATFORM FOR IMAGE MANIPULATION ASSIGNMENTS as published in The Journal of Computing Sciences in Colleges, Vol. 20, Number 1 Aaron J. Gordon Computer Science Department Fort Lewis College 1000

More information