A 21st Century lesson plan in Computer Science

The International Society for Technology in Education (ISTE) defines a set of standards for educational coaches.  The coaching standard includes the requirement of designing relevant and effective lesson plans.  In my Digital Education Leadership program, we are asked to work with a peer to create a modern lesson plan for our subject area.  For me, this means creating a 21st century lesson plan for computer science.

In my computer science education (the way, way past :-), computer science was taught much like other topics.  A professor would lecture on a particular topic, the students would be assigned reading and exercises in a text book, and the students would demonstrate understanding of the topic by submitting the solution to an assignment on the topic.  Often, simply reading a text was not nearly sufficient to gain understanding of a topic and a student would have to seek other assistance – either through a tutor or other material.  The online resources for learning computer science for a specific topic were limited or non-existent.

Today, the online resources available on almost any computer science topic are abundant and varied.  The new challenge is finding resources that match the learners abilities and interest. One example of a modern, learning resource are the online, interactive textbooks that replace the traditional textbooks of the past.  These interactive textbooks make the learning process much more engaging and useful to the student.

If teachers ask students to solve problems that have meaning to them and others outside of school, there is a strong likelihood students will be communicating, collaborating, gathering and analyzing information, and expressing their learning in creative ways.  (Foltos, 2013)

For example, the ZyBooks interactive textbook provides assignments that a student works through for a particular topic.  The assignments are typically something that would be relevant and even useful to a student and their classmates.

Bransford, Brown, and Cocking (2000) remind educators that real-world problems have to have meaning to their students in their community and need to draw on students’ current knowledge, skills, beliefs, and passions.  (Foltos, 2013)

In the ZyBooks module on mobile programming, a student is asked to build a Study Helper application for an Android mobile device.  The Study Helper application has a set of subjects, each of which have a set of questions.

A walkthrough of the ZyBooks Study Helper app
ZyBooks StudyHelper App

Students use the online textbook to progressively add new features to the Study Helper application.  This includes the ability to add new questions, edit questions, and delete questions.

The screen of the ZyBooks Study Helper app showing subject add, edit, delete.
ZyBooks Study Helper App editing options

While working through the Study Helper application, the student is asked to answer simple coding questions that are part of the Study Helper solution.  The example below asks the student to fill in the correct code for slots A, B, C, D, and E.  If the student gets an incorrect answer, the textbook provides assistance similar to an online tutor to help the student get the correct answer.  In addition, the instructor is provided a results report that shows which students answered which questions correctly, even reporting the number of attempts.

ZyBooks interactive textbook example using replacement code
ZyBooks Interactive Textbook code example

Another great example of how an interactive textbook provides a much more powerful, interactive experience for students is the ability to provide simple explanations of complex topics.  This is exactly the point in a traditional textbook that a student would seek out a tutor or other resource to gain understanding of a topic beyond what the textbook offers.  In the Study Helper application, the ZyBooks interactive textbook provides an animation that explains the algorithm and data structures needed to delete a study question.

A ZyBooks animation showing how to delete a Study Helper question
ZyBooks Study Helper animation

While interactive textbooks are a powerful tool, they are not the only tool educators can use to provide a 21st century learning experience.  Other useful resources help educators build, manage, and deliver a computer science lesson plan.  A great example of such a resource is GitHub Classroom.

GitHub Classroom is useful to both student and educators / developers

GitHub Classroom is a resource that is useful to both educators and students.  For educators, GitHub Classroom provides tools to build templates for individual and group programming assignments.  The tool provides educators a way to track student progress, provide student feedback, and assess the results of student work.  For students, GitHub Classroom provides a simple way to download and manage a programming assignment, using the Git distributed source control management tool that they are likely to use when they enter the job force.

I originally thought that things like ZyBooks and Git were only of interest to computer science students.  However, in my research, I have bumped into several cases in which educators from other disciplines are using the same tools.  For example, a recent article about managing files on an iPad (Christoffel, 2019) described how an editor used a Git client to manage the editing process.  These resources are also useful across grade levels.  For example,  the publisher of traditional textbooks, McGraw Hill, provides interactive textbooks for pre-K through higher education.  These are powerful learning tools for the 21st century!


Comments are closed.