Gas station without pumps

2013 May 19

On labs moving from UC to private colleges

Filed under: Uncategorized — gasstationwithoutpumps @ 22:30
Tags: , , ,

Chris Newfield, starts his blog post UCLA Loses LONI: Why Budget Silence Is Bad for Science ~ Remaking the University with

There’s been much local coverage of two principal investigators switching from UCLA to USC, and taking with them an estimated 85 people from UCLA’s Laboratory of Neuro Imaging (LONI). The Los Angeles Times has run two stories about it, one of which received over 120 reader comments, and the story was Larry Mantle’s lead on his Airtalk show at KPCC, where he had one of the two departing faculty members as his guest.

But beyond a big win for the Trojans over the Bruins, why should the public care?

He goes on with an analysis of the importance and the cost of doing science research at UC, pointing out that the particular PIs lured away were very highly compensated:

I don’t know LONI’s equipment and infrastructure issues at UCLA, but the only publicized financial information was of the leaders’ salaries: over $1 million / year for Prof. Toga, over $420,000 for Prof. Thompson. A good number of highly qualified people will line up for jobs like these.

I had much the same reaction—those are not public university salaries.  A dozen top-notch assistant and associate professors could be hired for what those two were paid.  USC is welcome to sink their money into hiring big names—perhaps they could hire away all the athletic coaches from UCB and UCLA as well (please).

Chris got a lot of flak in the comments for his simile about the cost of doing research:

Public universities can’t fully support their grants because extramural funding doesn’t cover the full cost of research.  Labs burn money like a jet burns fuel, which is what they are supposed to do.  LONI spent $12 million a year, as a case in point. 

$12 million dollars for 85 people is only $141k per person.  Given the huge salaries of the PIs (not to mention the costs of their benefits), the expenditure per person for the other 83 was under $125k, and salaries were probably less than half that (given the necessary costs for reagents, equipment, travel, publication charges, benefits, …).  So most of the lab was making only modest salaries—only the PIs were raking in the dough.

Chris ended with 4 conclusions:

  1. UCLA’s core problem is a funding shortage, not surplus bureaucracy. (UCLA is the wealthiest UC campus, so things only get worse from there). 
  2. Public universities need to tell the truth about research funding.  This will include the facts that science loses money, that some portion of undergraduate tuition funds offset research costs, and that most funding doesn’t “produce” anything in the near-term, except findings [for] more research along with a great deal of useful failure.
  3. Public universities need to explain why research like LONI’s should be to some large extent at public universities.  Why does it matter to the science, to the public impact, to the education of the next generation of scientists? Perhaps there is more openness and accountability at publics, and therefore more innovation. Perhaps scientists at public universities have a better feel for public needs and do more useful research.  Perhaps public universities uniquely have the necessary scale to train the thousands and millions of researchers in all fields to solve our ever-mounting problems.  We now need a new theory of public universities, before things get even worse.
  4. Universities both private and public need to open up  discussion of spending priorities to their academic communities.  Given rising costs and shrinking revenues, choices have to be made. They  need to involve the faculty, from all disciplines, and students of all levels.  This is as true of USC as of UCLA, which has a poor record of consultation and can only buy a limited number of LONI-type labs with (in part) student tuition and non-STEM cross-subsidies.  Privates can now raise tuition only so much. Academic choices need to come from a bottom-up debate of a kind that higher ed has never had.

There was an excellent discussion in the comments to his post, mainly pushback on point 2, as STEM faculty see their overhead being spent on everything in the university except the proper indirect expenses that it is supposed to go for, while Chris looked at the overall expenditure on support for science research and the income from indirect costs.  I think that a lot of the discrepancy comes from the cost of new buildings for science labs, which are very, very expensive, but cannot be charged to grants.

I’m in agreement with Chris that UC has done a very poor job of making a good case for research in the public universities, talking about it mainly as a revenue stream or in PR terms as enhancing the image of the university.

In one of Chris’s comments, he restates his main point as a desire for greater budget transparency:

