top of page

CEP 824 1.3 Exploration: Programming

  • Writer: Shuaiqi Hu
    Shuaiqi Hu
  • Jan 12, 2022
  • 2 min read

Updated: Jan 24, 2022

Read

Bennedsen J., Caspersen M.E. (2008) Exposing the programming process. In: Reflections on the teaching of programming. Lecture Notes in Computer Science, vol 4821. Springer, Berlin, Heidelberg
  • Main idea: captured, narrated programming sessions : a simple, cheap, and efficient way of providing the revelation.

  • recordings are a valuable communication media in order to enhance the learning process

1. Create the class (with method stubs)

2. Create tests

3. Alternative representations

4. Instance fields

5. Method implementation

6. Method implementation rules






Comparing technologies

Advantages

Disadvantages

Programming on a blackboard

  • it is possible to create programs in dialogue with the students at a pace that the students can follow.

  • the teacher and the students can interact


  • only small programs can be presented

  • unable to run and to modify the programs

  • not be able to demonstrate professional use of the development tool(s) and programming techniques.

Finished programs on transparencies

  • provide a way of presenting larger and more complex programs

  • teachers tend to progress too fast and to exclude the students from taking part in the development.

Live programming

a combination of using blackboard and slides.

  • ​ability to run and to test the program and to use the programming tools (e.g., IDE, online documentation, diagramming tools).

  • include limited time in the class room= restricts the complexity of the examples that are presented

  • nothing is saved afterwards


Process recordings

  • can take the time needed to present as complex an example as you wish, and the presentation can be reviewed over and over as many times as a student needs it.

  • asynchronous



programming process

– Use of an IDE

– Incremental development

– Testing

– Refactoring

– Error handling

– Use of online documentation





Vee, A. (2017). Introduction: Computer Programming as Literacy. In: Coding literacy: How computer programming is changing writing.

Calling computer programming a literacy reflects the perception of necessary and good skills for a society

(1) programming shows us what literacy looks like in a moment of profound change;

(2) the history and practices of reading and writing human languages can provide useful comparative contexts for contemporary programming.




Reflect


How does what you read compare to your explorations of programming (on your own or with your students)?

During reading the passage, I have reflected on many ideas on teaching and learning programming. First, the Bennedsen (2008) passage talks about what are the advantages and limitations of many teaching techniques. I have experienced the Flipped Classroom teaching model in the remote teaching year during the pandemic, and I think it is a very efficient way of teaching compared to the online lecture. Similar to the Flipped Classroom, "process recording " allows students to learn from asynchronous sessions, and as many times as they want. As the development of technology, the Flipped classroom and process recording are becoming more and more accessible in the classroom. Do you remember how long it takes to upload a video to your drive 15 years ago? In Vee(2017), it is also mentioned that bar to programming was once much lower in recent years. As a result, now is a perfect time to switch programming from a specialized profession to programming as a more general skill.



How can you use what you've learned in both readings to inform your teaching?

As I mentioned in the previous questions, technology makes our teaching more accessible, so we can take advantage of it, and take it into our teaching.

Also, it is also interesting that Bennedsen (2008) mentioned a common mistake in teaching programming is the "royal road", which means only emphasizing the solution, but not the progress. When I learn to code from some online platforms, I also feel frustrated because of not trying it correctly on the first try. It inspire me that some strategies might be needed to teach students programming with confidence growing. For example, the correct among of hints and probing questions could be beneficial. Also, it might also be beneficial for students to enjoy the joy of debugging instead of blaming themselves.



What questions do you have?

As mentioned in the second article, the boundaries of programming as a specialized discipline are becoming less blurred. I feel like most people around me are talking about computer programming right now, whether they are an Economics major, STEM, or even Education (like me). Although the demand for computer skills is increasing rapidly, what are the advantages of specialized computer majors in the future?

Comentários


bottom of page