PROSPECTIVE STUDENTS

WHAT DEGREES DOES THE DEPARTMENT OF COMPUTER SCIENCE OFFER?

Our undergraduate degree programs include a bachelor’s degree with a choice of 8 concentrations: general computer science, software engineering, networks and security, artificial intelligence/machine learning, human centered computing, computing systems, computer science education, and computing for creatives. Most concentrations are also available online.

We also participate in the Data Science bachelor’s degree program offered by the College of Natural Sciences.

Our graduate degree programs include a traditional Master of Science (coursework plus research), a Master of Computer Science (coursework only), and a Doctor of Philosophy (Ph.D.). We also offer our Master of Computer Science degree program online through CSU Online.

For a complete list of all our degrees, please visit our Degrees webpage.

WHAT IS COMPUTER SCIENCE?

Computer Science is the study of step-by-step computational methods for solving problems by encoding, storing, tracking, and transforming information. It involves the creation of fundamental software (sets of computer instructions) for solving practical and theoretical problems and performing tasks that lend themselves to computational solutions. It extends to the construction of software that learns and adapts to circumstances in the course of solving problems and also ways to enable computers to learn and adapt.

Computer Science is different from:

  • Computer Engineering: The study of computer hardware design and the physical circuitry that make up computers. This field is related to electrical engineering and traditionally emphasizes a hardware up understanding of computers.
  • Computer Information Systems: The study of the use of computers and computer software to solve business problems. It concerns learning how to set up systems to solve specific business problems, for example, tracking inventories, printing payroll checks, analyzing sales. CIS majors study some programming, but generally without the technical depth required to produce large and complex software.
  • Information Technology (IT): The study of information technology in order to be able to maintain, upgrade, and troubleshoot computer systems used within an organization. IT is focused on solving systems problems and setting up computer technology for use.
IS COMPUTER SCIENCE THE SAME AS PROGRAMMING?

Many students are attracted to the Computer Science major because they either like using computers or have enjoyed some prior programming experiences. Computer programming is a broad term covering a range of software development activities, ranging from writing small programs in order to perform simple tasks, to the creation of large user applications and systems software consisting of millions of lines of complex code.

Programming and programming languages are tools of computer science, but they are not its primary subject matter. There is a reason the major is called Computer Science and not “Computer Programming” since the emphasis is on the best methods for tackling problems whose solutions are not immediately apparent. Complex and abstract problem solving plays a key role in the application of computer technology to practical problems. Before you can effectively build complex and maintainable applications, you must have fundamental knowledge of programming tools, mathematical concepts, and software development methodology. Computer Science goes far beyond merely programming. A bachelor’s degree in computer science qualifies students for jobs as “software engineers,” the most common job title for graduates with computer science degrees. A bachelor’s degree in computer science also teaches students critical time management, problem solving, software engineering, networking, and security skills.

IS COMPUTER SCIENCE RIGHT FOR ME?

Computer Science is a vital, fun field of study, but it is not for everyone. Because it is such a broad field, your success can depend a great deal on selecting the program of study that best fits your interests. Please read the first two FAQs at the top of the page. If you’re still unsure if Computer Science is right for you, here are two analogies that might help you decide:

  • Computer Game Analogy: 1) if you simply like playing computer games, CS is probably not a good fit; 2) if you want to program computers to play games, CS may or may not be a good fit; 3) if you are interested in the theory and practice of making games run quickly, or the precise mathematical techniques for modeling physical objects and processes on the screen, CS is likely to be an excellent fit.
  • Car and Driver Analogy: Most people drive cars and even enjoy driving them, but this doesn’t mean they have the ability or talent to build or design automobile engines; likewise people who enjoy using computers may or may not be well-suited to the study of computer science. However, if you wonder how software works and why the designers made the choices that they did, and how to improve upon those choices, computer science is likely to be a good fit.
WHAT COURSES SHOULD I TAKE IN HIGH SCHOOL, OR BEFORE I TRANSFER, TO PREPARE ME FOR COMPUTER SCIENCE?

Take all the science, mathematics, and English you can. Strong mathematics skills are crucial for Computer Science majors, particularly during the first two years. New majors tend to struggle the most with weaknesses related to math. Clear writing is important to computer science since most software is developed by groups of software engineers. Computer scientists devote considerable effort to writing in the form of specification documents, progress reports, user documents, and internal communications arguing the pros and cons of alternative designs and approaches.

