Posts tagged ‘computing for everyone’

How we actually get to #CSforAll in the US: Jan Cuny wins SIGCSE Outstanding Contribution Award

The President’s new “CS for All” initiative can only be influenced by the federal government.  In the United States, individual states make all school education decisions.  We just had a meeting of our ECEP cohort (the day after the announcement), and talked about where we’re at.  How close are we to CS for All?  What’s involved in getting there?  I did a Blog@CACM post summarizing the reports.

I’m mentioning this because tomorrow (Friday March 4), Jan Cuny will be recognized by SIGCSE for her Outstanding Contribution to CS Education (see announcement here).  Jan has done more for the CS for All effort than anyone else I know.  Her efforts in the NSF Broadening Participation in Computing have made significant, long-term progress in promoting CS for everyone, not just the people in CS today. It’s a well-deserved award.

Coincidentally, the day after the President’s announcement, a group of state and territory leaders who belong to the Expanding Computing Education Pathways (ECEP) Alliance presented their five-year plans at a meeting near Washington D.C. Leaders from Alabama, California, Connecticut, Georgia, New Hampshire, South Carolina, Maryland, Massachusetts, Puerto Rico, Texas, and Utah described how they plan to grow CS, broaden participation in computing, and develop teachers. These plans give us insight into the progress toward and challenges to achieving CSforAll.

Source: State of the States: Progress Toward CS for All | blog@CACM | Communications of the ACM

March 3, 2016 at 7:52 am 2 comments

SIGCSE 2016 Preview: Parsons Problems and Subgoal Labeling, and Improving Female Pass Rates on the AP CS exam

Our research group has two papers at this year’s SIGCSE Technical Symposium.

Subgoals help students solve Parsons Problems by Briana Morrison, Lauren Margulieux, Barbara Ericson, and Mark Guzdial. (Thursday 10:45-12, MCCC: L5-L6)

This is a continuation of our subgoal labeling work, which includes Lauren’s original work showing how subgoal labels improved learning, retention and transfer in learning App Inventor (see summary here), the 2015 ICER Chairs Paper Award-winning paper from Briana and Lauren showing that subgoals work for text languages (see this post for summary), and Briana’s recent dissertation proposal where she explores the cognitive load implications for learning programming (see this post for summary). This latest paper shows that subgoal labels improve success at Parson’s Problems, too. One of the fascinating results in this paper is that Parson’s Problems are more sensitive as a learning assessment than asking students to write programs.

Sisters Rise Up 4 CS: Helping Female Students Pass the Advanced Placement Computer Science A Exam by Barbara Ericson, Miranda Parker, and Shelly Engelman. (Friday 10:45-12, MCCC: L2-L3)

Barb has been developing Project Rise Up 4 CS to support African-American students in succeeding at the AP CS exam (see post here from RESPECT and this post here from last year’s SIGCSE). Sisters Rise Up 4 CS is a similar project targeting female students. These are populations that have lower pass rates than white or Asian males. These are examples of supporting equality and not equity. This paper introduces Sisters Rise Up 4 CS and contrasts it with Project Rise Up 4 CS. Barb has resources to support people who want to try these interventions, including a how-to ebook at http://ice-web.cc.gatech.edu/ce21/SRU4CS/index.html and an ebook for students to support preparation for the AP CS A.

February 29, 2016 at 7:56 am 1 comment

My Review of K12 CS Ed Framework: A Prelude to a Dagstuhl Seminar on CS Ed Assessment

I’m sharing in this blog post my comments on the K12 CS Ed framework, to serve two purposes.

First, to remind you to do the review which you can start here: http://k12cs.org/review/. The review period ends Wed Feb 17 at 11:59pm PT. Please participate. If you disagree with what I write below, be sure to do the review yourself and counter what I say!

Second, I’m writing from Schloss Dagstuhl where I will be attending the first (to my knowledge) Dagstuhl Seminar on CS Education, on Assessing Learning in Introductory Computer Science (click here for more info). As the seminar leaders say in their introduction, “What is needed are shared objectives and assessment methods that enable more useful computing education research while providing guidance to those outside the area.” The K12 CS Framework is an attempt to define shared objectives, which are a necessary predecessor to effective measurement of learning.

