Posts tagged ‘computing education’

An Ebook for Java AP CS Review: Guest Blog Post from Barbara Ericson

My research partner, co-author, and wife, Barbara Ericson, has been building an ebook (like the ones we’ve been making for AP CSP, as mentioned here and here) for students studying Advanced Placement (AP) CS Level A. We wanted to write a blog post about it, to help more AP CS A students and teachers find it. She kindly wrote this blog post on the ebooks

I started creating a free interactive ebook for the Advanced Placement (AP) Computer Science (CS) A course in 2014.  See http://tinyurl.com/JavaReview-new. The AP CSA course is intended to be equivalent to a first course for computer science majors at the college level.  It covers programming fundamentals (variables, strings, conditionals, loops), one and two dimensional arrays, lists, recursion, searching, sorting, and object-oriented programming in Java.

The AP CSA ebook was originally intended to be used as a review for the AP CSA exam.  I had created a web-site that thousands of students were using to take practice multiple-choice exams, but that web-site couldn’t handle the load and kept crashing.  Our team at Georgia Tech was creating a free interactive ebook for Advanced Placement Computer Science Principles (CSP) course on the Runestone platform. The Runestone platform was easily handling thousands of learners per day, so I moved the multiple choice questions into a new interactive ebook for AP CSA.  I also added a short description of each topic on the AP CSA exam and several practice exams.

