Professor Homer White (Chair); Associate Professors Danny Thorne (Coordinator) and Bryan Crawley
Computing pervades both the economy and contemporary society. A minor in Computer Science can improve your job prospects and enhance your ability to be a contributing citizen. Providing a background in programming fundamentals, web application development, and database management, the minor is a marketable complement to a wide variety of majors including those in the social and natural sciences, business and even the humanities.
Eighteen hours. CSC 115, 215, 315, 405 plus 6 elective hours ≥300.
100. Mathematics and Computing. (3 hours) A survey of computer science including some basic mathematical foundations of computing and a gentle introduction to computer programming. This course carries the Quantitative Flag (Q) in the Foundations and Core Program. Prerequisite: ACT math subscore of 19, GSS 105, or bypass credit for GSS 105.
115. Computer Science I. (3 hours) Developing algorithms to solve problems and using the computer as a tool to implement algorithms. Study of a modern programming language and the paradigm it represents. Topics include control structures, functions, pointers, sorting, and searching. This course carries the Quantitative Flag (Q) in the Foundations and Core Program.
Spring and Fall
215. Computer Science II. (3 hours) Introduction to data structures such as linked lists, stacks, queues, trees, more general graphs and heaps using static and dynamic representations. Use of multi-dimensional arrays and recursion. This course carries the Quantitative Flag (Q) in the Foundations and Core Program. Prerequisite: CSC 115.
Spring and Fall
304. Design and Analysis of Algorithms. (3 hours) Study of algorithms such as advanced searching and sorting algorithms, graph and numerical algorithms, hashing, pattern matching, and others. Prerequisites: CSC 215
312. Computer Organization and Architecture. (3 hours) Principles of computer organization and architecture. Topics include: number representation, assembly language for an exemplary digital processor, and elements of digital design, including gate level combinational logic. Prerequisites: CSC 215
315. Advanced Programming. (3 hours) Study of and experience with larger programming efforts. Topics such as event-driven programming, including programs with graphic user interfaces, and building static and dynamic libraries. This course carries the Quantitative Flag (Q) in the Foundations and Core Program. Prerequisite: CSC 215.
327. Introduction to Numerical Methods. (3 hours) An introduction to the analysis and implementation of numerical methods. Topics include number representation and errors, locating roots of equations, interpolation, numerical differentiation, numerical integration, numerical solution of linear systems of equations, approximation by spline functions, numerical solution of differential equations, and the method of least squares. Prerequisite: CSC 115.
405. Database Management. (3 hours) Concepts and structures necessary to design and implement a database system, including file and data organization, data models and a study of a specific database management system. Prerequisite: CSC 215.
420. Programming Language Design and Implementation. (3 hours) A study of the concepts involved in the design and use of high level programming languages, including recursion, list and string processing and multi-programming. Introduction to a number of important languages. Prerequisite: CSC 215.