Lynch 1
John Lynch
Steffen Guenzel
ENC 1101
November 6, 2017
Pre-programmed to Program
In the age we live in, technology has become an evermore present constant in our lives.
For many of us, the dependency on using applications and specialized software to perform a
myriad of tasks in our daily life has become commonplace at a rapidly infectious rate; be it
through accomplish said tasks, how we communicate with others in our community, or even how
we progress through new fields of study. Yet, it is also normal to find that not many people feel
they have the literacy needed to understand and discuss the literacy and discourse that goes into
the development of these increasingly demanded applications. This would be a greater issue if
these assumptions we made about ourselves were in any way true, but with the experience
acquired through discourse in other areas, all the tools needed to understand and obtain a literacy
of this seemingly foreign digital world are something people already have; they just arent aware
of how they can fully utilize it.
Before we go too far ahead, we first need to define literacy in the context of this paper.
Going past its traditional definition as the ability to read, write, and understand language, literacy
also includes the understanding of ones place and relationship within a discourse community.
Discourse Community, a piece by Erik Borg, defines this as a group of people who share a set of
values and assumptions (Erik Borg, 1), and how they are able to progress this discourse forward
through participation in the communitys activity system. Having this in mind, we should try to
Lynch 2
be at a point where using the tools acquired from practicing discourse in communities of interest
should be able to have real applications in others we have little to no experience in; with
programming being the case for some people.
In Programming, the Second Literacy, A. P. Ershov even states that, literacy and
programming art not only run parallel and are connected by bridges of analogy, but they also
supplement each other, (Ershov, 1) implying that a fundamental understanding of one area can
allow for an equal understanding of the other. However, he doesnt go on to state how the two
fields work as corollaries and instead only uses this as a general presupposition that everyone can
easily connect with. As our ever growing need to be able to understand the literacy and discourse
of what goes into many of our tools used in each of daily lives continues to expand, its vitally
important that a statement like this can be one that people are able to connect with and
understand. Looking into the elements of how a discourse community operates within its subject,
core elements within a community can serve as tools usable by any participant as a means of
progressing the communities discourse but also as a way for that participant to expand their
knowledge of other communities as well.
With this paper, I look to provide the assumptions made by those before me with
grounded facts, observing how the elements of programming discourse communities can be, and
have been, learned through the ancillary knowledge of other communities discourse. In the end,
showing why the literacy and discourse of programming are tools that everyone has acquired
through an indirect source of learning. To dive into this issue, the focus of research will be
comparing the discourse community of programming to that of one more common to the general
person, a college-level English class. With the use of discussion boards along with iterative
works from each discourse community, I will be examining a handful of elements contained
Lynch 3
within each discourse community and drawing the parallels between the two to show how the
fundamental tools acquired from one community can be transferred to accommodate easily for
another. With this in mind, the points of research I will be observing in the scope of this paper
will be elements such as community interaction with a user through the examination of
discussion boards on webcourses - for my control group, English - and StackOverflow, a
discussion board website commonly used by programmers my experimental group,
programming. Along with this I will also be examining how the rules and structure of each serve
as parallels by comparison of two different works from each community (a standard 5 paragraph
essay for English versus a standard sorting program). In the end I would like to highlight how
these examples serve as a type of bridge between the two discourse communities, showing how
they complement each other and allow for an easy translation between each discourse
community.
In comparison of the two examples of community interaction, the similarities start with
the format and structure of each page. Provided by an initiator, a problem or need is proposed by
someone, giving out information necessary in order to give participants and understanding of
what needs to be solved a goal can be created in response to the issue. In the webcourses
example this problem or need is the prompt set by a teacher, asking each student to post an
outline of an assigned paper. In the StackOverflow example, the problem posed by the user is
needing assistance with an issue they are currently having with a program they are writing. In
response to each of these prompts, members of each community respond to the prompt,
providing their answers to the prompt based of the different situations cited, with the students
posting an outline of their assigned paper, and the users of StackOverflow responding with
Lynch 4
advice to help the user with their problem. In conclusion both instances focus on the community
interaction of posing a question or problem and having the community respond to it in turn.
Before elaborating further on the second example I need to establish how I will be
attempting to compare the program used alongside the paper. In the link leading to the website
the program is hosted on, there will be numbers listed on the left margin in accordance to each
line of code. When any code is mentioned, it will be cited in the format (Line x). With this out of
the way, we can begin the analysis of the second section. In the second example we have the
comparison of a paper, written by myself, compared to a piece of code collected from the
internet. Upon examining both, intrinsic similarities can be found in aspects of each such as a
structure. Both start by presenting the goals of each work, with the program declaring its goal to
sort N numbers in ascending order using Bubble sort and print both the given and the sorted
array (Line 2 & 3), and the paper declaring its goal in the form of a thesis statement in the
beginning paragraph of the paper. From this point, it becomes more difficult to create similarities
without ignoring superficial elements such as the use of language. But continuing on with the
structure, following the declaration of the goal of each example, both will then use the next set of
lines/paragraphs to accomplish setting up the information needed to accomplish the goal (for the
program, consider this lines 6 43). Finally both will display the conclusion of each to the
reader/computer.
So how is it that these two can work in a cooperative way when you could easily point
out a number of differences between the two scenarios? For instance, the levels of authority are
basically swapped between each example, in the webcourses example the teacher, being the one
with higher authority, is assigning a task to his students. Looking at the discussion board from
StackOverflow, we see someone who could be identified as a subordinate asking for advice from
Lynch 5
others more authoritative in the manner. On top of that, the reliance on the response, otherwise
known as motivation, of others in the community adheres to different levels of necessity. The
students in webcourses respond to the teachers prompt due it having a mandatory nature in
maintaining a good grade. While on the other hand the responses to the user in StackOverflow
come from the responders desire to give the initiator the means necessary to understand and
progress his knowledge of and toolset past his current blockade. So why is it that even when
contextual elements dont align perfectly the two different examples work just as well as if they
did? The answer comes in how the interaction as a whole affects all parties of participants.
Aspects of these interactions like the levels of authority, motivation, along with other factors are
much smaller in scale to the idea of using community interaction to conduct discourse. As people
evolve and grow their literacy, momentary factors like motivation and authority become
modifiable variables rather than set constants. In the end, it's this methodology of learning how
to interact with different members of a community and adapting to specific circumstances
needed at the time that becomes a handy tool useful lot only to the discourse community you
acquired it from, but for any you can apply its mold to.
Its difficult to make the connection between writing a program versus writing an essay.
Different situations require much different usage, but riding off of the argument use for our last
example the same comparisons can be made between each example when looking past their
intrinsic values and focusing how they help the author create tools for multiple uses. In order to
make a comparison with a paper like this to only a handful of lines using machine language we
have to find the similarities across sections rather than each individual line or sentence. While
the one could draw comparisons for all elements of this paper, I namely will be focusing on the
introductory portions of each work.
Lynch 6
As stated in results section, our first lines in our program can relate directly to our 3
introductory paragraphs in this paper. Before we can begin our argument or make our program,
we first are required to establish a background and declare to the people who will use this in the
future what it is we hope to provide as a result of reading this paper/compiling this program. In
this page, I told my purpose for creating this paper was to show how the elements of discourse
community for programmers are something everyone already has knowledge of in some way or
another; but before I could even get to that I first had to establish to you what exactly a discourse
community was. In the same way this works, we could look at the programming example and
find a much briefer example of this. Lines 1-4 of the program clearly tell the reader the purpose
of what it is this program will be attempting to accomplish, telling us that this is using a sorting
method to sort and print a list of numbers, but what about line 5? For those uniformed with the
specifics in programming literacy, line 5's "#include <stdio.h>" is what's known commonly as a
reference to a header file. This means that when the program is run, before it will even touch the
succeeding lines of code, it first reads and interprets all the code contained within that stdio.h
file. To many, this could serve as a parallel to the way an English writer might make use of
textual citations in a paper, almost serving as a literal example of iterative intertextuality in the
way that it uses pre-established works to progress the discourse within a community. With this in
mind, we have each example requiring a need to establish its background and purpose for the
reader. Again, once we move past the small incidental variables of each example, we begin to
see an overarching template that can be applied to the discourse community as a whole.
In conclusion, the observations made in this paper are not here to show that a 1:1
relationship exists between both programming discourse and other fields, such as English.
Instead, the focus is to highlight how the tools acquired by learning through other discourse
Lynch 7
communities can be modified to suit the users own needs and not just the community they
acquired them from. As shown in examples like the peer-discussion, its much more substantial
to focus on the template of a tool that engaging in discourse with different communities can
teach rather than focusing on smaller, superficial elements.
Lynch 8
Works Cited:
Manish. C Program to Sort N Numbers in Ascending Order Using Bubble Sort. Sanfoundry,
24 Aug. 2015, www.sanfoundry.com/c-program-sorting-bubble-sort/.
Borg, Erik. Discourse Community.
sullivanfiles.net/WID/assignments/discourse_field/borg_discourse_community.pdf.
Ershov, A P. Programming, the Second Literacy. 1st ed., vol. 8, USSR Academy of Sciences,
1981.
Guenzel, Steffen. Topic: Outlining Paper 1. WebCourses,
webcourses.ucf.edu/courses/1264571/discussion_topics/4539843.
What Is a NullPointerException, and How Do I Fix It? Java - What Is a NullPointerException,
and How Do I Fix It? - Stack Overflow, stackoverflow.com/questions/218384/what-is-a-
nullpointerexception-and-how-do-i-fix-it.