Conversation with Jacob about teaching MWC at Berkeley
2021-08-26
-
Berkeley information school professional Master’s program MIMS
-
A lot of the students have technical backgrounds, career experience
-
For example, someone previously in marketing drew on set theory (audience segmentation) to understand boolean logic.
-
This was optional, free, and online.
-
Started with 40 people; ended with 15 people.
-
Preparation for required CS programming foundations course.
-
Goals: Functions, Variables, Loops, and Strings.
-
OK, content-based approach is not the best approach here. Focus on problem-solving.
-
What’s unique about the curriculum is that it introduces you to programming while focusing on computational problem-solving.
-
The beginning really does focus on thinking about geometry; thinking about problems.
- Another student studied math and art in undergrad; was pulling out Euclidian geometry!
-
How it went
- I was worried that it would be targeting HS audience too much and that they would feel condescended to.
- Not an issue.
- Actually, people felt hand-held too little. People wanted more direction, more lectures, more coding examples.
- Started doing more live-coding. That worked quite well.
- Structuring more “instructionistic” experiences were helpful.
- How much of this experience was due to the specific audience?
- There were students who felt apprehension; were used to quite narrow expectations.
- Others: I’ve tried to learn Python before; this helps a lot.
- And others with no prior programming experience; enjoyed having space to explore. The ones in this camp had a mathematical background.
- I was worried that it would be targeting HS audience too much and that they would feel condescended to.
-
The first unit of CS9 is quite mathy, quite focused on geometry.
- Chris question: Would it be more helpful to shift between formalisms? (e.g. to grammar as a formalism over language)
- It’s not so much about different problem domains
The benefit of focusing on these formalisms is that they give you a ton of space for thinking about different kinds of problems. when you have many different formalisms, you give them a lot of space.
- Look at how Papert thinks about programming as a tool for learning about thought. How do we go from “cognitive apprenticeship” mode of presenting formalisms to selecting or building formalisms which will be suitable for problem-solving.
Quizzes. After each session, students had to do a quiz that reviewed the content of the day. There was a three-hour session each day which focused on one of the labs each day. Three questions in each quiz:
-
one was a code-tracing problem.
-
one was an error/fix-it problem.
-
there was always a debugging question. the code would run; how to fix the bug.
-
In CS9, we are not engaging enough with cognitive skills such as code-tracing or debugging. By the end, we had been through most of the most common errors that come up.
- Cool research idea: log ASTs of python which runs over a school year. In particular, log errors thrown.
-
The particularly important thing about the quizzes was the review.
-
Just coming up with more problems for students to work on would be helpful.
-
Some feedback: Not enough practice between jumping to new topics.
Building out support for teachers in doing the problem-solving. Resources.