What degrees does the Computing Department offer?
We offer two undergraduate degrees: A traditional Computer Science (BS) degree with a required minor in one of 11 different disciplines, and a Web & Mobile Application Development (BS) degree with a choice of a minor in Graphic Design or in Mathematics.

The minors for the C.S. degree include:  Biology, Business Administration, Chemistry, Communication and New Media Studies, Ethics, Forensic Science, Mathematics, Philosophy, Psychology, Sustainability Studies, and Web & Mobile Application Development.  These minor options allow a student to apply their computer science knowledge and skills to a discipline that interests the student.

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.

Most people often think that the study of Computer Science is that same as the study of computer programming.  Computer Science encompasses much more than programming and incorporates multiple topics such as algorithmic analysis and design, theory and design of programming languages, assembly language, computer organization, distributed computing, software engineering, artificial intelligence and mathematical analysis. Computer scientists study how to efficiently organize, store and retrieve data, how to write efficient programs, develop innovative applications to benefit society, create software and design intuitive human computer interfaces.

What skills will I learn if I study computing? 
A student will learn two types of skills:  Technical and Professional.  In addition, depending on your interests you will acquire specialized domain knowledge such as math, business, biology or forensic science. 

The technical computing skills will include (according to ACM):

  • Problem-solving ability, recognizing levels of abstraction in software, hardware systems, and multimedia
  • Practical skills such as building and using database management systems and other sophisticated software tools
  • Programming
  • Using existing software libraries to carry out a variety of computing tasks, such as creating a user interface
  • Being aware of the uses to which computers are put, recognizing issues to do with security, safety, etc.
  • Looking at innovative ways of using computers, creating tools, providing tools support, etc.

The professional skills will include (according to ACM):

  • Communicating in writing, giving effective presentations and product demonstrations, and being a good negotiator (both in traditional environments and electronically)
  • Preparing for a job search; this involves building an impressive curriculum vitae and basing this confidently on technical and other skills
  • Being an effective team member
  • Understanding the special requirements of a globally distributed project with participants from multiple cultures
  • Recognizing the challenges and opportunities of keeping skills up-to-date and understand how to do so
  • Literacy/fluency in computing; organizing all your professional information effectively

Which computing major is right for me? 
If you are interested in creating apps, then major in Web & Mobile Application Development.  With this major you have the opportunity for a specialization.  You can pursue a technical track and complete a mathematics minor which will help prepare you for careers in back-end development and give you skills to solve engineering type problems.  You can also pursue a non-technical track and complete a minor in graphic design.  This combination will enable you to still develop apps, but you will be better prepared to solve front-end problems dealing with graphical user interfaces and digital media assets.

If you have an aptitude for mathematics and are interested in a well-rounded background in computing/technology and want to pair this knowledge with another discipline, then Computer Science may be the major for you.  The abundance of choices in minors will allow you the flexibility of studying in a major that fits you and your personal interests.

What skills will help me succeed in computer science? 
Useful skills include: strong problem solving skills, logical thinking, an ability to work with others, mathematical skills, writing skills, and the willingness to concentrate on a problem for an extended period of time.

What should I be doing now to prepare for a computing major? 
It is a good idea to prepare with a strong mathematics and science background. Algebra and geometry should be completed at the minimum, while trigonometry, calculus, physics, and chemistry are highly recommended, but not required for acceptance into our computing program.  An emphasis is placed on basic computer literacy, so any advanced placement (AP) computer and advanced technology courses that are challenging are also recommended.

What is the job outlook for computing majors? 
Job growth rates for computing professions from the US Bureau of Labor Statistics (US-BLS) can be summarized as “big”. Today’s market has big demand with big salaries for qualified professionals. Computing occupations are estimated to grow rapidly over the next decade – many between 21% and 54% (US-BLS), far outpacing overall job growth in the United States.

What careers are available to computer science graduates?  
One of the wonderful things about a degree in Computer Science is that there is are new careers coming into existence as technology grows.  Typical career paths include:

  • Front and back end web developer
  • Content management system manager
  • Database administrator
  • Database Designer
  • System Administration
  • Network Administration
  • Data Miner
  • Web/Mobile App Developer
  • Software Developer
  • Information Security Analyst
  • Software Programmer
  • Software Engineer
  • Data Scientist