Friday, March 5, 2010

Teaching Arts Students to Like Computer Science

I might be very well the first person to request to teach COMP 1001. That's the course that arts and social science students take to get the hang of computers and applications they might need in their program. From Carleton's undergraduate calendar:

COMP 1001 [0.5 credit]

Introduction to Computers for the Arts and Social Sciences

This course is intended to give students in the arts and social sciences a working knowledge of computers and their applications; computer fundamentals; use of computing facilities; introduction to graphical user interfaces; a sampling of software packages applied to problems in the arts and social sciences.

In the modern age of students having grown up knowing how to use computers, some parts of this are a little strange (like "introduction to graphical user interfaces"). Plus, it begs the question why arts students can be total computer newbies while computer science students are expected to know all those basics (hmm, a hint as to why diversity is down??). But that's beside the point.

The point is that I'm super excited to get to teach this course this summer! Assuming I will have some freedom to teach what I want, I intend to make my students love (or at least not hate) computer science.

I've heard that class sizes are around 50 in the summer, which might be just small enough to do some CS Unplugged demos. After all, learning binary numbers and a few basic algorithms seems to fit with the course description. So does learning some basic programming concepts; I intend to use Scratch to teach that. After all, they don't need to know how to do real code after the class if over. With Scratch, they can make fun projects and become familiar with the basic concepts of programming, but not have to worry about code. Hopefully, if I need to show how to use the usual spreadsheet programs and such, I can find ways of making that more interesting, too.

If any of you have taught a similar course and have some great ideas to share, please contact me or leave a comment!

14 comments:

Anonymous said...

I TA'd the course like this for management students. I found that they wanted to know how to do stuff but the level of knowledge was super variable - some of them saw it being useful, whereas others just wanted to get through it.

Scratch might be fun (as would processing), but I'd skip the binary - they really don't need to know that!

Gail Carmichael said...

Actually, one of the reasons I say binary is because I remember walking in one of the 1001 classes a few years ago, and they were learning it then. I also did the binary activity for some high school science classes recently, and they loved it! So I think it might actually go over well. (Though I still wouldn't get super detailed and expect them to know it super well.)

Unknown said...

Good stuff! Thanks for posting about this. I remember hearing about an intro to CS course at UBC that was crosslisted with an Arts course. Finally found it - http://www.cs.ubc.ca/~condon/cpsc101/

Looks like it was taught by the fabulous Anne Condon. Only good stuff can be had of that :)

Oli said...

I had actually asked about teaching it the summer after I finshed my coursework after TAing it twice and subbing for a couple classes. It was definitely a fun experience, though I can definitely say timing out the curriculum for each lecture really helps.
In any case, some of the materials covered is of dubious utility in arts and social sciences. If anything, the basics on bits/bytes would be of use in knowing the value of electronics merchandise and digital services (search reference to "Canada's Worst CellPhone Bill"). The section on html and webpages was more applicable in the age of geocities when the level of technology commonplace was low and you had to hash it out yourself. These days things professionally worthwhile often come out of dreamweaver/etc, and building things socially worthwhile requires more scripting ability than html. Still, we have to start somewhere. As far as dreamweaver goes, I'd much prefer teaching using free alternatives for it promotes independence from proprietary tools. Then there's word processing and slideshows -- by far the most useful part of the course. No change required, though maybe put a little more emphasis on the more exotic tools. Drafting up a resume is one thing, and fairly simplistic. Drafting up a fully formatted skeletal paper... much more useful in the near-term future, and covers the skills needed for simpler things anyway.
Databases like filemaker... I'd just as soon strike it from the course in favour of a brief introduction to SQL and maybe how to setup your own database with postgres or mysql. I'd offer to TA it again, but p/t doesn't get preference to TA, and gradTAs are only allocated as part of a package deal.

Gail Carmichael said...

@Angelica: Nice! Anne is great. I'll definitely have to check out her site for ideas.