Computer programming courses are also useful. In particular, AP Computer Science prepares you for the CS major, and you can also earn 4 credits toward your degree. Transfer students should have taken at least one Calculus course and one computer programming course (preferably Java, if available, or C++). Prospective students planning to enter our program may also want to familiarize themselves with the Linux operating system, which is the primary OS used by most computer science programs.

WHAT COMPUTER SCIENCE CLASSES FROM COLORADO COMMUNITY COLLEGES ARE HELPFUL AT CSU?

Colorado Community Colleges offer computer science curriculum that will transfer to CSU as direct equivalents for required computer science courses at CSU. (Please see the list of 6 below). Other computer science courses offered at Colorado Community Colleges will transfer to CSU but not as direct equivalents but will provide elective credit.

CSC 1019 -Intro to Programming (IN PYTHON only will be considered equivalent to CSU course)

CSC 1060 -Computer Science I

CSC 1061 -Computer Science II

CSC 2025 -Computer Architecture/Assembly Language

CSC 2034 -C++ Programming

CSC 2065 -Discrete Structures

Additionally, math courses are good options to take at Colorado Community Colleges. College Algebra (MATH 1340), College Trigonometry (MATH 1420) and Precalculus (MATH 1440) can transfer to satisfy precalculus prerequisites at CSU, some prerequisites require a B or better grade. Calculus I (MATH2410) will transfer as the necessary calculus course needed for CS Calculus II (MATH 2420) can count towards some CS Concentrations but may be elective credit in some Concentrations.

DO I NEED TO BE "CALCULUS READY" IN MY FIRST YEAR FOR COMPUTER SCIENCE

Computer Science does not require students to be “calculus ready” by their first semester. In fact, most students come to CSU needing to complete precalculus courses in their first year and may not take calculus until their third semester.

It is important to complete the Math Placement Tool (MPT) before Orientation so that you can register for whichever math course is right for you for your first semester.

WHAT SKILLS OR TALENTS WILL HELP ME SUCCEED IN COMPUTER SCIENCE?

Useful skills include: strong problem solving skills, logical thinking, community skills (teamwork, group participation), mathematical skills, writing skills, and a willingness to concentrate on precise details for an extended period of time.

WHAT CAREERS AND JOBS ARE AVAILABLE TO COMPUTER SCIENCE GRADUATES?

Graduates with degrees in Computer Science are in high demand and work in a wide variety of interesting areas. In addition, new types of jobs and specialties are frequently created to keep up with changing technologies. Here are a few examples of computer science career areas:

  • Software Engineering: Software engineers develop and maintain large-scale software, including commercial user software (e.g., databases, word processors, spreadsheets, etc.) and system software (e.g., operating systems, device drivers, language compilers, system utilities, etc.).
  • Networks and Internet Technologies: This area involves developing networking software and and software for use across the Internet, including security software, internet user applications, and search technologies.
  • Embedded Systems Programming: Graduates working in this field program electronic devices (e.g., cell phones, appliances, etc.) to perform specific functions. This skill is used in the production of scientific and test instruments, automobiles, computers, peripherals, and many types of gadgets.
  • Graphics: This area involves programming computers to display information graphically. Graphics programmers work on projects such as advertising, scientific visualization applications, human computer interfaces, and games.
  • Systems Analysis (Business Computing): Systems analysts produce and maintain software systems used in business operations, including accounting, human resources, inventory management, scheduling, reporting, and record keeping.
  • Scientific Programming: This mathematically intensive area involves programming scientific and engineering problems for teams of scientists and engineers.
  • Technical Writing: People with good writing skills and high-level computer skills produce a wide variety of technical guides, tutorials, manuals, proposals, white papers, and release notes for new and updated products and services.
  • Systems Administration: Systems administrators install and maintain hardware and software on computer systems. They also maintain networks, security, and user accounts.
  • Technical Support: This area involves performing sofware support, answering user questions, and addressing and resolving problems. Technical support specialists usually work for a large technology manufacturer or software company.
  • Technical Consulting: consultants use software engineering principles to create custom software intended for specialized purposes usually in a narrow domains.

