Less theory, relatively more coding/application. I know theory’s key for CS, but just wondering. Thanks.
I know my roommate did plenty of coding as a CS major. But an actual science major is heavily focused on theory.
Honestly, the first thing that comes to mind is a program that focuses on Computer Programming rather than Computer Science.
The equivalent of Engineering Technology vs. Engineering…
I know, but do any schools stick out with the coding aspect? I know some schools (like Rutgers) are complete theory.
Cal Poly SLO has the reputation of stressing practical over theory when it comes to CS. I’ve never really looked that closely at their program to see if that was the case. Or you could just look for a school that allows more programming classes rather than theoretical classes as electives.
CS major BA/BS degree programs will include some theory along with extensive practice in doing programming assignments and projects to implement the ideas taught in class.
Rutgers CS requires two discrete math courses and one algorithms course; three other required CS courses are not theory courses and five to seven upper level elective CS courses do not have to be theory ones (although theory will be taught as needed in non-theory courses in any CS department).
I don’t personally ascribe to @RichInPitt 's assessment fully here. I think some CS programs lean to the theory/science side far more than most would find useful. While valuable and often pushing the practical side ahead, both are still computer science.
What does exist in some places is Software Engineering. I would note that some theory is quite useful, even in software engineering though. For that reason, I would still recommend that most people, even if they lean to software engineering, should take CS. SE would be much closer to the view in post #1. Practical CS programs can hit a middle between the two.
I very much lean in that direction myself, but I think people often discount its validity as CS. I am very much tangentially involved with programming language research, which I think very much highlights that practical and theory can interact in interesting ways.
In my search, some good practical programs I have found. Note that being practical does not mean being absent of theory, only that the program is strong in the practical aspects. Many of these also have strong co-op programs that play hand in hand. Some schools not marked may also have co-op programs but may not be as commonly used as the ones specifically marked:
Northeastern (co-op)
Waterloo CS (co-op)
WPI (no co-op but project-based with high internship emphasis)
RIT (co-op)
Harvey Mudd
Rutgers
Stevens Institute of Technology (co-op)
Georgia Tech (co-op)
whoa… People have said that RUNB is a very theoretical program. Guess they’re wrong
@“1lalalalala!lalalalalala!” What is the definition of theoretical that those people are using?
Less programming and more math and logic.
Two or three theory courses covering discrete math, algorithms, and complexity theory are the typical theory courses included in CS majors. Do you consider that “too much”?
Obviously, you will need to understand logic when writing computer programs.
@PengsPhils what about a computing major BS program like Information Science at Univ. of Maryland? Would you consider Information Science (or Information Technology) more practical and less theoretical? My impression is that Information Science is less math heavy.
https://ischool.umd.edu/
BTW, I’m really skeptical of Informatics/Info Sci programs in iSchools/Comm schools. Some schools (like FSU) only require 45ish major credits, and they have starting salaries similar to Comm majors (>60k; not a lot)
IS/IT is quite different from CS and even SE. While it’s ture is more practical, most software engineering roles will probably not be looking for IS/IT degrees. These types of roles tend to lead to roles in company infrastructure, support, and sometimes quality assurance. It’s more of a tangential career track. The salary level quoted by @“1lalalalala!lalalalalala!” seems in line with my impression of them.
IS/IT degrees vary a lot in content and quality by school, but if you’re looking to be a software engineer it is probably not the path you want. At the end of the day, you need a minimum level of math/theory to be successful in CS (as mentioned, complexity theory, discrete math, logic, and usually some basic statistics).
You are probably looking for an Information Systems or Information Technology degree?
There are certainly theory heavy schools but you can’t avoid theory as a CS major. In fact, they commonly test algorithms in your software engineering interviews. It certainly isn’t just about coding.