CS2304 Spring 2014 Project 3

Size: px
Start display at page:

Download "CS2304 Spring 2014 Project 3"

Transcription

1 Goal The Bureau of Labor Statistics maintains data sets on many different things, from work place injuries to consumer spending habits, but what you most frequently hear about is employment. Conveniently, much of BLS s data is available online, and can be accessed using HTTP requests (GET/POST). For this project we re going to write a program that will allow us to access some of those data sets. During this project you ll obtain some experience with Python dictionaries and work with a few Python standard library packages. Program Interface and Output The program takes one command line parameter: an input file name. The input file starts with 2 lines of header text that can be discarded, followed by an arbitrary number of data lines. Each line in the file represents a data series, that may or may not exist and that can potentially be fetched. Here s a short sample input file with three series: Industry SA Data Type Start End Total nonfarm U ALL EMPLOYEES, THOUSANDS Aircraft U WOMEN WORKERS, THOUSANDS Millwork S AVERAGE HOURLY EARNINGS, 1982 DOLLARS While it s not clear from this example, each column in the file is tab separated, so you can split using tab characters ( \t ). You may assume the input file is correctly structured. Each column contains a relevant piece of information needed to fetch a series. The Industry column provides the name of the industry we are examining, while the SA column tells whether we are requesting a data series that is Seasonally Adjusted (S) or Unadjusted (U). There are a few types of available information, which are specified by the Data Type. Finally, Start and End provide the starting and ending year for the data we are requesting. The Industry and Data Type information come from two additional input files (described later) that are always opened and processed. These input files contain the mapping of human- readable names like Total nonfarm to a numerical code that can be used to create a series ID number. To invoke the program: [cmdprompt$] python3 blsrequest.py input.txt The first and second series exist, so we print out the available data for each month of each year starting with the most recent month/year. The third series doesn t exist or doesn t have data for those years, and we print a message letting the user know. So running our program with the

2 input file above should produce the following output, printing each series ID, the human- readable information, and any data found: Series EEU Total nonfarm, Unadjusted, ALL EMPLOYEES, THOUSANDS, Data found: December November October September August July June May April March February January Series EEU Aircraft, Unadjusted, WOMEN WORKERS, THOUSANDS, All of the requested years are not available. Data Found: February January Series EES Millwork, Adjusted, AVERAGE HOURLY EARNINGS, 1982 DOLLARS, The series doesn t exist or have data for given years. BLS Information The available data is broken down into series on the BLS website and each series has a code (a series ID) that you will need to create before trying to make a request. While there are many types of data sets available, we are only going to focus on the National Employment, Hours, and Earnings (SIC basis) data series. For our purposes, each series ID looks like: EES Each piece of the ID has a different meaning shown in the table below from the BLS website: Series ID EES Positions Value Field Name 1-2 EE Prefix 3 S Seasonal Adjustment Code Industry Code Data Type Code

3 So, every series ID we ll create starts with EE, is either seasonally adjusted (S, in this case) or unadjusted (U), has a 6 digit Industry Code, and a 2 digit Data Type Code. The Industry codes and corresponding human- readable names can be found in ee.industry.txt, while the Data Type codes and human- readable names can be found in ee.datatype.txt. Both files can be found on the course website, or on BLS website here: Like the input file these are tab separated. You may assume these files always exist and will be present in the same directory as your Python code. There are only a couple columns in each you need to worry about. Looking at the table above and those files, I can say EES is seasonally adjusted, the Industry Code is Nonmetallic minerals, except fuels, and the Data Type is ALL EMPLOYEES, THOUSANDS. Conversely, I could use the human- readable names in the files above (like in the input file) to derive the series ID. For more information, you may these links as reference: JSON Once we have created the series IDs, we need to send them to BLS. JSON is the data format we ll be using to request and receive series. The series IDs (and other info) must be marshaled into a dictionary then converted into a JSON string prior to making a request. What s JSON? From json.org: JSON (JavaScript Object Notation) is a lightweight data- interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA rd Edition - December So, JSON is an easy, language independent way to store complex structures/values in strings and then transfer them between computers, where the information can be unpacked and used. Here s some more from json.org: JSON is built on two structures: A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.

4 Here is an example of the type of Python dictionary we need to convert to JSON before transmitting the request to BLS. bls = {"seriesid":[ "EEU ", "EES "], "startyear":"2010", "endyear":"2012" } So we have dictionary with 3 name and value pairs. seriesid s value is a list of strings (the series IDs), while startyear has value 2010 and endyear has value We ll convert this to a JSON string, which can be used to fetch the two series: EEU and EES for years from , assuming the data exists. Conveniently, Python provides functions to covert JSON to and from the string representation: import json bls is dictionary, which contains a list and the dates bls[ seriesid ] is the list, so bls[ seriesid ][0] = EEU and bls[ startyear ] is 2010 When you need to make a HTTP request you can turn the Python objects into a JSON string jsonstr = json.dumps(bls) So that dictionary is represented as string in jsonstr print(jsonstr) {"seriesid":[ "EEU ", "EES "], "startyear":"2010", "endyear":"2012" } And we can turn the string back into Python data types. This will be useful when receiving series data. result = json.loads(jsonstr) Making HTTP Requests Now that we know what JSON is, we can look at using JSON to pass information back and forth between our computer and a webserver. Remember BLS s servers have all of the information we want and we are going to use HTTP requests (GET/POST) to access the appropriate data. Like before Python has a package, urllib, to help us out. I d suggest creating a Request object, and using urlopen to transmit and receive the required information. An example is shown below with carefully chosen parameters.

