Studies in computer science give thorough grounding in the principles of computer use and design. A student who follows the computer science course of study is prepared for graduate studies as well as for positions in software design, systems analysis, and computer systems management. The information systems option is less theoretical than the computer science major. Many information system majors will chose to study also in a business field to strengthen their skills and to meet personal goals.

Major in Information Systems

(B.A. degree) Twenty-seven hours in Computer Science including CSC 114, 115, 125, 215, 304, 315, 350, 405, 450 and three additional hours in Computer Science numbered 300 or above: 15 hours of allied courses including MAT 111, 301 and at least nine hours selected from ART 234, 334, 435; BUA 210, 211, 300; ECO 221, 223, 304; PHI 151, 325; six hours of which must be chosen from one department. Only one hour of CSC 270 may count towards the major. Total hours required: 42.

Major in Computer Science

(B.S. degree) Thirty-three hours in Computer Science including CSC 114, 115, 125, 215, 304, 312, 315, 350, and 450; at least three hours chosen from CSC 430 or 435; and six additional hours chosen from CSC 270, 405, 420, 430 or 435, 440, or 470; fifteen hours of allied courses including MAT 121, 122, 221, 301, 310. Only one hour of CSC 270 may count towards the major. Total hours required: 48.

Minor in Computer Science

Eighteen hours in Computer Science including CSC 114, 115, 125, 215, 304, and five additional hours in Computer Science numbered 300 or above; one three-hour allied course, MAT 301. Total hours required: 21.

Additionally, the department participates in the (Business Administration/ Management Information Systems) interdisciplinary major.

CSC 114 can be used as the mathematics general education curriculum requirement.

A prerequisite must be taken before the course; a corequisite may be taken concurrently with a course.

Course Offerings

114. Introduction to Computer Science. (3 hours) Introduction to computer science including introductory programming in a high level language, mathematics and computing, and the role and issues of computing in society. Fall and Spring

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 such as control structures, functions, pointers, sorting and searching. Prerequisite: CSC 114. Fall and Spring

125. Computer Science I Lab. (1 hour) Laboratory experience for CSC 115 consisting of a mixture of specific assignments and supervised open-ended exploration of topics covered in CSC 115. Concurrent: 115. Fall and Spring

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. Prerequisite: CSC 115, 125. Fall and Spring

270. Topics in Programming. (1 hour) An opportunity for students to explore programming languages and programming methods not covered in regular courses. Only one hour of CSC 270 may be counted towards a major or minor. Prerequisite: CSC 215 and consent of instructor.

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. Complexity and recursion. Prerequisite: CSC 215 and MAT 301. Spring

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. Prerequisite: MAT 301 and CSC 115. Fall

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. Prerequisite: CSC 215. Fall

350. Perspectives on Computing. (2 hours) History of technical development of modern computers combined with reflection on the interaction of technical capabilities and social issues. The role and codes of conduct and ethics of various professional bodies. Prerequisite: Junior standing in CSC, IS, MIS. Spring

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. Odd Falls

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 or consent of instructor. Even Springs

430. Systems Programming. (3 hours) Emphasis on the study of modern operating systems and systems programming, with some coverage of network programming. Topics may include process scheduling, memory management, shells, input/output, and communication protocols. Prerequisite: CSC 304 or consent of instructor. Even Falls

435. Theory and Construction of Compilers. (3 hours) A study of ideas and techniques involved in the writing of a compiler for a high level language, including grammars, finite state machines, top-down and bottom-up parsing, and symbol tables. Prerequisite: CSC 215. Odd Springs

440. Independent Study. (1-3 hours)

450. Software Engineering Seminar. (3 hours) Senior capstone course in computing. Concepts and methods of software engineering and systems analysis. Semester long project. Prerequisite: Senior standing and for CSC majors – CSC 430 or 435, for IS and MIS majors – CSC 405. Spring

470. Topics in Computer Science. (1-3 hours)