Junior & Senior CS Curriculum Plan for UIUC - Realistic?

<p>“UIUC offers a software engineering certificate in addition to the BS in Computer Science for undergrads, and that’s what I’m planning to fulfill with this plan (SE I & II are required.) Should I not go for that?”</p>

<p>If that’s what you’re interested in, I would definitely go for that. You’ll learn things that will be useful on the job that aren’t often covered in a BS CS degree. Doing an actual project will be very beneficial.</p>

<p>I had just wanted to point out that the programming and more “technical” courses you take are what’s more important when you’re starting out. Once you move beyond junior software engineer and higher, software engineering skills become increasingly important.</p>

<p>So you should be fine. I’m just alarmed by the increasing number of BS Software Engineering degrees which have a weaker curriculum in the more technical CS courses. About as useful as a BS in business administration, which is generally pretty useless.</p>

<p>Anom,</p>

<p>Do you mean technical as opposed to theoretical/mathy?
Are you saying that this is a weak technical curriculum?
If so, any suggestions for a more technically-oriented program?</p>

<p>Thank you for your help :)</p>

<p>As a software engineer for 20+ years…</p>

<p>YOU DO NOT NEED TO MAJOR IN SOFTWARE ENGINEERING (B.S. or M.S) to be a software engineer. Software engineering is a METHODOLOGY that will be learned on the job through your various employers and clients.</p>

<p>All you need is ONE software engineering course (an overall broad one) at the undergrad level and that is it. </p>

<p>A degree in CS (or Math with the CS core courses) with ONE overall broad software engineering course is all one needs. Taking full semester courses for each of the phases of software engineering (requirements, design, development, testing, etc) is really a waste of credits. Take those credits in the CS electives that have been mentioned many times (usually by UCAlumnus) like database systems, networks, computer security/information assurance, computer graphics, parallel processing algorithms, data mining, etc.</p>

<p>Yessir.</p>

<p>Well, I think I’ve got everything I need to finish working this out. GT, I will follow your advice in my planning.</p>

<p>Thank you all!</p>

<p>As far as the additional SE courses (427-428/429) go, you may want to look for undergraduate academic research (499) and projects in “typical commercial and industrial problems” (492-493/494) for senior year. Your choice between the three options could very well depend on how interesting the research and projects you come up with are, and how much you would learn from them. (Also, consider whether you want to go to graduate school or industry after graduation.)</p>

<p>“database systems, networks, computer security/information assurance, computer graphics, parallel processing algorithms, data mining”</p>

<p>While these courses are useful (and usually required) at an undergrad level, taking many of them at the MS level is often a complete waste of time. Unless you’re a network engineer, you’re not going to need to know anymore than what you learned from your undergrad networking course. Same thing with computer graphics, infosec, data mining, etc. You really won’t use them 99% of the time, unless your job is specifically focused on that subject matter.</p>

<p>However, no matter what you do, you will have to use software engineering principles and methods in your work. And since many companies either lack a formal approach to building software or are simply misguided in their practices, being skilled in this field is very useful. You may end up in places that practice SE competently and learn a lot, but there is also a significant chance you will be following inept SE methods at certain employers and continue to take along these flawed practices. And it can be real ugly when it’s bad.</p>

<p>

</p>

<p>Ummm, no argument here from me on that. </p>

<p>I took a database course for my M.S. (only for an easy ‘A’) and had to correct the professor many times (most of my years were spent as a data architect/DBA). I wanted that M.S. for “resume decoration”, so I took a course that I knew would not benefit me.</p>