Now, the seminar leaders also raise the research question, “What outcomes would we like to see in non-major courses that are not merely preparing students to write scripts needed on the job?” Providing students with the CS knowledge so that they can “merely prepare to write scripts needed on the job” is an important goal.  I’d agree with “in addition to” more than “merely.” Outcomes for non-majors will likely be radically different than for majors — which will be the focus of my poster presentation later this week.

Criteria for Concepts and Practices

Concepts and practices should…

  • have broad importance across the field of computer science

I agree. Breadth is good. It’s not important to cover the field of computer science. There is more in mathematics and science than can (or should) be covered in K-12 education.

  • be important and relevant to all students’ current and future lives

This is the most important criterion, in opposition to “be important to computer scientists.”

  • have potential for connections with other disciplines’ practices, such as Math and Science
  • be a useful tool for developing and illuminating more ideas in computer science.

The former is very important. The latter is much less so. CS is very new. I’m not sure that we have the right ideas to teach everyone. Given a choice, it’s much more important to teach everyone CS that helps them learn math and science and is useful to understand computing in their lives. I’d rather not (for example) teach hex and octal just because we use hex and octal in CS.

Core Concepts

Computing Devices and Systems

Overview: Computing systems include a broad range of devices that incorporate hardware and software to process information using a variety of inputs and outputs. The term is not limited to computers themselves, but rather includes many everyday objects that contain computational components that sense and act on the world. Complex systems are built from simple components that interact under the control of an operating system in an ever-changing world of technology.

This is quite nice. I have a couple of suggestions. Great research by people like John Pane at CMU has shown that novices think of programs as responding to events, being reactive (e.g., think apps, games, GUI interfaces). Thinking of computing as input-processing-output is an older model, difficult to understand, and less common today.

Are operating systems so important that they belong in the overview? Yes, students should know about operating systems, but they’re not key to CS. I’m thinking of Dan Ingalls’ famous 1981 quote in Byte magazine:

Operating System: An operating system is a collection of things that don’t fit into a language. There shouldn’t be one.

Computing devices require continual diagnosis, maintenance, and upgrades. Effectively maintaining and troubleshooting complex devices is not only a critical skill, but is also essential for sustainability and cost-saving efforts. Researching and applying solutions found in existing knowledge-base resources and recognizing patterns play an important role in troubleshooting.

I strongly disagree with that first statement. I run software that’s been unchanged for over 15 years. It’s a goal of software not to require continual diagnosis, maintenance, and upgrades. It’s worth discussing why software needs continual diagnosis, maintenance, and upgrades, but it is not a key concept and assumption of CS that it does.

A computing system is comprised of an integrated collection of computer components that work together in a hierarchy to process information. At its most basic layer, a computing system operates through binary calculations conducted by transistors; at more advanced layers, a computing system is capable of performing high-level tasks, including the ability to interact with other computing systems.

Transistors? Really? Everyone has to know about transistors?  Computing can be mapped to a wide variety of underlying mechanisms (see the Tinkertoy Tic-Tac-Toe computer).

An operating system allows computer components to work together. Without an operating system, computing devices have minimal, if any, utility. The complexity, capability, and compatibility of an operating system impacts the functionality of a computer system.

This is obviously a false statement. The Internet has no operating system, yet leads to many components working together to great utility.

This would be a great place to introduce systems thinking. What are ways to organize components? An operating system is one. Having a powerful set of guidelines that define interactions (like in the Internet) is another. Which works better?

Networks and Communication

Overview: With the very first computing devices, knowledge and information became a very powerful thing. Sharing of that early knowledge gained from computing was a challenge. Networking and communication systems were designed to facilitate the interconnecting of devices and sharing of information. The practices of networking and computing now encompass reliability, authentication, confidentiality, security, acceptable use, filtering, cryptography, and mitigating security concerns and system breeches. A computer or computing system can no longer exist in isolation with the age of the Internet, and with demand for immediate connectivity of large numbers of new devices, this is an area that will continue to see lots of growth and innovation. Without networks and communication, the rest of the computing world would be isolated and the speed of innovation would be much slower.

This is really quite nice — I don’t have any concerns.

Protocols are designed, refined, and selected based on the desired result of communication among devices. Protocols are developed or updated as additional devices need to be connected and the security concerns, regulation, and standardization of devices change.

I’d rather see this section be a statement about communication. Protocols are a set of agreements, made by human beings. They can be structured in a range of ways. This is a great place to connect to other systems that communicate.

Transmitted data may be passed between many devices before reaching its final destination. Computing devices choose paths to transmit data based on a number of factors including routing algorithms, distance, security, redundancy, speed, error handling, and amount of information supported.

