cpe/csc/se graduation rates

:: Department Data

Some data: how long is it taking our students to graduate? How is that changing over time?

It looks like CSC and CPE are improving. It looks like CPE students are having trouble getting out in 4 years. On the other hand, the 5-year graduation rate for CPE majors is steadily rising.

It looks like lots of students graduate in four years and one quarter.

It looks like very few students graduate in their sixth year; that may be because there’s nobody left; this graph doesn’t distinguish between those who haven’t yet graduated, and those who are discontinued or disqualified. However, given the very small numbers for six years, it seems reasonable to assume that most of those that haven’t finished after six years already gave up, possibly years earlier.

Note that for students admitted in 2012, none of them are shown as having graduated in 4 years plus 2 quarters or more… because it hasn’t yet been that long since they were admitted. By the same token, we don’t see six-year numbers for 2011 admits, etc.

Also, all of this data uses “adjusted cohorts”. That is, those that change majors out of the program are removed from the denominator and the numerator, and those changing majors into the program are added to the denominator and the numerator.

CSSE service courses

:: Department Data

The TL/DR: we’re teaching way fewer sections of service courses.

Here’s a picture of (lecture, non-supervisory) sections taught by CSSE faculty since Fall 2008:

Because the number of sections taught has gone up rather dramatically, here’s the same data, normalized by sections per year, to show the fraction of classes taught in each category:

There are many caveats and things to explain about these pictures.

First, the x axis is labeled using Cal Poly’s goofy but customary numbering scheme, where 2158 represents fall of 2014 and 2148 represents Fall of 2014.

Second, the data for this year (2168) is pretty broken; in particular, it only includes data for the Fall quarter, so the final numbers for the year will be approximately 3 times that high in the top graph. For the same reason, you should disregard the 2168 data in the lower graph as well.

Third, as I mentioned before, I’ve stripped out all labs and supervisory courses. This is because supervisory courses aren’t scheduled by the department, and because labs are typically associated with a lecture section.

Next, what the heck are the categories?

  • First-year : 123, 101, 102, 103, 202, 203
  • All-req : required by CPE, SE, and CSC: 141, 357, 348
  • CPE-CSC-req : required by CPE and CSC but not SE: 453, 315
  • SE-CSC-req : required by SE and CSC but not CPE: 225, 300, 349, 430
  • SE-track : SE classes. 305, 307, 308, 309, 402, 405, 406
  • half-TE : classes required by one program but often taken as nechnical electives by the rest. 431, 445, 464
  • Tech Elects : 300-, 400-, and 500-level classes eligible as technical electives.
  • Other : everything else. This is where all of the service courses live.

The interesting thing is the degree to which our “other” category has declined: in Fall 2008, it was about 23% of our sections. Now, it’s just over 10%.

Thoughts?

dependencies chart with colors

:: Department Data

Following Zoe’s excellent suggestion, I added color to the course dependency chart:

The arrows should be the same as the previous chart, though you’ll notice that because of the way I generated it, the chart now includes the classes that don’t have any edges connected to them.

The colors relate to the number of students that have enrolled in each class. Specifically, the log of the number of students that have taken the class from fall 2010 through spring 2016. Classes with zero enrollment are given log(0.5). The class with the highest value is red, the one with the lowest value is green. Yes, there should be a legend. Classes that aren’t in the Computer Science catalog are gray.

Note that I have no idea how many of these enrolls are repeats. That would be interesting, but I’ll need a different data source to answer that question.

The numbers for each class are interesting, and I think I’ll just publish them separately.

CS Dept Enrollment Likelihood

:: Department Data

Another picture!

This picture shows the evolution of class sizes in classes taught by Computer Science faculty since Fall 2008. Specifically, it shows the likelihood that a randomly chosen scu will belong to a class of a given size.

So, for instance, you can see that in Fall 2008, more than 50% of our SCUs were delivered in classes of size less than 30, and that in this last quarter, about 86% of our SCUs were delivered in classes of size 40 or less.

Here’s the picture for the College as a whole:

You may be wondering why I keep yammering on about SCUs, rather than saying things like “50% of classes…”. This distinction turns out to be important. To take an extreme example, suppose that a department taught 99 classes of size 1, and one class of size 901. If we looked at the distribution of class sizes, we could say that 99% of our classes were of size 1, but this would be pretty deceptive, because 90% of our students wind up in the giant class. The fix is to use SCUs (student credit units) as our metric, rather than classes. This ensures that larger classes are (correctly) weighted more heavily, and answers the question we actually want to answer, which is: what is the chance that your child will wind up in a reasonably sized class?

Looking at this picture, I would say that the CS department has actually done a pretty good job; we’ve consistently kept between 80% and 90% of our SCUs in classes of size 40 or less. It’s true that we don’t have many classes of less than 30 students, any more. On the other hand, for the college, only about 70% of SCUs are taught in classes of size 40 or less.

WTUs taught by CSC dept

:: First-Year Data, Department Data

Here’s another interesting picture. (Well, I thought it was interesting, anyway.) It shows the number of WTUs taught by the CS department faculty, from Fall 2008 up through Spring 2016. It includes courses with a bunch of different prefixes: CSC, CPE, HNRS, EE, ENGR, LAES, ME, and DATA.

This graph is broken up by the level of the course. The lowest (white) region shows courses whose names start with “01” (like “0123” and “0101”), the second region shows courses whose names start with “02”, and so forth. The “Sup” region shows the supervisory courses; senior project, master’s thesis, etc.

One note on “adjusted WTUs”: this data is taken from the FAD report, which misclassifies senior projects as lab courses, resulting in some very broken data. I’ve corrected this by re-assigning WTUs according to the CSU’s formulae.

Also, these are all classes taught by faculty associated with the department, so it includes lots of courses taught to nonmajors, as well as some courses taught by department faculty with other prefixes (for instance, a Mechanical Engineering course).

To me, the most interesting thing about this picture is frankly how flat it is. Our enrollments have gone way up, but the number of WTUs we’re teaching is pretty much unchanged.

I think the next picture to draw is how class sizes have changed over the years.

All parsing and rendering done in Racket. Isn’t it time that you learned Racket for yourself? :).

CSC course dependencies

:: First-Year Data, Department Data

Here’s an SVG showing all of the dependencies associated with CSC courses:

Yes, it’s a little small to read. Click on it to see a bigger version. It’s an SVG, so you can blow it up arbitrarily. (Note: this picture is a lot more readable since Aaron Keen made the eminently sensible suggestion that it be left-to-right rather than bottom-to-top.)

Things to know about this data:

  • It’s scraped from the 2015–2017 course catalog in HTML format.
  • All cross-listed courses are normalized to their CSC equivalents.
  • Arrows are shown to all courses mentioned in the prereqs.

The last of these is significant. If a course has a pre-requisite like “Both CSC 124 and one of MATH 117 or MATH 118”, I just draw arrows to all of them. So don’t assume that the number of outgoing arrows is an indication of the number of courses required to take this course.

  • There are lots of courses shown here that haven’t been taught in a long time. CSC 108 jumps out at me, but there are others.
  • Some courses have a prerequisite that can be fulfilled by a no-longer-existing course. For instance, CSC 141 changed into 348, but there are still a bunch of courses that list CSC 141. Since 141 is not displayed as a hyperlink in the catalog, we assume that it’s defunct, and we don’t show it.
  • No dependencies are shown for non-CSC courses.

All scraping and processing done in Racket, natch. Graph drawn with Dot.

Capturing and caring for Yeast

:: Bread

Hello, wild yeast people!

It appears that I have not recently documented how exactly it is that you “capture,” and (more importantly) feed and care for a wild yeast culture.

I should start by saying that most of what I know comes from

  • “Cooked,” by Michael Pollan,
  • “Tartine Bread,” by Chad Robertson,
  • … and certain brief conversations with biologists at Cal Poly

The fundamental assumption behind the effectiveness of what I’m going to tell you comes from the ‘everything is everywhere: but the environment selects’ hypothesis, “promulgated by Dutch microbiologist Martinus Wilhelm Beijerinck early in the twentieth century.”1 The basic idea is that most microorganisms are present in varying densities nearly everywhere on earth, and that it’s possible, by providing the right environment, to breed pretty much any microorganism that you want.

