<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>systems on C'est la Z</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/tags/systems/</link><description>C'est la Z (systems)</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Thu, 01 Mar 2018 00:00:00 +0000</lastBuildDate><atom:link href="https://cestlaz.github.io/cestlaz-old-hugo.github.io/tags/systems/rss.xml" rel="self" type="application/rss"/><item><title>Sigcse2018 - Malloc Lab</title><link>https://cestlaz.github.io/cestlaz-old-hugo.github.io/posts/sigcse2018-malloc-lab/</link><pubDate>Thu, 01 Mar 2018 00:00:00 +0000</pubDate><guid>https://cestlaz.github.io/cestlaz-old-hugo.github.io/posts/sigcse2018-malloc-lab/</guid><description>&lt;p>
I wasn&amp;#39;t going to go to this session. I started out in a panel on
integrating social good into CS Ed. With the panel not meeting my
expectations I moved over to my second choice - the system programming
sessions where I saw &lt;a href="https://dl.acm.org/citation.cfm?id=3159597">Implementing Malloc: Students and Systems
Programming&lt;/a>, a paper presented by &lt;a href="http://www.cs.cmu.edu/~bpr/">Brian Railing&lt;/a> of CMU.&lt;/p>
&lt;p>
I really liked both the paper and the talk.&lt;/p>
&lt;p>
CMU computer science students all take a systems course that uses
&lt;a href="https://www.amazon.com/Computer-Systems-Programmers-Perspective-3/dp/9332573905/ref=pd_lpo_sbs_14_t_0?_encoding=UTF8&amp;amp;psc=1&amp;amp;refRID=Y5ZKG2V8ZYZZPZHQP8SQ">Computer Systems: A Programmer&amp;#39;s Perspective&lt;/a>. It&amp;#39;s a great book. I
read through the first edition years ago and felt it was great
resource not only in a systems course but also for self study. One of
the labs has the students implement their own memory allocation calls,
or &lt;strong>malloc&lt;/strong> for us old time C wonks.&lt;/p>
&lt;p>
There were a number of self perceived deficiencies with the
assignment such as encouraging bad programming style by modeling
less than ideal practices but the biggest deficiency as that students
could game the assignment. Students could do very well on the
assignment by exploiting knowledge of the assignment rather than by
writing a full and correct malloc implementation. One example is that
students were able to figure out that no allocation would be more than
100MB so they really didn&amp;#39;t have to deal with 64 bit pointers. They
could use smaller offsets thus simplifying the assignment. The
assignment became more about figuring out how to get it through the
grader and less about learning memory management. I&amp;#39;m sure I&amp;#39;m
overstating it but that&amp;#39;s the idea.&lt;/p>
&lt;p>
Railing explained all of the deficiencies and then how they changed
the assignment to address them.&lt;/p>
&lt;p>
At the end of the day, the assignment had fewer loopholes to game so
students had to really write the malloc library and presumably learn
about memory management.&lt;/p>
&lt;p>
They also added an intermediate deliverable so students couldn&amp;#39;t leave
everything for the last minute.&lt;/p>
&lt;p>
Near the end of the talk, Railing discussed results where he pointed
out that students final exam scores didn&amp;#39;t change but they did better
on the malloc questions. It wasn&amp;#39;t clear if the overall scores didn&amp;#39;t
change, meaning that the students did better on the malloc questions
but worse somewhere else or if they did similarly to past students on
the other sections and in addition they scored better on the malloc
questions. I&amp;#39;m not sold on the final exam questions being the best way
to evaluate learning but it is an easy data point.&lt;/p>
&lt;p>
I loved the presentation and paper and I love what Railing is doing
but my big takeaway was…&lt;/p>
&lt;p>
Well, Duh…&lt;/p>
&lt;ul>
&lt;li>students aren&amp;#39;t doing as they should&lt;/li>
&lt;li>teacher realizes students are gaming assignment&lt;/li>
&lt;li>teacher reworks assignment&lt;/li>
&lt;li>students do better&lt;/li>
&lt;/ul>
&lt;p>Teachers do this all the time. Of course when we do it, it&amp;#39;s not
&amp;#34;research.&amp;#34; This was a recurring theme for me at SIGCSE2018 and I
tweeted it. While it&amp;#39;s true that K12 teachers can learn a lot about CS
content from higher ed, people in higher ed can learn a lot about
teaching from teachers.&lt;/p>
&lt;p>
What Railing presented was terrific and important as changing
assignments like this will now be considered by people who haven&amp;#39;t
thought about this before but this is second nature to a teacher. Of
course I&amp;#39;m talking about a good teacher, not one who blindly follows
scripted lessons.&lt;/p>
&lt;p>
I don&amp;#39;t mean this as a slight to professors. They&amp;#39;re hired and
promoted based on research so much of their job involves another skill
set. I know many professors who care very much about teaching but they
might only teach one or two classes a semester that meets once or
twice a week while a typical high school teacher meets 150 students a
day five days a week over five different classes a day. Much more of
an opportunity for deliberate practice.&lt;/p>
&lt;p>
This presents a huge challenge. How can professors who are hired and
promoted as researchers be given the time and ability to develop as
teachers? What about adjuncts or Teaching Assistants? I&amp;#39;d imagine it&amp;#39;s
even harder for them. I know that colleges have lines for teaching
faculty but from what I can see, those instructors are usually super
overloaded with classes and students so that doesn&amp;#39;t solve the
problem. Even if you do have teaching faculty that have the time to
develop their craft, how do you get those teaching chops over to the
research faculty?&lt;/p>
&lt;p>
After the session, I was talking about this with &lt;a href="http://www.cs.cmu.edu/~mjs/">Mark Stehlik&lt;/a>,
Assistant Dean at CMU&amp;#39;s School of Computer Science. Mark was telling
me about CMU&amp;#39;s efforts to develop teaching faculty across the
disciplines. I was happy to hear about the efforts CMU was taking but
it sounds like they have the same challenges with respect to pedagogy
as everyone else. If it&amp;#39;s a challenge for CMU with all their
resources, what does that mean for the rest of us?&lt;/p>
&lt;p>
Still, it was encouraging to go to a number of sessions where it was
clear that professors - both teaching and research faculty are serious
about the craft of teaching and conferences like SIGCSE can bring them
together with those of us who don&amp;#39;t have the chops as researchers but
do so as teachers.&lt;/p></description></item></channel></rss>