The first sentence is absolutely an important idea for understanding the Internet. The rest goes way too deep to be useful for all high school students.

Sure, talk about how the Internet routes data. I think it’s even useful to talk about UDP, in the sense that data can get out of order and there has to be an effort to serialize it and guarantee its delivery. I love the idea of talking about routing so that we can explain by policy ideas like censorship or even “turning off the Internet” are both so hard to actually implement. It’s important to talk about the Internet as a collection of networks held together by guidelines making it complicated to change. It’s super important to point out that there is no master operating system of the Internet — which is a great place to tie into system ideas of decentralized thinking in science.

I’d like for every student to know about the Domain Name Server system. It’s a great example of mapping (how names are mapped to addresses). It’s an amazing example of a decentralized system. It’s useful to know that it’s a separate system, e.g., your “Internet” connection may be working, but you might not be able to get to Google if your DNS server is failing.

As the size and complexity of networks grow, so does the need for systems to prioritize, distribute, load balance, be redundant, perform Quality of Service, provide gateways, be resilient and adaptable; through the use of Access and Distribution Layer Switching.

I don’t see any part of this which is useful for all students to know. I can’t find any definition of what “Distribution Layer Switching” is.

Data and Information

Once collected, data can be stored using computers in a variety of ways. The choices we make about how that data is represented, organized, and physically recorded has impacts on cost, speed, and reliability, as well as accessibility and security.

You’re missing an important point here: that in the end, everything in the computer is represented in binary, usually bytes. Everything, and the computer does now know which byte is a character in a text, the red channel of a particular pixel, or part of an instruction to the virus or to the operating system. The notion that everything in the computer is a representation is a powerful idea. It’s useful because it allows us to understand how we could possibly get a virus from a picture or Word file.

Yes, there are cost, speed, and reliability implications, but those are much higher levels of abstraction and not useful to everyone. Not everyone makes cost estimates of data representations. Everyone gets viruses.

Data often needs to be transformed from its raw state to be easily understood. Data can be transformed through mathematical expressions, aggregation (sum/average of rows/columns), rearrangement, and visualization. The type of transformation can influence the people who view the data.

These are narrow notions of transformation. How about just talking about noise and error? People make mistakes with data. That’s a powerful idea that crosses disciplines.

Data about prior events can be used to predict future events based upon computational models of varying complexity. The accuracy of the prediction depends on the choice of factors and the amount and diversity of data used to produce the model.

This is counter to how science thinks about the world today. This is the billiard ball, Newtonian model of the universe. Let’s not tell students this.

Programs and Algorithms

 

Types allow programmers to think of problems in terms of data and variables. Programmers use abstraction to define new data types, combine data with operations, and hide implementation details. Collections of data or data structures provide simple interfaces coupled with specific efficiency properties. (introduced at earlier grade bands: data representation, primitive data types, and operations associated with types)

I’m worried about this assumption that predecessor concepts will be introduced in elementary school and then expanded upon in high school. We have very little CS in schools today. States will choose where to emphasize: Build up high school CS first? Elementary school CS first? For at least a decade yet, few students will have K-12 CS Ed.
What happens to high school students who don’t get the predecessor concepts? Just give up on them and wait for the elementary school students?

Control constructs determine when sequences of instructions are executed. Recursion is a control technique in which a procedure calls itself. This is appropriate when problems can be expressed in terms of smaller versions of themselves. Selecting from different control structures that can be used to solve the same problem introduces a tradeoff between runtime efficiency and code readability. (introduced at earlier grade bands: sequence, iteration, branching, events, nesting, and competing control structures)

Not everyone needs to know recursion.

I wish that we taught students a simple notional machine and described everything in terms of that. Here’s what I teach my CS students: A computer can only do six things:

  1. They can store data with a name(s).
  2. They can name parts of programs (instructions), and follow those instruction when commanded.
  3. They can take data apart.
  4. They can transform data into other forms.
  5. They can follow a set of instructions repeatedly.
  6. They can test data (is this true or not?), then take actions depending on what the result is.

Everything that I teach in Python, I relate to one or more of those six points. I make sure that I relate everything to a small, easily learnable notional machine.

I do not see why K-8 students should learn about nesting and competing data structures. This is an example of teaching things that are in CS, but are not useful in math and science.