So my suggestion as always is that faculty across the disciplines stop being cynical about “byzantine accounting” and push for full data on funding flows—universities can’t even start the negotiations for ICR rates without this accounting to show federal agencies—let the chips fall where they may, and then have an involved discussion based on actual budgetary facts about what to do. My position is always that I do not want cuts to STEM research. I want research to be fully funded. The patchwork we have doesn’t work any more—for any field. Things will continue to deteriorate unless we can drop our longstanding mental habits get clarity on how our own institutions work .

I think that greater clarity in how funds flow around the university would be helpful—particularly to those of us at the underfunded campuses (UCB and UCL have long gotten far more than a fair share of state funds and tuition dollars, and even the “rebenching” now in progress has been carefully designed to perpetuate the inequity).  If the research grants are not paying what the research costs the University, then indirect costs need to be raised, or the state needs to provide explicit support for research to cover the costs, or the University has to make a much, much better case that undergrads benefit from the research and so their tuition should be used to cover the shortfall.

I think that the case for undergrad benefit is quite different on different campuses and even in different majors.

For example, in the bioengineering major at UCSC, all the undergrads do research, either individually with faculty, postdocs, and grad students, or as part of a group project supervised by faculty.  They use equipment and labs funded by research grants and get a lot of high-contact instruction in these projects that could not be duplicated without the money brought in from federal grants, grants from non-profits, and even industrial research contracts.  Some of the undergrad students in the bioengineering major are doing exceptional research, and all are being very well prepared for grad school.  I have no trouble asserting that these students are benefiting substantially from the active research programs in biomolecular engineering and molecular biology.

On the other hand, I’ve recently been visiting colleges to find a good place for my son to apply in computer science (see College tours around LA and UC Berkeley college tour), and neither UCB nor UCLA had much involvement of undergrads in computer science research. I’d have a hard time telling a student whose smallest class in their major had over 50 students and most upper division courses had 200, that research opportunities for 5–10% of the undergrad students were a good deal for them. (To be fair, this may be more discipline-specific than campus-specific, as the computer science department at UCSC also seems to have less involvement of undergrads in research than the other engineering departments.)

It is not clear to me whether student tuition is supporting the research mission or research grants are supporting student instruction.  I’ve seen arguments for both, and I don’t really believe any of the arguments are really solidly based on facts.  The UC budget is such a tangled web of inconsistencies that people can read anything into it that they want.

Although UC has certainly failed on budget transparency, I think that the bigger discussion that has been missing is Chris’s point 3, explaining why research is an essential part of the mission of some public universities.  Obviously it is not essential for all (neither the community college system nor the California State University system have research as a major part of their missions), but UC administration and faculty have never made a clear case to the public of the need for research in a public university.  I think that it is time to do so, but I don’t know that I can put together a clear case for it—certainly not to the point where I could say how much of student tuition should be going to support the research mission.

2013 May 12

Engineering is liberal education

Filed under: Uncategorized — gasstationwithoutpumps @ 10:08
Tags: , , , ,

The Campaign for the Future of Higher Education, in a blog post Who Needs A Liberal Education These Days? pointed me to a survey of employers by Hart Research Associates for the Association of American Colleges and Universities, It Takes More Than a Major: Employer Priorities for College Learning and Student Success.  That report has several unsurprising observations:

  • Nearly all those surveyed (93%) agree, “a candidate’s demonstrated capacity to think critically, communicate clearly, and solve complex problems is more important than their undergraduate major.”
  • More than nine in ten of those surveyed say it is important that those they hire demonstrate ethical judgment and integrity; intercultural skills; and the capacity for continued new learning.
  • More than three in four employers say they want colleges to place more emphasis on helping students develop five key learning outcomes, including: critical thinking, complex problem-solving, written and oral communication, and applied knowledge in real-world settings.
  • Employers endorse several educational practices as potentially helpful in preparing college students for workplace success. These include practices that require students to a) conduct research and use evidence-based analysis; b) gain in-depth knowledge in the major and analytic, problem solving, and communication skills; and c) apply their learning in real-world settings.

(I guess they don’t care whether students learn proper punctuation, though, as the colon after “including” is incorrect.)

