School of Informatics, University of Edinburgh
|
|
- Reynold Hall
- 5 years ago
- Views:
Transcription
1 CS1Bh Practical 1 Words and Sentences This is an individual practical exercise which requires you to submit some Java programs and some text files for assessment. A system which measures software similarity will be used to compare all of the submissions in order to detect unreasonable levels of collaboration. Your attention is drawn to the guidelines on plagiarism presented in Appendix A of the Computer Science 1 course guide. This practical is based on the material on Java programming. In particular, material on recursion and improving the efficiency of calculations by storing intermediate results for later reuse. This practical has been issued on Thursday 30th January. The deadline for your solutions is Thursday 20th February at 17:00. Your solutions must be submitted electronically from your School of Computer Science account with the handin command. No alternative methods of submission will be accepted. No late submissions will be accepted. After each use of the handin command, you should then execute the show submissions command to ensure that your practical has been submitted correctly. Execute the handin and show submissions commands from a shell window (not the KDE command run command window), so you can see any error messages which result. Note that a failure to execute the proper handin command cannot be investigated after the practical deadline, please take care to execute the command exactly as it is shown below. In particular, be sure that you use the correct practical identifiers, filenames and extensions. If in doubt, consult a laboratory demonstrator for further assistance. The practical exercises in Computer Science 1Bh are equally weighted and together they constitute 25% of the final mark for the course. Introduction: sentence checking In a variety of situations we want to check whether a given string is a sentence composed of a sequence of words drawn from some dictionary. For example, if our words are: ga, ta tc then the string gatatatctaga is a sentence composed of a sequence of these words while gattaca is not (because there is no way to get two t s together from our set of words). Generalising this we get a statement of the problem we will consider in this practical: Given a collection of words w 1,..., w k and a string s, is there a sequence i 1,..., i n for some n 0, with each 1 i j k for 1 j n, such that w i1... w in = s. 1
2 The remainder of the Practical will be taken up with studying this problem in more detail. If all we are concerned with is whether a particular string is constructed from a sequence of words the simplest approach is to construct a finite state machine to recognise any sequence of the given words. In many cases we want to do more than this e.g. to count the number of different ways of constructing a given string from the words or to specify how the string is split into words. Here we consider some of these more complex tasks. Exercise Before starting the practical you should make your own copy of the files in the directory /home/cs1/cs1/bh/pracs/wordsandsentences. You can do this efficiently by issuing the commands: cp -r /home/cs1/cs1/bh/pracs/wordsandsentences Your home directory will now contain a private directory called WordsAndSentences containing a subdirectory for each part of the practical. For Parts A and C you have to write Java code; in both cases you will need to edit a file called Match.java following the instructions below and in the file. The user interface for the program is contained in the Sentence.java files; you do not need to edit those files. To test your program, compile all the Java code in the directory and run the command: java Sentence The user interface is very primitive. It consists of three text displays, and three buttons. The Input display is where you input the dictionary words and the string to be tested. It is the only display where you can write. The Dictionary display shows the current words in the dictionary. The Results display communicates if the string can be generated by the dictionary or not, and the time it took to check it. The buttons are: Clear: This clears the Input display. Word: This adds the text in the Input display to the dictionary. The new word appears in the Dictionary display. At the moment there is no way of deleting words from the dictionary. If you want to do that you must abort the program and restart. Go: This takes the text in the Input display as the string to be tested. Notice that spaces are not discarded and trailing spaces are significant in words. The Results display shows a feedback message indicating whether the text could be constructed or not, and the running time. Part A: A simple solution and its implementation In this section we consider a very simple recursive solution to the problem. It is your responsibility to implement the solution outlined here in the class Match. The solution follows easily from the divide-and-conquer approach: A string s is acceptable if and only if 2
3 it is empty (and so it is the composition of zero of the words), or, there is a word w such that s begins with w, and the remainder of s after removing w from the front of s is acceptable. Note that this is a recursive definition, like the definition of the spell() method in Lecture Note 2. In the file Match.java in directory PartA you will find the class Match. Its objects have three private fields: A String s containing the string to be checked, a Vector words containing the words of the dictionary, and an object sent of the class Sentence. You do not need to worry about this last field, since it is only used for communication with the graphical interface. You need to define the method: public boolean check(int i) that checks if the substring of s starting at index i and continuing to the end is acceptable. (So check(0) checks if the whole string is acceptable.) In the class Sentence two methods are defined that allow us to display the state of the match by putting a boundary character between two words in the string: addboundary(i) adds a boundary just before the ith character in the string. (In particular, if you call the method with i = 0 you add a delimiter before the whole string.) delboundary() deletes the last boundary we added. You should incorporate invocations of these methods in your code for check(). At the end of the checking procedure, the Input display should show the boundaries between words in the sentence discovered by the matching. So, for instance, if the dictionary contains the words {aa, b}, then after checking aaaabaa the Input display should show aa aa b aa. (You can also add delimiters at the beginning and/or at the end of the word if you wish, i.e., aa aa b aa, aa aa b aa, or aa aa b aa are also correct outputs.) If the string cannot be matched, no boundaries should be displayed. Notice that the return value of the check() method is not displayed by the user interface. (We recommend that you first work out how to implement check without any calls to addboundary(i) and delboundary(), and then add these.) To do this part you should review the definitions of the String, Vector and Iterator classes. Familiarity with these classes will make this task much easier. When you are happy with your solution you should submit your work using the handin command: handin B1a Match.java You should use the show submissions command to ensure correct submission. Part B: Analysing the simple solution In this section you are asked to do some analysis of the implementation you developed in Part A. 3
4 1. Give a succinct description of how your implementation will behave if the collection of words is a and aa and the string is any sequence of a s followed by a b. 2. More precisely, suppose the collection of words is as in (1), and the input is n a s followed by a b. Express the number of times the check() method is invoked, using O-notation, as a function of n. Use part (1) to explain how you obtained this result. 3. A string w 1 is a prefix of a string w 2 if there is a string w such that w 1 w = w 2. We consider now collections of words in which no word is a prefix of any other (for instance, {ab, ac} is such a collection, but {a, aa} is not). These collections are sometimes called prefix collections or, more accurately, prefix-free collections. Express the number of times the check method is invoked in the worst case, using O-notation, if the input is a prefix-free collection. Justify your answer. 4. Supposing your collection of words is aa and aaaa, show by induction (see Lecture Note 6) that the number of invocations of your check method on inputs of the form a 4n a is greater than k2 n for some suitable choice of k. You should write your solutions in the file PartB.txt in the Part B subdirectory, and submit them using the command: handin B1b PartB.txt Part C: Improving the simple solution In this part of the practical you should use the files in PartC as the basis for your solution. In this case we want to count the number of different ways of constructing the string from the words and improve the efficiency of the checking process. In the file Match.java in directory PartC you will find a class that retains a collection of words and the string to be considered. You need to define the method: public int check() that calculates the number of different ways in which the string can be constructed from the words. You should use the following method: If the stored string s has length n, you should construct an array with n + 1 elements called count. The entry count[j] counts the number of different ways the substring beginning at index j and continuing to the end of s can be constructed from the words. There is exactly one way to spell the empty string with any set of words so the value stored in count[n] should be 1. The array count should then be filled in from right to left. If a word w matches the substring of s going from index i up to and including index j then count[j+1] should be added to count[i]. 4
5 As it stands your program gives the number of different ways of constructing the string from the words but does not give any example construction. Add code to your program (using the addboundary and delboundary methods mentioned in PartA) to draw in the word boundaries if they exist. (If there is more than one way in which the string can be generated from the words in the dictionary, your program should show anyone of them.) When you are happy with your solution you should submit your work using the handin command: handin B1c Match.java Part D: Further analysis and extensions In this section you are asked to do some analysis of the implementation you developed in Part C. 1. What is the worst case running time of your implementation? Justify your answer by an informal argument. 2. What is the best-case running time of your implementation? Is there any way to improve it? You should write your solutions in the file PartD.txt in the Part D subdirectory, and submit them using the command: handin B1d PartD.txt Stuart Anderson and Javier Esparza, 2003/02/07 12:12:48. 5
School of Informatics, University of Edinburgh
CS1Ah Practical 4 Motorway Madness This is an individual practical exercise which requires you to submit some files electronically. A system which measures software similarity will be used to compare all
More informationCS2 Practical 2 CS2Ah
CS2 Practical 2 Finite automata This practical is based on material in the language processing thread. The practical is made up of two parts. Part A consists of four paper and pencil exercises, designed
More informationCS2 Practical 6 CS2Bh 24 January 2005
CS2 Practical 6 Data Structures for Dictionaries This practical is based on material of the Algorithms and Data Structures thread. It has two parts: Part A, worth 40 marks, consists of four pen-and-paper
More informationImportant Project Dates
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2002 Handout 4 Project Overview Wednesday, September 4 This is an overview of the course project
More informationCS2 Practical 1 CS2A 22/09/2004
CS2 Practical 1 Basic Java Programming The purpose of this practical is to re-enforce your Java programming abilities. The practical is based on material covered in CS1. It consists of ten simple programming
More informationCSCI 3155: Homework Assignment 3
CSCI 3155: Homework Assignment 3 Spring 2012: Due Monday, February 27, 2012 Like last time, find a partner. You will work on this assignment in pairs. However, note that each student needs to submit a
More informationHomework Assignment #3
CS 540-2: Introduction to Artificial Intelligence Homework Assignment #3 Assigned: Monday, February 20 Due: Saturday, March 4 Hand-In Instructions This assignment includes written problems and programming
More informationCOMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou
COMP-421 Compiler Design Presented by Dr Ioanna Dionysiou Administrative! [ALSU03] Chapter 3 - Lexical Analysis Sections 3.1-3.4, 3.6-3.7! Reading for next time [ALSU03] Chapter 3 Copyright (c) 2010 Ioanna
More informationACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1
ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make
More informationProblem Set 1 Due: 11:59pm Wednesday, February 7
CS251 Programming Languages Handout # 13 Prof. Lyn Turbak January 31, 2007 Wellesley College Reading: Problem Set 1 Due: 11:59pm Wednesday, February 7 Handouts #1 #12 (only Chapters 1 5 of Handout #9 =
More informationThe input of your program is specified by the following context-free grammar:
CSE340 Spring 2018 Project 1: Lexical Analysis Due: Friday, February 2, 2018 by 11:59 pm MST Introduction The goal of this project is to show you how a description of a list of tokens can be used to automatically
More informationCS 314 Principles of Programming Languages. Lecture 3
CS 314 Principles of Programming Languages Lecture 3 Zheng Zhang Department of Computer Science Rutgers University Wednesday 14 th September, 2016 Zheng Zhang 1 CS@Rutgers University Class Information
More informationASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists
ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists COMP-202B, Winter 2009, All Sections Due: Tuesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise
More informationHomework 3 Handout 19 February 18, 2016
CSEE E6861y Prof. Steven Nowick Homework 3 Handout 19 February 18, 2016 This homework is due at the beginning of class on Thursday, March 3. NOTE: A correct answer without adequate explanation or derivation
More informationSchool of Informatics, University of Edinburgh
CS1Bh Lecture Note 1 An Overview of Algorithms The next five lectures are devoted to the study of algorithms, that is methods to solve specific problems. Other lectures in CS1Bh, further down the course,
More informationBinary Search. Roland Backhouse February 5th, 2001
1 Binary Search Roland Backhouse February 5th, 2001 Outline 2 An implementation in Java of the card-searching algorithm is presented. Issues concerning the correctness of the implementation are raised
More informationSyllabus CS 301: Data Structures Spring 2015
Syllabus CS 301: Data Structures Spring 2015 Meeting Times Instructor Graders Text Lect: 12:00-12:50 M, Tu, Wed, HB 116 Labs: 12:00-12:50 Th, HB 203 Dr. Razvan Andonie, HB 219-B, Office hours Projects
More informationLECTURE 17. Expressions and Assignment
LECTURE 17 Expressions and Assignment EXPRESSION SYNTAX An expression consists of An atomic object, e.g. number or variable. An operator (or function) applied to a collection of operands (or arguments)
More informationTIETS14 Introduction to Formal Specification
TIETS14 Introduction to Formal Specification 5 ECTS Teacher: Timo Nummenmaa timo.nummenmaa@staff.uta.fi Executable Formal Specifications in Game Development: Design, Validation and Evolution Teaching times:
More informationCS 116. Lab Assignment # 1 1
Points: 2 Submission CS 116 Lab Assignment # 1 1 o Deadline: Friday 02/05 11:59 PM o Submit on Blackboard under assignment Lab1. Please make sure that you click the Submit button and not just Save. Late
More informationCE221 Programming in C++ Part 1 Introduction
CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab
More informationChapter Seven: Regular Expressions
Chapter Seven: Regular Expressions Regular Expressions We have seen that DFAs and NFAs have equal definitional power. It turns out that regular expressions also have exactly that same definitional power:
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 3 September 5, 2018 Value-Oriented Programming (continued) Lists and Recursion CIS 120 Announcements Homework 1: OCaml Finger Exercises Due: Tuesday
More informationCmpSci 187: Programming with Data Structures Spring 2015
CmpSci 187: Programming with Data Structures Spring 2015 Lecture #9 John Ridgway February 26, 2015 1 Recursive Definitions, Algorithms, and Programs Recursion in General In mathematics and computer science
More informationCmpt 135 Assignment 2: Solutions and Marking Rubric Feb 22 nd 2016 Due: Mar 4th 11:59pm
Assignment 2 Solutions This document contains solutions to assignment 2. It is also the Marking Rubric for Assignment 2 used by the TA as a guideline. The TA also uses his own judgment and discretion during
More informationComputer Science E-119 Fall Problem Set 4. Due prior to lecture on Wednesday, November 28
Computer Science E-119 Fall 2012 Due prior to lecture on Wednesday, November 28 Getting Started To get the files that you will need for this problem set, log into nice.harvard.edu and enter the following
More informationWorksheet 3: Predictive Text Entry
Worksheet 3: Predictive Text Entry MSc & ICY Software Workshop, Spring term 2015-16 Seyyed Shah and Uday Reddy Assigned: Tuesday 2 February Intermediate deadline : parts 1 and 2, Tuesday 9th February,
More informationSoftware Paradigms (Lesson 3) Object-Oriented Paradigm (2)
Software Paradigms (Lesson 3) Object-Oriented Paradigm (2) Table of Contents 1 Reusing Classes... 2 1.1 Composition... 2 1.2 Inheritance... 4 1.2.1 Extending Classes... 5 1.2.2 Method Overriding... 7 1.2.3
More informationProgramming Standards: You must conform to good programming/documentation standards. Some specifics:
CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March
More informationChapter 4 Defining Classes I
Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the
More informationCompiler Optimisation 2014 Course Project
Compiler Optimisation 2014 Course Project Michael O Boyle Chris Margiolas January 2014 Course Work Based on GCC compiler One piece of course work: 25 % of course mark Set today and due Thursday 4pm February
More informationWhile waiting for the lecture to begin, please complete. the initial course questionnaire.
SENG 475 & ECE 569A: Advanced Programming Techniques for Robust Efficient Computing (With C++) Michael Adams Department of Electrical and Computer Engineering University of Victoria Victoria, BC, Canada
More informationASSIGNMENT 5 Objects, Files, and More Garage Management
ASSIGNMENT 5 Objects, Files, and More Garage Management COMP-202B, Winter 2010, All Sections Due: Wednesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified,
More informationProgramming Assignment IV Due Thursday, November 18th, 2010 at 11:59 PM
Programming Assignment IV Due Thursday, November 18th, 2010 at 11:59 PM 1 Introduction In this assignment, you will implement a code generator for Cool. When successfully completed, you will have a fully
More informationCPSC 121: Models of Computation Assignment #5
CPSC 2: Models of Computation Assignment #5 Due: Monday, November 27, 27 at 4:pm Total Marks: 27 Submission Instructions-- read carefully We strongly recommend that assignments be done in groups of 2.
More informationKnowledge: This lab will help you become familiar with the following content knowledge:
CS119 Module 2 Due Date: February 12 Purpose: Recursion is a powerful tool for for solving algorithmic problems by having a function repeatedly call itself. We start with a version of recursion called
More informationLecture 1. Course Overview Types & Expressions
Lecture 1 Course Overview Types & Expressions CS 1110 Spring 2012: Walker White Outcomes: Basics of (Java) procedural programming Usage of assignments, conditionals, and loops. Ability to write recursive
More informationImportant Project Dates
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2010 Handout Project Overview Tuesday, Feb 2 This is an overview of the course project and
More informationASSIGNMENT 5 Objects, Files, and a Music Player
ASSIGNMENT 5 Objects, Files, and a Music Player COMP-202A, Fall 2009, All Sections Due: Thursday, December 3, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified, you
More information(Refer Slide Time: 1:27)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data
More informationCMPSCI 250: Introduction to Computation. Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014
CMPSCI 250: Introduction to Computation Lecture #1: Things, Sets and Strings David Mix Barrington 22 January 2014 Things, Sets, and Strings The Mathematical Method Administrative Stuff The Objects of Mathematics
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationCS103 Handout 14 Winter February 8, 2013 Problem Set 5
CS103 Handout 14 Winter 2012-2013 February 8, 2013 Problem Set 5 This fifth problem set explores the regular languages, their properties, and their limits. This will be your first foray into computability
More informationSchool of Informatics, University of Edinburgh
CS1Bh Lecture Note 4 Dynamic Programming This lecture examines a problem solving technique known as dynamic programming. It is frequently used when a straightforward recursive solution to a problem has
More informationSoftware Engineering Large Practical (Android version) 2013/2014
Software Engineering Large Practical (Android version) 2013/2014 Professor Stephen Gilmore School of Informatics Issued on: Wednesday 18 th September, 2013 About The Software Engineering Practical is available
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 12: Sorting Algorithms MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Outline 2 Last week Implementation of the three tree depth-traversal algorithms Implementation of the BinarySearchTree
More informationLECTURE 16. Functional Programming
LECTURE 16 Functional Programming WHAT IS FUNCTIONAL PROGRAMMING? Functional programming defines the outputs of a program as a mathematical function of the inputs. Functional programming is a declarative
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Binary search tree (part I) Version of March 24, 2013 Abstract These lecture notes are meant
More informationChapter Seven: Regular Expressions. Formal Language, chapter 7, slide 1
Chapter Seven: Regular Expressions Formal Language, chapter 7, slide The first time a young student sees the mathematical constant π, it looks like just one more school artifact: one more arbitrary symbol
More informationPractical 2: Ray Tracing
2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be
More informationCS 337 Project 1: Minimum-Weight Binary Search Trees
CS 337 Project 1: Minimum-Weight Binary Search Trees September 6, 2006 1 Preliminaries Let X denote a set of keys drawn from some totally ordered universe U, such as the set of all integers, or the set
More informationIntroduction to the Module Management System (MMS)
Student User Guide Introduction to the Module Management System (MMS) Revised Sept 2009 (Version 4) University of St Andrews Table of Contents 1 Introduction...3 1.1 MMS...3 1.2 Accessing the system...3
More informationITI Introduction to Computing II
ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Binary search tree (part I) Version of March 24, 2013 Abstract These lecture notes are meant
More informationRECURSION. Week 6 Laboratory for Introduction to Programming and Algorithms Uwe R. Zimmer based on material by James Barker. Pre-Laboratory Checklist
RECURSION Week 6 Laboratory for Introduction to Programming and Algorithms Uwe R. Zimmer based on material by James Barker Pre-Laboratory Checklist vvskills: You can write any conditional expression. vvknowledge:
More informationProgramming Assignment 2 ( 100 Points )
Programming Assignment 2 ( 100 Points ) Due: Thursday, October 16 by 11:59pm This assignment has two programs: one a Java application that reads user input from the command line (TwoLargest) and one a
More informationCS 1653: Applied Cryptography and Network Security Fall Term Project, Phase 2
CS 1653: Applied Cryptography and Network Security Fall 2017 Term Project, Phase 2 Assigned: Tuesday, September 12 Due: Tuesday, October 3, 11:59 PM 1 Background Over the course of this semester, we will
More informationCOMP 202 Recursion. CONTENTS: Recursion. COMP Recursion 1
COMP 202 Recursion CONTENTS: Recursion COMP 202 - Recursion 1 Recursive Thinking A recursive definition is one which uses the word or concept being defined in the definition itself COMP 202 - Recursion
More informationCSCI544, Fall 2016: Assignment 2
CSCI544, Fall 2016: Assignment 2 Due Date: October 28 st, before 4pm. Introduction The goal of this assignment is to get some experience implementing the simple but effective machine learning model, the
More informationThe divide and conquer strategy has three basic parts. For a given problem of size n,
1 Divide & Conquer One strategy for designing efficient algorithms is the divide and conquer approach, which is also called, more simply, a recursive approach. The analysis of recursive algorithms often
More informationCSCI 1301: Introduction to Computing and Programming Spring 2018 Project 3: Hangman 2.0 (A Word Guessing Game)
Introduction In this project, you are going to implement the word guessing game, Hangman 2.0. Your program is going to get a random word from an enumerated list (instructions below) and then let the user
More informationHardware Description and Verification Lava Exam
Hardware Description and Verification Lava Exam Mary Sheeran Revised by Thomas Hallgren hallgren@chalmers.se May 16, 2010 Introduction The purpose of this take-home exam is to give you further practice
More informationLecture 8: Context Free Grammars
Lecture 8: Context Free s Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (12/10/17) Lecture 8: Context Free s 2017-2018 1 / 1 Specifying Non-Regular Languages Recall
More informationCS 1027b Foundations of Computer Science II Assignment 1: File Compression Due Date: February 5, 11:55 pm Weight: 10%
CS 1027b Foundations of Computer Science II Assignment 1: File Compression Due Date: February 5, 11:55 pm Weight: 10% 1 Purpose To gain experience with Java Fixed length arrays 2 Overview For this assignment
More informationInformal Reference Manual for X
1 contents of Reference Manual for X Whitespace Comments Names Types, Constants and Expressions Assignment, Input and Output Statements Programs Variables, Implicit Name Introduction Control: Selection
More informationSoftware and Programming 1
Software and Programming 1 Lab 1: Introduction, HelloWorld Program and use of the Debugger 17 January 2019 SP1-Lab1-2018-19.pptx Tobi Brodie (tobi@dcs.bbk.ac.uk) 1 Module Information Lectures: Afternoon
More informationCollections, Maps and Generics
Collections API Collections, Maps and Generics You've already used ArrayList for exercises from the previous semester, but ArrayList is just one part of much larger Collections API that Java provides.
More informationx = 3 * y + 1; // x becomes 3 * y + 1 a = b = 0; // multiple assignment: a and b both get the value 0
6 Statements 43 6 Statements The statements of C# do not differ very much from those of other programming languages. In addition to assignments and method calls there are various sorts of selections and
More informationData Structure and Algorithm Homework #6 Due: 5pm, Friday, June 14, 2013 TA === Homework submission instructions ===
Data Structure and Algorithm Homework #6 Due: 5pm, Friday, June 14, 2013 TA email: dsa1@csie.ntu.edu.tw === Homework submission instructions === For Problem 1, submit your source codes, a Makefile to compile
More informationProblem Set 6 Due: 11:59 Sunday, April 29
CS230 Data Structures Handout # 36 Prof. Lyn Turbak Monday, April 23 Wellesley College Problem Set 6 Due: 11:59 Sunday, April 29 Reading: You are expected to read and understand all of the following handouts,
More information1 Implement EM training of IBM model 1
INF5820, fall 2016 Assignment 2: Alignment for Stat. MT Deadline 21 Oct. at 6 pm, to be delivered in Devilry In this set we will familiarize ourselves with the first steps in the construction of a statistical
More informationAssignment 1. University of Toronto, CSC384 - Introduction to Artificial Intelligence, Winter
Assignment 1. University of Toronto, CSC384 - Introduction to Artificial Intelligence, Winter 2014 1 Computer Science 384 January 26, 2014 St. George Campus University of Toronto Homework Assignment #1
More informationAssignment Tutorial.
Assignment Tutorial rudolf.lam@mail.mcgill.ca What we are looking at today Overview Demo Why Motivation for this lecture on assignment How The way the assignment is run What The components of the assignment
More informationProgramming Project 5: NYPD Motor Vehicle Collisions Analysis
: NYPD Motor Vehicle Collisions Analysis Due date: Dec. 7, 11:55PM EST. You may discuss any of the assignments with your classmates and tutors (or anyone else) but all work for all assignments must be
More informationProject 1: Empirical Analysis of Algorithms
Project 1: Empirical Analysis of Algorithms Dr. Hasmik Gharibyan Deadlines: submit your files electronically by midnight (end of the day) on Friday, 1/19/18. Late submission: you can submit your work within
More informationCS4120/4121/5120/5121 Spring /6 Programming Assignment 4
CS4120/4121/5120/5121 Spring 2016 Programming Assignment 4 Intermediate Code Generation Due: Friday March 18, 11:59pm This programming assignment requires you to implement an IR generator for the Xi programming
More informationCMPSCI 187 / Spring 2015 Postfix Expression Evaluator
CMPSCI 187 / Spring 2015 Postfix Expression Evaluator Due on Thursday, 05 March, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI 187 / Spring 2015
More informationAssignment 7: Due Wednesday May 11 at 6pm UPDATES on Monday May 9
CS1110 Spring 2016 Assignment 7: Due Wednesday May 11 at 6pm UPDATES on Monday May 9 You must work either on your own or with one partner. If you work with a partner, you and your partner must first register
More informationCS Programming Exercise:
CS Programming Exercise: An Introduction to Java and the ObjectDraw Library Objective: To demonstrate the use of objectdraw graphics primitives and Java programming tools This lab will introduce you to
More informationLanguages and Strings. Chapter 2
Languages and Strings Chapter 2 Let's Look at Some Problems int alpha, beta; alpha = 3; beta = (2 + 5) / 10; (1) Lexical analysis: Scan the program and break it up into variable names, numbers, etc. (2)
More informationMaps and Trees. CS310: Program 2. 1 Overview. 2 Requirements. Instructor Provided Files. Late Work: Up to 72 hours Penalty: 10% per 24
Due Date: 2018-NOV-04 Points: 100 1 Overview CS310: Program 2 Maps and Trees Late Work: Up to 72 hours Penalty: 10% per 24 Maps associates unique keys with their corresponding values, and they provide
More informationNote: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.
Com S 227 Spring 2018 Miniassignment 1 40 points Due Date: Thursday, March 8, 11:59 pm (midnight) Late deadline (25% penalty): Friday, March 9, 11:59 pm General information This assignment is to be done
More informationMSO Lecture 1. Wouter Swierstra (adapted by HP) September 11, 2017
1 MSO Lecture 1 Wouter Swierstra (adapted by HP) September 11, 2017 So you think you can program... 2 From nrc.nl 3 Question: why do ICT-projects fail so often? 4 5 Question: why do ICT-projects fail so
More informationLab 7 1 Due Thu., 6 Apr. 2017
Lab 7 1 Due Thu., 6 Apr. 2017 CMPSC 112 Introduction to Computer Science II (Spring 2017) Prof. John Wenskovitch http://cs.allegheny.edu/~jwenskovitch/teaching/cmpsc112 Lab 7 - Using Stacks to Create a
More informationCOMP 412, Fall 2018 Lab 1: A Front End for ILOC
COMP 412, Lab 1: A Front End for ILOC Due date: Submit to: Friday, September 7, 2018 at 11:59 PM comp412code@rice.edu Please report suspected typographical errors to the class Piazza site. We will issue
More informationProblem 3.1 (Building up geometry). For an axiomatically built-up geometry, six groups of axioms needed:
Math 3181 Dr. Franz Rothe September 29, 2016 All3181\3181_fall16h3.tex Names: Homework has to be turned in this handout. For extra space, use the back pages, or put blank pages between. The homework can
More informationAssoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Dr. Marenglen Biba Laboratory Session: Exercises on classes Analogy to help you understand classes and their contents. Suppose you want to drive a car and make it go faster by pressing down
More informationHwk 1: UNIX, C Programming, and Memory Management
Hwk : UNIX, C Programming, and Memory Management This homework may require the following equipment: C compiler Note that the homework is graded. For any questions, please contact us at sista@groupes.epfl.ch..
More informationBusiness Information Systems Lecture 3 BPMN. Enn Õunapuu
Business Information Systems Lecture 3 BPMN Enn Õunapuu enn@cc.ttu.ee Lecture plan Overall approach BPMN Examples 3 Business process definition The word process is defined in the dictionary as a series
More informationMathematical Induction
Mathematical Induction Victor Adamchik Fall of 2005 Lecture 3 (out of three) Plan 1. Recursive Definitions 2. Recursively Defined Sets 3. Program Correctness Recursive Definitions Sometimes it is easier
More informationCOMP251: Algorithms and Data Structures. Jérôme Waldispühl School of Computer Science McGill University
COMP251: Algorithms and Data Structures Jérôme Waldispühl School of Computer Science McGill University About Me Jérôme Waldispühl Associate Professor of Computer Science I am conducting research in Bioinformatics
More informationLecture 23. Java File Handling. Dr. Martin O Connor CA166
Lecture 23 Java File Handling Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics File Systems What is a path? Symbolic links How to create a file How to obtain the file path from a file How
More information15-122: Principles of Imperative Computation, Fall 2015
15-122 Programming 5 Page 1 of 10 15-122: Principles of Imperative Computation, Fall 2015 Homework 5 Programming: Clac Due: Thursday, October 15, 2015 by 22:00 In this assignment, you will implement a
More informationAl al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department
Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces
More informationAn Interesting Way to Combine Numbers
An Interesting Way to Combine Numbers Joshua Zucker and Tom Davis October 12, 2016 Abstract This exercise can be used for middle school students and older. The original problem seems almost impossibly
More informationCS134 Spring 2005 Final Exam Mon. June. 20, 2005 Signature: Question # Out Of Marks Marker Total
CS134 Spring 2005 Final Exam Mon. June. 20, 2005 Please check your tutorial (TUT) section from the list below: TUT 101: F 11:30, MC 4042 TUT 102: M 10:30, MC 4042 TUT 103: M 11:30, MC 4058 TUT 104: F 10:30,
More informationBusiness process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643
Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu enn.ounapuu@ttu.ee ICT-643 Agenda for BPMN BPM reference model BPMN basic elements Modelling methodology BPMN diagramming style
More informationCS 6353 Compiler Construction Project Assignments
CS 6353 Compiler Construction Project Assignments In this project, you need to implement a compiler for a language defined in this handout. The programming language you need to use is C or C++ (and the
More informationSoda Machine Laboratory
Soda Machine Laboratory Introduction This laboratory is intended to give you experience working with multiple queue structures in a familiar real-world setting. The given application models a soda machine
More informationEECS 311: Data Structures and Data Management Program 1 Assigned: 10/21/10 Checkpoint: 11/2/10; Due: 11/9/10
EECS 311: Data Structures and Data Management Program 1 Assigned: 10/21/10 Checkpoint: 11/2/10; Due: 11/9/10 1 Project: Scheme Parser. In many respects, the ultimate program is an interpreter. Why? Because
More informationProgramming 2. Topic 8: Linked Lists, Basic Searching and Sorting
RMIT School of Computer Science and Information Technology Programming 2 Topic 8: Linked Lists, Basic Searching and Sorting Lecture Slides COPYRIGHT 2008 RMIT University. Original content by: Peter Tilmanis,
More information