From ELA to Computer Science: Returning to English?

I have done a few posts now on my transition from teaching English Language Arts to teaching computer science, specifically thinking about which strategies and skills I brought from ELA over to computer science. For this post, I want to think about what it would be like to return to being an English teacher. What would I do differently, and what would I do the same?

For some context, my district is currently returning to novel-based instruction for high school English, and there are plans to re-align the novels with the social studies curriculum. Returning to English would mean returning to novel-based instruction, which is generally how I taught before. Within this design, there are some specific skills that I think are important that my students did not have a good grasp on from the perspective of a computer science teacher:

  1. Vocabulary: Computer Science uses domain-specific vocabulary that would not normally be encountered within an ELA class. However, it would be nice if students had some basic strategies to use when encountering new vocabulary words. Knowledge of root words and affixes would be nice, and a general set of study skills for vocabulary would also be beneficial.
  2. Searching Skills: Asking students to find a news article and cite their source can be a real challenge. Students do not know that Google is a search engine that links to other websites and is not a source. Even then, students do not know how to design queries and filter results. These are vital researching skills needed for computer science and other areas beyond the English classroom.
  3. Spelling: Computer Science, specifically when line coding, requires an attention to detail. While spelling the color “gray” and “grey” mean the same to our eyes, the computer sees these two words as completely separate entities with different semantic values. Misspelling a word results in errors, and it can sometimes be hard to figure out what the program needs without going back and checking the spelling. This also extends into other mechanics, such as syntax.
  4. Written Responses: When I asked students to summarize an article, write pseudocode for a program, or complete a program description, they struggled. Understanding the assignment is a starting point, though some students took the opportunity to try to understand the assignment by writing. This was rare. Most students did not write anything at all because organizing thoughts and crafting sentences is hard, especially for complex programs. Just the mere practice of writing out explanations would go a long way to helping with other content areas.
  5. Bonus! AI Implementation: With text AI tools readily available, English teachers need to teach students how to use them. There are ethical considerations as well as logistical skills needed to navigate generative AI, and those need to be taught. English teachers are in the middle of this more than anyone as written responses and research can be easily done using AI.

As an English teacher, I would incorporate all of these elements into my classes, maybe even on a weekly basis. These skills are highly relevant to their other classes and likely their future careers. Presented this way, students should have a high interest in participating, which makes for a more engaging environment.

From ELA to Computer Science: My Homework Strategies

Last week, I started writing some thoughts about my transition from being an English teacher to being a computer science teacher. The truth is, I still view myself as an English teacher. While I do not teach the same standards, many of the skills required to be successful in English are the same ones required to be successful in many content areas, including computer science.

When I began creating lessons for computer science, I started with a set of standards that were categorized into about 20 topics or themes for several months of instruction. With these as the start, I tried to think of creative ways to implement the standards. I decided to give my students reoccurring homework assignments. The idea was to have one week of vocabulary alternating with a week of ethical technology research.

For the vocabulary, I decided to do a crossword puzzle for every assignment. This kept things relatively simple for me, and my students didn’t mind them. The problem with crossword puzzles is that they are pretty easy to cheat on. It is simple to copy from a classmate without thinking at all, and it is even possible to complete an entire crossword with just a word list by counting the letters in each word. To mitigate this, homework was worth less than half a percentage point each quarter. The assignment meant nothing for their grade, so theoretically it is only worth doing to learn from (again, theoretically). I also made the puzzle more difficult by only providing the definitions as clues. For the word list, they had to interact with a program I built on Scratch that showed off coding concepts while also matching the vocabulary words with their definitions. As one student complained, they actually learned the words and definitions by doing it this way.

For the technology ethics assignments, I wanted students to look up recent articles related to both technology and ethics. I created a template for students to record their search terms, the URL to the article they selected, the author’s name, and the date. After that, I asked for a 2-4 sentence summary of the article. This was meant to be objective, as the final section asked for their opinion on the article or topic.

The literacy elements within these two assignments involved vocabulary, reading comprehension, and writing. Beyond these fundamentals were digital literacy skills, including the ability to navigate a digital crossword, a Scratch program, search websites, news websites, and a digital graphic organizer. These new literacy skills required students to make choices about navigating their devices in order to get the information needed to complete the assignments.

I plan to use both assignments next year, as they worked fairly well to meet their objectives. At the same time, they are not perfect, so I plan on making some changes in the future with how I introduce the assignments as well as how I grade them. For example, I plan on looking specifically at spelling on the vocabulary crosswords as spelling is a vital skill for line programming in computer science.

