<p>My background - As a female growing up in the 70s, I was very interested in all things technological. As soon as I had access to a ‘computer’, I started self teaching myself BASIC. However in those days there wasn’t much emphasis on gettinng females into STEM careers and although there were plenty of females in CSCI and Engineering, frankly the though never even occurred to me that I could turn my interest in technology into a career. I wound up wiith an A&S major, but late in my college career I came to the realization that I really should be in a technology field and began taking CSCI courses my senior year (at Indiana U). After I graduate, I immediately began grad school in CSCI. However, I had many prereqs to make up and after just 1 year in the program, I relocated. I transferred to a Purdue campus at the time (as it was in the days before online courses) and absolutely no courses transferred as the programs were so different. I restarted my degree program (with more required prereqs), but then found out I was expecting my son. I opted to put my degree on hold…fast forward about 13 years and I opted to go back to grad school, but felt an MBA was the better route at that time.</p>
<p>So, being fairly familliar with the CSCI “secret handshake”, I’ll elaborate a little. There are CSCI degrees that are much more theoretical in nature and there are CSCI programs that are much more practical. Neither is better or worse and neither is really stronger or weaker, it really just depends on your intended career path. If you want to go on to get a PhD in CSCI and be involved in research you are going to want to head toward a theory based path. If you’re planning on heading into the business world then either can be appropriate, once again depending on the role your seeking. If you want to be a developer for the Microsoft’s and Google’s of the world, they’re going to be looking for students with a strong foundation in the theoretical, if you are planning on doing some custom development for a company that writes its own apps in-house, then either degree will qualify you, if you’re interested in more of a business analyst position (a person who works between business and IT by understanding the wants and needs of those at a business and being able to translate them into IT requirements), then you’ll want to aim for the more practical CSCI degree or an MIS degree.</p>
<p>Looking at the Bama courses from post #10 ad the NCSU courses from post #11 it’s very obvious that Bama is leaning toward the practical. The FIRST indication is the variety of 100 level programming courses offered at NCSU - (Fortran, C++, and Java are all offered as 100 level courses). Most programming languages, such as C++ require SEVERAL years to become highly adept with…it’s like learning a foreign language - 1 semester of French isn’t going to teach you much. You need to be exposed to the basics early, then you need to continue to build on it and reinforce it to become very skilled. At Bama those courses aren’t offered until the 300 level (325 C++, 350 Java) which for most students may be junior year before they get their first exposure. </p>
<p>As a sophomore NCSU offers assembly language programming. Assembly is 1 step removed from actually programming in binary. Learning binary is generally a requirement of assembly courses and they instruct in concepts such as how to write directly to the memory registers of a machine. If you ever want to program an operating system for a machine - it WILL be based in Assembly. Once again that’s a 200 level course. At Bama there’s no mention of Assembly at all. It may be included in one of the higher level courses or my be embeded in some of the 300 level courses, but not having a course…or multiple courses in Assembly will put anyone who dreams of going off to program for Microsoft at a HUGE disadvantage.</p>
<p>Most computer languages are fairly similar in nature and once you learn Java, it’s fairly easy to pick up visual basic or C++ - it’s like learning Spanish and then trying to pick up French or Italian. But learning Assembly is completely different - it’s like learning French and then trying to learn Japanese. </p>
<p>Bama on the other hand has a bunch more practical courses - they have a 200 level course (285) on the use of spreadsheets - now that’s going to include ‘expert’ level skills and will include writing macros in VB (visual basic), but you frankly, just won’t see a course like this at a school that has a theory based program. Also courses like 302 - database systems and 457 database management are frankly courses that someone who is planning on being a developer generally won’t need. If you’re more interested in a field like consulting, then having skills in Oracle and SAP are in high demand and these are perfect courses. Course 417 - Requirements Engineering - is the perfect course for a rising business analyst, but once again most people who want to be programmers won’t enjoy this course. Once they’re in the working world, they’ll expect the BA to bring them the requirements and they’ll just focus on the development. 340/345 Legal and Ethical issues - once again, these seem to be more like business courses - making this an “MIS-ish” degree rather than courses focusing on the theory and the development.</p>
<p>Neither route is better or worse, but it is something the CSCI students really need to consider because the program they choose may not eliminate any opportunities for them, but may make it easier or more difficult to pursue some opportunities. </p>
<p>Just as someone going through the NCSU program would have trouble interviewing for a consulting position and not being able to speak to things such as requirement engineering, someone in the Bama program will have a long road ahead if they want to be on the development team for Windows 10? 11? what version is going to be out by the time the graduate? :)</p>