Looking Ahead: The Future of CS and Literacy

When I look at the future of education, I wonder what subject matter will look like ten, twenty, or fifty years from now. While the institution of education is typically slow to change, I am hopeful that it will evolve to better meet the needs of students as well as the ever-changing needs of society.

One of the most fundamental ways society has changed in the last twenty years has been through the proliferation of Internet-enabled technology. I remember my friends getting smartphones, opening a Facebook account, and playing online games. I went from spending the majority of my time reading books to a large amount of time on the computer or a handheld device. Now, the devices of my childhood are obsolete and replaced with even more advanced digital experiences.

Navigating the world of the Internet and other digital spaces is something that I learned simply by engaging in it. No one in particular taught me formal lessons on Internet etiquette, writing an email, or navigating an online bank account. I was what some people call a “digital native.” As a teacher, I realize that the term “digital native” is a misnomer. There is no such thing. There are simply people who have spent the time learning how to navigate specific digital spaces and those who have not learned those same specific spaces. I see this all the time as a teacher. While the students I teach would be considered “digital natives” by the nature of their youth, they do not know how to send emails, open file downloads, or keep a cloud drive organized.

This becomes a major issue when looking at social spaces, apps and websites used for communication. Isn’t that what literacy is, though? Literacy is the ability to deliver an idea to audiences and to receive communication as well. In the traditional sense, this meant being able to read a holy text, the newspaper, and the latest political pamphlet. Now, this means being able to craft a text message, distinguish advertisements from objective information, and discern the malicious intent of a phishing email. The world has changed, but literacy education has not moved much.

I believe that the common core standards are flexible enough to be applied to digital literacy. I have used them to teach students using things like video game scripts and memes. However, I think the standards themselves need to be more cognizant of the typical ways in which people in today’s society “read.” This could look like a set of digital literacy standards that go alongside the literary and informational text standards. This could be one step in the direction of combining some coding skills into the literacy subject areas, which is becoming more pertinent in today’s world.

Novel-based Instruction and Coding

As I think about novels and novel-based instruction, I want to explore the connections between how novels are taught and the process of coding. I found several similarities in the processes and products that are involved in each, which could lead to some interesting connections and lessons.


The first thing I thought of that is the same between reading novels and coding is the need for stamina. Sticking with a long project, whether that be reading a 300-500 page novel or writing a large program, requires students and teachers to maintain a long-term perspective. There is a lot of talk about students and attention span, and asking students to keep grinding through a novel is often not something students seem prepared to do. Teachers can try to find ways to keep things exciting for many students, but the length of the process ultimately requires stamina. It’s hard work and determination, which are mental factors, that get students through to the end and the satisfaction that comes with completing a large task. While some students may enter the classroom with that inclination, the rest of the students can build their stamina just by participating in large projects. Acclimating and assimilating the attitudes needed to endure through a lengthy process is a necessary part of social-emotional learning.


Professional programmers always keep in mind something called the “user experience.” It’s so embedded in the culture that it has its own fancy acronym, UX, that many job titles within the field use as well. Another name for this is “user story.” This is the idea that the programmer is creating an experience for the user that can be thought of as a story where the user opens the app or website and navigates through it. The development of this story is similar to that of a novel where an author imagines how their characters react to different landscapes, enemies, and even other characters. Analyzing how an author does this is a central theme throughout the literary standards for secondary education, and similar ideas are also used by computer scientists as they create experiences for their users.

Plot Structures

Several plot structures used in novels are also connected with the process of coding. As main characters progress through a story, they encounter structures such as cause and effect. Similarly, one of the core components in coding is and if-then structure which uses the same idea. Another plot structure is problem and resolution, which could be the overarching conflict for the story or any smaller conflicts. Computer scientists also encounter this as they code through something called debugging. Debugging is the process of finding errors in code and finding ways to fix them. This is more of a mentality that programmers need to have, and it is mirrored in the story devices.

