Accessible Design
Teaching How All Technologies Are Accessible in Data Structures and Algorithms
Teaching How All Technologies Are Accessible in Data Structures and Algorithms
High-level learning techniques for how to succeed in CS 1 courses like CS 61A, crammed into a 40-minute presentation for Golden Bear Orientation Fall 2017.
Most of the wordier advice I have to give has now been integrated with the course website as part of a big redesign this semester so everyone can access it more easily.
But since you’re already here, let me share with you some additional insight into the research that interests me and motivates the work I do for CS 61A.
Here’s a selection of recent computing education research papers that provide insight into the learning processes that motivate how we learn CS.
One of the most useful skills acquired in the process of learning computer science is metacognition: an understanding of your own thought processes and, in particular, how much you know or don’t know about a concept. Experienced programmers still make the same mistakes just like everyone else, and they still have to answer the question, “Why isn’t it working?” just as often as everyone else.
What sets an experienced programmer apart is their ability to pull themselves away from the immediate frustration of a bug in the code and reconsider all the possible options. Experienced programmers excel at metacognition They’ve learned how to ask the right questions to themselves and adjust their solution bit-by-bit.
When faced with broken code, here are some of the questions I like to ask myself.
The most effective and the most natural learning happens after we’ve walked through the path of why, where, and what-if. The key to becoming a great programmer is to learning how to ask and answer increasingly-specific questions.