The Campaign for the Future of Higher Education uses this report as evidence that a “liberal education” is what students need, though it sounds more like what a good engineering school teaches than anything I’ve seen in the humanities.  In fact, the CFHE carefully omitted the major findings that are first in the summary of the report:

  • Nearly all employers surveyed (95%) say they give hiring preference to college graduates with skills that will enable them to contribute to innovation in the workplace.
  • More than nine in ten agree that “innovation is essential” to their organization’s continued success.

Not all innovation is engineering, nor does engineering education guarantee that the graduates will be innovators, but innovation is at the heart of engineering and of art, but is not so central in the humanities and sciences.

Of course, the definition of “liberal education” used in the report is one that few employers would say no to:

This approach to a college education provides both broad knowledge in a variety of areas of study and knowledge in a specific major or field of interest. It also helps students develop a sense of social responsibility, as well as intellectual and practical skills that span all areas of study, such as communication, analytical, and problem-solving skills, and a demonstrated ability to apply knowledge and skills in real-world settings.

Again, it sounds to me more like a good engineering school than a liberal-arts degree: particularly the parts about practical skills, analytical and problem-solving skills, and ability to apply knowledge and skills.  The areas that many engineering schools traditionally fall down on are the “sense of social responsibility” and communication skills.

But good engineering schools do include social responsibility and communications skills in the training that they provide. The engineering undergrad curricula that I’ve had a hand in helping design (computer engineering, bioinformatics, and bioengineering at UCSC) have all included both an ethics course and a technical writing course.  Communication is also a major part of engineering senior design projects and senior theses, and there are several social impacts and sustainability courses in the Jack Baskin School of Engineering at UCSC.

[Disclaimer: the ethics course was not part of our original design for the computer engineering curriculum, but was added later when the faculty was large enough to staff an engineering ethics course—the other two curricula included a bioethics course from the beginning.]

The report provides a detailed list of “selected learning outcomes”, sorted by how much more of each the employers wanted to see:

  • Critical thinking and analytical reasoning skills
  • The ability to analyze and solve complex problems
  • The ability to effectively communicate orally
  • The ability to effectively communicate in writing
  • The ability to apply knowledge and skills to real-world settings
  • The ability to locate, organize, and evaluate information from multiple sources
  • The ability to innovate and be creative
  • Teamwork skills and the ability to collaborate with others in diverse group settings
  • The ability to connect choices and actions to ethical decisions
  • Knowledge about science and technology
  • The ability to work with numbers and understand statistics
  • Proficiency in a language other than English
  • Knowledge about global issues and developments and their implications for the future
  • Knowledge about the role of the United States in the world
  • Knowledge about cultural diversity in America and other countries
  • Civic knowledge, civic participation, and community engagement
  • Knowledge about democratic institutions and values

The priorities given by this list of learning outcomes seems to match the priorities of an engineering school pretty closely (though most engineering curricula put knowledge about science and technology, innovation, and teamwork higher on the list and oral communication lower), while most liberal arts curricula address the items nearer the bottom of the list.  This is not to say that those topics should be ignored:

While employers may not be clamoring for colleges to increase their emphasis on civic learning or in teaching about global issues, they widely agree that all students should receive civic education and learn about cultures outside the U.S. Fully 82% agree (27% strongly) that every student should take classes that build civic capacity, and learning about societies and cultures outside the United States (78% total agree; 26% strongly) is widely valued for all students. Additionally, four in five agree (32% strongly) that all students should acquire broad knowledge in the liberal arts and sciences, regardless of a student’s chosen field of study.

Some of the other standard educational practices in engineering also are highly supported in the report:

Employers express the greatest confidence in the following practices to help students succeed beyond graduation. Large majorities believe that colleges that set expectations for students to achieve these learning outcomes will do the most to prepare them for success:

  • Develop research questions in their field and evidence-based analyses (83% will help a lot/fair amount)
  • Complete a project prior to graduation that demonstrates their acquired knowledge and skills (79% will help a lot/fair amount)
  • Complete an internship or community-based field project (78% will help a lot/fair amount)
  • Develop the skills to conduct research collaboratively (74% will help a lot/fair amount)
  • Acquire hands-on or direct experience with the methods of science (69% will help a lot/fair amount)
  • Work through ethical issues and debates to form their own judgments about the issues at stake (66% will help a lot/fair amount)

