This document describes a proposal for a new software engineering track in our undergraduate program. Students who complete this track will still receive the same BS in CS as our current students, although we may wish to consider creating a BS in SE at some point in time.
The following lists some of the rationale for why we should even consider this:
Thus our proposal: create a two-track undergraduate degree. One is a more exclusive computer science degree for those top students who have the skills and possibly the desire to go onto graduate school. We propose that this track be called “Honors” so the actual degree will say something different from the other track. (Naturally this will require investigating the Honors degree program and what it is takes to be called Honors.) The second track we will call “software engineering.” The goal is to produce students who are highly skilled and who will be able to have strong positive effects on their industrial employers.
Admittance – the top 15% of the students after taking one year of sophomore classes are admitted to the Honors track. Possible mechanisms for finding the top 15% could be:
Question – what if the top students don’t want into the Honors track?
Classes – these students would take a course schedule that is essentially the same as what we have now. However, students in the Honors section will be allowed to take 5000 and 6000 level classes. 5000 and 6000 level classes will be smaller and should be able to advance at a much greater rate than we are able to do now with the broad range of student abilities.
Research – students in the honors track will get involved in research in their junior year. They will hook up with a research group and be able to do independent study projects to enhance their skills.
BS/MS – it might be worth looking into creating a BS/MS degree where the Honors students stay one more year past the BS to get a combined BS/MS degree. With the fifth year being one devoted to research.
Admittance – this would stay like we have it now, admission following the freshman year. We would do twice a year admissions and begin to scale up in the number of students that we accept, eventually getting the entry GPA down to 3.0.
Classes – the overall view of the classes would be as follows:
Year 1 – pretty much the same as we have it now (1010, 2010, 2020, 2100)
Year 2 – this would stay as we have it now except add a second class to follow on to CS3500 (call it cs3505) that would teach Analysis and Design (plus 3500, 3510, 3100 and 3810)
Year 3/Year 4– the same required classes as we have now, plus the following new ones:
· A year-long, required class taught by the College of Business called “Business for Scientists and Engineers” – the goal of the class would be to give students exposure to all of the basics of business (accounting, marketing, finance, management, economics, etc.) with the goal that they should be able to operate more effectively in a business environment (and be able to read those company financial reports so they know when to sell their stock options J)
· A two-semester course in some domain outside of computer science – software engineers need to have experience in other domains to be more effective at doing their jobs – the classes may come from science, engineering, business, medicine, etc.
· From the restricted elective set, they would have to take, 3520, 4460, 4470, and 4480 (4000 level versions of OS, compilers, and networking) – note this is probably too huge of a burden, we might need to let them into the 5xxx versions – needs more thought
· A one or two semester senior project course
· Possibly a course from sociology or psychology on how humans use computers
· 4000-level electives in various areas, such as: web programming, human computer interaction, computer graphics, etc. These courses will be well attended and should be directed to someone who will not be a grad student in the area, just need to know things so they can do their software development job better
Course Summary: The following lists the classes that are included in this curriculum.
Benefits to our current faculty: faculty teaching 5000 and above classes will be smaller and more intense than they are now.
Negative benefit to our current faculty: it is likely that faculty would have to teach one 4000 level class every year or one of the larger 3000 level classes every other year.
Survey of our current faculty: If you were required to teach one 4000 every year or one 3000 level class every other year, what class would you like to teach. The 3000 level classes are already set (what we have now), but the 4000 classes could be created fresh.
Example Computer Science Degree Program
|
|
Fall |
Spring |
||
|
|
|
|
|
|
|
Freshman |
Math 1210 |
(4) |
Math 1220 |
(4) |
|
|
CS 1010 |
(0.5) |
Physics 2210 |
(4) |
|
|
CS 2010 |
(4) |
CS 2020 |
(4) |
|
|
Writing |
(3) |
Gen Ed |
(3) |
|
|
Gen Ed |
(3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sophomore |
CS 2100 |
(2) |
CS 3100 |
(3) |
|
|
CS 3500 |
(4) |
CS 3505 |
(3) |
|
|
CS 3810 |
(4) |
CS 3510 |
(3) |
|
|
Physics 2220 |
(4) |
Writing 3400 |
(3) |
|
|
|
|
Gen Ed |
(3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Junior |
CS 4460 |
(3) |
CS 4470 |
(3) |
|
|
CS 4xxx |
(3) |
CS 4480 |
(3) |
|
|
Math elective |
(4) |
CS 4xxx |
(3) |
|
|
Gen Ed |
(3) |
Domain 1 |
(4) |
|
|
Business - 1 |
(3) |
Business - 2 |
(3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Senior |
CS 4xxx |
(3) |
CS capstone |
(3) |
|
|
CS 4xxx |
(3) |
CS 4xxx |
(3) |
|
|
Gen Ed |
(3) |
Gen Ed |
(3) |
|
|
Domain 2 |
(4) |
Gen Ed |
(3) |
|
|
Free elective |
(3) |
Free elective |
(3) |
|
|
|
|
|
|
For a reference, here is the current CS undergraduate schedule:
Example Computer Science Degree Program
|
|
Fall |
Spring |
||
|
|
|
|
|
|
|
Freshman |
Math 1210 |
(4) |
Math 1220 |
(4) |
|
|
CS 1010 |
(0.5) |
Physics 2210 |
(4) |
|
|
CS 2010 |
(4) |
CS 2020 |
(4) |
|
|
Writing |
(3) |
Gen Ed |
(3) |
|
|
Gen Ed |
(3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sophomore |
CS 2100 |
(2) |
CS 3100 |
(3) |
|
|
CS 3500 |
(4) |
CS 3510 |
(3) |
|
|
CS 3810 |
(4) |
Math elective |
(4) |
|
|
Physics 2220 |
(4) |
Writing 3400 |
(3) |
|
|
|
|
Gen Ed |
(3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Junior |
CS restricted elective |
(3) |
CS restricted elective |
(3) |
|
|
CS restricted elective |
(3) |
CS restricted elective |
(3) |
|
|
Math elective |
(4) |
CS elective |
(3) |
|
|
Gen Ed |
(3) |
Science elective |
(4) |
|
|
Free elective |
(3) |
Free elective |
(3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
Senior |
CS elective |
(3) |
CS capstone |
(3) |
|
|
CS elective |
(3) |
CS elective |
(3) |
|
|
Gen Ed |
(3) |
Gen Ed |
(3) |
|
|
Gen Ed |
(3) |
Free elective |
(3) |
|
|
Free elective |
(4) |
Free elective |
(3) |
|
|
|
|
|
|