5 import urllib.request import json payload = json.dumps(bls) You shouldn t need to change anything here. Just change the value of the payload. r = urllib.request.request( " payload.encode("utf-8"), {"Content-Type": "application/json"}) Get the response result = urllib.request.urlopen(r) Get the data returned by the server. This is a JSON string with our series information. resultstr = result.read().decode( utf-8 ) The resultstr will be in JSON format and you ll be able to use json.loads() to turn the information from the server into Python data types. Once you ve used json.loads() you ll have a large nested dictionary and list structure, and you ll have experiment some to get to the right values. Take a look the links in the BLS links for examples of the exact format. Note: BLS limits you to a 10 year span in one HTTP request, so for time spans longer than 10 years ( ), you ll need to make more than one JSON string and HTTP request. Summary and Hints This project has a lot of small pieces and some new topics to understand, but it s actually not that many lines of code if you use the suggestions above. Below, I ve also broken down what you need to do into different steps: Be able to read the information from ee.industry.txt and ee.datatype.txt. I d put the codes and human- readable names in dictionaries. Then you can covert the human- readable names to the appropriate code and vice versa. Once you ve done that I d use those dictionaries to build the required series IDs. You ll want to put those into a list and add the list to a dictionary. Once you ve created the dictionary with series ID(s) and a start and end year, you can convert that into a JSON string. Make the HTTP request using the JSON string. I d suggest making one request per series for simplicity but you can combine up to 25 series in a single request, they all share the same start and end date though. Once you ve received a response you can convert the JSON payload into Python data structures and iterate through them to print out the required information. You may need to make more than HTTP request to get all of the data.

6 Transient Errors While testing I occasionally received a response that looked like this: {"status":"request_failed","responsetime":0,"message":["your request has failed, please check your input parameters and try your request again."],"results":null} Note that Results is null (or None once we convert it Python data structures) rather than a list of dictionaries with empty data lists. The error seems to be transient, the same code could work one minute and give me the error later on. I ve tried the code on a few computers and encountered the same error using Curl, so I am fairly certain it s not a local issue or a code issue. If I had caught the error earlier on I may have changed the project substantially. Given this situation, since we ll be testing the project live on the Curator and we don t control BLS s resources, we need to have a backup plan. If you receive the error above or if BLS servers become other wise unreachable, you should print the series ID and information like before, and the print dictionaries you converted to JSON then tried to send to the BLS website. Series EEU Total nonfarm, Unadjusted, ALL EMPLOYEES, THOUSANDS, {'seriesid': ['EEU '], 'endyear': '1995', 'startyear': '1995'} Series EEU Aircraft, Unadjusted, WOMEN WORKERS, THOUSANDS, {'seriesid': ['EEU '], 'endyear': '2007', 'startyear': '2003'} Series EES Millwork, Adjusted, AVERAGE HOURLY EARNINGS, 1982 DOLLARS, {'seriesid': ['EES '], 'endyear': '2007', 'startyear': '2003'} Here is an example with a timespan greater than 10 years being broken into multiple requests: Series EEU Total nonfarm, Unadjusted, ALL EMPLOYEES, THOUSANDS, {'seriesid': ['EEU '], 'endyear': '2010', 'startyear': '2000'} {'seriesid': ['EEU '], 'endyear': '1999', 'startyear': '1989'} {'seriesid': ['EEU '], 'endyear': '1988', 'startyear': '1985'}

7 Submitting Your Work You will submit a single.py file, containing nothing but the implementation described above. Be sure to conform to any specified function interfaces. Your submission will be executed with a test driver and graded according to how many cases your solution handles correctly. This assignment will be graded automatically. You will be allowed up to ten submissions for this assignment. Test your function thoroughly before submitting it. Make sure that your function produces correct results for every test case you can think of. The course policy is that the submission that yields the highest score will be checked. If several submissions are tied for the highest score, the latest of those will be checked. The link to the submit page is located here: Pledge: Each of your program submissions must be pledged to conform to the Honor Code requirements for this course. Specifically, you must include the following pledge statement in the submitted file: On my honor: - I have not discussed the Python code in my program with anyone other than my instructor or the teaching assistants assigned to this course. - I have not used Python code obtained from another student, or any other unauthorized source, either modified or unmodified. - If any Python code or documentation used in my program was obtained from another source, such as a text book or course notes, that has been clearly noted with a proper citation in the comments of my program. - I have not designed this program in such a way as to defeat or interfere with the normal operation of the Curator System. <Student Name> Failure to include this pledge in a submission is a violation of the Honor Code.

CS 1044 Program 6 Summer I dimension ??????

CS 1044 Program 6 Summer I dimension ?????? Managing a simple array: Validating Array Indices Most interesting programs deal with considerable amounts of data, and must store much, or all, of that data on one time. The simplest effective means for

More information

CS 2604 Minor Project 1 Summer 2000

CS 2604 Minor Project 1 Summer 2000 RPN Calculator For this project, you will design and implement a simple integer calculator, which interprets reverse Polish notation (RPN) expressions. There is no graphical interface. Calculator input

More information

CS 2604 Minor Project 1 DRAFT Fall 2000

CS 2604 Minor Project 1 DRAFT Fall 2000 RPN Calculator For this project, you will design and implement a simple integer calculator, which interprets reverse Polish notation (RPN) expressions. There is no graphical interface. Calculator input

More information

Decision Logic: if, if else, switch, Boolean conditions and variables

Decision Logic: if, if else, switch, Boolean conditions and variables CS 1044 roject 4 Summer I 2007 Decision Logic: if, if else, switch, Boolean conditions and variables This programming assignment uses many of the ideas presented in sections 3 through 5 of the course notes,

More information

// Initially NULL, points to the dynamically allocated array of bytes. uint8_t *data;

// Initially NULL, points to the dynamically allocated array of bytes. uint8_t *data; Creating a Data Type in C Bytes For this assignment, you will use the struct mechanism in C to implement a data type that represents an array of bytes. This data structure could be used kind of like a

More information

CS 1044 Project 1 Fall 2011

CS 1044 Project 1 Fall 2011 Simple Arithmetic Calculations, Using Standard Functions One of the first things you will learn about C++ is how to perform numerical computations. In this project, you are given an incomplete program

More information

gcc o driver std=c99 -Wall driver.c bigmesa.c

gcc o driver std=c99 -Wall driver.c bigmesa.c C Programming Simple Array Processing This assignment consists of two parts. The first part focuses on array read accesses and computational logic. The second part focuses on array read/write access and

More information

The Program Specification:

The Program Specification: Reading to Input Failure, Decisions, Functions This programming assignment uses many of the ideas presented in sections 3 through 8 of the course notes, so you are advised to read those notes carefully

More information

CS 3114 Data Structures and Algorithms DRAFT Project 2: BST Generic

CS 3114 Data Structures and Algorithms DRAFT Project 2: BST Generic Binary Search Tree This assignment involves implementing a standard binary search tree as a Java generic. The primary purpose of the assignment is to ensure that you have experience with some of the issues

More information

A rectangle in the xy-plane, whose sides are parallel to the coordinate axes can be fully specified by giving the coordinates of two opposite corners:

A rectangle in the xy-plane, whose sides are parallel to the coordinate axes can be fully specified by giving the coordinates of two opposite corners: Decision-making in C (Possibly) Intersecting Rectangles Background A rectangle in the xy-plane, whose sides are parallel to the coordinate axes can be fully specified by giving the coordinates of two opposite

More information

Pointer Casts and Data Accesses

Pointer Casts and Data Accesses C Programming Pointer Casts and Data Accesses For this assignment, you will implement a C function similar to printf(). While implementing the function you will encounter pointers, strings, and bit-wise

More information

Given that much information about two such rectangles, it is possible to determine whether they intersect.

Given that much information about two such rectangles, it is possible to determine whether they intersect. Decision-making in C (Possibly) Intersecting Rectangles Background A rectangle in the xy-plane, whose sides are parallel to the coordinate axes can be fully specified by giving the coordinates of one corner

More information

CS 1044 Project 2 Spring 2003

CS 1044 Project 2 Spring 2003 C++ Mathematical Calculations: Falling Bodies Suppose an object is dropped from a point at a known distance above the ground and allowed to fall without any further interference; for example, a skydiver

More information

Each line will contain a string ("even" or "odd"), followed by one or more spaces, followed by a nonnegative integer.

Each line will contain a string (even or odd), followed by one or more spaces, followed by a nonnegative integer. Decision-making in C Squeezing Digits out of an Integer Assignment For part of this assignment, you will use very basic C techniques to implement a C function to remove from a given nonnegative integer

More information

gcc o driver std=c99 -Wall driver.c everynth.c

gcc o driver std=c99 -Wall driver.c everynth.c C Programming The Basics This assignment consists of two parts. The first part focuses on implementing logical decisions and integer computations in C, using a C function, and also introduces some examples

More information

CS 2604 Minor Project 3 Movie Recommender System Fall Braveheart Braveheart. The Patriot

CS 2604 Minor Project 3 Movie Recommender System Fall Braveheart Braveheart. The Patriot Description If you have ever visited an e-commerce website such as Amazon.com, you have probably seen a message of the form people who bought this book, also bought these books along with a list of books

More information

For storage efficiency, longitude and latitude values are often represented in DMS format. For McBryde Hall:

For storage efficiency, longitude and latitude values are often represented in DMS format. For McBryde Hall: Parsing Input and Formatted Output in C Dealing with Geographic Coordinates You will provide an implementation for a complete C program that reads geographic coordinates from an input file, does some simple

More information

CS 2604 Minor Project 3 DRAFT Summer 2000

CS 2604 Minor Project 3 DRAFT Summer 2000 Simple Hash Table For this project you will implement a simple hash table using closed addressing and a probe function. The hash table will be used here to store structured records, and it should be implemented

More information

Pointer Accesses to Memory and Bitwise Manipulation

Pointer Accesses to Memory and Bitwise Manipulation C Programming Pointer Accesses to Memory and Bitwise Manipulation This assignment consists of two parts, the second extending the solution to the first. Q1 [80%] Accessing Data in Memory Here is a hexdump

More information

Simple C Dynamic Data Structure

Simple C Dynamic Data Structure C Programming Simple C Dynamic Data Structure For this assignment, you will implement a program that manipulates a simple queue of integer values. Your program will include the following features: IntegerDT

More information

Creating a String Data Type in C

Creating a String Data Type in C C Programming Creating a String Data Type in C For this assignment, you will use the struct mechanism in C to implement a data type that models a character string: struct _String { char data; dynamically-allocated

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming 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 information

struct _Rational { int64_t Top; // numerator int64_t Bottom; // denominator }; typedef struct _Rational Rational;

struct _Rational { int64_t Top; // numerator int64_t Bottom; // denominator }; typedef struct _Rational Rational; Creating a Data Type in C Rational Numbers For this assignment, you will use the struct mechanism in C to implement a data type that represents rational numbers. A set can be modeled using the C struct:

More information

Fundamental Concepts: array of structures, string objects, searching and sorting. Static Inventory Maintenance Program

Fundamental Concepts: array of structures, string objects, searching and sorting. Static Inventory Maintenance Program Fundamental Concepts: array of structures, string objects, searching and sorting The point of this assignment is to validate your understanding of the basic concepts presented in CS 1044. If you have much

More information

CS 2704 Project 1 Spring 2001

CS 2704 Project 1 Spring 2001 Robot Tank Simulation We've all seen various remote-controlled toys, from miniature racecars to artificial pets. For this project you will implement a simulated robotic tank. The tank will respond to simple

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

You will provide an implementation for a test driver and for a C function that satisfies the conditions stated in the header comment:

You will provide an implementation for a test driver and for a C function that satisfies the conditions stated in the header comment: Decision-making in C (Possibly) Intersecting Rectangles Background A rectangle in the xy-plane, whose sides are parallel to the coordinate axes can be fully specified by giving the coordinates of one corner

More information

CS 1044 Program 2 Spring 2002

CS 1044 Program 2 Spring 2002 Simple Algebraic Calculations One of the first things you will learn about C++ is how to perform numerical computations. In this project, you are given an incomplete program (see the end of this specification),

More information

PR quadtree. public class prquadtree< T extends Compare2D<? super T> > {

PR quadtree. public class prquadtree< T extends Compare2D<? super T> > { PR quadtree This assignment involves implementing a point-region quadtree (specifically the PR quadtree as described in section 3.2 of Samet s paper) as a Java generic. Because this assignment will be

More information

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic:

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic: Pointer Manipulations Pointer Casts and Data Accesses Viewing Memory The contents of a block of memory may be viewed as a collection of hex nybbles indicating the contents of the byte in the memory region;

More information

Pointer Accesses to Memory and Bitwise Manipulation

Pointer Accesses to Memory and Bitwise Manipulation C Programming Pointer Accesses to Memory and Bitwise Manipulation This assignment consists of two parts, the second extending the solution to the first. Q1 [80%] Accessing Data in Memory Here is a hexdump

More information

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn Problem Write and test a Scheme program to compute how many days are spanned by two given days. The program will include a procedure

More information

Pointer Accesses to Memory and Bitwise Manipulation

Pointer Accesses to Memory and Bitwise Manipulation C Programming Pointer Accesses to Memory and Bitwise Manipulation This assignment consists of implementing a function that can be executed in two modes, controlled by a switch specified by a parameter

More information

Programming Logic and Design Sixth Edition

Programming Logic and Design Sixth Edition Objectives Programming Logic and Design Sixth Edition Chapter 6 Arrays In this chapter, you will learn about: Arrays and how they occupy computer memory Manipulating an array to replace nested decisions

More information

Example. Section: PS 709 Examples of Calculations of Reduced Hours of Work Last Revised: February 2017 Last Reviewed: February 2017 Next Review:

Example. Section: PS 709 Examples of Calculations of Reduced Hours of Work Last Revised: February 2017 Last Reviewed: February 2017 Next Review: Following are three examples of calculations for MCP employees (undefined hours of work) and three examples for MCP office employees. Examples use the data from the table below. For your calculations use

More information

CS 2704 Project 3 Spring 2000

CS 2704 Project 3 Spring 2000 Maze Crawler For this project, you will be designing and then implementing a prototype for a simple game. The moves in the game will be specified by a list of commands given in a text input file. There

More information

CS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM

CS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM CS3114 (Fall 2017) PROGRAMMING ASSIGNMENT #4 Due Thursday, December 7 th @ 11:00 PM for 100 points Due Tuesday, December 5 th @ 11:00 PM for 10 point bonus Last updated: 11/13/2017 Assignment: Update:

More information

File Navigation and Text Parsing in Java

File Navigation and Text Parsing in Java File Navigation and Text Parsing in Java This assignment involves implementing a smallish Java program that performs some basic file parsing and navigation tasks, and parsing of character strings. The

More information

CS Homework 4 Lifeguard Employee Ranker. Due: Tuesday, June 3rd, before 11:55 PM Out of 100 points. Files to submit: 1. HW4.py.

CS Homework 4 Lifeguard Employee Ranker. Due: Tuesday, June 3rd, before 11:55 PM Out of 100 points. Files to submit: 1. HW4.py. CS 2316 Homework 4 Lifeguard Employee Ranker Due: Tuesday, June 3rd, before 11: PM Out of 100 points Files to submit: 1. HW4.py This is an PAIR assignment! This is a pair programming problem! You are expected

More information

Computer Grade 5. Unit: 1, 2 & 3 Total Periods 38 Lab 10 Months: April and May

Computer Grade 5. Unit: 1, 2 & 3 Total Periods 38 Lab 10 Months: April and May Computer Grade 5 1 st Term Unit: 1, 2 & 3 Total Periods 38 Lab 10 Months: April and May Summer Vacation: June, July and August 1 st & 2 nd week Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 First term (April) Week

More information

PROGRAMMING CONCEPTS

PROGRAMMING CONCEPTS ch01.qxd 9/19/02 9:17 AM Page 1 C H A P T E R 1 PROGRAMMING CONCEPTS CHAPTER OBJECTIVES In this Chapter, you will learn about: The Nature of a Computer Program and Programming Languages Page 2 Good Programming

More information

Both parts center on the concept of a "mesa", and make use of the following data type:

Both parts center on the concept of a mesa, and make use of the following data type: C Programming Simple Array Processing This assignment consists of two parts. The first part focuses on array read accesses and computational logic. The second part requires solving the same problem using

More information

Lecture-14 Lookup Functions

Lecture-14 Lookup Functions Lecture-14 Lookup Functions How do I write a formula to compute tax rates based on income? Given a product ID, how can I look up the product s price? Suppose that a product s price changes over time. I

More information

Welcome to... CS113: Introduction to C

Welcome to... CS113: Introduction to C Welcome to... CS113: Introduction to C Instructor: Erik Sherwood E-mail: wes28@cs.cornell.edu Course Website: http://www.cs.cornell.edu/courses/cs113/2005fa/ The website is linked to from the courses page

More information

DeVry University Houston

DeVry University Houston DeVry University Houston Faculty Orientation Manual IN THIS SECTION: Teaching Contracts & Payment Teaching Contracts Payment Terms Change of Address or Contact Information Section 2 Tax Information TEACHING

More information

A Beginner s Guide to Programming Logic, Introductory. Chapter 6 Arrays

A Beginner s Guide to Programming Logic, Introductory. Chapter 6 Arrays A Beginner s Guide to Programming Logic, Introductory Chapter 6 Arrays Objectives In this chapter, you will learn about: Arrays and how they occupy computer memory Manipulating an array to replace nested

More information

Law Firm Industry Analysis

Law Firm Industry Analysis Law Firm Industry Analysis Table of contents Preface: SAS Knows that Growth Depends on Availability 2 Chapter 1: Start with Programming Basics 3 Part 1: Frequently Asked Questions 4 Part 2: Call Handling

More information

a f b e c d Figure 1 Figure 2 Figure 3

a f b e c d Figure 1 Figure 2 Figure 3 CS2604 Fall 2001 PROGRAMMING ASSIGNMENT #4: Maze Generator Due Wednesday, December 5 @ 11:00 PM for 125 points Early bonus date: Tuesday, December 4 @ 11:00 PM for 13 point bonus Late date: Thursday, December

More information

Iowa Assessments TM Planning Guide

Iowa Assessments TM Planning Guide Iowa Assessments TM Planning Guide Steps for Success! Helping administrators prepare for the next testing season 12-17 90705133 Dear Iowa Test Administrator, Thank you for overseeing administration of

More information

CS Homework 4 Employee Ranker. Due: Wednesday, February 8th, before 11:55 PM Out of 100 points. Files to submit: 1. HW4.py.

CS Homework 4 Employee Ranker. Due: Wednesday, February 8th, before 11:55 PM Out of 100 points. Files to submit: 1. HW4.py. CS 216 Homework 4 Employee Ranker Due: Wednesday, February 8th, before 11: PM Out of 0 points Files to submit: 1. HW4.py This is an INDIVIDUAL assignment! Collaboration at a reasonable level will not result

More information

Dictionaries. By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region. Based on CBSE Curriculum Class -11. Neha Tyagi, KV 5 Jaipur II Shift

Dictionaries. By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region. Based on CBSE Curriculum Class -11. Neha Tyagi, KV 5 Jaipur II Shift Dictionaries Based on CBSE Curriculum Class -11 By- Neha Tyagi PGT CS KV 5 Jaipur II Shift Jaipur Region Introduction Python provides us various options to store multiple values under one variable name.

More information

CS 1510: Intro to Computing - Fall 2017 Assignment 8: Tracking the Greats of the NBA

CS 1510: Intro to Computing - Fall 2017 Assignment 8: Tracking the Greats of the NBA CS 1510: Intro to Computing - Fall 2017 Assignment 8: Tracking the Greats of the NBA Code Due: Tuesday, November 7, 2017, by 11:59 p.m. The Assignment The purpose of this assignment is to give you more

More information

Lab 4 - Input\Output in VB Using A Data File

Lab 4 - Input\Output in VB Using A Data File Lab 4 - Input\Output in VB Using A Data File Introduction You may want to read some data from an input file and write results into another output file. In these cases, it is useful to use a plain text

More information

Graded Project. Microsoft Excel

Graded Project. Microsoft Excel Graded Project Microsoft Excel INTRODUCTION 1 PROJECT SCENARIO 1 CREATING THE WORKSHEET 2 GRAPHING YOUR RESULTS 4 INSPECTING YOUR COMPLETED FILE 6 PREPARING YOUR FILE FOR SUBMISSION 6 Contents iii Microsoft

More information

CMPSCI 187 / Spring 2015 Hanoi

CMPSCI 187 / Spring 2015 Hanoi Due on Thursday, March 12, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 Contents Overview 3 Learning Goals.................................................

More information

Read and fill in this page now

Read and fill in this page now Login: Page - 1 CS3 Midterm 1 Read and fill in this page now Fall 2006 Titterton Name: Instructional Login (eg, cs3-ab): UCWISE login: Lab section (day and time): T.A.: Name of the person sitting to your

More information

CS 2704 Project 2: Elevator Simulation Fall 1999

CS 2704 Project 2: Elevator Simulation Fall 1999 Elevator Simulation Consider an elevator system, similar to the one on McBryde Hall. At any given time, there may be zero or more elevators in operation. Each operating elevator will be on a particular

More information

B.2 Measures of Central Tendency and Dispersion

B.2 Measures of Central Tendency and Dispersion Appendix B. Measures of Central Tendency and Dispersion B B. Measures of Central Tendency and Dispersion What you should learn Find and interpret the mean, median, and mode of a set of data. Determine

More information

For this assignment, you will implement a collection of C functions to support a classic data encoding scheme.

For this assignment, you will implement a collection of C functions to support a classic data encoding scheme. C Programming SEC-DED Data Encoding For this assignment, you will implement a collection of C functions to support a classic data encoding scheme. Data transmission and data storage both raise the risk

More information

Read and fill in this page now. Your lab section day and time: Name of the person sitting to your left: Name of the person sitting to your right:

Read and fill in this page now. Your lab section day and time: Name of the person sitting to your left: Name of the person sitting to your right: CS3 Fall 04 Midterm 1 Read and fill in this page now Your name: Your login name: Your lab section day and time: Your lab T.A.: Name of the person sitting to your left: Name of the person sitting to your

More information

Lecture 5 8/24/18. Writing larger programs. Comments. What are we going to cover today? Using Comments. Comments in Python. Writing larger programs

Lecture 5 8/24/18. Writing larger programs. Comments. What are we going to cover today? Using Comments. Comments in Python. Writing larger programs What are we going to cover today? Lecture 5 Writing and Testing Programs Writing larger programs Commenting Design Testing Writing larger programs As programs become larger and more complex, it becomes

More information

Project 5 Due 11:59:59pm Wed, Nov 25, 2015 (no late submissions)

Project 5 Due 11:59:59pm Wed, Nov 25, 2015 (no late submissions) Introduction Project 5 Due 11:59:59pm Wed, Nov 25, 2015 (no late submissions) In this project, you will write a compiler for a programming language called Rube, which is a small objectoriented programming

More information

Project 1 Balanced binary

Project 1 Balanced binary CMSC262 DS/Alg Applied Blaheta Project 1 Balanced binary Due: 7 September 2017 You saw basic binary search trees in 162, and may remember that their weakness is that in the worst case they behave like

More information

The assignment requires solving a matrix access problem using only pointers to access the array elements, and introduces the use of struct data types.

The assignment requires solving a matrix access problem using only pointers to access the array elements, and introduces the use of struct data types. C Programming Simple Array Processing The assignment requires solving a matrix access problem using only pointers to access the array elements, and introduces the use of struct data types. Both parts center

More information

CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm

CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm 1 CMPSC 111 Introduction to Computer Science I Fall 2016 Lab 8 Assigned: October 26, 2016 Due: November 2, 2016 by 2:30pm Objectives To enhance your experience with designing and implementing your own

More information

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001 257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2

More information

A GUIDE TO THE GRIEVANCE PROCESS IN THE DISTRICT OF COLUMBIA JAIL

A GUIDE TO THE GRIEVANCE PROCESS IN THE DISTRICT OF COLUMBIA JAIL A GUIDE TO THE GRIEVANCE PROCESS IN THE DISTRICT OF COLUMBIA JAIL The grievance process is complicated, so don t get frustrated, just read through this guide several times, and if you still don t understand

More information

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations

More information

1099s: Out of the Holding Tank

1099s: Out of the Holding Tank QuickBooks support from Diane Gilson... 1099s: Out of the Holding Tank Here are the basic steps to follow: You pay YOUR taxes, I pay MY taxes, but does everyone else out there pay THEIR taxes? Well, if

More information

Review of Engineering Fundamentals CIVL 4197

Review of Engineering Fundamentals CIVL 4197 Review of Engineering Fundamentals CIVL 4197 Course Format 13 review sessions Half-length mock FE exam 3-hour exam 55 questions (~3 minutes per question) $44 payable online What Do I Need? NCEES FE Reference

More information

Introduction to Algorithms: Massachusetts Institute of Technology 7 October, 2011 Professors Erik Demaine and Srini Devadas Problem Set 4

Introduction to Algorithms: Massachusetts Institute of Technology 7 October, 2011 Professors Erik Demaine and Srini Devadas Problem Set 4 Introduction to Algorithms: 6.006 Massachusetts Institute of Technology 7 October, 2011 Professors Erik Demaine and Srini Devadas Problem Set 4 Problem Set 4 Both theory and programming questions are due

More information

Language Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */

Language Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */ Overview Language Basics This chapter describes the basic elements of Rexx. It discusses the simple components that make up the language. These include script structure, elements of the language, operators,

More information

CSCI 1100L: Topics in Computing Lab Lab 07: Microsoft Access (Databases) Part I: Movie review database.

CSCI 1100L: Topics in Computing Lab Lab 07: Microsoft Access (Databases) Part I: Movie review database. CSCI 1100L: Topics in Computing Lab Lab 07: Microsoft Access (Databases) Purpose: The purpose of this lab is to introduce you to the basics of creating a database and writing SQL (Structured Query Language)

More information

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues

More information

CMSC 201 Spring 2016 Lab 04 For Loops

CMSC 201 Spring 2016 Lab 04 For Loops CMSC 201 Spring 2016 Lab 04 For Loops Assignment: Lab 04 For Loops Due Date: During discussion, February 29 th through March 3 rd Value: 10 points Part 1: Lists Lists are an easy way to hold lots of individual

More information

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY 2018 January 01 02 03 04 05 06 07 Public Holiday 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Supplementary exam: Basic s, Grooming 27 28 29 30 31 01 02 03 04 05 06 Notes: 2018 February 29

More information

CSC 443: Web Programming

CSC 443: Web Programming 1 CSC 443: Web Programming Haidar Harmanani Department of Computer Science and Mathematics Lebanese American University Byblos, 1401 2010 Lebanon Today 2 Course information Course Objectives A Tiny assignment

More information

Homework # 7 DUE: 11:59pm November 15, 2002 NO EXTENSIONS WILL BE GIVEN

Homework # 7 DUE: 11:59pm November 15, 2002 NO EXTENSIONS WILL BE GIVEN Homework #6 CS 450 - Operating Systems October 21, 2002 Homework # 7 DUE: 11:59pm November 15, 2002 NO EXTENSIONS WILL BE GIVEN 1. Overview In this assignment you will implement that FILES module of OSP.

More information

CMSC 201 Spring 2017 Project 1 Number Classifier

CMSC 201 Spring 2017 Project 1 Number Classifier CMSC 201 Spring 2017 Project 1 Number Classifier Assignment: Project 1 Number Classifier Due Date: Design Document: Saturday, March 11th, 2017 by 8:59:59 PM Project: Friday, March 17th, 2017 by 8:59:59

More information

Do not turn to the next page until the start of the exam.

Do not turn to the next page until the start of the exam. Introduction to Programming, PIC10A E. Ryu Fall 2017 Midterm Exam Friday, November 3, 2017 50 minutes, 11 questions, 100 points, 8 pages While we don t expect you will need more space than provided, you

More information

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1

ACORN.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 information

Furl Furled Furling. Social on-line book marking for the masses. Jim Wenzloff Blog:

Furl Furled Furling. Social on-line book marking for the masses. Jim Wenzloff Blog: Furl Furled Furling Social on-line book marking for the masses. Jim Wenzloff jwenzloff@misd.net Blog: http://www.visitmyclass.com/blog/wenzloff February 7, 2005 This work is licensed under a Creative Commons

More information

Maintenance Minor Updates and Bug Fixes Release Dates... 8

Maintenance Minor Updates and Bug Fixes Release Dates... 8 Credential Manager 1601 January 2016 In this issue Pearson Credential Management is proud to announce Candidate photos for ID verification in the upcoming release of Credential Manager 1601, scheduled

More information

Lab 7 1 Due Thu., 6 Apr. 2017

Lab 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 information

2. Formulas and Series

2. Formulas and Series 55 2. Formulas and Series In this chapter you will learn how to automatically complete a series of numbers, dates, or other items and work with more complex formulas in Excel. You will notice that creating

More information

» How do I Integrate Excel information and objects in Word documents? How Do I... Page 2 of 10 How do I Integrate Excel information and objects in Word documents? Date: July 16th, 2007 Blogger: Scott Lowe

More information

Sinusoidal Data Worksheet

Sinusoidal Data Worksheet Sinusoidal Data Worksheet West Coast Tidal Analysis: Fill in the following chart for the low tide and high tides per day for the researched two-day period (so four low tides and high tides all inter-distributed)

More information

Assignment 3 ITCS-6010/8010: Cloud Computing for Data Analysis

Assignment 3 ITCS-6010/8010: Cloud Computing for Data Analysis Assignment 3 ITCS-6010/8010: Cloud Computing for Data Analysis Due by 11:59:59pm on Tuesday, March 16, 2010 This assignment is based on a similar assignment developed at the University of Washington. Running

More information

CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points

CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points CS 1803 Pair Homework 4 Greedy Scheduler (Part I) Due: Wednesday, September 29th, before 6 PM Out of 100 points Files to submit: 1. HW4.py This is a PAIR PROGRAMMING Assignment: Work with your partner!

More information

Problem Set 4. Problem 4-1. [35 points] Hash Functions and Load

Problem Set 4. Problem 4-1. [35 points] Hash Functions and Load Introduction to Algorithms: 6.006 Massachusetts Institute of Technology 7 October, 2011 Professors Erik Demaine and Srini Devadas Problem Set 4 Problem Set 4 Both theory and programming questions are due

More information

Configuring GiftWorks to Work with QuickBooks

Configuring GiftWorks to Work with QuickBooks Table of Contents INTRODUCTION... 2 HOW TO USE THIS GUIDE... 2 GETTING STARTED WITH GIFTWORKS AND QUICKBOOKS INTEGRATION... 3 Understanding GiftWorks Donations, Accounts, and Funds... 3 Configuring GiftWorks

More information

/ Cloud Computing. Recitation 2 January 19 & 21, 2016

/ Cloud Computing. Recitation 2 January 19 & 21, 2016 15-319 / 15-619 Cloud Computing Recitation 2 January 19 & 21, 2016 Accessing the Course Open Learning Initiative (OLI) Course Access via Blackboard http://theproject.zone AWS Account Setup Azure Account

More information

C Programming. A quick introduction for embedded systems. Dr. Alun Moon UNN/CEIS. September 2008

C Programming. A quick introduction for embedded systems. Dr. Alun Moon UNN/CEIS. September 2008 C Programming A quick introduction for embedded systems Dr. Alun Moon UNN/CEIS September 2008 Dr. Alun Moon (UNN/CEIS) C Programming September 2008 1 / 13 Programming is both an art and a science. It is

More information

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic:

Here is a C function that will print a selected block of bytes from such a memory block, using an array-based view of the necessary logic: Pointer Manipulations Pointer Casts and Data Accesses Viewing Memory The contents of a block of memory may be viewed as a collection of hex nybbles indicating the contents of the byte in the memory region;

More information

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are:

One of the hardest things you have to do is to keep track of three kinds of commands when writing and running computer programs. Those commands are: INTRODUCTION Your first daily assignment is to modify the program test.py to make it more friendly. But first, you need to learn how to edit programs quickly and efficiently. That means using the keyboard

More information

Time and Attendance Self Service - Hourly Training Guide University of Massachusetts Boston Human Resources Department

Time and Attendance Self Service - Hourly Training Guide University of Massachusetts Boston Human Resources Department 2017-2018 Time and Attendance Self Service - Hourly Training Guide University of Massachusetts Boston Human Resources Department Revised: September 2017 Table of Contents HR Direct Self Service Login Login

More information

EEN118 22nd November These are my answers. Extra credit for anyone who spots a mistike. Except for that one. I did it on purpise.

EEN118 22nd November These are my answers. Extra credit for anyone who spots a mistike. Except for that one. I did it on purpise. EEN118 22nd November 2011 These are my answers. Extra credit for anyone who spots a mistike. Except for that one. I did it on purpise. 5. An automatic animal monitoring device sits in the african savannah

More information

Update : CalFresh Elimination of Change Reporting in CalFresh

Update : CalFresh Elimination of Change Reporting in CalFresh Santa Clara County Social Services Agency page 1 Date: 03/18/16 References: Cross-References: Clerical: Handbook Revision: ACL #15-90, ACL #15-90E None No Yes Elimination of Change Reporting in CalFresh

More information

4. Java Project Design, Input Methods

4. Java Project Design, Input Methods 4-1 4. Java Project Design, Input Methods Review and Preview You should now be fairly comfortable with creating, compiling and running simple Java projects. In this class, we continue learning new Java

More information

Learning Objective. Project Objective

Learning Objective. Project Objective Table of Contents 15-440: Project 1 Remote File Storage and Access Kit (File Stack) Using Sockets and RMI Design Report Due Date: 14 Sep 2011 Final Due Date: 3 Oct 2011 Learning Objective...1 Project Objective...1

More information