There are probably more areas to explore when it comes to connecting novel-based instruction with coding. The themes that appeared throughout this exploration are both the mental pieces (stamina, growth mindset, dealing with conflict) as well as the metacognitive pieces (user story, analyzing author’s choices). If I were to forge even more connections between these two disciplines, I assume that most of the connections would fall into these two categories.

The Role of Novels in ELA

In my state, ELA standards transition sharply from foundational skills to analytical skills between the 6th and 7th grades. This aligns with the same shift in the common core standards. As students need to meet a variety of similar standards on both informational and literary texts, schools typically adopt one of three strategies.

The first strategy exclusively uses short stories, excerpts, and a variety of brief informational texts. The school will typically purchase a textbook that contains the passages, and the teacher sequences lessons around topics or themes. I recall going through a system like this myself in seventh through ninth grade. The advantage of this strategy is that both sets of standards (informational and literary) are covered.

The second strategy is a novel-baed approach. I recall doing this in tenth through twelfth grade. This strategy focuses primarily on literary standards, alongside the inclusion of a memoir or supplementing books with informational articles.

The last approach is a hybrid approach in which teachers teach one or two novels during the year while also tackling a series of shorter works. The advantage to this strategy is more flexibility, including more time that could be devoted to writing.

I have taught using all three approaches. Personally, I believe that novel-based instruction is great. Before my seventh grade year, I was homeschooled, and the vast majority of my curriculum was just going to the library and reading books. The constant, continued practice of reading developed my literacy skills. In college, I learned through experience that reading higher-level books became easier the more I read them. Being saturated in that environment helped me develop vocabulary knowledge, structural knowledge, and higher-order thinking within a specific domain. At first, I wouldn’t understand most of what I read, but a peer told me that was normal. “Just keep reading, even if you don’t comprehend it” was the advice I got. It worked. I got used to the difficulty level and was able to consume more of those texts with greater ease.

It reminds me of being homeschooled and experiencing the same breakthrough as I was reading my first chapter book. This also reminds me of how video games are played. Many players don’t bother sitting through tutorials and jump into a game without the appropriate skills. They try, fail, and keep going until they figure out how the mechanics of the game. The more video games that are played, the more likely the player is able to see patterns in different game styles and transfer skills to new games. The same is true for novels.

I have some more thoughts on novels, so this will be continued in the next post.

Generative AI and Literacy

The field of computer science is currently really excited about Artificial Intelligence (AI). While this field has existed for a long time, recent breakthroughs and public access to generative image and generative text tools has expanded the field. AI is close to being commonplace, which brings to mind some of the old science fiction authors’ warnings about allowing AI to replace human thought.

As a teacher, I saw this in my classroom at the end of the last school year. A handful of students learned how to use AI tools and began to ask the AI to complete their assignments instead of doing it themselves. I understand the temptation. Generative AI is able to quickly answer questions, summarize articles, and more. And if it gets the assignment turned in faster, all the better. Right?

Not quite. While some assignments are busy work and don’t mean much, all of my assignments are purposeful and direct. When a student copies and pastes from an AI tool, that is the same to me as copying from an article because no thought is necessary. In fact, from the samples I saw last year, the content isn’t even accurate. This mirrors how I see students copy from articles instead of summarizing.

That being said, generative AI can be a very useful tool. If a student were to read an article, then ask the AI to give them tips on how to summarize articles, then that would be an appropriate use of the tool. If the student wrote a list of main points from an article and then asked the AI to do the same afterwards to compare and contrast, well, that’s leveraging higher-order thinking skills. If the student writes their summary and then asks the AI to proofread it for them, then that’s not dissimilar to asking a peer for proofreading as well.

Artificial intelligence, while it can be misused, can certainly have a place in educational spaces. I believe it does have value, and teachers should seek ways to incorporate it in their classrooms within certain parameters. As I think about this, I wonder if I can develop a workshop or training on generative AI to deliver to teachers at my school or across the district. This is an important topic to discuss, and I believe it will be all the more important as generative text AI’s improve and become more ubiquitous.

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.