From ELA to Computer Science: My Thoughts

I started my career as an English teacher. I taught for a year in middle school and then moved to high school, exclusively teaching 9th grade English. Now, I am a full-time computer science teacher. How did that happen?

The story actually starts in high school. I had the chance to take computer science during my Junior and Senior years, so I took it. I thought I might want to be an IT support professional in the future, helping people set up their computers and teaching people how to use them. I had no idea that computer science classes focus on coding. I learned Visual Basic my first year and then Java my second year. Still (somehow) thinking I was going into a service support role, I declared computer science as my major for college. I went off to school and learned that computer science was more of the same – writing lines of code to solve complex problems.

My plans changed, and I decided to switch majors to Secondary English Education. But when an email about becoming certified in computer science education came through my inbox during my third year teaching English in Philadelphia, I decided to go for it. It had been a decade since I wrote any code for a class.

My principal told me that my role was to kick off a 4-year computer science track. I would be rostered a full set of 9th grade computer science students with the expectation that many of them would continue the pathway into their 10th grade year and beyond. I was fully in charge of my curriculum, which I designed with the help of the two current computer science teachers in my school.

The curriculum map we developed has students dipping into a range of computer science concepts. I decided to pair it with a pre-built curriculum so that half of the year was custom lessons and the other half was the pre-built lessons. As I developed my lessons, I recognized that I was relying on many of the fundamental strategies used by English teachers. I had my students reading articles, doing research projects, and planning out projects much the same way I did as an English teacher.

Well, not exactly the same way. The standards I was assessing were very different. While I used many of the same strategies – and those strategies involved literacy – the content skills were based on separate standards. Instead of reading an article to determine structure or devices, students were reading articles to obtain information. It felt like an application of English skills rather than an analysis of them.

This is something I want to write more about. I will continue some of these ideas in my next post!

Is Coding a New Literacy?

The short answer is, yes, coding is a new literacy. However, I want to break this down to show how I came to this conclusion.

What is literacy?

Traditional literacy involved the ability of a person to read and write. Therefore, a person who is “illiterate” is someone who cannot read or cannot write. A scene from the PBS show The Little House on the Prairie comes to mind when the prejudiced shopkeeper’s wife gossips about a new German family that moved into Walnut Grove. In response, Charles Ingalls asks her to read from a German Bible in front of the whole town during a Sunday service. When she realized that the Bible was in German, she said she could not read it, and she is exposed as also being “illiterate” in German. While being literate can mean being able to read or write, it is clearly a bit more complex than this.

What are new literacies?

New literacies embrace the complexities of communication. The question transfers from “can you read and write?” to “can you successfully communicate in a particular context?” This could mean that a published researcher who is proficient at reading academic journals could be completely illiterate in messaging their 12 year old grandchild on Instagram. New literacies involve many digital venues and media from 2-way messaging platforms to movies to synthesized music. A DJ could be just as literate in reading a room, mixing tracks, cueing songs, and wiring speaker systems as the researcher is in academic spaces. Writing a blog and reading a blog involves new literacies. The context matters for new literacies, and nearly everyone is illiterate in many contexts while being proficient in others.

While the number of new literacies can be daunting to understand at the proficient level, many of the core skills are the same. Rhetorical principles, vocabulary acquisition, decoding, and organization are some of the basic, transferrable skills needed to navigate all of these contexts.

What about coding?

Coding is the process of writing lines of code or assembling blocks of code that have some sort of purpose. Someone who codes must be able to understand a wide range of vocabulary, navigate complex syntax, and fully understand purpose in coding. Code can be thousands of lines long, and programs can easily contain more words than the average novel.

There are different genres of code, different styles, and a rhetorical setting. Each of these is directly related to new literacies and bridges can be built between traditional literacies involving reading and writing with coding.

Reading and Computer Science

In my last post, I focused on the writing component of literacy and its relationship to computer science. In this post, I will look more at the reading component.

Reading starts with the fundamentals, just like with writing. Alphabetic principles, phonics, phonemes, grammar, etc. are all necessary to understand the language. I will not go into this in depth here as I already covered this in the previous post. Instead, I will focus on comprehension across multiple new literacies needed in computer science.

A common misconception outside of computer science is that programmers are experts. Ask them to build a website, design an app, or create a database function, and they can do it, right? Not quite. Most programmers know the basics but have to research quite a bit to create what the client wants. Researching is a large component of the programming process. In-house documentation, communities of experts, forums, software documentation, and even YouTube tutorials are all places that are read and referenced by programmers to understand specific design features and constructs.

