When looking at Computer Science Curriculums what should I look for?

<p>You should look for the following curriculum in a CS program. If the program does not resemble the following, then take the necessary extra courses to fill in the gaps.</p>

<p>Math Requirements

  • Calculus I
  • Calculus II
  • Linear Algebra
  • Probability & Statistics for Scientists/Engineers (Calculus-based)</p>

<p>Computer Science Requirements

  • Introductory Programming I (C++ or Java, depending on school)
  • Introductory Programming II (C++ or Java, depending on school)
  • Discrete Mathematical Structures (may be offered also by Math department)
  • Computer Organization (may or may not include Assembly Language)
  • Algorithms (may be part of combined Algorithms & Data Structures course)
  • Data Structures (may be part of combined Algorithms & Data Structures course)
  • Organization of Programming Languages (surveys different languages)
  • Operating Systems</p>

<p>Computer Science Electives

  • Computer Networks (the reason to take Probability & Statistics)
  • Database Systems
  • Computer Graphics (where Linear Algebra comes into play)
  • Cryptology (may need additional math courses to take this course)
  • Combinatorics (may need additional math courses to take this course)
  • Graph Theory (may need additional math courses to take this course)
  • Numerical Analysis (may need additional math courses to take this course)
  • Information Assurance
  • Quantum Computing (may need additional Physics courses to take this course)
  • Parallel Computing (may need additional math courses to take this course)
  • Computer Architecture (may be required at some schools)
  • Software Engineering</p>

<p>The KEY is that you get that 4-course core of Algorithms, Data Structures, Organization of Programming Languages and Operating Systems. It’s not a complete CS program without those 4 courses and just about every graduate CS program will want you to have these courses coming in or they will make you take the graduate versions of them anyway .</p>

<p>As for the CS electives, I personally would not leave that campus without Database and Network courses…as most software jobs are associated to the manipulation (programming), distribution (networks) and storage/retrieval of data (databases) than all run over an operating system.</p>