Navigation

Home

Weekly Schedule

TA Schedule

Prof Harris Schedule

Prof Capaccio Schedule

General Policies

Resources

CodingBat, practice site

Tutorial directory

Lab directory

CS 139 Lab: Introduction to Blackboard and a First Algorithm


Objectives:

  • Introduce students to Blackboard and its features for this class
  • Begin learning about algorithms and algorithmic language
  • Create a first algorithm and test another groups' algorithms

Background:

Blackboard is a tool that helps to organize course materials. While we will use Blackboard in a limited fashion, you will also make use of this tool in other classes. Today we will use it to post and share our algorithms.

An algorithm is a plan or set of instructions. The algorithm for directing people would include a starting point, step by step directions including turns and landmarks. Algorithms specify actions required to carry out a task.

New Terms:

Algorithm
"A step-by-step process for solving a problem." (From Lewis and Loftus glossary)
An algorithm is a specific set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point. Specific algorithms sometimes also go by the name method, procedure, or technique. The word "algorithm" is a distortion of al-Khwārizmī, a Persian mathematician who wrote an influential treatise about algebraic methods. The process of applying an algorithm to an input to obtain an output is called a computation. (from http://mathworld.wolfram.com/Algorithm.html, July 2008)

Materials Needed:

PC with an internet connection.
A Blackboard account and enrollment in the class.
Standard 8 1/2 x 11 inch pieces of paper.

Turning in your work:

You will submit your quiz electronically and your algorithm via the Discussion Board, both on Blackboard.
Both are due today in class.

Part 1, Quiz

Log into http://blackboard.jmu.edu using your JMU e-id. Once on Blackboard, go to the section for CS139 -> Lab Assignments -> Q0829. Take the quiz and submit when done.  Ask for help if you need it to navigate through the Blackboard quiz.


Part 2, A First Algorithm

airplane

The class will be divided into small groups. Each group should develop an algorithm for building a paper airplane from a 8.5 by 11 piece of paper.

The problem: You have a friend, Pat, who has never made a paper airplane before. You want to write down the steps so that Pat can practice independently.

In developing your algorithm, you should use the following steps:

  1. Understand the problem. Make sure that your group can produce a paper airplane and each member understands how that is done. You will likely need to create a couple of planes to make sure you are all making the same one and to insure that you really understand the process. (You must understand your process before you can describe for others how to carry out the steps.)
  2. Design the solution. Work through the instructions to produce your plane.
  3. Test the solution. Take a fresh look at the algorithm and see if it can be improved.

You may need to repeat these steps several times.

Make sure that your algorithm has the following properties:

An algorithm, if written well, should produce the same result each time given the same input.

Enter your algorithm into blackboard.jmu.edu. In the folder for this assignment, go to the "forum" for Paper Airplane for your section. Add a new "thread" for your group's algorithm. For the subject line of that thread, enter a line of the form

    Group xxxxxx, lastName1,lastName2,lastName3

specifying your group name and the last names of the members of your group. Enter your algorithm into the message section of the thread.

After you have created your algortithm and posted it to Blackboard, your group should pick one from others in the class and try to reproduce their plane following their directions.  Add a response to their thread indicating whether or not you were successful and if not, which step (s) failed in the process.