To research effectively, programmers need to have the literacy skills required to comprehend the source materials. Knowing how to “read” a YouTube video is just as important as knowing how to read instant messaging on Slack, which is just as important as knowing how to read technical documentation. This requires vocabulary knowledge, a certain amount of reading stamina, and fluency.

While much of the tech world lives within non-fiction texts, there are also careers in computer science that deal with narrative stories. The animators at Pixar must understand how narrative stories work as they code animations to show the emotions of characters and communicate the tone effectively. These narrative skills are transferable even to nonfiction projects. In a panel presentation at Comcast, one of their designers spoke of how narratives drive everything that he does.

Without the ability to interact with new literacies effectively, computer scientists would not be able to progress in their field. I will write more about new literacies and emerging literacies later.

CS and Literacy: Initial Connections

When I teach computer science, I make it clear to my students that two basic building blocks are necessary to becoming a successful coder: math and English. Coding is ultimately a logical process, which is, in part, an end goal of mathematics education. Many of the terms used in computer science come from mathematics: function and variable, for example. More advanced programs may go beyond basic algebra and geometry to require calculus and physics.

Most of my students can grasp the importance of math as a fundamental building block for computer science. English, on the other hand, requires further explanation. To do this, I tell an anecdote from my college experience.

My freshman year of college, I was pursuing a computer science degree. Alongside some degree-related courses, I was also enrolled in a 100-level English composition class. For the class, we had to read various essays and write a series of essays. One day, we had a guest come in to our class. It was the head of the computer science department. While his main purpose was to recruit students in this general education course to his program, he knew several of us in the room were already in the program. He added that in order to stay in the computer science program, we were required to get a C or higher in composition. He said if we didn’t know how to write essays, then he doesn’t think we can write code.

As a student, I was intrigued. What connections were there between writing lengthy essays and coding? The professor did not elaborate much, but I got a sense that literacy skills were transferable to my major.

So, what are these connections? As I transferred from the computer science program into an English secondary education program and then into teaching and my graduate school program, I began to see the reasoning behind the professor’s ultimatum.

First of all, many coding languages are in English. While there are programming languages being developed and are in use around the world, the most popular and widely-used languages are in English. This means coding, just like literacy, is build on the foundational building blocks of language, starting with letters, phonics, and phonemes. If a student is unfamiliar with the Latin alphabet, then this would be the first hurdle to learning to code. When it comes to phonics, spelling is essential to coding. Especially in line coding, every letter matters. A computer does not even see “summary” and “summaryy” as meaning the same thing. While humans can infer the meaning, computing languages do not operate this way. I reflected in my graduate school program that as an English teacher, I did not really focus on spelling with my students as communication can still occur without “proper” spelling. As a computer science teacher, I see the vital importance of spelling within this context.

The next level is grammar. I learned in my undergraduate program that sentences are constructed using specific rules. For example, a string of adjectives used to modify a noun must go in a particular order based on their type. While saying “Charlie’s seven gorgeous green horses” works, any other order off the adjectives does not: “green Charlie’s seven gorgeous horses,” “Charlie’s gorgeous green seven horses,” “Charlie’s seven green gorgeous horses.” In coding languages, the order of different coding structures are also crucial. Alongside grammar, punctuation carries the same weight of importance. For example, Java code lines almost always end with a “;” mark. This is like a “.” mark to indicate that a sentence is complete. Without proper punctuation in a programming language, the code will not compile or will give errors.

Beyond the basic building blocks of language such as spelling, grammar, and punctuation, coders must know how to brainstorm and plan their projects before starting them. While academic essays may begin with a thesis and an outline, the coding process begins with a purpose and pseudocode and/or a flowchart. In some work environments, this is a necessary first step before a client will pay for the actual code to be written. While coding, documentation should also happen using comments or additional flowcharts. After coding, the computer scientists often has to present their work, often using digital formats, including slideshows.

These are just some basic connections between what the professor stated and the reality of a coder when it comes to composition. There is much more to discuss both within and beyond composition, but I will leave it here with these initial thoughts for now.

About the ACE Capstone Series

I am going to start a new blog series. The series will run at least 10 posts long and is a requirement for my graduate program through the American College of Education. My degree will be in literacy, which I chose as a certified English Secondary Education teacher. However, I noticed throughout the courses that I often made connections to my current role as a computer science teacher. This blog series will highlight some of these connections between new literacies and computer science.

Each blog post will concentrate on a core theme or learning from my graduate program. I will reflect upon my learning and make connections between theories of education and my literacy practices as a current computer science teacher.