CEP 824 1.3 Exploration: Programming
- 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 |
|
|
Finished programs on transparencies |
|
|
Live programming a combination of using blackboard and slides. |
|
|
Process recordings |
| |
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