← CSC 313 Teaching Computing

CSC 313 Programming process assignment

(Assignment originally created by Dr. Zoë Wood.)

Computer science is a relatively new field and we are still figuring out how to teach it. In general, an important aspect of teaching is having an awareness/knowledge of the topic you are trying to teach.

Programming is something we all have engaged in, but we could all benefit from spending time considering the process of programming. For this assignment, we will be completing a fairly simple program with an API that likely most are not familiar with (to level the playing field, and to put you in the shoes of students who may not be familiar with the programming language they are learning).

Goal: To examine our personal programming process.

Process: We will examine and document our personal coding process via the task of writing code to create an interactive map which shows where our classmates (in our small group) are in the world. We will accomplish this via writing code in javascript with calls to the OpenLayers API. You may solve this problem by using the structure proposed in the Quick Start guide, i.e. not the “Build an Open Layers Application” instructions. Specifications for the programming aspects will be specified exactly below.

Spirit of the problem: Document your coding process in detail to help us explore and document the process of programming. Create a detailed list, including a list of times and activities taken to achieve the final goal. See the subset of my process anonymised as generalised activities so as not to not affect your process (yours should include the complete and exact list of the actual queries or tasks you completed!).

The programming specifications are as follows (intentionally general to allow you to explore your process):

A picture of a map with markers in three locations in California.

Core task: Document your programming process in detail. Here is a sample of my process log. Please produce something similar but complete and with exact details (for example, anything labelled should have the actual feature of code you are testing) - include labels about failures and working steps, etc. Highlight key process elements. For example:

Deliverable: Turn in a PDF describing your process, that includes a link of where your solution is hosted and can be viewed.