Some other fashionable memes in the education world were not so popular with employers:

  • Using new approaches that de-emphasize lectures in the classroom and instead have students listen to lectures online and devote classroom time to dialogue, debate, and problem solving in groups or alone, and with guidance from the instructor (59%)
  • Expecting students to learn about the points of view of people in societies other than those of Western Europe or North America (47%)
  • Expecting students to learn about cultural and ethnic diversity in the context of the United States (44%)
  • Expecting students to explore challenges facing society, such as environmental sustainability, religious tolerance, or human rights (42%)

Something that we at UCSC have not been preparing students for is creating an electronic portfolio of their accomplishments:

Four in five (83%) employers say an electronic portfolio of student accomplishments would be very (43%) or fairly (40%) useful to them in ensuring applicants have the skills and knowledge to succeed in their company or organization.

Overall, I feel pretty good about the match between what the engineering curricula I’ve helped design teach and what employers are looking for in college graduates.  I think that both oral and written communication skills need to be given more emphasis across the curriculum (too many faculty are unwilling to take the time to provide feedback on written work), and that the bioengineering curriculum needs more design courses, but that the basic goals of the programs I’ve helped create are in good agreement with what employers are looking for.

2013 February 21

Foreign national Ph.Ds in engineering

Filed under: Uncategorized — gasstationwithoutpumps @ 09:41
Tags: , ,

I just got some mail from the American Society for Engineering Education that gave some information about what colleges are awarding high and low percentages of PhDs in engineering fields to foreign nationals:

Doctorates Awarded to Foreign Nationals Remain the Same

In 2011, 54.2 percent of doctoral degrees in engineering were awarded to foreign nationals. This was the same percentage the year before in 2010. It is a slight retreat from the highpoint of 61.6 percent that was held for the 2006 and 2007 academic years.

Schools with the Highest Percentage of Engineering Doctorates Being Awarded to Foreign Nationals (Minimum of 25 doctoral degrees awarded, 105 schools fit this criterion.)

1. University of North Texas 85.3%
2. University of Cincinnati 83.7%
3. SUNY, Buffalo 81.8%
4. University of California, Riverside 81.5%
5. University of Texas, Arlington 79.2%
6. University of Connecticut 78.7%
7. Louisiana State University 78.6%
8. Stony Brook University 77.9%
9. Lehigh University 76.2%
10. Brown University 75.0%
10. Iowa State University 75.0%
10. Northeastern University 75.0%
13. Illinois Institute of Technology 74.4%
14. Florida International University 73.8%
15. New Jersey Institute of Technology 73.5%
15. Univ. of Massachusetts, Amherst 73.5%
17. University of Houston 73.1%
18. Syracuse University 72.2%
19. FAMU-FSU College of Engineering 72.0%
20. Washington State University 71.9%

Schools with the Lowest Percentage of Engineering Doctorates Being Awarded to Foreign Nationals

1. University of Colorado, Boulder 21.5%
2. University of Notre Dame 29.1%
3. University of Pennsylvania 31.8%
4. University of California, Berkeley 34.1%
5. Wayne State University 37.0%
6. University of Iowa 37.1%
7. University of California, San Diego 40.7%
8. University of California, Santa Cruz 41.2%
9. Colorado School of Mines 41.7%
10. University of Washington 41.8%
11. Vanderbilt University 42.9%
12. University of Maryland, College Park 43.0%
13. University of Wisconsin, Madison 43.1%
13. Duke University 43.1%
15. University of Virginia 43.3%
16. George Mason University 44.0%
16. Southern Methodist University 44.0%
18. University of Missouri 44.2%
19. University of Utah 44.6%
20. Cornell University 45.5%

Source: ASEE Other data trends can be viewed at www.asee.org/colleges.