@Oliver: Heh, so I'm not the only one crazy enough to request it. ;) Too bad you can't TA (usually grads are never hired for summer courses anyway, since undergrads are cheaper). My vision is to have a bit of a mix between appreciating what computer science is alongside learning the software they might need. I may poke you again later to get more detail about the course from when you TA'd it.

Kukax said...

"Hopefully, if I need to show how to use the usual spreadsheet programs and such, I can find ways of making that more interesting, too."
Could you give me some ideas about some interesting spreadsheet activities, I am stuck with my class of 17 years old people. "That is boring". "Why should I learn it, I will never use it, I will be a hairdresser" they said.

Gail Carmichael said...

@Kukac: I haven't sat down to come up with anything yet, but really, the key is to attach a meaningful activity to the exercise of teaching something (IMO). No student enjoys arbitrary assignments that have no bearing on what they do in real life. So in my case, I would try to find a bigger context to put using a spreadsheet in, and make sure that bigger context appears relevant to the students' degree as a whole. (In other words, I would skip the whole "make a budget" type of activity.)

Oli said...

Given the origins of spreadsheets, it seems that financially-based applications are imminently the most practical subject matter around to teach spreadsheets.

The best examples that comes to mind are a) budget, b) tracking bills for shared accomodations (like splitting an apartment), c) tracking investments. Furthermore, pivot tables... so rarely does the average spreadsheet user know about them, but if you do, you have something of incredible value in manual data analysis.

Unknown said...

I have successfully used Context Free Art (http://www.contextfreeart.org/) to motivate students and teach them recursion.

E.McCune101 said...

I am a computer science student at Northeastern Illinois University located in Chicago, IL. I'm currently enrolled in a course entitled "Women in Computing" and this post is awesome! Throughout the duration of my class so far, we have identified the fact that there are clearly way fewer women enrolled in computer science than there are men. Part of the goal of the class is to identify the problem and develop a solution to this problem.

What myself as well as numerous other classmates (both male and female) came up with is, the fact that there needs to be more "introductory" courses. These "introductory" curses need to be readily available to students that are interested in the field but feel that they may be slightly behind the learning curve. The course that you have listed here "COMP 1001 [0.5 credit]" seems to be exactly what I'm talking about. This is great news for the field of computer science and keep up the great work!

-E. McCune
(Northeastern Illinois University - Chicago, IL)

Gail Carmichael said...

Wow, a class on women in computing - how interesting! You may wish to look through the other posts on this blog that are tagged 'women'. I bring up reasons for not having more women often. Some of the most interesting posts are the ones I report about opinions of grade eight girls.

Ivan Machado said...

Gail, that's a really awesome post! I liked it so much. Currently I'm teaching a similar course in a Brazilian University (http://www.ufba.br). This is the second time the university offers this course (previous was held in the first semester, last year, in 2009.1 period), named Science & Technology I (S&T-I), focusing on basic aspects of computing - or computer science. Now in 2010.1, I've selected, among other PhD students, to teach this course. S&T-I is a course of a broader context, in which, before choosing a regular bachelor course (e.g. computer science, electrical engineering, mechanical engineering, etc), students (in av. 17-20 y. old) are supposed to take a 3-semester course, in which they try many different aspects of science, technology, arts, health and social areas. And, in the first semester, the S&T-I, regarding computing, is taught. As this is really a 'seminal' course, which is being improved day after day, specially regarding to aspects of curriculum structure, it remains a 'experimental enviroment', where many different activities can be tried. I'd like to share/exchange you some ideas (and maybe experiences) in order to improve our courses. Thanks in advance!

Gail Carmichael said...

Great to hear from you Ivan! If you'd like to chat about ideas for the course, you can contact me via Twitter, email, etc. I'll be working on my outline a little later this month.

Oli said...

Another universally applicable use for spreadsheets: making your own tax software. I could swear the forms are nothing more than that -- printouts of a blank spreadsheet. Save like $60 per year by doing it yourself compared to H&R, so it's got real-world applications, and would make a useful assignment example.

Post a Comment

Comments are moderated - please be patient while I approve yours.

Note: Only a member of this blog may post a comment.