There are several steps in the development process, including problem clarification, design, implementation, and testing. Teams creating computational artifacts must make important design decisions and iteratively refine them. Different programming environments have distinct resources and features. Selecting from different programming languages and libraries introduces tradeoffs between functionality, efficiency, design and implementation time, security, and personal experience or preference.

No, not everyone needs to know this level of a software development process.

Impacts of Computing

K-8 Progression

In early grades, students differentiate between responsible and irresponsible computing behaviors. Students learn that responsible behaviors can help individuals while irresponsible behaviors can hurt individuals. They examine legal and ethical considerations for obtaining and sharing information and apply those behaviors to protect original ideas. As students progress academically, they engage in legal and ethical behaviors to guard against intrusive applications and promote a safe and secure computing experience.

9-12 Statement

Laws impact many areas of computing in an effort to protect privacy, data, property, information, and identity. The legal oversight of computing involves tradeoffs; such laws can expedite or delay advancements and infringe upon or protect human rights. Ethical concerns also shape computing practices and professions. International variations in legal and ethical considerations should be examined.

This is a great point to larger systems issues of politics and history. Describe democracy as a similar set of tradeoffs and design considerations.

The seven practices of computer science are the behaviors and ways of thinking that computationally literate citizens use to fully participate in the modern data-rich and interconnected digital world. Students in grades K-12 should engage in all seven practices over each grade band with increasing sophistication over time.

1. Recognizing and Representing Computational Problems

2. Developing Abstractions

3. Creating Computational Artifacts

4. Testing and Iteratively Refining

5. Fostering an Inclusive Computing Culture

6. Communicating About Computing

7. Collaborating With Computing

I’d rather see 2 as Using Abstractions. Not everyone is going to Develop Abstractions. Developing Abstractions isn’t necessary for everyone. It’s a difficult and challenging thing for students to learn, but you can be effective at using computing without it.

Communicating About Computing

Computationally literate citizens use a variety of mechanisms to share information and insights about computer science. This includes communicating about their design processes, the elements and functionality of computational artifacts, and both the technical and societal implications of computational solutions. For example, they write clear comments on their code, document their work through technical writing, and create demonstrations that include visualizing multiple representations and account for the diversity of audiences members. They attend to precision by using language in contextually appropriate ways (for example, the term function has meanings in both mathematics and computer programming).

These are really programmer-centric ways of talking about computing. Can we open this up, or not list any at all? I like the idea of videos or even dance about computing, not just comments in code.

Overall

It’s a starting point. I hope that it gets revised a lot before going out to states for standards.

Mostly, I want the framework writers to emphasize what everyone needs to know and teaching computing as a generative set of ideas. We can use computing as a powerful lever for learning in a wide variety of areas. Don’t teach everyone things about computing that are not generative, that only teach about CS itself.

February 14, 2016 at 11:49 am 19 comments

White House Backs CS for All: Giving Every Student an Opportunity to Learn Through Computer Science For All

I don’t usually blog on a Saturday, but this is huge.

In this week’s address, the President discussed his plan to give all students across the country the chance to learn computer science (CS) in school.  The President noted that our economy is rapidly shifting, and that educators and business leaders are increasingly recognizing that CS is a “new basic” skill necessary for economic opportunity. The President referenced his Computer Science for All Initiative, which provides $4 billion in funding for states and $100 million directly for districts in his upcoming budget; and invests more than $135 million beginning this year by the National Science Foundation and the Corporation for National and Community Service to support and train CS teachers.  The President called on even more Governors, Mayors, education leaders, CEOs, philanthropists, creative media and technology professionals, and others to get involved in the efforts.

Source: Weekly Address: Giving Every Student an Opportunity to Learn Through Computer Science For All | whitehouse.gov

January 30, 2016 at 9:47 am 9 comments

Interaction between Literacy and Content Learning: The Inconvenient Truth About Assessment

The page linked below has a nice set of important issues in assessment.  Another one that I considered highlighting was that most students seek to avoid failure rather than achieve success.  Many educational designs emphasize opportunities for student learning, when the reality is that many students are only seeking to get by.

As we think about computing as a literacy, the below point becomes more critical.  For example, how do separate the students’ understanding of computer science from what they are are able to present in their program code?  Programming is still a hard task which requires content knowledge, but also creates a lot of cognitive load about stupid things like semicolons and order of parameters in a function call.  The issue is particularly important for me, since I’m interested in supporting non-CS majors use programming for learning about other content, where all my interest is in the content and I want to minimize the programming.

