Dr. Bryan Crawley, Coordinator

Major in Computer Science

(B.S. degree) Forty-eight hours required. Thirty-three hours in Computer Science including CSC 115, 215, 304, 312, 315, 350, and 450; at least three hours chosen from CSC 430 or 435; and nine additional hours chosen from CSC 270, 327, 337, 405, 420, 430 or 435, 440, or 470; fifteen hours of allied courses including MAT 125, 225, 301, 310, 325. Only one hour of CSC 270 may count towards the major.

Major in Information Systems

student and teacher(B.A. degree) Forty-two hours required. Twenty-seven hours in Computer Science including CSC 115, 215, 304, 315, 350, 405, 450 and six additional hours in Computer Science numbered 300 or above: fifteen 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.

Minor in Computer Science

Twenty-one hours required. Eighteen hours in Computer Science including CSC 115, 215, 304, and nine additional hours in Computer Science numbered 300 or above; one three-hour allied course, MAT 301.

Management Information Systems (MIS) Interdisciplinary Major

(B.S. degree) Twenty seven-hours in the department of Business Administration and Economics including ECO 221, 223, BUA 210, 211, 300, 335, 353, 357, and three hours from the following: BUA 318, 326, 336, 367; and twenty-four hours in Computer Science including CSC 115, 215, 304, 350, 405, 450 and a choice of six hours from the following: CSC 430 or 312; plus nine additional hours consisting of MAT 111, 301 and three hours from the following: MAT 109 or 125. Only one hour of CSC 270 may count towards the major. Total hours required: 60 (No minor is required.)

Notes

CSC 100 fulfills a Mathematics Foundations and Core requirement (either the Quantitative Essential Proficiency or the Applied Quantitative Flagged Course).

There is a computational sciences major for students who wish to study math and computer science as it applies to a natural science.

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

Courses

100. Mathematics & Computing. (3 hours) A survey of computer science including some basic mathematical foundations of computing and a gentle introduction to computer programming. This is a Foundations and Core quantitative course especially for students other than mathematics or computer science majors and requires minimal math background. It can also be an informative gateway into a computer science major or minor for students with little prior exposure to computer programming or who are uncertain about whether they want to pursue computer science. 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. Prior programming experience and/or advanced math (e.g., AP Calculus) experience is recommended. Students with no such background may wish to take CSC 100 first. Fall and Spring

208. Science Careers Seminar. (2 hours) An interdisciplinary seminar in STEM (science, technology, engineering and mathematics) disciplines that will introduce students interested in scientific research to an array of professions and professionals in these fields. This introduction will emphasize comprehension and analysis of published scientific research and provide students with the opportunity to meet the science professional who produced the work. Prerequisites: One science or mathematics course for majors, sophomore or junior standing, and approval of instructor. 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. Prerequisite: CSC 115. Fall and Spring

270. Topics in Programming. (.5-3 hours) 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. Prerequisites: CSC 215 and consent of instructor. As needed

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. Prerequisites: 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. Corequisite: MAT 301 and Prerequisite CSC 315. 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

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. Prerequisites: CSC 115 and MAT 301. Odd Springs

337. High Performance Computing. (3 hours) An introduction to High Performance Computing. Topics include history of supercomputing, study of parallel architectures, Flynn’s taxonomy, Amdahl’s law, performance analysis, shared memory paradigm versus message passing paradigm, design and implementation of parallel algorithms, scientific computing applications, scientific visualization. Prerequisite: CSC 304. Even Springs

350. Perspectives on Computing. (3 hours) Social, legal, and ethical issues related to computing and information technology. Prerequisites: Junior standing in CSC, IFS, MIS, or CPS. 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 Springs

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 304. Odd Springs

440. Independent Study. (1-3 hours) As needed

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

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