-A A +A

Feed aggregator

NSF FY 2018 Performance and Financial Highlights

News From NSF - Mon, 03/18/2019 - 17:01

Available Formats:
PDF: https://www.nsf.gov/pubs/2019/nsf19003/nsf19003.pdf?WT.mc_id=USNSF_179

Document Number: nsf19003

This is an NSF Publications item.

National Science Foundation presents the President’s FY 2020 budget request

News From NSF - Mon, 03/18/2019 - 12:58

Today, the Office of Management and Budget (OMB) released details of the President's Fiscal Year (FY) 2020 Budget Request to Congress, which includes a proposed level of funding for the National Science Foundation (NSF). Detailed information will be available on NSF's website.

NSF Director France Córdova issued the following statement:

Under the President's FY2020 budget request, NSF will ...
More at https://www.nsf.gov/news/news_summ.jsp?cntn_id=298028&WT.mc_id=USNSF_51&WT.mc_ev=click

This is an NSF News item.

2017 Federal Activities Inventory Reform (FAIR) Act

News From NSF - Mon, 03/18/2019 - 12:55

Available Formats:
PDF: https://www.nsf.gov/pubs/2017/fair2017/fair2017.pdf?WT.mc_id=USNSF_179

Document Number: fair2017

This is an NSF Publications item.

Code Smells might suggest a different and better Notional Machine: Maybe students want more than one main()

ComputingEd - Mon, 03/18/2019 - 07:00

There is a body of research that looks for “code smells” in Scratch projects. “Code smells” are characteristics of code that suggest a deeper problem (see Wikipedia description here). I have argued that these shouldn’t be applied to Scratch, that we’re confusing software engineering with what students are doing with computing (see post here).

One of the smells is having code lying around that isn’t actually executed from the Go button, the green flag in Scratch. The argument is that code that’s not executed from the Go button is unreachable.  That’s a very main() oriented definition of what matters. There was a discussion on Twitter about that “smell” and why it’s inappropriate to apply to Scratch. I know that when I program in GP (another block-based program), I often leave little bits of maintenance code lying around that I might use to set the world’s state.

There’s another possibility for code lying around that isn’t connected and thus doesn’t executd properly — it should execute properly. There’s evidence that novice students are pretty comfortable with the idea of programs/functions/codechunks executing in parallel. They want more than one main() at once. It’s our programming systems that can’t handle this idea well.  Our languages need to step up to the notional machines that students can and want to use.

For example, in Squeak eToys, it’s pretty common to create multiple scripts to control one object. In the below example, one script is continually telling the car to turn, and the other script is continually telling the car to go forward. The overall effect is that the car turns in circles.

I was on Kayla DesPortes dissertation committee (now at NYU!). She asked novice programmers to write a script to make two lights on an Arduino to blink. She gave them the code to blink one light: In a Forever loop, they raise the voltage on a pin high, then wait a bit, then lower the voltage, then wait a bit. That makes a single light blink.

The obvious thing that more than half of the participants in her study did was to duplicate the code — either putting it in parallel or putting in sequence. One block blinked the light on one pin, and the other block blinked the light on the other pin. However, both blocks were Forever loops. Only script can execute on Arduino at a time.

On the Arduino, what the students did was buggy. It “smelled” because the second or parallel Forever block would never execute.

These examples suggest that parallel execution of scripts might be normal and even expected for novices. Maybe parallel execution is an attribute of a notional machine that is natural and even easier for students than trying to figure out how to do everything in one loop. Maybe concurrency is more natural than sequentiality.

Something that “smells” to a software engineer might actually be easier to understand for a layperson.

Dear Colleague Letter: NSF Convergence Accelerator Pilot (NSF C-Accel)

News From NSF - Fri, 03/15/2019 - 23:46

Available Formats:
HTML: https://www.nsf.gov/pubs/2019/nsf19050/nsf19050.jsp?WT.mc_id=USNSF_25&WT.mc_ev=click

Document Number: nsf19050

This is an NSF Program Announcements and Information item.

Dear Colleague Letter: NSF Convergence Accelerator Pilot (NSF C-Accel)

News From NSF - Fri, 03/15/2019 - 23:46

Available Formats:
HTML: https://www.nsf.gov/pubs/2019/nsf19050/nsf19050.jsp?WT.mc_id=USNSF_179

Document Number: nsf19050

This is an NSF Publications item.

Media call: NSF Fiscal Year 2020 budget request

News From NSF - Mon, 03/11/2019 - 16:58

Media are invited to join a 30-minute call about the President's Fiscal Year (FY) 2020 National Science Foundation (NSF) budget request to Congress.

The call will include information on the new budget proposal, the details of which are expected to be released on March 18, 2019. NSF staff will answer questions and speak to how agency investments in fundamental science and engineering research will continue to support the nation's economy, security and global ...
More at https://www.nsf.gov/news/news_summ.jsp?cntn_id=297995&WT.mc_id=USNSF_51&WT.mc_ev=click