I notice a few interesting things:

  • UC Riverside seems unable (or unwilling) to have California residents as grad students in engineering.  Given that many of the other schools with a very high foreign fraction are not notable engineering schools, I suspect that the reason is that UCR can’t attract Californians to their engineering program.  (There are some good engineering schools on the list, though, so there must be other reasons also.)
  • UC Berkeley, which gets a lot of flak for the number of foreign students, actually has one of the lowest rates in the country (though one can argue that 34% foreign is still too high for the good of the country, unless a large fraction of them immigrate after grad school).
  • UCSC, where I’m on the engineering faculty, also has a relatively low fraction of foreign PhD students. I think that our department pulls down this number, since we have generally less than 10% foreign students—they cost us more in grant funding, so we have a much higher standard for admission for them.  That might change as UC keeps jacking up the in-state tuition, though, as the differential is getting less significant.  An in-state student costs us $12.7k per quarter (not including overhead on the grant), an out-of-state student costs us $17.7k per quarter for the first year and $12.7k thereafter, and a foreign student $17.7k per quarter until they advance to candidacy.  Back when in-state tuition was nominal, the ratios were more like 2 to 1, rather than only 40% more for foreign students.  The difference is more like 33%, since we pay all grad students the same $7k during the summer, when there is no tuition (so $60k cost per year for foreign, $45k per year for California resident, plus overhead).
  • A foreign student costs about the same as a postdoc and is generally less productive for research, so Federal funding really encourages faculty to hire postdocs rather than train grad students.  I think that we need to get away from funding grad students through research grants, and switch over to a model more like the NSF fellowships, where the students are directly funded for their education, rather than as a byproduct of research funding.
  • I now see why UC Boulder struck me as so monochromatic—even their engineering school (which is usually the hotbed of internationalism on any campus) is only 21% foreign, and UC Boulder is not noted for domestic racial diversity either.
  • I think that one would get a very different picture if we looked at MS degrees in engineering, since the MS is the real working degree for most engineers.  The PhD is primarily for doing engineering research and college-level teaching, rather than for working engineers.  Foreign markets may assign a higher value to the PhD than the US labor market does, which would definitely skew the PhD pool more towards foreign students.

2013 February 9

Becoming engineers

Filed under: Circuits course — gasstationwithoutpumps @ 20:23
Tags: , , , ,

In The Art of Becoming Yourself, Chad Hanson discussed the hard-to-measure cultural value of a university education.  I was particularly struck by his statement:

Educators spend a good deal of energy testing critical-thinking ability and, frankly, are frustrated with the results. One reason we have difficulty producing critical thinking is that we separate thinking from thinkers. We treat critical thinking as if it were a free-floating ability when, in fact, it is a function of oneself or one’s identity. Critical thinking is a way of positioning oneself toward a problem. For critical thinking to take place, students must first come to think of themselves as people who are willing to take a critical stance in relation to an issue.

This resonated with me because I’m trying to teach the bioengineering students in my circuits courses to “think like engineers“, but I had not thought of the problem in quite the way that Dr. Hanson put it.  My goal is not to have students “take a critical stance”, but to be able to solve problems that they have never seen before.

I’m really trying to make the students see themselves as engineers, rather than as students—to have them think of themselves as people who can look at a problem and decompose it into solvable subproblems, as people who are willing to explore possibilities without knowing that there is a correct answer in the back of the book, and as people who can design solutions.

I want them to think “let me look on the data sheet” and “let me measure that and see”, rather than asking “is this right?”

I want them to look at a breadboard that isn’t working, and start by checking each wire to see if it is consistent with the schematic, rather than just calling the TA or me over for help  (80% of the debugging I’ve done for students is pointing out that their wiring doesn’t match their schematic).

I want them to draw their own schematics, checking to make sure they know what each wire and component is for, not just copying and pasting someone else’s. I want them to check their schematics to be sure they haven’t shorted power and ground, and that every input and output is appropriately wired, not left dangling.

I want them to do quick sanity checks on every calculation or design decision, asking “is that consistent with what we know already?” and “are the units right?”