Literacy (reading and writing ability) can obscure content knowledge. Further, language development, lexical knowledge (VL), and listening ability are all related to mathematical and reading ability (Flanagan 2006). This can mean that it’s often easier to assess something other than an academic standard than it is knowledge of the standard itself. It may not tell you what you want it to, but it’s telling you something.

Source: The Inconvenient Truth About Assessment

January 4, 2016 at 8:07 am Leave a comment

It’s not about “fixing women”! How Lucy Sanders tackles gender inequity: Data, research, humor

Lucy Sanders is one of my heroes, so I’m always happy to link to articles about her.  The point she’s making below is particularly interesting, and relates to previous posts about “grit” (see link here), and to the “lean in” phenomenon.

NCWIT isn’t just about getting women into tech jobs. It’s about getting women to share their perspective and knowledge. It’s about making sure women are not avoiding those leadership jobs or shirking from innovation because of something called unconscious bias.”There’s a big conversation going on now with what we call ‘fixing women.’ You hear things like ‘If women were just more confident.’ Or ‘If women were only better risk takers.’ We don’t subscribe to that. And we don’t subscribe to men being the biased, evil ones because research shows that all of us have this bias about who does technology,” Sanders said. “The ultimate goal, of course, is to make sure women and men are innovating equally in technology.”

Source: How Lucy Sanders tackles gender inequity: Data, research, humor – The Denver Post

November 23, 2015 at 8:46 am Leave a comment

A CS Education Research Class Syllabus

I’m teaching a graduate special-topics course on Computer Science Education Research this semester.  Several folks have asked me about what goes into a class like that.  Here’s the syllabus (from our “T-Square” Sakai site).  The references to “Guzdial” below are to my new book, Learner-Centered Design for Computing Education that I just turned in to Morgan & Claypool on Nov. 15. Should be available by the end of the year.

This class would look different if it was in Education, rather than in Computer Science.  For example, there might be less on tools.  The sessions where we consider how CS Ed Research appears at CHI and IDC may no longer be relevant.  Instead, I could imagine work contextualizing CS Education Research in mathematics education or science education.  I would expect to see sessions on equity, on teacher development, and on computing in schools.

 

CS8803: Computer Science Education Research

College of Computing Building Room 52, 9:35-10:55 T/Th

Teacher: Mark Guzdial, guzdial@cc.gatech.edu, TSRB 324/329

Office Hours:: By appointment

Course Overview: Introduction to computing education research (CER). History and influential early work. Learning goals for different populations, with particular attention to broadening participation in computing. Connections to research in learning sciences, educational psychology, science education. Design of research studies in CER, including Multi-Institutional Multi-National, laboratory, and classroom studies.

