It looks like you're new here. If you want to get involved, click one of these buttons!
There is an excellent ongoing thread on Teaching Critical Code Studies this year. In the comments are many great sources for teaching critical code studies with most, if not all, chosen to help students learn the basics of coding and how concepts are applied and can be critiqued in different ways.
Copied from a comment by Mark Marino, useful teaching sources include:
We have also seen many people reporting using programming languages including:
Every institution is different, and curriculum is always an ongoing conversation. However, a strong theme of many comments on their teaching experiences seem to fall into three general categories:
CCS as:
I'd like to try to promote discussion around an important question raised by these responses: are we ready for an advanced course on Critical Code Studies? What I mean by this question is trying to work through what objectives can be mapped to these different needs and then attempting to plan how an introductory course might be different from an advanced course on the same topic. If a two-course structure could be planned, what topics would come first, and which others could be used in the follow-up course?
Many years ago, I worked as part of faculty engagement. One of the best tools we used to help people understand the curriculum of their programs and departments was to create personas of the type of students they had within the program and then figure out what skills these personas would develop across sequences of courses or within a single course. Applying those processes to CCS and what comments I have seen this year, I'd like to propose some limited personas:
Undergraduate students with some digital literacy skills. In taking an introduction course with CCS content, these students would be shown introductory programming concepts, how to potentially read code they might encounter, and how to describe, at least in part, how concepts in code produce different potential outcomes or cultural effects.
Graduate students with mixed digital literacy and programming knowledge. For these students, the goal would be to demonstrate how cultural theories and frameworks can be paired with code analysis. Through engaging with critical code studies, these students would be better prepared to critically engage with existing tools, code libraries, and application workflows within their own work and potentially how to better help their own students.
Based on these limited personas, what might an advanced CCS course teach? Would a potential "second" course include greater programming knowledge, critical frameworks, research methods, or a mix of all three? What's the next step for us? Along with a discussion of existing courses, what might multiple modules or courses teach students? Within a longer sequence of courses, what might students learn?
Comments
Great topic, @dancox And it's exciting to think about what might go in a second level or advanced course. I guess in some ways, that might describe a good number of the people here in the Working Group. And using the WG as a model, one answer is to have the advanced course bring together more specialized students from all three of the areas you mention. When I think back to the experiences I have had collaborating on 10 PRINT, Reading Project, Entanglements, and most lately on ELIZA, the participants were not necessarily more versed in Critical Code Studies, but had more expertise in their particular field, allowing us to go further (or deeper) into the explorations those specialties offered.
That said, I definitely see how a class of students who had more interdisciplinary training could go further. So humanities scholars with more programming knowledge and programmers with more philosophical training would be able to apply methods with a bit more alacrity. A lot of the introductory time is spent finding common language: what do we mean by "meaning" and "interpretation"; what are we looking for; what counts as knowledge? These kinds of questions need to be addressed but once they have been addressed at least in an initial way can open the kind of work we need to do.
I'm eager to here what others think about these questions, particularly those who may feel like they are still trying to get their footing or foothold on what we're trying to do here. (Sometimes that is also me.)
Thanks for responding, @markcmarino! To refine my concerns slightly, I think we are stating we would all love to have more interdisciplinary training for students and scholars without addressing how we arrive at that point in a consistent or within a range of possible ways. And we are not alone in this struggle.
I frequently see the discussion of "Should digital humanities scholars learn coding and, if so, how much?" question within the larger discipline. As a smaller field within DH more broadly defined, we are faced with the same issue: what amount of programming concepts should be taught, at what level, in what ways, and using what general types of sources? We are starting to see some answers to those questions, as highlighted by the experiences being shared in the other thread, but we are not necessarily moving toward what a refined future might look like beyond a collection of experiences -- and this is not a bad thing! We each have different course and curriculum concerns! What might work in one course designed as an introduction for visual artists might not work as well in a graduate course designed to engage students in critical making. That written, many resources can be shared and selection of larger or longer works used in an undergraduate or assigned in whole to graduate courses.
In the hope of driving some comments, let me phrase these questions along different tracks:
Undergraduate:
Teaching with CCS (as module or part in larger course): How does CCS fit within your existing materials? Does it serve as a paired or compliment to existing modules such as part of an "Introduction to Digital Media" or "Creative Technologies for Visual Artists" course? If so, what are pedagogical gaps you have found or resources you would want? What would help you teach to your existing objectives easier?
Teaching CCS as course: What resources would you like to see? Is there a lack of readings? Examples? Where do you see your students struggle?
Graduate:
Teaching with CCS (as module or part in larger course): What readings or example would help your goals of your course? Would a greater focus on applying frameworks help? Emphasis on using different methods? Mixed methods approaches?
Teaching CCS as course: What skills would you want for incoming students? How should graduate students be trained? Would you expect more humanities backgrounds or those with mixed skillsets?
In my experience teaching CCS, I find that we usually just hit our stride at the end of the term. Rather than proceeding to an "advanced" option, I think I would prefer a follow-up "workshop" course with the core CCS course as a pre-req. From a pedagogical perspective, this second course would support students applying CCS in different contexts to deepen their engagement and bring more of their individual research interests to the table. (For grad students, this could be a step toward incorporating CCS in a thesis/diss chapter.)
I'm picturing an open-ended workshop format that would offer the flexibility to support a range of student interests, address technical needs, and bring in guest speakers. Some students would use that time to continue jamming on a project from the core course. Others would focus on sharpening their competency with a particular platform or language. And everyone could complete a CCSWG-style "Code Critique" as the culminating assignment.
Thank you @dancox for this Thread.
let me try to share my thoughts on teaching CCS as graduate course:
What skills would I want for incoming students?
Although the question may seem concise, the answer to it is extensive and complex. So apologies for the long answer which I want to unfold in 4 (+1) aspects.
Apart from these four perspectives, I think, as often stated these days, that an interdisciplinary perspective and openness is mandatory. CCS draws on insights from various disciplines, including computer science, humanities, social sciences, and arts. Students should be open to interdisciplinary approaches and comfortable navigating multiple disciplinary perspectives. Knowing that it could be hard to find a common ground in terms and language, interdisciplinary openness can unleash an incredible amount of potential.
How should graduate students be trained?
Well, same game.
Considering an open-ended follow-up workshop is also a great idea, @driscoll! I was thinking of this in my recent course and I offered a block to get deeper into selected topics and interests defined by students, unfortunately, due to illness we had to cancel that approach. However, having a get-together and an in depth discussion, maybe even in a different setting, might be very fruitful.
Whether or not we're ready for Advanced Critical Code Studies depends on these factors. I taught courses with and without students from digital humanities, computer science and computational visualistics. Most of my students come from educational science, teacher training (education in a digital world) and media studies. I heavily rely on computer science students who are willing to communicate and connect with philosophical theory. Particularly, skills in the first two areas mentioned are crucial, in my opinion.