They’re all capable of doing these things, when told to, but they have not yet changed themselves to the point where they tell themselves these things without being nudged.

If they forget in a year how to compute the corner frequency of an RC filter, I’ll be only mildly disappointed—if they need it, they can look it up or rederive it in a few minutes.  But if they forget that they can rederive  formulas from a few simple principles, rather than having to memorize or look up solutions to every possible problem, I will have failed.  If they forget or don’t learn how to decompose problems into subproblems, or how to write a design report that can be understood by people who’ve not read any prior problem statement, then I will have failed.  If they forget to look at datasheets or to do consistency checks on their own work and that of their colleagues, I will have failed.

Dr. Hanson quotes Alexander Astin:

In his classic What Matters in College?, he concludes, “The student’s peer group is the single most potent source of influence on growth and development during the undergraduate years.” As educators, we assume that students enroll in our classes for the sake of the learning outcomes listed on our syllabi. The truth is that learning outcomes are actually a small part of the endeavor. The postsecondary ritual is a large and life-changing experience.

That suggests to me that it will take the students helping each other to make the change to thinking like engineers.  I can give them exercises and labs in which engineering thinking is valuable, and I can give them questions to ask themselves, but it may take the students asking each other these questions for the change in their ways of thinking to become part of who they are.

2012 December 7

On grading programs

Filed under: Uncategorized — gasstationwithoutpumps @ 10:01
Tags: , , , , , ,

One of our senior grad students sent me an e-mail today:

Subject: Pedagogy question
Date: Thu, 6 Dec 2012 22:07:34 -0800

I was talking about 205 with one of the first year students and it
occurred to me that I didn’t know how you tested people’s code. The
student was sure that you actually read the code and I always imagined
you had a pipeline that used unit testing on the submissions and only
read the code when things went wrong.

How do you do it? Thanks

