Identifying the Elements of Programming

Background

I think that it is important for us to have a clear idea about what it is we are teaching. This is a class on Teaching and Learning PROGRAMMING. You previously took a class on Programing. But did you ever REALLY stop to think about what it was that you were learning and how those pieces might fit together? In this activity I ask you to revisit what you did "last semester" when you took FOP and begin to identify the things you learned.

 

Reflect

For this reflection I want to look back at your Fundamentals of Programming course and think about what it is that you actually learned - both in explicitly defined content and in things that sort of "came along for the ride."

 

 

Question 1 - What were the elements of programming that you learned in your FOP course?

At first, you may be tempted to rush through this question and only address the five or six main and explicit topics that you were taught and tested over when you studied Scratch and Python. While I DO want you to include this I want you to also go beyond this.  Think back carefully to both Scratch and Python.  In addition to those explicit and specific topics that we studied, what else did you learn about programming.  This can include very easily definable programming topics that just didn't happen to be in our explicit list of six topics.  But it also can include a variety of other things.  To make this easier to read, consider some of the following things

Don't think about this bulleted list as a set of questions you must answer.  Instead, use them as thinking points to help you write a moderately detailed response to the main question above.

 

Question 2 - What are the skills needed in programming?

Programming is a skill. (I tend to believe that all instruction should be skill-based. For those things we often think of as knowledge, what you "do" with the knowledge matters, otherwise the knowledge is useful only for trivia.) A primary goal is for you (and later, your group) to reflect on and identify the components of programming skill—what students of programming need to be able to do as a result of instruction about programming.

Related to question 1, this includes things like:

In fact, you are likely confused as to how this is different from Question 1.  I guess the end distinction is that Question 1 focused on facts/knowledge/patterns, and Question 2 is now asking about what skills you need to have/use to use that knowledge to create a program.  It is my guess that you might have initially included some things in your thoughts on question 1 that better belong here - OR BOTH!  Part of me explicitly asking you to separate the ideas is to focus on the distinction between knowledge and how we then apply that knowledge.