Common Core and Computer Science

Last week my district offered common core workshops for all district teachers. The administrator whose responsibility was to plan the workshop for computer science/business works on my campus. A few weeks ago we discussed topics that could be part of the workshop for the computer science and business teachers. I had suggested investigating activities for the inclusion of the ELA Common Core Standards. We agreed that this could be applicable to both computer science and business.
After our conversation I began researching topics that could be discussed during our meeting. I put a request on the CSTA List Serv for strategies for ELA in the area of vocabulary development, writing or reading. I received a few responses. One response was a suggestion to contact the former CSTA president, Michelle Friend. She is currently a doctoral student at Stanford and had recently presented to the Silicon Valley CSTA Chapter in California about Reading and Vocabulary aligned to Common Core Standards.
I contacted her and we set up a Skype call to review what she had presented. Our conversation gave me insight into some issues that my students have with reading Computer Science textbooks. We spoke about vocabulary development and the 3 Tiers of Words. I had viewed Tier 3 as the tier that I had to devote most of class time to, but Michelle explained to me that most ELL’s (my computer science class has many) struggle more with tier 2 words. Those are the words that have multiple meaning depending on their use. I also discovered that 80% of reading comprehension is understanding the vocabulary.
We also discussed reading strategies. These include Pre-reading strategies such as Anticipation Guides, during-reading strategies such as Cornell Notes, and post reading strategies which include Frayer Models and Discussion. Discussion involves productive talk using such skills a probing, re-voicing and pressing.
After our discussion, I decided to prepare a discussion about vocabulary development with activities that are tied to Marzano’s Six Step Process that the teachers could use to develop a lesson for their classes.
I began the discussion during the district Common Core Training with 2 questions:
1) Do you feel that students come to your class already trained in literacy skills?
2) How much attention have you paid to literacy in your classes?
I received answers to question 1 that I had not expected. There were six teachers in our group. Four of the teachers are on a campus that could be classified as a magnet school because 60% of their student body test into the school and do not live within the school boundaries. All four of those teachers said that they all felt that their students were already trained. The other teacher and I are from another campus in the district and we felt that many of our students were not trained.
You probably have predicted the 4 teachers’ answers to question 2. They had not paid any attention to literacy. I discussed what I saw in my computer science classes. My students turn in assignments via a Learning Management System. I assign reading questions tied to sections of the text that the students are reading. I have read through my students’ answers and some of the answers that are off-topic. This year I have had more off topic answers than ever before. That has motivated me to investigate literacy teaching strategies and to check the reading levels of my computer science students. Below is a graph showing a summary of the reading levels of my students. I grouped their reading levels by levels in school.
Graphic1.png
After the responses I received from the teachers to the 2 questions, I rushed through the presentation and we did not plan any vocabulary activities.
Prior to the A.P. Exam I plan to review both Tier 3 and Tier 2 words that I feel the students will encounter on the A.P. Exam. One technique that I am using to select the words to review is to create a Wordle from the 2013 Free Response Test and one from the 2012 Free Response Test.
I will survey the students about their understanding of the predominant words. They will rate their knowledge on a Google form with the following choices:

  • I don’t know the word
  • I have heard of the word but I don’t know what it means
  • I think I know what it means
  • I know the meaning
    I plan to have the students complete a Frayer-type chart of the words that most of the students say that they don’t know the word or not sure they know what it means. The chart will ask the students to define the word, give an example, a non-example and an illustration.
    I will also have the students use some online tools to help them review such as Shahi or VocabAhead.
    This will be my first step incorporating the ELA Common Core standards into my CS Computer Science class. I will be incorporating more literacy standards next year as I continue my research.
    What other literacy strategies have you incorporated into your computer science classes?
    Myra Deister
    CSTA At-Large Representative

  • Branching Out: Modeling Topics in Social Science

    Santa Fe Institute’s GUTS y Girls program, in partnership with Arizona State University professor Dan Hruschka, has developed a new curriculum to engage students in understanding how computing and complex adaptive systems play an essential role in the social sciences. In the curriculum, geared towards the high school level, students explore questions and test their own assumptions using methods and data from the social sciences (anthropology, sociology and psychology) and computer modeling in NetLogo, a text-based computer programming language. Student investigations center on the role of cooperation in human interactions and how cooperation plays a role in global issues such as resource management, health equity and climate change.
    Last year, the curriculum was piloted with a set of 12 high school students in a weekend club context. This summer we will be offering the program as a one-week summer intensive workshop for GUTS y Girls alumnae. We sought to address the issue of continuation of engagement for young women (high school age) who were initially interested in computing through our middle school GUTS y Girls program. We found that after being exposed to computing and computational thinking in the context of an all girls middle school program, young women were resistant to joining co-ed computing clubs and teams. Rather than viewing this phenomenon as a failing of either the girls or the GUTS y Girls program, we sought to prolong engagement and continue to build the skills of the young women whom we have mentored over the past years. It was our good fortune that at the same time we were looking for continuation opportunities for GUTS y Girls alumnae, Dan Hruschka was seeking a partner to develop an education outreach component as part of his research on social closeness.
    We are eager to share our resources and encourage other CSTA members to consider forming partnerships with social science teachers. The potential for integrating computing across disciplines through modeling and simulation is huge and largely untapped. These interdisciplinary projects and teams offer many routes to expose students to the breadth of computing, and demonstrate its connection to understanding and solving real world problems, while preparing students for future endeavors involving computing.
    Irene Lee
    CSTA Computational Thinking Task Force Chair

    Lessons Learned While Implementing a Dual Credit Course.

    I’d like to share with you some of the opportunities and barriers we encountered while implementing a dual credit CS course in high schools across New Mexico.
    New Mexico Computer Science for All, an NSF-CE21 funded CS10K program, recently completed its first cohort year. The program was designed to prepare high school STEM teachers to serve as learning coaches or TAs during the lab portion of a dual credit University of New Mexico CS151L course offered at their high schools. Using a flipped classroom paradigm, high school students watched videos outside of class time then participated in design and build computer modeling experiences during the school day at their local high school. Students received both high school and college credit for completing the course.
    Here is what we learned that may be of benefit to other educators and policy makers.
    1) Access issues still exist even though many schools have computer labs. We found schools that were using netbooks as dumb terminals and running apps off a server, then blocking access to server and internet access during the course so bandwidth could be reserved for State Test takers. One solution was to provide thumb drives loaded with videos and the NetLogo executable.
    2) Our content/assignments need to be sensitive so as not to trigger negative reactions from students and teachers. For example, one video used the term “drunkard’s walk” to describe random walks but this hit too close to home for some students. We substituted the term with “lost puppy”. On another occasion, we rewrote an assignment to avoid focusing on individual pride because it counters some students’ cultural values.
    3) Course expectations need to take into account teachers’ and students’ realities. Using possibly new vocabulary during quizzes or exams is unfair to students whose first language is not English. We found that, unlike our personal educational experiences in earlier times, students today do not have access to dictionaries in the classroom (and are not allowed to go online during quizzes and exams).
    4) It is important to make it clear to all constituents and partners that this is NOT a weed out course. The course can be a “college prep” course / a dual credit course without being a weed out course. We argue that any computer science that a high school student learns IS preparation for college and future endeavors.
    5) The role of NM-CSforAll instructors, facilitators and program managers, is to be problem solvers, not gate keepers. Instead of first imposing university or program expectations, collaboration with teachers has helped us design a program that will work in their setting (while at the same time maintaining most of the program’s goals).
    6) We’ve learned that even students with low GPAs can succeed in our course. Students’ past academic performance is not necessarily predictive of performance in our CS course. We found that students engage in a different way with learning computer modeling and simulation. Dropping the GPA requirement for taking the dual credit course has allowed many students to take the course.
    7) Positioning the course as an Introduction to Computer Science through modeling and simulation has shown broad appeal. While we don’t have a similar course positioned as a “programming course” to compare it to, we believe NM-CSforAll’s approach had broad appeal because of the students who took the course. Seventy-four percent of students taking the CS151L course were from underrepresented in STEM and Computing (including underrepresented racial/ethnic groups and young women).
    8) The option to receive dual credit was a draw for students but high school students also needed to be able to gracefully withdraw from dual-credit. If not, failing students would be in danger of getting an F on their college transcript before even getting to college.
    If others in the CSTA community are interested in or currently attempting to offer Computer Science via the dual credit route, we’d love to hear from you!
    Irene Lee
    CSTA Computational Thinking Task Force Chair

    Forays Into the Flipped Classroom

    One of the buzzwords in education today is the flipped classroom. I was prompted to try out this model last year when I came down with a stomach bug that prevented me from going to school for four days. We were about to start on a new unit about functions, so if I wanted my students to stay on track with my curriculum and proceed with their labs, I had to find a way to deliver the content to move forward. I sat down with my laptop and found free software to capture the screen. While there are several out there, I chose Camstudio to use. It took me a few tries to coordinate what I wanted to say and what I wanted students to see on the screen. I uploaded the video to my school website and emailed the students the link and instructions on the lab assignment. While it wasn’t truly a flipped classroom, the concept was there.
    The feedback when I returned to school was positive. Many of the students, mostly females interestingly enough, commented that they really liked that they could pause the video and/or rewind and play back parts of the video when they needed to go over some difficult concept. I had in the past received feedback from my students that I sometimes go too fast when introducing new topics, especially when I am writing code and they are trying to follow along on their computers. Knowing that the flipped classroom approach helped out those students who wanted a slower pace or might take longer to process new information, I was intrigued to try to truly flip my classroom.
    Since then I have occasionally used this model, although I admit not completely. I do like to get the immediate feedback from students when presenting a new concept, where they can ask questions and contribute to the coding on the projector. However, flipping the classroom does help some students, and allows for more time in class for students to work on labs and assignments and to receive individual attention. I am curious if other people have tried flipping their Computer Science classroom and what their experiences have been. Please share!
    Karen Lang
    9-12 Representative
    CSTA Board of Directors

    New Resources to Support a New Perspective

    There has been a lot of excitement lately in the news about the importance of teaching students to code, but in the midst of all the excitement, many students, parents and teachers have been turning to single dimension solutions that entail learning to program separate from the underlying pedagogy of computational thinking and creative problem solving. As a computer science teacher, I am thrilled by the renewed interested in coding, however, it is not enough.
    When I began teaching computer science, over six year ago at Fraser Woods Montessori (FWM) School in Newtown, CT, my initial approach was to focus my energy and my students’ learning on the mechanics of programming. However, my recent switch this past August, to the University of Chicago Laboratory Schools (Lab), where I am now teaching computer science (for graders 5th & 6th) has prompted me to rethink my educational philosophy and goals to focus on computational best practices.
    Originally, when I began incorporating programming into my curriculum at FWM, I did not think beyond the acquisition of programming skills. My lessons simply focused on teaching a variety of different programming languages (i.e. Scratch, App Inventor and HTML). So when I started developing my curriculum for Lab, my initial approach was to simply adopt those lessons from my old school. As the school year began to unfold, I realized that I wanted my students to understand and internalize so much more. According to the Partnership for the 21st Century, “A focus on creativity, critical thinking, communication and collaboration is essential to prepare students for the future”. I had examined these skills in the past, written about them, and even referred to them in conversations with fellow faculty and administrators, but I had never truly internalized them.
    At first I had no idea where to begin my quest to re-design my curriculum. Thankfully, I was not alone. Conversations with Baker Franke, Marty Billingsly and Karen Putman, colleagues and fellow computer science teachers at Lab, helped me find a starting point. It seemed that the curriculum I was seeking could be found in established high school computer science syllabi. One such program, “Exploring Computer Science”, developed by Joanna Goode from the University of Oregon, and Gail Chapman from the University of California, Los Angeles proved to be an excellent resource. The goal of Exploring Computer Science “to develop in students the computational practices of algorithm development, problem solving and programming within the context of problems that are relevant to the lives of today’s students” satisfied my desire to make my class more about computer science than about computer programming. In particular the pedagogical approach of ECS, which aligns with Linda Darling-Hammond’s 2007 book, Powerful Learning: What we Know About Teaching for Understanding is exactly where I hope to be at some point in the future with my own curriculum.
    Specifically the ideals of:

  • Creating ambitious and meaningful tasks that reflect how knowledge is used in the field;
  • Engaging students in, so that they apply and test what they know; and
  • Encouraging strategic and metacognitive thinking, so that students can learn to evaluate and guide their own learning.
  • While, I am still in the process of reviewing the material and looking for those pieces that would be best suited for the middle school classroom, I am confident that the curriculum’s three unifying themes:
    (1) the creative nature of computing,
    (2) technology as a tool for solving problems, and
    (3) the relevance of computer science and its impact on society
    are perfect for my students.
    Another curriculum that I recently discovered is the work on Pair programming from ETR’s Youth and Technology department. This was an ideal addition as I was looking for ways to incorporate collaboration into my lessons. According to the Partnership for the 21st Century, collaboration is an essential skill for all students. Including Pair Programming into my curriculum allowed my students to experience “shared responsibility for collaborative work, and learn to value the individual contributions made by” each person. Besides developing social skills, working in pairs has been demonstrated to increase confidence, satisfaction and the enjoyment in the experience of programming, it has also been shown to increase learning, investment and interest in programming for both boys and girls. Recent self-reflection from my students confirmed these findings. My students were not only learning how to program, but also learning the benefits of shared responsibility. They definitely agreed that two heads are better than one.
    I have only been at my new school for a little over two months. It is hard to believe that so little time has actually passed since I have learned so much. But, my learning, as well as that of my students, as really only just begun. I have more curriculum to explore, more books to read, and many more rewarding conversations to enjoy. The next 10 months promises to be an amazing journey.
    Resources:
    Exploring Computer Science – http://www.exploringcs.org/curriculum.
    Scratch Ed – http://scratched.media.mit.edu/
    ETR’s Youth and Technology Department (www.etr.org/youthandit/resources.html).
    NCWIT’s Pair Programming in a box – http://www.ncwit.org/resources/pair-programming-box-power-collaborative-learning
    Patrice Gans
    CSTA K-8 Representative

    Computer Science History

    Computer science tends to be a very forward looking field. We are constantly looking at the newest things including the future of computers, of programming languages and paradigms, the future of applications and of careers. This is natural with the rapid pace of computing but we should also take care not to neglect the study of computing’s past. The old saying that those who do not study the past are doomed to repeat it holds as true in computing as it does in other fields.
    We can learn a lot about the future (and the present) by understanding how we got to where we are today and how technology has transformed how we did things in the past. For example, today cloud computing is the trend for the future but it also has parallels with several technologies in the past.
    Cloud computing is in many ways similar to the earlier move to client/server architectures. In the past the clients and servers may have been local to each other or even different software on the same computer. Today, the user side is a web browser and the “client” is somewhere out there in a location you may not even know. The client server also has parallels to the early days of mainframe computing. In those days, data entered on block mode terminals or card punch machines was sent to remote systems in climate controlled rooms with limited physical access. Seems a lot like the huge data centers of today doesn’t it?
    There were also all kinds of issues, both technical and cultural, involved in all of these paradigms. many of them are relevant to today’s technologies. But are our students aware of them? Often they are not. The generation that has been involved in computing for many years is reaching retirement and the institutional memory it holds is at risk if we do not pass it on to students today. The problem is that it is difficult to make time to fit computing history into existing curricula or courses. There is little room in an AP CS A course for it, for example. There probably is room for it in the CS Principles course and the Exploring Computer Science course, but we have to do integrate it carefully. A dry memorization of dates, names, and events is dull. It doesn’t communicate the richness of the history and it bores students to no end.
    There are many resources on the Internet for studying computing history. The Computer History Museum has numerous resources online. The ACM has also made all of the great Turing Award lectures available (in some cases as video) enabling computing pioneers to share what they know with future generations. And speaking of voices of the pioneers, the Computer History Museum has an Oral History collection with interviews and talks by some of the greats.
    How can we use these resources in interesting ways? I think it may work best in the context of discussions of the future. Students are very imaginative in their thinking about the future. It would be worthwhile to challenge them to look into previous technologies and developments for parallel changes. Or to ask them to look at the work of pioneers and ask them to project those developments forward to today and beyond. Challenge them to think about the progression of technologies from the past into the future.
    We add value to teaching when we go beyond the technology and into the consequences of technology. Students are interested in that. History can help them make sense of the present and the future. And that is something we need to do.
    Alfred Thompson
    CSTA At-Large Representtive

    Injecting Serious CS into a STEM Course

    My school district has a STEM course in the high school that is meeting the district’s computer science graduation requirement. That means that the STEM students need to be meeting the CSTA K-12 Computer Science Standards. Curriculum development can be quite the balancing act, especially in a course like this. How do you fit serious CS into a course that is already chock full of basic physics, engineering and math? Without adding any more time, of course! Here is an example of a unit I converted to include more CS.
    Cell Phone Amusement Park
    This is the first unit of the STEM 1 course. Students are introduced to the engineering cycle, the role of the engineering notebook, and how to read and create engineering drawings. I emphasize planning before building (I refer back to this when we get to pseudo code and programming).
    The class brainstormed ideas for rides we could build with our materials (VEX robotics kits). They then broke into pairs and started reverse engineering their chosen ride, often using videos and photos found on the Internet. This stage focused on engineering drawings. We broke the ride into stages of development, starting with the base and how the motor and gearing would create the required motion. Once the teams built this first stage of the ride, I introduced them to the programming language we would use for the VEX, RobotC.
    I introduced pseudo code as if they were writing specs for someone else who would do the programming. If they were too vague, I would give it back to them and say “I don’t really know what you want me to do.” When the teams shared their pseudo code, we were able to make a list of what they needed to know how to do in the programming environment. They wanted their motors to start slowly, and gradually ramp up to full speed, run at full speed for a set period of time, then slow down gradually to a stop. They felt that this is what a “real” ride does. Since the VEX motors can only take one value, power, I taught them how to use variables and loops to ramp up and ramp down. After writing some code and testing their programs, they decided they also wanted a start button, just like a real ride. Since touch sensors are binary, this led into a lesson on binary and sensor values.
    After some more engineering and building and testing of the rides, we were ready to load some cell phones in. Why cell phones and not dolls or some other representation? The accelerometer data! We installed an accelerometer app onto our smart phones that allowed us to record the output of the accelerometer on our phones as a csv file. We had at least one csv file per ride, and each file consisted of many data points.
    Analysis of large data sets is now naturally a part of the curriculum. The students collaborated to decide what makes a ride “fun” and how to use the sensor data to support that idea. I taught them various strategies to analyze the data according to what they came up with. At one end we had a ribbon for the best ride for thrill-seekers and at the other end a ribbon for the best ride for young children.
    This unit takes the same amount of time as the Rube Goldberg machine unit it replaced. The new unit still contains all of the science, engineering, and math that the previous unit did, but it now also includes an introduction to pseudo code, programming in RobotC, variables, control structures, conditions, binary and analysis of large data sets!
    Perhaps best of all, the students loved what they had made and are looking forward to our public display of the “Cell Phone Amusement Park” at our school on Halloween.
    Tammy Pirrman
    CSTA School District Representative

    Using CSTA K-12 Standards to Create Curricular Choices

    In 2010 Springfield made computer science a graduation requirement and offered two paths to meet that requirement: a gifted course and an academic course. Both courses were based on the CSTA K-12 Standards, and have evolved as the standards were updated. However, the gifted course used robotics and the academic course was based on “Computer Science in the Modern World.”
    Last year I was challenged to increase the choices from two to five. Starting this September we are offering the following courses that meet the computer science graduation requirement at Springfield:

  • Quest 9: Future Studies, a gifted offering that uses several robotics platforms and includes current events in AI, CS and Robotics as well as science fiction readings. Only available to gifted freshmen.
  • Computer Science Principles, focusing on mobile app development is offered for any 10-12 grade student and is available as an option for honors freshman to take to meet their graduation requirement.
  • Web Application Development 1, an academic course available to any student, focuses on the Internet and building standards compliant, accessible web sites.
  • STEM 1, an academic course available to any student uses several robotics platforms along with current events in AI, CS and Robotics.
  • Computer Science Basics, the original computer science course for freshmen.
  • I used the CSTA K-12 Level 3a standards extensively while writing these courses. Here is my working document with which standards are met in each class. The only new course is STEM 1, and that is based on the previously existing Quest 9 course. The Web Application Development course was due for a review to switch from XHTML to HTML5, and I only had to add two units, one on hardware and one in JavaScript to meet most of the standards.
    Many of the students in these courses this year, will go on to take another Computer Science course in the future. For example, 27% of the students in these classes this year are taking them as electives after having met their graduation requirement. This presents a data collection opportunity. Starting this year, I plan to collect evidence from each student on meeting the Level 3a standards. Every student will have a portfolio and will provide evidence for each of the standards. The added advantage to students is that they will be able to see how they met a particular standard with Scratch in one class and with Python in a different class, thereby reinforcing the idea that the concept is more important than the specific implementation of that concept.
    I was very interested to discover what choice girls would make, when given a variety of courses to meet the standards. The results are:

  • Quest 9: Future Studies — 100% Freshmen and 50% female
  • Computer Science Principles — 54% Freshmen and 30% of those are female
  • Web Application Development 1 — 48% Freshmen and 54% of those are female
  • STEM 1 — 35% Freshmen and 43% of those are female
  • Computer Science Basics — 86% Freshmen and 41% of those are female
  • As a note when looking at these percentages, I believe our school has slightly more male students than female.
    Please let me know if you find any of this interesting or useful! Just use the comments below, Thanks.
    Tammy Pirmann
    District Representative
    CSTA Board of Directors

    First Day Activities Revisited

    My district is starting school two weeks earlier this year. I have been thinking about how I could use the few extra days that I have gained before the AP test. I want to do a few activities at the beginning of the school year to engage my students and to introduce them to computer science. To find some activities I, of course, performed an Internet search. I noticed that First Day Activities was a CSTA blog post by Leigh Ann Sudol-Delyser in August 2007. That is why I titled my post First Day Activities Revisited.
    In her post Leigh Ann describes her first day activity as follows:
    One of my favorite first day activities is the paper airplane building exercise. I pair the students in groups of two and give each person a sheet of paper. The rules are that only one student is allowed to talk, and the other needs to follow the directions they are given EXACTLY. I then sit the students back to back so that they cannot see each other. The student who is allowed to talk creates a paper airplane and talks through the process, while the student who is not allowed to talk follows along. It is fun to see if they come out with the same airplane at the end of the session.
    After the paper airplanes are built, I engage students in a discussion about the process, asking them questions such as: “Does the order in which you gave the directions matter?”, “What was the most difficult thing about not being able to talk?” and “Would it have been helpful to get feedback during the process about how you were progressing so far?” (Hint – this is a subtle reminder about writing programs in pieces and compiling as you go along rather than trying to do it all at once.) I then refer back to this activity throughout the year as a common experience in which I can frame other parts of the code – compile – run – refactor process.

    Baker Franke responded to Leigh Ann’s post with his first day activity:
    I break the class into small groups and have them write instructions for sorting eight playing cards. The rules:
    1. The cards start face down on the table
    2. The instructions must be for only one person.
    3. The person moving the cards can only have one card in each hand at any point (i.e. s/he can only look at the values of two cards)
    4. The instructions can’t require that the person remember the value of a card once they put it down. You can however use the space on the table however you like.
    Then we share.
    This works really well for me for a number of reasons:
    1. If there are enough groups you’ll usually see all of the n^2 sorting algorithms come out…on the first day! At least one group does selection-sort, another insertion-sort, another bubble-sort, and you even get crazy mixes, it’s quite fascinating. This pays huge dividends down the line when you actually have to teach the sorts. Just remind them what they saw on day 1.
    2. The students don’t feel patronized. Sorting is a deep, but accessible problem. They haven’t touched a computer in the class yet, but they can understand that a computer needs to process things as a series of steps and this exercise immediately gets to the depth of that, showing that sorting things is not just something a computer can “do.” There are choices that have to be made, trade-offs to be considered. Students also immediately, innately, start asking good questions – “what if the list is already in order?” – “What’s the ‘worst’ order it could be in?”
    3. I usually have one group read their instructions to me (I’m the computer) and follow *EXACTLY* what they say to make the point about ambiguity in instructions.
    4. Once the kids have struggled with this, you can demonstrate mergesort on a set of cards (I sometimes wait until later in the year) and it’s like magic to them. They love it, and see immediately why/how it works. I’m sure many of them use it as a party trick.
    Anyway, that’s my first day activity. Enjoy.

    One first day activity that I have done for the past few years was one that Dean Johnson from Fort Atkinson High School in Wisconsin suggested to me. You have bags of candy and pass them out to groups. I allow the students to self-select the groups. The only condition I place on the groups is that the group must be four or fewer students. I tell the students to dump the candy onto the desk. The first question I ask the students is: What characteristic(s) does/do all of the candies have? We have a short discussion about the characteristics the students suggest.
    Then I have the student groups think of a characteristic that they can use to sort the candy. I have them write it on a piece of paper then sort the candy. After the groups have sorted the candy, each group shares what their characteristic was. I then have them do it again and repeat the same process. The groups do it a third time. I have the groups turn in their write ups. I have referred back to this activity when we are discussing attributes in relation to classes and objects.
    Last week I attended CS4HS at Crafton Hills College, Yucaipa, CA. As the professor was discussing the definition of computer science, I thought of another activity I could do on the first day using the references that were discussed. I would have the students work in pairs to describe/define computer science. After they have finished, the pairs would share their definitions. Using the references from the workshop, I would have the students go online and summarize the definitions from the different sources and compare and contrast their definition with the definitions they looked up. Then discuss what they found.
    One other possible first day activity I found on Twitter was the Robots Game. Stuart Wray, Senior Lecturer at the Royal School of Signals in Blandford, England describes the game and has the maze on his blog: http://onfoodandcoding.blogspot.com/2013/06/the-robots-game.html
    He has a board for every six players and six robot pieces number 1 through 6. The six players are divided into two teams. Each player writes up to 10 moves onto a move-sheet. One person rolls the dice to determine which robot starts first and executes all of its moves. The others follow in numeric order. For each robot the owner reads the moves from the move sheet and another player executes the moves. A robot moves one square for each forward or backward instruction or turns left or right without a move for those directions. If there is another robot in the square the robot whose turn it is moves into the occupied location and the stationary robot will be moved one space out of the way. The players continue to move the robots using the move sheet until their robot reaches the exit squares. The first team with all their robots on an exit square wins.
    Dr. Wray says that after the game is over, he points out to the students the relationship of the game to programming. The moves are blindly executed just like computers execute code without thinking.
    I am looking for more first day activities.
    What first day activities have been successful for you?
    Myra Deister
    CSTA At-Large Representative

    Coming Soon to Your Classroom?

    “Adaptive learning” has been in the edu-buzz lexicon for some time. A new application of the strategy has recently made notable gains at Career Education, Inc. While their research and development was created and tested with a post-high school audience, I think we may see it make its way to K-12 in the not-so-distant future.
    I had the chance to visit with Judy Komar, vice president for education technology at Career Education (and former CS teacher from Wisconsin), to learn more about how the new technology works. You can read more about it here: Inside Higher Ed. Let me summarize how it works:

  • The content of a subject can be mapped to a single course or can stretch across multiple courses and academic programs. This means that the basics in one class are revisited in subsequent lessons or courses. No more learning it for one unit or course and then forgetting it.
  • At the beginning of each week during an online course, students take an assessment to see where they stand. The quick test shows what they already know in a particular unit and what they still need to learn.
  • That assessment and more throughout the week are used to automatically tweak course content. In the online scenario, the software modifies the content and selections of activities to either help the student master previously covered content or skip already-mastered content and move ahead.
  • The software includes an instructor’s dashboard so that at-a-glance, the teacher can identify students whose learning needs intervention and who can jump ahead.
  • Students can also monitor their own progress. Students engaged more often and longer with lessons when they had access to this information.
  • Judy told me about the research that led to this project. It was discovered that 85% of the students in their many schools and programs who performed poorly in the beginning college algebra course, did not complete their program of study. Algebra 1 appears to be a major hurdle in achieving academic and career success. So they mapped the content of that course and several more advanced math courses into this software. Faculty members designed the content that became “nodes” in adaptive learning courses. The learning nodes revolve around concepts, much as in competency-based education. In an algebra course at the university, for example, there are 125 nodes and 3,200 assessment questions.
    As students study algebra, they are guided to master concepts rather than just cover them for a test. The basic concepts of algebra and subsequent courses appear again and again throughout algebra 1 and courses that follow. If the concepts were not mastered and retained, activities to relearn are added to the students program of study. The same strategy is being used in English courses.
    It got me thinking. Wouldn’t this be cool in CS? Deep knowledge is dependent upon mastery of so many basic concepts. Think about how many times you’ve had to reteach decision structures or iteration when you move on to a new lesson on objects or data structures. Maybe someday we will have the automation we are teaching students to develop in our own tool boxes.
    Pat Phillips
    Editor, CSTA VOice
    Read more: http://www.insidehighered.com/news/2013/07/29/career-education-corp-expands-major-adaptive-learning-experiment#ixzz2adTstED5
    Inside Higher Ed