Name(s)_______________________________________________ Period ______ Date ___________________

Project - Make a Library

Project Description

Libraries let you build functions that you and others can use to help build more powerful apps in lots of situations. As the designer of a library you not only need to know how to program, you also need to think about the many different kinds of programs other people might build.

For this project you will design and build a library of functions around any topic you want. You will have an opportunity to exchange feedback with another group about how you might use their library to design an app. Finally you will answer a few questions about the library you designed.

You will submit as a formative (Jan 25th):

You will submit as a summative (Feb 7th):

Library Requirements

Step 1 - Brainstorm

Your library can be about any topic. If you need some ideas try the list below

Step 2 - Design

After you've brainstormed the focus of your app, fill in the table below with the list of functions you intend to build.

Function Name

Write the name of each function

Description, Parameters, Return

Write the comments for this function

Loop, If-statement, Param, Return?

At least one function must include all 4 features listed above

maximum(list)

// Takes a list and returns the largest value that appears in the list

// list {list} - the list of items

// return {number} - the largest number in the list

Yes this function should include all of these features.

EvenorOdd

//Test if the numbers from the list are even or odd

//if statement test if when the numbers are divided by two it gives a decimal

//the return text returns our odd and even numbers in a phrase

//the console log calls our function

Yes this function includes all of these features ;)

PositiveorNeg

//Test if the numbers from the list are positive or negative

//if statement test if when the numbers are greater than or less than zero

//the return text returns our positive and negative numbers in a phrase

//the console log calls our function

Yes this function also includes all of these features ;)

Step 3 - Build

Program your library. Make sure you do the following.

Step 4 - Test

Write test cases for each of the functions in your library to make sure they return the expected values. Remember that you should include.

Note: Once you are done testing your functions, make sure to comment out any tests you have written into your code to test your library functions before sending your library to a classmate in Step 5.

Step 5 - Share and Feedback

Send your library to a classmate and have them send it to you. You shouldn't need to explain anything about how your library works or what it is for. The documentation should be good enough.

Your reviewer should fill in the information below.

Reviewer Name: _________________________________________________

Yes

Kind Of

No

Clear: I can easily understand the overall purpose of the library and each function within it.

Error-Free: Each function in the library works as expected.

Useful: I can think of situations where I would want to use this library

I like: Give feedback on at least one thing you like in the library



I wish: Give one problem or limitation of the library



What if: Give one idea for how to improve the library



Step 6 - Improve

Based on the feedback above make final improvements to your library.

Step 7 - Acknowledge Collaborators / Sources

It is important to acknowledge any code you write that was developed collaboratively or that you received from another source. In the table below list work you completed with a collaborative partner or got from another source

Name / Source

Lines of Code / Portions of Program Contributed


Scoring Guidelines

Written Responses (individual) - In the Written Response the student...

Responses

Point

Selected procedure includes a parameter that impacts the functionality of the procedure

/4

Selected procedure includes sequencing, selection, and iteration

/4

Response 2 explains how the selected procedure accomplishes its task

/4

Response 3 Call 1: the response indicates the arguments that are passed, the specific condition that is checked, and the result of the call.

/4

Response 3 Call 2: the response indicates the arguments that are passed, the specific condition that is checked, and the result of the call.

/4

Video (individual)

Video shows program functionality and input/output of the app

/4

Program Code

Library includes two or more functions that accomplish related tasks

/4

All functions include comments that explain the purpose of the function and the parameters

/4

All functions include tests that demonstrate the code working as expected

/4

At least one functions includes a loop, a conditional, one or more parameters, and a return statement

/4

Library code runs without errors

/4

Total

/44

Computer Science Principles