On 03/28/2010 05:45 PM, Michael Evan Karpeles wrote:
> Howdy hackers,
> The following is a summary of the major items discussed during the CSSA
> curriculum meeting. Please reply to these suggestions by changing the
> items you support to [+] and the items you don't support to [-]:
> If there's enough participation and people agree with the basic format,
> I will send this email out to the entire CS undergrad listserv.
[+] I would be interested in attending a CS faculty curriculum meeting.
[+] We should offer two concentrations for CS degrees:
1. Computer Science: Pure (theory)
2. Computer Science: Software Engineering (hybrid)
Having talked to Dr. Snapp about this, it seems getting someone with the
experience and credentials to teach software engineering courses is very hard
(startups or big companies offer more money, so no one wants to teach), but I
still think this is the most important thing for the department to do.
[-] More 200 level classes:
Other than classes that would be needed for software engineering.
[-] More interdisciplinary topics:
My feeling is the department isn't big enough for any one class about computers
*and* another topic to attract enough people. The college may want to look at
something like environmental engineering and cs, but there probably aren't
enough EENG people with CS prereqs to draw from that major, and probably aren't
enough CS students interested in EENG to make it worth it. If it turns out there
ARE enough people, then I think it would work out well for the university, though.
[-] GNU Linux and Unix!
> Want to get your feet wet with GNU Linux? Learn about the Linux kernel
> and GNU Linux based OS's. What are the differences? What is Linux good
> for? Learn how to use the command line, understand and change file
> permissions, compare file systems, and explore GNU services and utilities.
Not enough material for a class, outside a system administration class which
would be an IT class and outside the area of either CS or SE.
> [ ] Low level programming (CS cross-listed as EE)
> Low level and hardware programming using a language like C.
> Keywords: embedded devices, micro-controllers, device drivers, basics of
I'm ambivalent about this.
> [ ] Advanced Web programming:
> and (5) scripting languages.
Don't we have this?
[+] Year 1 Seminar - 1 credit:
> What is CS v. SE v. CE v. EE, types of CS problems, jobs, hot topics
This would be good, I think. Far too many people come in without knowing what
they really want to do with it, and setting out the directions as soon as
possible should help a lot.
[-] Year 2 Seminar - 1 credit:
> Discussion of interdisciplinary applications: Quantum computing,
> bioinformatics, ecology, (guidance for choosing 200 level classes)
[-] Year 3 Seminar - 1 credit:
> Group software projects and language exploration; discussions and
> presentations. Interfaces, languages, APIs, CASE tools, Software Licenses
[-] Year 4 Seminar - 1 credit:
> Hot jobs, resume building, workshops, guest speakers from local companies
> Please provide feedback or additional notes here, if you care to.
By far the most important--and hardest--change for the department to make is to
add a software engineering field. It's what the majority of students are looking
for, and there's no way around that. In addition, I don't think a strong CS
department is sustainable without a strong SE department.
Without adding SE, I think enrollment will stay low, students will continue to
receive an education they're not looking for, and in general people won't be
very happy. If SE is added, I see students receiving the education they want,
more integration with other disciplines (which I know the university loves),
higher enrollment, and also the strengthening of the *CS* student body as well.
Next most important, a year 1 seminar would help people *understand* what
they're looking for, whether or not it's provided. I hadn't seen this idea
proposed before, but it's a good one.