We will ensure you learn the skills you need to be competitive and successful in the field when you graduate. The Department’s close connections to the computer industry help us keep abreast of current industry practices. About 70% of our students have job offers upon graduation. Our graduates are highly sought after by major high-tech, computer software, and aerospace companies, like Microsoft, IBM, Hewlett-Packard, Intel, Motorola, Raytheon, and Lockheed-Martin. Employment opportunities are also rapidly growing in small and medium sized companies.

WHAT IS THE AVERAGE STARTING SALARY FOR PEOPLE WITH A BSCS?

In a recent survey, the average starting salary of our students was much greater than other majors in our college (approximately $79,000 per year). This starting salary even edged-out Computer Engineering average starting salaries, which reflects a growing emphasis on software. Starting salaries can vary depending on a variety of factors, such as company size, location, and the employee’s qualifications.

WHAT MINORS GO WELL WITH A COMPUTER SCIENCE DEGREE?

Many students are able to receive a mathematical minor without taking on additional classes through careful planning, further helping them understand on a deeper level the role math plays in the computer science field.

Any minor related to science or technology can open additional careers or specializations for computer scientists.

Minors are available for almost every department and subject taught at Colorado State University.

WHAT CAN I DO WITH A MINOR IN COMPUTER SCIENCE?

A minor in computer science will teach basic programming and software engineering skills, time and project management skills, and increase computer competency. These skills can complement any area of study as the reliance upon computers will only increase.

CAN I DO UNDERGRADUATE RESEARCH?

Yes! Many undergraduate students assist professors with their research or start their own research through independent study. Check our research areas and participating faculty to learn more.

HOW DO I APPLY TO CSU?

Please visit the CSU Admissions Office.

UNDERGRADUATE STUDENTS

WHERE CAN I LEARN MORE ABOUT DEGREE REQUIREMENTS FOR COMPUTER SCIENCE AND THE DIFFFERENT CONCENTRATIONS?

Check out the Computer Science Major Checksheet and talk to your CS Advisor with specific questions. 

WHAT ARE THE APPROVED BIOLOGICAL AND PHYSICAL SCIENCE COURSES FOR COMPUTER SCIENCE?

The first page of the Computer Science Major Checksheet has the list of CS approved science options. You can talk to your CS Advisor with specific questions. You can also see the list of CS approved science options in major specific section in DARS.  

HOW DO I RUN A DEGREE AUDIT (DARS)?
HOW DO I GET ON THE WAITLIST FOR A CS COURSE?

For many CS courses, which have multiple components, you only waitlist for one component – usually the smaller component, the lab or recitation. If you get a seat from the waitlist, you’ll be able to add both the lecture and recitation at that time. 

For other waitlist questions, check out this helpful FAQ 

CAN I TAKE CS CLASSES ONLINE? OR COMPLETE THE CS DEGREE ONLINE?

Yes! It’s worth knowing that the tuition and fee rates are different for CSU Online versus campus classes. Additionally, tuition can be impacted by residency status, total credits for the semester, and number of online credits for the semester. If you have questions about tuition and fees please contact the Office of Financial Aid.  

Registration for CSU Online courses takes place on the CSU Online website, rather than RAMweb. If you have not previously taken a course through CSU Online, you will need to create an account. You do not need to apply to CSU Online.  

If you want to complete the degree fully online, talk with your CS Advisor about updating your program.

WHERE CAN I FIND ADDITIONAL RESOURCES FOR LEARNING HOW TO CODE, OUTSIDE OF CLASS/HELPDESK/ETC?

We’ve heard from students that some of these online tools have been helpful to them: 

Khan Academy, Code Academy, Udemy, EdX, Code Signal. 

WHAT IS AN INTERNSHIP?

The definition of an internship is simple: any employment situation in which one does work related to what one learns in their major at school is an “internship.” This is true whether one is paid for the work or not, or whether the company is large or small. In Computer Science, nearly any technical job one gets while in school will meet the definition of an “internship.”

HOW DO I GET AN INTERNSHIP?

There are several ways to get a major-related job:

1. Use the Career Center and Handshake. The CSU Career Center has great resources for your search. Handshake is the usual clearinghouse for school-related internships and jobs. These internships are more formalized and generally take the form of full-time summer work, though depending on the company’s proximity to CSU or remote opportunities, it may also include part-time work during the school year.

2. Find one on your own. Use LinkedIn and Google to look for opportunities.

3. Get a lead from the Computer Science Department. The CS Department occasionally highlights job announcements from the Career Center/Handshake on our student Microsoft Teams channel.

ARE INTERNSHIPS PAID POSITIONS?

Some internships, especially in other fields, are unpaid. However, given the demand for computer-skilled individuals in the workplace, almost any internship related to computer science will be paid.

CAN I GET COLLEGE CREDIT FOR MY INTERNSHIPS?

Yes, though credit is not awarded merely for holding a job. Students who arrange with a CS Department to obtain credit for what they learn while working can obtain CS486 (Practicum) credit.

Such arrangements must be set up in advance of the work experience. Students interested in obtaining practicum credit should contact their Academic Advisor for more information.

Specific instructions on practicum arrangements can be found in the FAQ question below: What are the rules for doing an independent study or practicum?

Practicum credit will not substitute for any required computer science class(es).

DOES THE DEPARTMENT HAVE JOBS?

Yes. The CS Department hires undergraduate students to fill two kinds of positions in the department:

  • Laboratory Monitors (or “LabOps”) to secure the labs, perform minor system troubleshooting, and provide general help to students using the department labs. CS majors with 12 or more hours of CS coursework, and a GPA of 3.0 or better are eligible for LabOp positions.
  • Undergraduate Teaching Assistants who are responsible for supporting the primary TA, teaching, and mentoring in computer science labs; supporting help desk and help session activities for CS courses; assisting the instructor for the course; and helping with grading and recitations as needed. Students who have a 3.5 or better GPA and a grade of A in the course they intend to assist in are eligible for Undergraduate Teaching Assistant jobs.

Job postings can be found on Handshake.

HOW DO I APPLY TO BECOME AN UNDERGRADUATE TEACHING ASSISTANT (TA)?

Job postings for Undergraduate Teaching Assistants are posted on Handshake.

WHAT ARE THE RULES FOR GETTING CREDIT FOR RESEARCH, AN INDEPENDENT STUDY, OR PRACTICUM?
General Information

The various independent study / research / practicum courses fall under the rubric of general electives. Currently, there is a limit of at most 12 credits for any combination of CS 486, CS 495 or 295, and CS 498. All these courses require a faculty/staff mentor to monitor their progress.

Independent Study (CS 295/CS 495) and Undergraduate Research (CS 498)

A student choosing to do an independent study or receive credit for undergraduate research can sign up for CS 295/CS 495 (independent study) or CS 498 (undergraduate research) under the supervision of a faculty/staff mentor. For research that is driven by the mentor’s research interests, CS 498 is the appropriate course; otherwise, CS 295/CS 495 is the appropriate choice.

Practicum (CS 486)

A practicum allows students to receive credit for a paid internship or job.

Please contact your CS Advisor for more information on how to register for these courses 

CAN I GRADUATE IN SUMMER? WHEN CAN I WALK IF I GRADUATE IN SUMMER?

Yes! Summer 2024 graduates are invited to participate in Spring 2024, Fall 2024, or Spring 2025 commencement. Summer 2025 graduates should plan to participate in the Spring 2025 ceremony (there will be no Fall 2025 ceremony). 

More information about commencement. 

WHAT IS THE AMP (ACCELERATED MASTERS PROGRAM)?

The Accelerated Master of Science in Computer Science program (AMP) allows high achieving students in the computer science bachelor’s program (all concentrations) who are interested in graduate studies to pursue an advanced degree in less time. Students may apply for admission to the program and begin taking graduate courses during their undergraduate study. AMP offers flexibility in scheduling and completing upper-division undergraduate requirements while concurrently fulfilling graduate course requirements for the M.S. degree. 

Talk to your CS Advisor or the CS Grad Advisor for more information.

TRANSFER STUDENTS

WILL MY CREDITS TRANSFER TO CSU?

There are several ways to assess how your credits will transfer before and after you apply. You can explore your options using Transferology or schedule an appointment with a CS Advisor for a tentative evaluation of your credits.

WHAT COMPUTER SCIENCE CLASSES FROM COLORADO COMMUNITY COLLEGES ARE HELPFUL AT CSU?

Colorado Community Colleges offer computer science curriculum that will transfer to CSU as direct equivalents for required computer science courses at CSU. (Please see the list of 6 below). Other computer science courses offered at Colorado Community Colleges will transfer to CSU but not as direct equivalents but will provide elective credit.

CSC 1019 -Intro to Programming (IN PYTHON)

CSC 1060 -Computer Science I

CSC 1061 -Computer Science II

CSC 2025 -Computer Architecture/Assembly Language

CSC 2034 -C++ Programming

CSC 2065 -Discrete Structures

Additionally, math courses are good options to take at Colorado Community Colleges. College Algebra (MATH 1340), College Trigonometry (MATH 1420) and Precalculus (MATH 1440) can transfer to satisfy precalculus prerequisites at CSU, some prerequisites require a B or better grade. Calculus I (MATH2410) will transfer as the necessary calculus course needed for CS. Calculus II (MATH 2420) can count towards some CS Concentrations but may be elective credit in some Concentrations.

HOW DO I APPLY AS A TRANSFER STUDENT?

Ready to apply? Use the application guides here to get started. You’ll learn everything you need to know about what to submit, important deadlines, and what to expect during the application process.

GRADUATE STUDENTS

MUST I TAKE THE GRE?

The GRE exam is recommended, but not required, for all domestic M.C.S. applicants. International students without a transcript from a university located in the U.S. must submit GRE scores showing a minimum of 75th percentile on the quantitative section of the exam.

MUST I TAKE THE TOEFL?

All applicants coming from countries in which English is not the official language, and who do not have an undergraduate degree from a country in which the official language is English (Canada, U.K., Australia, USA, New Zealand, etc.) must take the TOEFL or IELTS and earn at least a 92 on the internet-base exam or a minimum of 6.5 on the IELTS. The TOEFL may be waived for applicants who have been living in the U.S. for at least three years if they request a waiver. Please contact us for details.

WHAT IF I MISS THE DEADLINE FOR APPLYING FOR THE NEXT SESSION?

As a practical matter the only deadlines are very close to the start of the term in which you plan to officially become a degree-seeking graduate student (perhaps six weeks before the start of the term). Since students can take up to three courses prior to admission and count them later in the degree, application deadlines should not be much of a concern for anyone.

MAY I START TAKING COURSES BEFORE BEING OFFICIALLY ADMITTED TO THE GRADUATE PROGRAM?

Yes, up to three courses may be taken prior to admission and still be counted towards the degree.

I DON'T HAVE A BACKGROUND IN COMPUTER SCIENCE. WHAT "BRIDGE" COURSES MUST I TAKE TO BECOME PREPARED TO DO CS GRADUATE WORK?

Students entering the masters program are expected to be fluent in an object-oriented language (e.g., Java or C++). You should also have coursework in:

  • Discrete Mathematics
  • Data Structures and Algorithms
  • Computer Organization/Architecture
  • Software Engineering
  • Operating Systems

We do not offer these courses online, though other schools may. These are very common undergraduate computer science courses and are widely available.

WILL YOU ACCEPT MY BACHELOR'S DEGREE FROM...?

The Graduate School makes these decisions. Contact the Graduate School.

I HAVE A 3-YEAR B.S. DEGREE FROM INDIA, CHINA, GERMANY, CANADA, AUSTRALIA, ETC. CAN I BE ADMITTED TO THE MASTERS PROGRAM?

Only persons with degrees equivalent to U.S. bachelors degrees are qualified to apply for admission. A 3-year degree is not equivalent to the U.S. bachelor degree. (Nor is the 3-year degree plus 1 year of a second degree).

I HAVE SEVERAL YEARS EXPERIENCE AS A SOFTWARE ENGINEER. AM I QUALIFIED TO ENROLL IN CS414?

Probably. Please check the course web page CS414 about the course. Also check the CS314 web page CS314 (the prerequisite for CS414). You may want to review the CS314 text to determine if your background is sufficient.

WHAT IF MY UNDERGRADUATE GPA IS LESS THAN 3.0?

Applicants who show exceptional promise for success may be admitted to the program with less than a 3.0 undergraduate GPA. You may want to consider taking two or three CS courses before applying for admission. If your grades in these courses are good (A’s and B’s), we can more easily admit you to the Masters program.

CAN I APPLY COURSES FROM OTHER UNIVERSITIES TOWARD MY MASTERS DEGREE?

Applicants with graduate work in computer science from another university may petition to apply up to 12 hours towards their Masters in CS at CSU. Credit cannot be given officially until a student is admitted. However, students having prior coursework covering topics similar to those found in 500- and 600-level CS courses at CSU from accredited institutions, and passed with a grade of B or better, are very likely to have such requests granted.

CAN I USE COMPUTER SCIENCE COURSES TAKEN AS PART OF MY UNDERGRADUATE DEGREE TOWARDS MY MASTERS?

No. Courses used to complete one degree may not be used towards another.

CAN I TAKE A MIX OF ONLINE AND ON-CAMPUS COURSES TOWARDS A GRADUATE DEGREE?

Yes. In collaboration with CSU Online we offer students the option of completing online some of the course requirements of the on-campus M.S., the M.C.S., or even the Ph.D.  In consultation with your advisor, you may start online and finish on-campus, vice-versa, or a hybrid combination thereof.

ONLINE GRADUATE STUDENTS

IS THE ONLINE MASTER OF COMPUTER SCIENCE PROGRAM ACCREDITED?

No graduate programs in computer science are reviewed for accreditation in the United States by organizations like CSAB/ABET, but Colorado State University is a state-funded regionally accredited Carnegie I research institution (there is no higher level of accreditation in the U.S.). The online version of the Masters of Computer Science program is identical to the resident Masters of Computer Science program.

IS FINANCIAL SUPPORT AVAILABLE?

The CSU CS department does not offer financial aid to distance education students. There may be federal or state programs providing grants or loans for distance education. Please contact the Financial Aid Office.

DO YOU OFFER A PH.D. ONLINE?

Since the Ph.D. is a research degree, it must be completed in close cooperation with researchers. This collaborative learning experience is not well suited to distance education in the opinion of our faculty. We therefore do not offer the Ph.D. through distance education.

AM I LIMITED TO TAKING THE COURSES THAT ARE OFFERED DURING A SPECIFIC TERM, OR CAN I TAKE ANY OF THE COURSES DURING ANY TERM?

Courses run during two 16-week terms per year, plus a 12 week summer term, and must be completed on a schedule within the term in which they are taken. The fall semester runs from late August to mid-December, the spring semester runs from late January to mid-May, and the summer runs from mid May to early August. Students must join a course at the beginning of the term, or wait until the next semester.

HOW MUCH DOES THE PROGRAM COST?

9 courses are required for the MCS degree. Current tuition is $649 per credit (courses are 4 credits), so tuition is $2,596 per course. Note that tuition and registration for online courses is separate from that for on campus courses. All online students pay the same tuition regardless of residency (there is no in-state out-of-state tuition distinction for online courses).

CAN I WORK AHEAD A FEW WEEKS IN MY CLASSES?

Students are always encouraged to work ahead in their classes.

CAN I TAKE THIS PROGRAM OF STUDY AS AN INDIVIDUAL, OR MUST I BE AFFILIATED WITH A PARTCIPATING COMPANY?

Anyone who pays tuition can take courses.

WHERE CAN I GET MORE INFORMATION ABOUT YOUR ONLINE MASTERS DEGREE PROGRAMS?

Please visit CSU Online.

HOW LONG WILL THE PROGRAM TAKE TO COMPLETE?

How long it takes depends on how many courses you take at one time. Taking one course per semester (including summer) would enable one to complete the degree in approximately 3 years. More energetic students may be able to take 2 courses during the fall and spring semesters, and finish in 2 years.

HOW DO I REGISTER FOR ONLINE CLASSES?

Registration for online courses is done through the CSU Online website, *not* through the on-campus registration system (RamWeb).

Registering for courses is similar to buying a book on Amazon: go to the “Courses” tab and click on “Credit Courses.” This will lead you to a listing of subjects, and go to the courses listed under “Computer Science.” You can use the filter to select courses being offered in the next term, find the course you wish to take, and add it.