<BOOKMARK:top>
Ways to Attract and Retain CS Undergraduates
Written 2005
~~DISCUSSION [CS Enrollments]~~
Enrollments in Computer Science at the University of Calgary have dropped 80% (or more) since 2000. Throughout North America they have dropped anywhere from 40% - 60%, depending on the source.
Our own departments drop is significantly higher than the North American averages, and yet Calgary is known to have one of the best educated, technologically advanced work forces (also in North America). This would seem to imply that the U. of C. is NOT the one educating Calgary's high-tech professionals. Who is? And why aren't we?
<quote>“OTTAWA, April 13, 2005 - Calgary will outpace all Canadian cities in economic growth by a wide margin in 2005, and western cities will boast four of the seven fastest growing economies this year, according to the Conference Board's Metropolitan Outlook - Spring 2005.” http://www.conferenceboard.ca/press/2005/Metro_Spring05_Natl.asp </quote> Calgary is strong, vibrant, prosperous, and growing. Calgary has a well-educated, high-tech workforce. Yet, the Department of Computer Science at the University of Calgary is hemorrhaging undergraduates at an unprecedented rate.
What's WRONG with this picture?
The following are a few suggestions for ways we can encourage and retain undergraduate enrollment. Note that the bulk of this document was written during the Spring and Summer of 2005. Subsequent additions are dated.
Program Level:
- [Aug. 17/05] Offer a wide variety of service courses, and not just at the 200 level. Many of our most talented and famous graduates got into the program through our service courses, and now we have eliminated all but cpsc 203.
- Address multimedia - gaming; entertainment; training technologies; simulations.
- It might be interesting to note that we hired professional marketers/advertisers/branders (“Zero Gravity”) to help us set our priorities, and they said games design was a key area and should be strongly promoted. They thought we should expand our program, and highlight this in our advertising and recruiting (brochures, web site, etc.). This was back in 2001.
- Be flexible about 1st year advancement.
- Offer distance courses, and entire degrees by distance.
- Embrace non-traditional course designs. Put time and effort (and resources) into course designs.
- Create smaller classes rather than lower faculty & TA teaching loads.
- Provide a comprehensive, justified program, and not just a set of courses.
- This includes
- a description of what kind of graduates we produce and explanations of how we measure our success in this task
- a description of where each and every course fits into the whole.
- How this course benefits the student
- Design courses and programs based on OUTCOMES, and performance measures rather than topics and final exams.
Administrative Level:
- Show our undergrads we actually care
- Faculty/undergrad contacts;
- social events;
- we must not only say we care we must be SEEN to behave accordingly - and that costs time
- Make students feel welcome. Listen to them. Trust them.
- Assign each undergrad to a faculty advisor, who will meet with them and help them plan their program. [Education graduates >540 M.T. students annually with ~75 faculty - each student in each course is individually assessed. It can be done if the department decides that undergrads are important.]
- Encourage faculty to devote time & effort to undergraduate courses.
- Reward faculty who spend time with undergraduates.
- Administer exit surveys (and PAY ATTENTION to what they say).
- Create open, consistent processes to allow students to bring concerns to the department. Ensure clear and mutually beneficial follow-up. Ensure 'whistle blower' protection.
- Provide comprehensive coordination of all sections of any course.
Facilities Level:
- Provide consistently available high bandwidth to students.
- Provide well-motivated; well-informed; accountable TAs and tutors.
- Provide and maintain technology that facilitates TEACHING: prioritize student experience, access, and learning, over security and plagiarism control.
Faculty/Teaching Level:
- Encourage and facilitate true collaboration (not merely group work).
- Move away from final exams to portfolio assessment.
- Move away from relative assessment and towards criterion based assessment.
- Incorporate current events/issues into teaching.
- Ensure that detailed course outlines exist for every course on the web (and keep old outlines available so students can compare). These include assignments, assessments, required resources, etc. This allows students to see what they are getting into before signing up for a course.
- Promote/facilitate/reward/provide teaching-related faculty professional development.
- Ensure 'value-added' to each and every course - beyond lectures, textbooks, and book-publisher's pre-packaged exercises. Be able to articulate what that value-added is.
- Be responsive to student needs, skills, interests.
- Become student-oriented rather than teacher-oriented in approach.
- Have top level researchers teaching at all levels of our program - not just 4th year. Encourage faculty to incorporate their own research interests into their teaching through the examples they choose, and the assignments they give.
- Assign our VERY BEST teachers to the freshman and sophomore years. A solid foundation is absolutely key to retaining students and preparing them for the more specialized courses.
- Give students choices about what work they do to demonstrate their mastery of the subject matter. Students that have some control over their own learner learn better, retain more, and are more engaged.
Are we failing our undergrads?
Are we showing them we care? Here's what we *are* doing:
In 2004 free (i.e. cost included in tuition) plain line-printing printing stopped being available. Students must now buy ALL printing. In 2005:
<html> <table bgcolor=“#bfd3ff” border=“0” cellpadding=“2” cellspacing=“2”>
<tbody><tr> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">Current charge for printing (per page)</font></div> </td> <td bgcolor="white">
<div align="center"> <font face="Verdana" size="-1">paper cost (retail)</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">toner cost (HP 3200 series, retail w/ cartridge rebate)</font></div> </td> <td bgcolor="white">
<div align="center"> <font face="Verdana" size="-1">pages/cartridge <br> (same HP, typical)</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">cost per page</font></div>
</td> </tr> <tr> <td bgcolor="white"> <div align="center"> <font face="Verdana"><font size="-1">$0.10</font></font></div> </td> <td bgcolor="white">
<div align="center"> <font face="Verdana" size="-1">$5.00/pack ($0.01/page)</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">$60.00</font></div> </td> <td bgcolor="white">
<div align="center"> <font face="Verdana"><font size="-1">2000</font></font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana"><font size="-1">$0.04</font></font></div> </td> </tr>
</tbody></table>
</html> In Sept. 2005, undergraduate student disk space is at ~100Mb. Although we have long been known for providing insufficient space for anything but the most basic student work, let's see how we have kept pace:
<html>
<table bgcolor="#bfd3ff" border="0" cellpadding="2" cellspacing="2"> <tbody><tr> <td bgcolor="white"> <div align="center"> </div> </td>
<td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">1996</font></div> </td> <td bgcolor="white"> <div align="center"> </div> </td>
<td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">2000</font></div> </td> <td bgcolor="white"> <div align="center"> </div> </td>
<td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">2004</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">2005</font></div> </td>
</tr> <tr> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">cost /Gb of disk</font></div> </td> <td bgcolor="white"> <div align="center">
<font face="Verdana" size="-1">$500.00</font></div> </td> <td bgcolor="white"> <div align="center"> </div> </td> <td bgcolor="white"> <div align="center">
<font face="Verdana" size="-1">$10.00</font></div> </td> <td bgcolor="white"> <div align="center"> </div> </td> <td bgcolor="white"> <div align="center">
<font face="Verdana" size="-1">$1.00</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">$0.50</font></div> </td> </tr> <tr>
<td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">space allotment for 1st year CS students</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">2 Mb (0.002 Gb)</font></div> </td>
<td bgcolor="white"> <div align="center"> </div> </td> <td bgcolor="white"> <div align="center"> </div> </td> <td bgcolor="white">
<div align="center"> </div> </td> <td bgcolor="white"> <div align="center"> <font color="#cc0000" face="Verdana" size="-1"><b>100 Mb*</b></font><font face="Verdana" size="-1"> (0.1 Gb)</font></div> </td>
<td bgcolor="white"> <div align="center"> <font color="#006600" face="Verdana" size="-1"><b>175 Mb**</b></font><font face="Verdana" size="-1"> (0.175 Gb)</font></div> </td> </tr> <tr> <td bgcolor="white">
<div align="center"> <font face="Verdana" size="-1">cost per student</font></div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">$1.00</font></div> </td> <td bgcolor="white">
<div align="center"> </div> </td> <td bgcolor="white"> <div align="center"> </div> </td> <td bgcolor="white"> <div align="center">
</div> </td> <td bgcolor="white"> <div align="center"> <font face="Verdana" size="-1">$0.10</font></div> </td> <td bgcolor="white"> <div align="center">
<font face="Verdana" size="-1">$0.09</font></div> </td> </tr> </tbody></table>
</html>
- Note that cost per student does not include backup space and other infrastructure. These things definitely add to the cost, but then, that is always true, and hardware has been decreasing in price quite steadily so the relative cost has remained pretty much the same. If anything, the cost of infrastructure will have decreased, thereby lowering the cost per student even further.
- Note also that costs of disk storage vary widely - the values used are typical or average, and therefor representative.
- The 1st year space allotment in 2004 was estimated - it was checked by actual 1st year students in Sept. 2005, and found to be 100 Mb.
- In November 2005, I was chastised by CPSC tech. support for publishing this table, and told that the allotment for students was in fact 175 Mb. That means that the space allotment for 1st year was increased sometime between the time my students verified the space in Sept., and the tech. staff 'corrected' me in November. Apparently, publishing this data has directly benefited the cpsc undergrads. For that, I am glad.
- For a lovely progression of the cost of storage, see: http://www.littletechshoppe.com/ns1625/winchest.html
- In 2000 we offered a Continuous Tutorial *and* a Tutor service for our undergrads. One was staffed largely by grad students (CT) and was designed to offer general help; the tutors were fellow undergrads who had gone through the same courses themselves, and were there to offer help with everything from debugging to concepts. In 2005, we only offer a single service, staffed by grads students, almost none of whom have ever taken the courses they are to help with. We do have a “Help Desk”, but students report that the people at the help desk are not friendly.
- In 1983, we offered the following service courses (for non-majors):
- cpsc 201 - general computer literacy - using word processor, presentation software, spreadsheets, etc.
- cpsc 255 - intro to programming for the social sciences
- cpsc 257 - intro to programming for the natural sciences
- cpsc 309 - programming in cobol & rpg
- In 1994, we offered the following service courses (for non-majors):
- cpsc 201 - general computer literacy - using word processor, presentation software, spreadsheets, etc.
- cpsc 255 - intro to programming for the social sciences
- cpsc 257 - intro to programming for the natural sciences
- cpsc 309 - programming in cobol & rpg
- In 2000, we offered the following service courses (for non-majors):
- cpsc 203 - general computer literacy - using word processor, presentation software, spreadsheets, etc.
- cpsc 215 - intro to programming for non-majors
- In 2004/2005 we offered the following service courses:
- cpsc 203 - general computer literacy - using word processor, presentation software, spreadsheets, etc.
- We have since been told that we *must* offer 215, so it may be offered in 2005/2006.