Software Engineering at Cal Poly?

<p>Does anyone have first-hand experience or know some things about the SE program? I am currently a Computer Engineering major. However, I am open to switching to SE because I know the field is expanding which means easier and, on average, higher-paying jobs. I think it would be interesting to be able to develop apps and small software. I am not entirely sure if I’d enjoy the amount of programming in it though.</p>

<p>CPE on the otherhand, mixes them both. I think CPE is a safer choice, but SE intrigues me. Can anyone give any input?</p>

<p>I am a graduating Senior in Computer Science, which is very close to Software Engineering. So, I have some first hand experience, and I know lots of honest-to-goodness software engineers.</p>

<p>The short answer is yes, you will probably pull off such a major change if you choose to do so early enough. The question is, do you want to? Which brings us to the long answer…</p>

<p>The long answer is… long.</p>

<p>CPE and SE share a lot of material over the first two years. In fact, the only differences that come to mind are the EE intro to circuit analysis classes (which CPE has, and SE doesn’t), and CPE/CSC 225 versus CPE/CSC 229/269 (or that other CPE specific class that they added and the number I forgot). </p>

<p>After those two years, the curriculum takes two vastly different directions. CPE goes into a bunch of embedded development stuff (and more EE stuff), culminating in a micro-controller project (CPE 329/369), networks (CSC/CPE 464) and the CPE capstone. Software engineering does a pair of group-based classes where teams build medium-sized pieces of software (CSC/CPE 308-309), then a year-long software engineering capstone, which is a team based project where a company specifies an application that they would like written, the teams write it and deploy it over the year. They have some shared required classes (CPE/CSC 357, and ummm… Maybe OS? Double check your flowcharts on that one) and I think both have a decant number of tech-electives scattered around (fun stuff ranging from Android development to databases to security to graphics/games, see your catalogue/PASS for details :slight_smile: ).</p>

<p>This means you can delay switching a little bit, but not too long. Be mindful of the 24 unit rule: Under current rules, you cannot change majors if your new major would leave you with 24 or more excess units when you graduate. Since CPE and SE have so much in common, it will be 2-3 years before you even have to worry about it. During that time, you will be taking lots and lots of programming classes (123, 101, 102, 103, 229/269 or equivalent, 357), so you will get plenty of exposure to programming. So, yes, you will have the skill needed to work on whatever small programs/apps you would want to do after that, although additional practice is always good for your skills. </p>

<p>I normally don’t advise people to wait on change of major plans. Here, I’m making a bit of an exception. Definitely keep thinking about it, and keep an eye on the flowcharts. But, since so much of the curriculum is shared, you have some time to decide. And, if anything, it’s to you advantage to wait a bit. A second change of major is guaranteed to be harder than the first. </p>

<p>Two other minor notes: 1) It’s not too hard to take CSC technical electives as a CPE. Since you have to take everything through 357, you already have the prerequisite classes for most technical elective series.
2) If you have the relevant skills, I don’t think most software development companies would turn you away for having a degree that says “Computer Engineering” instead of “Software Engineering”.</p>

<p>Andre24: Since you aren’t sure you’ll like all the programming in SE (or CSC), then CPE might be ok, especially if you like the EE classes. My son started in CPE but when he took some EE classes, he learned that was not for him and switched to CSC, which set him back a little. He has taken a lot of SE classes. But with programming experience, he’s able to pick up other things on his own. If you would like to develop mobile apps or learn whatever, rather than wait for some tech elective class, perhaps you can teach yourself this summer or in your spare time?</p>

<p>I recommend you compare the 3 flowcharts (CPE, CSC & SE). Then talk to someone in CPE and in CSC/SE. If you explain your situation, they may be able to clarify things for you.</p>

<p>Bjornredtail: Are you graduating in June? If so, a big congratulations and wish you the best with the next part of your journey.</p>