Over the years, my team of undergraduate and high school students and I have added more content to the Java Review ebook and thousands of learners have used it.  It includes text, pictures, videos, executable and modifiable Java code, multiple-choice questions, fill-in-the-blank problems, mixed-up code problems (Parsons problems), clickable area problems, short answer questions, drag and drop questions, timed exams, and links to other practice sites such as CodingBat (https://codingbat.com/java) and the Java Tutor (http://pythontutor.com/java.html#mode=edit). It also includes free response (write code) questions from past exams.

Fill-in-the-blank problems ask a user to type in the answer to a question and the answer is checked against a regular expression. See https://tinyurl.com/fillInBlankEx.   Mixed-up code problems (Parsons problems) provide the correct code to solve a problem, but the code is broken into code blocks and mixed up.  The learner must drag the blocks into the correct order. See https://tinyurl.com/ParsonsEx.  I studied Parsons problems for my dissertation and invented two types of adaptation to modify the difficulty of Parsons problems to keep learners challenged, but not frustrated.  Clickable area questions ask learners to click on either lines of code or table elements to answer a question. See https://tinyurl.com/clickableEx.   Short answer questions allow users to type in text in response to a question.  See https://tinyurl.com/shortAnsEx. Drag and drop questions allow the learner to drag a definition to a concept.  See https://tinyurl.com/y68cxmpw.  Timed exams give the learner practice a set amount of time to finish an exam.  It shows the questions in the exam one at a time and doesn’t give the learner feedback about the correctness of the answer until after the exam.  See https://tinyurl.com/timedEx.

I am currently analyzing the log file data from both the AP CSA and CSP ebooks.  Learners typically attempt to answer the practice type questions, but don’t always run the example code or watch the videos.  In an observation study I ran as part of my dissertation work, teachers said that they didn’t run the code if the got the related practice question correct. They also didn’t always watch the videos, especially if the video content was also in the text.  Usage of the ebook tends to drop from the first chapter to the last instructional chapter, but increases again in the practice exam chapters at the end of the ebook. Usage also drops across the instructional material in a chapter and then increases again in the practice item subchapters near the end of each chapter.

Beryl Hoffman, an Associate Professor of Computer Science at Elms College and a member of the Mobile CSP team, has been creating a new AP CSA ebook based on my AP CSA ebook, but revised to match the changes to the AP CSA course for 2019-20202.  See https://tinyurl.com/csawesome.  One of the reasons for creating this new ebook is to help Mobile CSP teaches prepare to teach CSA.  The Mobile CSP team is piloting this book currently with CSP teachers.

June 17, 2019 at 7:00 am Leave a comment

Computer Science Teachers as Provocateurs: All learning starts from a problem

One of the surprising benefits of working with social science educators (history and economics) has been new perspectives on my own teaching. I’ve studied education for several years, and have worked with science and mathematics education researchers in the past. It hadn’t occurred to me that history education is so different that it would give me a new way of looking at my own teaching.

Last week, I was in a research meeting with Bob Bain, a history and education professor here at U. Michigan. He was describing how historians understand knowledge and what historian’s practice looks like, and how that should be reflected in the history classroom.

He said that all learning in history starts from a problem. That gave me pause. What’s a “problem” in history?

Bob explained that he defines problem as John Dewey did, as something that disturbs the equilibrium. “Activities at the Dewey School arose from the child’s own interests and from the need to solve problems that aroused the child’s curiosity and that led to creative solutions.” We don’t think until our environment is disturbed, but that environment may just be in your own head.

We each have our own stories that we use to explain the world, and these make up our own personal equilibria. Maybe students have always been told that the American Civil War was about states’ rights, and then they read the Georgia Declaration of Secession. Maybe they’ve thought of Columbus as the explorer who discovered America, and then note that he wasn’t celebrated until 1792, 300 years after his arrival. Why wasn’t he celebrated earlier, and why him and at that time? A good history teacher sets up these conflicts, disequilibria, or problems. Bob says it can be easy enough to create, simply by showing two contrasting accounts of the same historical event.

Research in the learning sciences supports this definition of learning. Roger Schank talked about the importance of learning through “expectation failure.” You learn when you realize that you don’t know something:

The understanding cycle – expectation failure – explanation – reminding – generalization – is a natural one. No one teaches it to us. We are not taught to have goals, nor to attempt to develop plans to achieve those goals by adapting old plans from similar situations. We need not be taught this because the process is so basic to what comprises intelligence. Learning is a natural act.

In progressive education, we’re told that the teacher should be a “Guide on the Side, not the Sage on the Stage.” When Janet Kolodner was developing Learning By Design, she talked about the role of teacher as coach and orchestrator. Those were roles I was familiar with. Bob was describing a different role.

I challenged him explicitly, “You’re a provocateur. You create the problems in the students’ minds.” He agreed.

Bob got me thinking about the role of the teacher in the computer science class. We can sometimes be a guide, a coach, and orchestrator — when students are working away on some problem or project. But sometimes, we have to be the provocateur.

We should always start from a problem. In science education, this is easy. Kids naturally do wonder why the sky is blue, why sunsets are more red, why heat travels along metal but not wood, and why stars twinkle. In more advanced computer science, we can also start from questions that students’ already have. I’m taking a MOOC right now because it explains things I’ve wondered about.

But in introductory classes, students already use a computer without problems. They may not see enough of real computing to wonder about how it works. The teacher has to generate a problem, inculcate curiosity — be a provocateur.

We should only teach something when it solves a problem for the student. A lecture on variables and types should be motivated by a problem that the variables and types solve. A lecture on loops should happen when students need to do something so often that copy-pasting the code repeatedly won’t work. Saying “You’re going to need this later” is not motivation enough — that doesn’t match the cycle that Schank described as natural. Nobody remembers things they will need in the future. Learning results when you need new knowledge to resolve the current problem, disequilibria, or conflict.

Note: Computer science doesn’t teach problem-solving. Dewey’s and Schank’s point is that problem-solving is a natural way in which people learn. Learning to program still doesn’t teach problem-solving skills.

June 10, 2019 at 7:00 am 1 comment

Seeking Data: What’s happening at your school as you cap CS major enrollment?

I’m just back from the 2019 NCWIT Summit (see link here), which was amazing — as always. I talked to people at schools who have instituted caps on undergraduate CS enrollment, and I’m hearing stories that I didn’t expect.  I’d love to hear your experience at your school.  Are you seeing these things?

  • One story is that students are taking and re-taking (“2-3 times”) the early classes, to get high enough grades to get past the grade cap.  Thus, the GPA grade cap has actually increased enrollment pressure on earlier classes.
  • Because of these course repeats, students are (presumably) taking longer to graduate. I didn’t talk to anyone with data on that — maybe it’s too soon, since caps are within the last 3-5 years at most institutions?
  • I was also hearing about incredible pressure that students are feeling because of the grade caps.  We expected to see impacts on enrollment for under-represented groups, but these reports say that everyone has increased stress because of the grade caps. The caps are leading to damage to department climate and even a spike in mental health issues. (I heard some pretty horrible stories.)

These are all just anecdote. I’m not sure how to cast a wider net for more information, but this blog might be a place to start.  Could you share your reports on how enrollment caps are impacting your course enrollment at the lower levels, on time to graduation, and on departmental climate (or other issues)? Thanks!

 

May 17, 2019 at 7:00 am 9 comments

Open Question around Mathematics in Undergraduate Computer Science

I’m always happy to see a new computing education blog, and I’m particularly excited by posts that identify open (research, and otherwise) questions.

At SIGCSE 2019 this past February, we organized a birds of a feather session (a one-hour discussion group) on modernizing mathematics in computer science. We expected a modest number of attendees but were surprised and delighted to host a completely filled room of discrete mathematics, algorithms, and theory of computation educators—60 attendees in total—interested in evolving how we, as a discipline, situate mathematical foundations in our curriculum!

What was even more surprising to us was how the discussion evolved over the hour. Our original intention was to focus on how we might re-shape the foundational portions of the computer curriculum in light of how computing has evolved over the last decade:

The undergraduate computer science curriculum is ever-changing but has seen particular turmoil recently. Topics such as machine learning, data science, and concurrency and parallelism have grown in importance over the last few years. As the content of our curriculum changes, so too does the mathematical foundations on which it rests. Do our current theoretical courses adequately support these foundations or must we consider new pedagogy that is more relevant to our students’ needs? In this BoF, we will discuss what a modern mathematics curriculum for computer scientists should cover and how we should go about accomplishing this in our classrooms. (https://dl.acm.org/citation.cfm?id=3293748)

At this point, we shifted our focus from trying to answer the original “concept” question to identifying the myriad of problems that educators wrestled with along these three dimensions. We outline the problems that people raised below:

From https://cs-foundations-ed.github.io/sigcse/2019/03/29/bof-report.html

May 13, 2019 at 7:00 am Leave a comment

Comparing performance in learning computer science between countries

Imagine that you are a high school chemistry teacher, and you’re convinced that you have developed a terrific way to teach the basic introductory to chemistry course. Your students do terrific on all your assessments and go on to success in chemistry in college. You decide that you want to test yourself — are your students really as good as you think they are?

You reach out to some friends in other schools and ask them to give your final exam to their students. You are careful about picking the other schools so that they’re really comparable along dimensions like student wealth, size of school, and student demographics. Your friends are willing, but they just have a few of their students take the test. You don’t know really how they pick. Maybe it’s the best students. Maybe it’s the students who need remedial help. Maybe it’s a punishment for students in detention. Of course, all of your students take the final exam.

In the end, you have lots of YOUR students who took YOUR exam, and you have a handful of other students. Your friends (who likely don’t teach like you) give you a few tests from their students. Is it at all surprising that your students will likely out-score the friends’ students?

That’s how I read this paper from Proceedings of the National Academy of Sciences of the US: “Computer science skills across China, India, Russia, and the United States.” The authors are quite careful about picking schools to compare, along dimensions of how “elite” the schools are. I’m quite willing to believe that there is a range of schools with different results along an “elite” spectrum.

They over-sample from the United States, compared to the population of these countries:

Altogether, 678 seniors from China (119 from elite programs), 364 seniors from India (71 from elite programs), and 551 seniors from Russia (116 from elite programs) took the examination…We also obtained assessment data on 6,847 seniors from a representative sample of CS programs in the United States (607 from elite programs).

The test they use is the “Major Field Test” from ETS. I don’t know that it’s a bad test. I do suspect that it’s US-centric. It’s like the final exam from our Chemistry teacher in my example. Compare that to the TIMSS assessments that go to great lengths to make sure that the data are contextualized and that the assessments are fair for everyone.

Maybe the results are true. Maybe US computer science students are far better than comparable CS students in Russia, China, and India. I’m just not convinced by this study.

May 6, 2019 at 7:00 am 1 comment

Congratulations to Chris Stephenson, Outstanding Contribution to ACM Awardee 2018

A well-deserved honor!  Chris has done so much for computing education, from CSTA to her great work at Google. Congratulations!

stephenson_5836051

CITATION

For advancing K-12 CS education by founding and developing the Computer Science Teachers Association and incorporating its mission and membership into the ACM professional community.

Dr. Chris Stephenson has expanded the definition of the professional computing community to include K-12 computer science (CS) teachers and education partners, supporting ACM’s mission to increase the diversity and perspectives of the community. Chris’s work in architecting, founding and nurturing the Computer Science Teachers Association (CSTA) in partnership with ACM into a professional international organization with more than 22,000 members dedicated to supporting teachers and pursuing excellence in K-12 CS education is widely recognized. Her scholarly research contributions, including work on computational thinking in K-12 education, the inaugural CSTA K-12 Computer Science Standards and the Running on Empty and Bugs in the System reports, have led to projects, initiatives and policy changes that have deeply and positively impacted K-12 education and educators globally.

 

From this web page.

 

April 26, 2019 at 7:00 am Leave a comment

European Best Practices in Education Award: Focus on Inclusive Education

I know several members of the awards committee this year, and was asked to share this broadly.

Best Practices in Education Award

2019 Edition
‘Inclusive Education’

Presented by Informatics Europe
Sponsored by Microsoft

Call for Submissions Now Open
***********************************************************************

Informatics Europe proudly announces its 2019 Best Practices in Education Award devoted to initiatives targeting Inclusive Education of different student groups such as the elderly, immigrants or people with functional diversity.

The Informatics Europe Best Practices in Education Award recognizes outstanding European educational initiatives that improve the quality of Informatics teaching and the attractiveness of the discipline, and can be applied and extended beyond their institutions of origin.

The Award rewards a successful teaching effort in Europe that:

  • has made a measurable difference in informatics education;
  • is widely applicable and useful for the teaching community;
  • has made a measurable impact in its original institution and beyond.

Examples of impact include course results, e-accessibility frameworks and techniques, such as guidelines or frameworks based on robotics; traditional and online courses, learners’ projects, textbooks, professional development, and influence on the curriculum of other institutions/countries. The initiatives are not limited to programming but include design and use of technology.

The 2019 Award is devoted to outstanding European educational innovations that address Inclusion in Informatics teaching in the classroom or beyond, at school or university level, or outside of institutions. Innovation maybe technology-based (for example using instructional technologies, MOOCs, learning analytics, etc.) or pedagogical. The Award honours original contributions that focus on innovative Informatics teaching practice toward Inclusion.

Experiences and reports showing how to use software or hardware tools in order to improve inclusion and learning in other disciplines than informatics will not be considered.

The Award is sponsored by Microsoft and carries a prize of EUR 5,000.

Submissions:

The Award can be given to an individual or to a group. To be eligible, participants must be located in one of the member or candidate member countries of the Council of Europe (www.coe.int), or Israel. Members of the Informatics Europe Education Working Group and of the Award Committee are not eligible.
The Award Committee will review and evaluate each proposal. It reserves the right to split the prize between at most two different proposals (individuals or teams).

Proposals should be submitted only at:

https://easychair.org/conferences/?conf=iebpea2019

The proposal should include:

  • Names and addresses of the applicant or applicants;
  • Indication of whether the submission is on behalf of an individual or a group;
  • Description of the achievements (max 5 pages);
  • Evidence of availability of the outcomes of the initiative to the teaching community (max 2 pages);
  • Evidence of impact (max 5 pages);
  • A reference list (which may include URLs of supporting material);
  • One or two letters of support. The letters of support may come for example from school or university management, associations, or colleagues in the same or another institution.

Deadlines:

  • Proposal: June 1, 2019
  • Notification of winner(s): August 1, 2019

The Award will be presented at the 15th European Computer Science Summit, in Rome, October 28-30, 2019, where a representative of the winning institution will be invited to give a talk on their achievements.

Award Committee:

  • Letizia Jaccheri, Norwegian University of Science and Technology, Norway (Chair)
  • Michal Armoni, Weizmann Institute of Science, Israel
  • Tone Bratteteig, University of Oslo, Norway
  • Sharon Lynn Chu, University of Florida, US
  • Michael Kölling, King’s College London, UK
  • Monica Landoni, Università della Svizzera italiana, Switzerland
  • Gabriela Marcu, University of Michigan, US
  • Jan Vahrenhold, University of Münster, Germany

Further inquiries:

education-award@informatics-europe.org

April 12, 2019 at 7:00 am 1 comment

Older Posts


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 6,246 other followers

Feeds

Recent Posts

Blog Stats

  • 1,654,718 hits
June 2019
M T W T F S S
« May    
 12
3456789
10111213141516
17181920212223
24252627282930

CS Teaching Tips