In this case, we want a yeast culture. Some people take great care to preserve a particular culture that has been handed down for generations. My reading suggests that this is … well, kind of pointless. You can create your own culture in a week or two (or maybe less) without much fuss, and without anything but flour and water.

With that said, it’s certainly easier to preserve a culture than it is to create one, so once you’ve got it going well, it makes sense to me to keep it going. Honestly, it’s a lot like a fire was to primitive culture: starting it is a pain, and feeding it isn’t too expensive.

Okay, here’s my “recipe.” I’ve started from scratch on this twice, and I’ll probably do it again.

Hello, fellow Americans

:: Politics

Hello, my fellow Americans.

How’s it going?

If you’re like me, you’re feeling really, really bad right now. Loss, despair, a pain in your chest. Walking around alone at night, feeling absolutely awful. Really bad. A horror-clown has just been elected president. A man who doesn’t seem to have any plans beyond simple self-aggrandizement, who will say or do anything to inflate his own self-importance.

At the end of the day, you’re probably asking this: What does this mean for America?

Well, I’ll tell you what it means.

It means that we’re not done yet.

This is not yet the America that we want it to be.

It means that we’ve still got a heck of a lot of work to do. No one said this was going to be easy.

So: make a list of priorities. Here’s mine:

  • Human Rights
  • Climate Change
  • Nuclear Proliferation

Then—and this is the hard part—start doing something about them.

I’m going to try. I’ll let you know how it goes.

Granite Wo-Mon 2016

:: granitemon

Hey, today was the day! The day of the annual swim from Long Island to the mouth of Blue Hill Harbor, the current incarnation of the Granite Wo-Mon Challenge.

Before the swim:

pre-swim

pre-swim

Thanks to Chris Guinness for this excellent shot.

After the swim:

post-swim

post-swim

Charlotte Clews posted this picture, although she’s in the picture so I suspect she didn’t hit the button. Was this Henry?

Low tide was at 8:47 AM today, so by rights we should have started the swim at about 11:00 AM, but no one wanted to wait quite that long. We gathered at the KYC at 9:00 (or 9:10… or 9:15) and headed out to Long Island. I think we managed to start swimming at about 10:00.

Let me just say: choppy. Not end-of-the-world choppy but still chopping pretty good. Which is to say: bad. I think we all swallowed quite a bit of seawater.

My strava log suggests that the swim took about 1:38, which is quite a bit more than last year.

A special thanks this year to Tricia Sawyer, who pretty much organized the event, and didn’t get to swim. (N.B.: “Organized” = “sent an email to the rest of the slackers”.) It wouldn’t have happened without you!

For those of you completely confused: Granite Wo-Mon Summary Page

So! The swimmers! (In alphabetical order. I love it because Clementses go first. Unless Sara starts swimming.)

  • Alice Clements
  • John Clements
  • Mary Clews
  • Amanda Herman
  • Charlotte Clews Lawther

Amazing chase boat crew and welcoming committee:

  • Sara Ardrey
  • Henry Becton
  • Jeannie Becton
  • Anika Clements
  • Kitty Clements
  • Tom Clements
  • Henry Clews
  • Hal Clews
  • Chris Guinness
  • Sean Guinness
  • Stephen Labrum
  • Jerome Lawther
  • Jenney Wilder
  • Eliza Wilmerding
  • Renee (last name ?)
  • Others?

Finally, I note with mild dismay the absence of any first-time swimmers. Maybe Lucas will swim next year?

The Many Uses of the AR–15

:: Guns

  • July 20, 2012 - Aurora, CO – 12 people dead - Smith & Wesson AR–151
  • December 14, 2012 - Sandy Hook elementary school, Newtown, CT – 20 people dead - Bushmaster AR–152
  • December 2, 2015 - San Bernardino, CA – 14 people dead - Smith & Wesson AR–153
  • June 12, 2016 - Orlando, FL – 49 people dead - Sig Sauer AR–154