The answer is that for most assignments I do both.  I have a Makefile that runs each student’s assignment on a number of test cases, and compares the output to the desired output.  For some assignments, where the output is not unique (for example, in sequence alignment, where there may be multiple correct alignments, I do some postprocessing of the outputs to get comparable values (for alignments, I rescore their output alignments and compare sequence lengths and scores, rather than the alignments themselves). I’m doing simple I/O testing, not unit tests, as unit tests need to be designed into the programs as they are built.  I’m not giving the students scaffolds to build their programs around, not even library specifications, so I can’t have a generic set of unit tests for their programs.

I often have to put student-specific code into the Makefile to correct for minor student errors, like misnaming a command-line option for the program or having set the default values for options wrong.  Sometimes I have to make a copy of a program and edit it (for example, to remove MS-DOS carriage-return characters from the source code) before I can get it to run, but I try to avoid doing that after the first couple of assignments.

Some assignments do not lend themselves to simple I/O comparisons (such as the simulation tests to determine the frequency of long ORFs on the reverse strand of a gene). For those, I don’t run the programs, but rely on the student-reported histograms and model fits for the output check.

Without the I/O tests, it would be very difficult for me to grade the programs well, as there are often subtle bugs in student code that can only be teased out by testing unusual inputs—I certainly don’t have the days it would take to do a thorough reading and debugging of each student’s code.  Each year I try to improve at least one of the automated tests to do a more thorough job of testing—sometimes this improvement involves modifying the assignment to provide more clearly specified or more testable formats, sometimes it is just the addition of some more corner cases to the test suite, and sometimes it is better postprocessing to do more thorough checking of the output.  I reuse nearly the same assignments each year (though 2 assignments this year were used for the first time), so that the testing improves gradually from year to year.

After doing the I/O checks, I then read all the programs. I start with the programs that did not pass I/O tests, trying to provide debugging help.  That debugging help is usually the most time-consuming part of the grading.  On all the programs I try to provide some feedback on the documentation (which is usually awful, though I had one student this year who really got the point of documentation and did a better job of it than I usually do).

In addition to the documentation feedback, I try to provide suggestions to make the Python more efficient or more idiomatic. For example, I had one student this year who always used complicated “while” loops where simple “for” loops would have been much easier to read, and lots of times people would write multi-line loops than could be more easily expressed with a list comprehension.  Students who wrote very good, idiomatic Python got many fewer comments from me than students who were struggling, though I always tried to find at least one useful thing to say to them.

The code-reading is rarely fun—maybe 10% of the students program well enough to make reading their code pleasant rather than painful, but I think that the feedback the students get from it is one of the most important parts of the course pedagogically.  Most of the students have never had such detailed feedback on their programming, because it is expensive to provide.  It takes me an average of 10–20 minutes per student to do the code reading (depending on the complexity of the assignment), which is barely feasible for a class of 20 once a week and would be prohibitive for a larger class or  with more frequent assignments. The I/O checks generally only take about 10 minutes per student, and could be reduced substantially if I just failed students who didn’t pass the I/O checks, rather than trying to patch my test or their code to allow almost working code to be tested.

I spend much more time on the weaker programmers than on the good ones, which may be why the senior grad student does not remember much of the feedback (he also took the course when we were still using Perl, rather than Python, and I provided less feedback on good programming style and idioms—it is damned hard to write a good program in Perl, and many Perl idioms are nasty, ugly hacks).

By the end of the course, everyone who passes is at least a minimally competent Python programmer and can write the sort of data-wrangling code that every computational biologist needs.  I think that this year students all ended up with a decent grasp of using tuples as keys or values for hashes and of using generators (made with “yield” statements) for doing input parsing.

Several of them also learned how to collaborate without copying. I had several students who talked to each other about each assignment, helping each other learn Python and the algorithms of the course, while writing distinctly separate code.  They were also very good about acknowledging their collaborators—a habit that more courses should be trying to develop. There was only one student I had to chide about copying code he did not understand (and that wasn’t working anyway), and even he had properly cited the original author of the code, so was not in any danger of an academic integrity violation.

Most of the students also can do substantially better documentation than when they started the course.    Over half the class is now routinely commenting on the meanings of their variables and the return values of their functions, though not always as clearly as I would like.

I’m considering rewriting my old “document-this-code” assignment from when I taught technical writing, updating it for Python and adding it to the course, which is already pretty full with 7 programs, a fellowship application, and a research paper, in addition to the “content” material about bioinformatic models and algorithms.  The workload is high for a 5-unit course, which should total only about 120 hours, including the 35 hours of class time (I suspect that the workload varies from 100 to  150 hours already), and so I’m hesitant to add another assignment. It seems that many of the students have never seen a decently commented program and have no idea what I mean when I complain about the vagueness of their comments. They understand when I complain about the lack of comments, but don’t know what they should put in the comments.

All the students in my course have had previous programming courses, often several such courses.  (I had a couple of students start the course this year without prior programming courses, and drop after the first two assignments, with the intent of trying again after taking some programming courses.)  If I remember right, only one of the students started the course with a good documentation style.

I understand why the huge CS courses can’t provide the detailed feedback needed to get students to document well, but I think that it is a shame.  Writing programs is like writing papers in many ways, with the same concerns about organization at different scales and the need for clarity, completeness, correctness, and conciseness (the four Cs of technical writing—I was going to write a blog post about that over a year ago, and never finished it—one of my 167 unfinished draft posts).  Programming classes should be taught like writing classes, with detailed feedback from experienced programmers, but I’m afraid that administrators are so in love with mass production that they are more likely to want to make programming courses bigger with less feedback to the students rather than move to a high feedback, high cost approach that could actually produce good programmers.

Of course, administrators would love to convert the writing courses into mass-production classes also. Writing classes used to have only 20 students per instructor, in order to provide adequate feedback, but the continued defunding of instructional activity in favor of administrative bloat and constructing new research buildings has resulted in writing classes having more like 30 students per instructor, with the consequent decrease in the quantity and quality of feedback to the students.  It is only a matter of time before administrators decide that MOOCs with “peer feedback” are good enough for the peons, and eliminate small classes and professional feedback from writing courses also.

 

 

 

 

Next Page »

Theme: Rubric. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 148 other followers

%d bloggers like this: