Welcome to the Computer Science Program!
Tarleton State University offers a Bachelor of Science degree in Computer Science. This program is growing to meet the national demand for CS majors, and has two major concentrations: A. programming and software engineering (we teach Python, assembly, C, C++, Java, Matlab, VHDL and SQL, followed by Software Engineering and Distributed Systems) and B. circuits and embedded systems (we teach Digital Circuits, Computer Architecture and Microprocessor Systems Design, and do research in robotics).
The goal of the program is to prepare students to enter the work force or graduate school with the knowledge and skills necessary to function to their maximum capacity. This is achieved through course work (lectures and labs), advising, undergraduate research, and peer-interaction. The students are also encouraged to seek out and take advantage of other opportunities that will further their expertise: computer-related part-time employment, internships, the Computer Science club, field trips, invited speakers, LAN parties :), etc. Students learn best by applying their skills to classroom work, professional work and in their daily life.
What is Computer Science?
Computer Science (CS) is the study and application of software, hardware, and algorithms in solving today's real-life problems. Most people with a CS degree develop software applications, which range from embedded software that might control a wristwatch, nuclear reactor, or Mars rover, to business applications for managing the payroll or inventory system of companies, to scientific applications that simulate and predict hurricanes, earthquakes, or protein folding. Our world is information-intensive and it is the software that allows us to manage this information. A good software developer needs to understand the hardware that the software runs on and the algorithms that allow the most efficient processing of the data; there is an old joke we like to tell our students about a meteorologist who wrote a weather prediction program, only to find out that it took one week to predict tomorrow's weather! (He later got help from a computer scientist ...)
There are three disciplines closely related to CS that specialize in the areas of hardware, software and algorithms outlined above:
- Computer Engineering is concerned with the analysis and design of computer hardware
- Software Engineering focuses on the design and architecture of software systems
- Theoretical Computer Science studies the mathematical properties of algorithms and data structures
For more information, explore the resources in the side bar!
How is Computer Science different from Computer Information Systems and other IT disciplines?
A frequently-asked question concerns the distinction between CS and Computer Information Systems (CIS). While the specific details of CS and CIS programs will vary by school, we can say this much: Both disciplines are ultimately concerned with the development of software, but there are some differences:
- CS is more general, preparing students for a wide variety of application domains. CIS is more focused on business applications.
- CS is more mathematical and scientific in nature, as it delves deeper into the engineering (hardware) and mathematics (algorithms) of the problem. Even at the software level, a CS major will explore more closely the system software (operating systems, assembly language, compilers) on which the performance of the computer system depends.
- Of course, the differences above reflect in the curricula. For example, a Tarleton CS major is required to take some advanced math classes that a Tarleton CIS major is not (Calculus I and II, Discrete Math, Probability and Statistics), and some hardware courses (Digital Circuits, Microprocessor Systems). On the other hand, a CIS major will cover a wider variety of languages (Cobol, Visual Basic, C#), and business-related applications (web design, spreadsheets, database management, etc.)