Textbook: We’ll be using readings from the ACM Digital Library (feely available on campus), and Guzdial’s new monograph Learner-Centered Design of Computing Education (draft available here in Resources, and eventually at the Morgan & Claypool site http://www.morganclaypool.com/toc/hci/1/1). We’ll use other readings that are available on the Web or via the Resources folder on T-Square.

Grades

  • 30%: Do 5 Reading Reflections. There are 6 opportunities for reading assignments. Students can skip one. Reading reflections are marked check or minus (something needs to be fixed). All reading reflections should be typed, with font >= 11 pt. No reading reflection should be longer than 3 pages typed and single spaced.
  • 15%: Class participation. Class time will be interactive, with little lecture. It’s a significant part of the learning in the class to participate. (The programming assignment is part of class participation.)
  • 10%: Research Study Re-Design. Redesign a research study from a published paper (referenced in Guzdial or published in ICER, SIGCSE, RESPECT, or ITICSE), to improve on the scope and findings. Due Oct 20.
  • 10% Where would you use this?. Try out any of Scratch, Alice, App Inventor, Snap, StarLogo, NetLogo, Blockly, or Pencil Code. Knowing what you know from class, would you recommend this environment? When? For whom? To learn what? Write a short (2-3 page) paper. Due Nov. 19.
  • 10%: Research Question White Paper. Write a short (3-4 pages) white paper defining a research question that’s worth exploring in CER. Explain why it’s an important, interesting, and answerable question. Identify the research community that you are speaking to with this research question. Think first section of an NSF proposal. Due Nov 12.
  • 25%: Research Study Design. Propose a study to explore the your unique research question. Think NSF proposal. Plan on 6-10 pages. 15% on paper due Nov 24. 10% on 10 minute presentation (5 minute Q&A) during last week of class.

Syllabus

Week 1

Aug 18: Introduction to class

  • Who are you and what is your experience with computing education?
  • Small Group Discussion: What do you want to know about computing education research? What do you think is unknown and worth exploring?

Aug 20: Computing for Everyone. Read Chapter 1 of Guzdial.

  • Come in with a quote that’s “interesting”
  • Pro/Con Debate: “We should teach computing to everyone.”

Week 2

Aug 25: Learning Sciences

Aug 27: The Challenges of Learning Programming. Read Chapter 2 of Guzdial.

  • Come in with a quote that’s “interesting”
  • Small group activity: What’s your hypothesis for why programming is hard? How would you test your hypothesis?
  • Reading Reflection: Using ideas and quotes from Chapter 1 and 2 of “How People Learn” to explain what’s hard about learning to program.

Week 3

Sep 1: Read Multi-institutional, multi-national studies in CSEd Research: some design considerations and trade-offs (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Compare and contrast: Randomized-control trials (see definition) vs. longitudinal studies (see definition) vs. MIMN studies.
    • What are each good for?
    • Why not use more RCT and longitudinal studies in computing education?

Sep 3: Read Computational Thinking and Using Programming to Learn in Guzdial

  • Generate a list: What are examples of computational thinking?
  • Small group activity: Have you ever used programming to help you learn something else? What are the characteristics of when programming helps and when it gets in the way?

Week 4

Sep 8: Read the first Chapter of Changing Minds at this link and Weintrop and Wilensky from ICER 2015 (ACM DL link)

  • Generate a list: What are characteristics of programming environments that support learning?
  • Small group activity: How do characteristics of programming for software development and for learning differ?
  • Reading Reflection: Identify some testable claims about Boxer in diSessa’s chapter. How would you test that claim?

Sep 10: Read Media Computation and Contextualized Computing Education in Guzdial

  • Come in with a quote that’s “interesting”
  • A mini-lecture with peer instruction and prediction using Media Computation.
  • Reading Reflection: When might contextualized computing help, and where might it not?

Week 5

Sep 15: Write a program to create something of interest or answer a question of interest before coming to class.

  1. Either download JES (from Github link) and create a picture or sound that you find interesting.
  2. Or Download Python (recommend using the Enthought install) and use the Computational Freakonomics website and course notes to answer a question of interest.
  3. Or use the CSPrinciples Ebook Data Chapters to answer a question about pollution in states.

Be prepared to show what you made or what you learned in class.

Come to class ready to answer two questions:

  • Did this motivate you to learn more about CS or the context?
    • Where did programming get in the way, and where did it help?

Sep 17: Read Adults as Computing Learners in Guzdial.

  • Come in with a quote that’s “interesting”
  • Small group activity: What’s similar and dissimilar between the teachers and the graphic designers? Identify another class of adults who might need to learn computing. Which group are they more like?

Week 6

Sep 22: Read The state of the art in end-user software engineering (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Build two lists: Features of a programming environment that support end-user programming and those that support learning about computing by end-user programmers.

Sep 24: Read Learner-Centered Computing Education for CS Majors by Guzdial

  • Come in with a quote that’s “interesting”
  • Small group activity: Come up with examples from your own experience of (a) CS education that you see as learner-centered and (b) CS education that was not learner-centered.
  • Reading Reflection: Contrast the adults in Chapter 5 and the non-majors in Chapter 6 with the CS majors in Chapter 7. What’s similar and what’s different about their learning and the support that they need?

Week 7

Sep 29: Read one of:

  • Spatial Skills Training in Introductory Computing (see ACM DL link)
  • Subgoals, Context, and Worked Examples in Learning Computing Problem Solving (see ACM DL link)
  • Boys’ Needlework: Understanding Gendered and Indigenous Perspectives on Computing and Crafting with Electronic Textiles (see ACM DL link)

Come to class ready (a) to summarize your paper and (b) to support/refute these three hypotheses:

  • We ought to add spatial skills training in all introductory CS courses.
  • We ought to use subgoal-labeled worked examples in all introductory CS courses.
  • We have to consider gender and cultural relevance in designing all introductory CS courses.
  • Reading Reflection: You are the Director of Georgia Tech’s Division of Computing Instruction. You may implement one change across all of your introductory courses, and you have very little budget. What will you change?

Oct 1: Read Towards Computing for All in Guzdial.

  • Come in with a quote that’s “interesting”
  • BIG list: What do we most need to know to advance computing for all? Where are the research gaps?
  • Everyone leave with a personal list of the top three research gaps that you find most interesting.
  • Reading Reflection: Pick any paper referenced in Guzdial that we did not read separately in this class. Read it and summarize it for me.

Week 8

Oct 6: Read Margulieux and Madden’s “Educational Research Primer” (in class Resources)

  • Small group activity: For your favorite research gaps, what research methods would you use to fill some of that gap?
  • Group activity list: What are the research methods that we need to learn more about?

Oct 8: RESEARCH METHODS: Based on the Oct 6 discussion, we’ll pick a paper or two to read here to inform our knowledge of research methods.

Newer Research

Week 9

Oct 13: No class! Fall Break.

Oct 15: RESEARCH METHODS: Based on the Oct 6 discussion, we’ll pick a paper or two to read here to inform our knowledge of research methods.

  • Discussion of Research Project: You don’t have to do it. You do have to design it.
    • First step: Define your question (due Nov 10), and make it answerable.
    • Second step: Tell us how you’d answer it.

Older Research

Week 10

Oct 20: Research Re-Design Due Here By 5 pm.

Oct 22: Read CE21 and IUSE proposals in Resources. (Note: They both weren’t funded in this form.)

  • Group Dissection:
    • What are the research questions?
    • What are the hypotheses?
    • What are the research methods?
  • Small group: Is this do-able? Would you give it a thumbs-up or a thumbs-down?

Week 11

Oct 27: What’s involved in reaching and studying populations at large-scale? Large scale: Read 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data (ACM DL link) and Programming in the wild: trends in youth computational participation in the online scratch community (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Two lists: What can we know from looking at these kinds of data, and what can’t we know?

Oct 29: What’s involved in reaching and studying populations at small-scale? Small scale interviews/phenomenography: Read Graduating students’ designs: through a phenomenographic lens (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Small group discussion: What can we answer with a phenomengraphic approach that we can’t learn (easily) in other ways?

Week 12

Nov 3: What’s involved in reaching and studying populations in high school? In the High School: Read A Crafts-Oriented Approach to Computing in High School: Introducing Computational Concepts, Practices, and Perspectives with Electronic Textiles (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Storytime: Sharing stories about getting into K-12 schools.

Nov 5: CS Education Research in CHI. Read Learning on the job: characterizing the programming knowledge and learning strategies of web designers (ACM DL link) and Programming in the pond: a tabletop computer programming exhibit (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Group list: What makes a CHI paper different from an ICER paper?

Week 13

Nov 10: CS Education Research in IDC. Read Strawbies: explorations in tangible programming (ACM DL link) and “Let’s dive into it!”: Learning electricity with multiple representations (ACM DL link)

  • Come in with a quote that’s “interesting”
  • Group list: What makes an IDC paper different?

Nov 12: Research White Paper Due Here

CS Ed Research at Georgia Tech. Read one of Betsy DiSalvo’s papers — your choice.

  • Come in with a quote that’s “interesting”
  • Small group: Contrast Betsy’s research questions and methods with those of Mark’s and his students.

Week 14

Nov 17: CS Ed Research at Georgia Tech. Read Engaging underrepresented groups in high school introductory computing through computational remixing with EarSketch (ACM DL link) and EarSketch: A Web-based Environment for Teaching Introductory Computer Science Through Music Remixing (ACM DL link)

  • Group list:
    • What are the research questions for EarSketch?
    • What are the research hypotheses?
    • What are the research methods?

Nov 19: Try it out! Hand in your Where would you use this? papers before class. Come to class prepared to demo the environment you picked.

  • Debate: For a set of audiences and learning goals that we define in class, argue for your environment to meet that need.

Week 15

Nov 24: Research Design Paper Due Here.

Nov 26: No Class! Eat Turkey.

Week 16

Dec 1: Present Research Designs

Dec 3: Present Research Designs

November 18, 2015 at 8:22 am 2 comments

Older Posts Newer Posts


Recent Posts

May 2016
M T W T F S S
« Apr    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Feeds

Blog Stats

  • 1,224,485 hits

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

Join 4,208 other followers

CS Teaching Tips


Follow

Get every new post delivered to your Inbox.

Join 4,208 other followers