This is an NSF News item.

Women, Minorities, and Persons with Disabilities in Science and Engineering: 2019

News From NSF - Mon, 03/11/2019 - 09:58

Available Formats:
HTML: https://ncses.nsf.gov/pubs/nsf19304/?WT.mc_id=USNSF_179

Document Number: nsf19304

This is an NSF Publications item.

Open Research Questions from the CS Education Research class, February 2019

ComputingEd - Mon, 03/11/2019 - 07:00

Each time I teach the CS Education Research class, we have one session where we brainstorm the questions that this class thinks are interesting and still open (see 2017 edition here and 2015 edition here). This is my first time teaching the class at the University of Michigan. It’s a joint undergraduate and graduate class. We have 22 students total (11 from each of undergrad/grad) — which is terrific for a special topics class on education research!

We put up five terms on the white board as seeds for the questions. Questions were placed strategically near a given term or between two terms. I can’t represent between very well here, so I’m going to organize questions in terms of the closest term (by my eyeball of the photos I took of the whiteboards) and close to the bottom/top of the list to suggest connection to next/prior.

These questions are amazing — I’m really impressed by the insights about what’s interesting, quality of questions, and breadth of topics. #proudTeacher

Community of Practice/Identity

Is there a difference in climate between liberal arts and engineering based CS? Does that climate impact diversity?

What factors make near-peer mentors more effective?

Is there a correlation in “defensive climate” in other subjects with factors like % of male faculty, % minorities in the field, etc.?

How can we get CS educators to change their practices?

How does having diverse/representative course staff impact student attitudes about CS and retention in CS classes/degrees?

How do initiatives of active learning bridge the communities of students learning CS from different backgrounds?

How do visually impaired programmers become part of the larger community of programming practice?

How does the ordering of topics in an Informatics-centric CS1 vs. a CS-centric CS1 effect performance on a pseudocode test of overlapping concepts?

Development (cognitive, learning trajectories, teacher, etc.)

Would question proofing before posting on Piazza increase frequency of questions posted and in turn motivate help-seeking behavior?

How do non-CS majors develop their knowledge and practice of debugging?

How does the interest of a lecturer impact how students learn within the course? Should we force tenure-track professors to teach who don’t want to teach? Can student lecturers make the same impact on student learning and attitudes as professional lecturers and/or tenure-track faculty?

Cognitive/Learning Sciences

What are effect of class sizes and teaching methods on CS student learning?

Does teacher belief that their students have (or don’t have) a “Geek Gene” affect student performance?

How do the language learned in CS classes and their relevancy in industry affect retention rate (if at all)?

What is the best programming language for introduction to CS, and how would you define “best”?

Do we want to teach everyone computer science or computational thinking?

Would subgoal-labeled assertion-evidence slides improve student retention in an introductory data structures course?

Empirically, how does increasing the emphasis on reading code (vs primarily writing code) affect student learning? Does a focus on reading make the fMRI distinction on reading prose or reading code decrease faster (that is, with less experience as a function of time)?

What metaphors in teaching lead to the most successful learning of notional machines? What metaphors do students invent, and which lead to the most successful learning of notional machines?

What is the role of communicating the redesign of a CS1 for recruitment (matriculation) and retention? If you improve your CS1 and you tell prospective students that you changed it, does that change recruitment or retention? Or do prior attitudes/opinions outweigh the re-design?

How can we better understand students’ mental models of notional machines?

How do measure student disconnect in MOOCs?

How can we integrate lecture videos with student hands-on practice in data science or programming MOOCs?


Does engagement on Piazza (common on-line discussion forum) impact CS student performance?

Should course staff promote discussions or start discussions on Piazza? Are benefits to students different if it’s staff starting the discussions or students?

How does national or state standardization of CS class topics or curriculum effect enrollment rates and diversity in high school CS classes?

How do parents’ education level/career influence student choices in CS, e.g. ,to take a CS class, to get a CS degree, to seek a CS job, etc.?

Do students with learning disabilities (e.g., dyslexia) view code differently? Could we use fMRI or eye tracking to measure this?

Why don’t more lower-income students go into CS? What percentage of current CS students are lower-income? How many lower-income students have the opportunity to learn CS and don’t take it?


What would it cost to implement a CS program in all high schools in Michigan?

Real-Time Machine Learning (RTML)

News From NSF - Fri, 03/08/2019 - 13:29

Available Formats:
HTML: https://www.nsf.gov/pubs/2019/nsf19566/nsf19566.htm?WT.mc_id=USNSF_25&WT.mc_ev=click
PDF: https://www.nsf.gov/pubs/2019/nsf19566/nsf19566.pdf?WT.mc_id=USNSF_25&WT.mc_ev=click

Document Number: nsf19566

This is an NSF Program Announcements and Information item.


Subscribe to Computing Portal aggregator