To Drs. Martinez, Egbert, and Clement:

The current introductory courses, 100 and 142, offered by the Computer
Science department do not offer non-CS majors a reasonable course in which
to learn basic computer programming skills.  Since these skills are of
benefit to students in a range of fields outside computer science, I request
the creation of a 100-level computer science class, focused on programming,
but less rigorous than the current CS 142.  Additionally, I suggest creation
of a CS minor using existing classes in the CS department for students who
wish to gain a more thorough understanding of CS, but who wish to major in
other fields.


I am a senior graduating with a BS in biochemistry, and a primarily
self-taught programmer with a strong interest in computational chemistry.
During an internship with Pfizer this summer, for which I developed some
software for their virtual drug discovery process, I noticed that all of my
co-workers in the computational chemistry department had PhD's in chemistry,
but suffered from a lack of formal computer science training.  Though they
were proficient programmers, but their code was occasionally clumsy and
inefficient (and often inscrutible) -- definite drawbacks in a field where
speed of calculation is critical.  I decided to get some formal CS training
while I had the chance, so this semester I am taking CS 240 and auditing CS
235.  I will probably audit CS 236 next semester.

Because of my interest in and proficiency with computers, many of my friends
have shared with me their use of computers in their own field of study, and
asked for help improving their own programming skills.  For example, my
roommate is an economics major who deals heavily with statistics.  He has
benefited from knowing how to write his own data-processing routines for the
statistical programs he uses.  One of my peers in chemistry had designed a
clumsy Excel spreadsheet to simulate behavior of simple atomic systems; I
helped him pick up enough Python to re-write the program, which then ran
about 100 times faster.  A girl in my ward last year wrote a program to
simulate the growth of bacterial colonies under natural selective pressures.
A former roommate, a psychology major, wanted to write a small program to
give a computer-based questionnaire and record the results in a database.
Given the pervasive use of computers in other academic disciplines, I think
many students recognize that they benefit from having basic computer
programming skills.

When someone asks for my help with a computer program, many times they also
ask what CS class they could take to refine their basic programming skills,
or even learn them in the first place.  Unfortunately, I don't think that an
appropriate class exists within the current BYU Computer Science curriculum.
CS 100 teaches basic computer applications, but programming is only a small
part of the course.  CS 142, on the other hand, is dedicated to programming.
But it is an extremely rigorous course "designed for students who intend to
major in Computer Science or in areas with a strong emphasis on computer
programming" (from the 142 syllabus).  I certainly agree that CS majors
should take a demanding introductory course -- my introductory chemistry
classes were demanding, and I don't think any department should expect any
less of its own students.

However, the gap between CS 100 and CS 142 is wide and empty: there is no
introductory programming class appropriate for non-majors.  Granted, it is
possible for a non-major to take 142 and succeed.  Some majors, such as
information technology and bioinformatics, even require it.  But the class
has (and deserves) a reputation for being a lot of work, and thus most
non-majors are intimidated and unwilling to dedicate so much effort to one
class that is not directly related to their field of study, despite the fact
that they would benefit from the skills learned in the class.

Even for those of us that are willing to put forth the effort to take the
first few CS classes, we do so for no academic recognition other than a few
extra classes on our transcript.  I am currently auditing 235 and will
probably audit 236 because I recognize that even though the class is of
great benefit to me educationally, it is of no benefit to me academically.
I, unfortunately, must play the credits-and-grades game like everyone else,
so auditing these classes has been the best way for me to prevent school
from interfering with my education.  In cases such as mine, a CS minor would
have been a very attractive incentive.  

I understand that creating a new course is a lot of work administratively,
and a course designed for non-majors would put an especially large burden on
the department because it would increase the number of distinct students
enrolled in CS classes.  However, the BYU student community as a whole would
benefit greatly from such a class.

If you have any questions or other feedback, please feel free to contact me.
Email is always the most reliable method, but I would be happy to arrange a
phone conversation or meet with you in person if you like.  Thank you for
considering my suggestions.

-- 
Soren Harward
[EMAIL PROTECTED]
801-374-1905 (home)

____________________
BYU Unix Users Group 
http://uug.byu.edu/ 
___________________________________________________________________
List Info: http://uug.byu.edu/cgi-bin/mailman/listinfo/uug-list

Reply via email to