
Program

Online program

People

Opportunities

Contact

Computer science programs
Computer Science Major
Requirements
 CSC 171  Computer Science I
(4 credits) (IGE option under Quantitative Reasoning) This is the first in a twosemester sequence of courses that introduces students to fundamental aspects of the field of computing; focusing on problemsolving, software design concepts and their realization as computer programs. Topics include procedural abstraction, control structures, iteration, data types and their representation. An introduction to a highlevel language, for the purpose of gaining mastery of these principles, will be provided in lectures and handson laboratory experiences. Prerequisite: C or better in MAT090, an ACT math score of 20 or above (SAT 480 or above), or a passing score on the MAT090 placement exam.  CSC 172  Computer Science II
(4 credits) This course moves students into the domain of software design, introducing principles that are necessary for solving large problems. Here, the classical software design process serves as a basis for treating such topics as abstract data types, specifications, complexity analysis and file organization. Basic data structures and transformations are introduced as representative of the fundamental tools that are used to aid in this process. A highlevel language will be used for the purpose of gaining mastery of these principles through lectures and independent handson laboratory experiences. Prerequisite: CSC171.  CSC 270  Computer Organization
(4 credits; alternate years, consult department) This course explores architecture and computer design issues in modern computers. Part of the course is spent looking at the basic building blocks used to design and build a computer. The rest of the course deals with how to work with the computer at the level of the central processing unit, main memory and registers. Programming assignments are done in assembly language to see what commands the computer really understands. Corequisite: CSC172.  CSC 351  Data Structures
(4 credits; alternate years, consult department) This course deals with data structures and their algorithms. Emphasis is given to good data abstraction and efficiency. The data structures covered include arrays, linked lists, trees, graphs and strings. Other topics covered may include design patterns, analysis of algorithms, and complexity classes. Programming is done in an objectoriented language. Prerequisite: CSC172.  CSC 371  Operating Systems
(4 credits; alternate years, consult department) Introduction to hardware and software related to system organization. Such topics as process management, device management, and memory management are discussed, as are relevant issues associated with security and protection. Prerequisite: CSC270.  CSC 381  Programming Languages
(4 credits; alternate years, consult department) This course discusses programming languages from a general viewpointwhat are the properties of all successful programming languages? Also discussed are various programming paradigms: iterative programming, objectoriented programming, functional programming, logic programming, concurrent programming, etc. Programming may be done all in one language (emulate other paradigms), in a few select languages (one for each paradigm), or in a large variety of languages. Prerequisites: CSC270 and 351.  CSC 450  Value Issues in Computing
(2 credits) This course focuses on a range of social and ethical issues involved in computer science and computer use. Computer professionals have to face these issues and deal with them in a responsible way. Some issues discussed in the course include ethical decision making, software piracy, software protection, computer crime, privacy, errors and reliability, computers and the workplace, responsibility and reliability, artificial intelligence, and virtual reality.  CSC 470  Senior Project
(2 credits) This course gives the student an opportunity to branch off into an area of their own selection. The student must obtain approval of a project proposal from a member of the department before registering for this course. The project will require planning, design, and implementation of a computer application in such a way as to integrate the material from computer science courses and courses outside computer science. Students with career concentrations or minors are encouraged to make use of materials from their other subject areas.  Choose two courses: 8
 CSC 291  Database Management Systems
(4 credits; alternate years, consult department) This course examines database concepts, theory, design and management. Emphasis will be on the relational model. Topics will also include normalization, query languages, database recovery and security aspects. This course will include experience with a relational database system and programming database access into computer applications via a highlevel programming language. Prerequisite: CSC171.  CSC 321  HumanComputer Interaction
(4 credits; alternate years, consult department) HumanComputer Interaction (HCI) focuses on how a user interacts with and interprets the interface of a program. A good interface can make an average program seem better than it is, and a poor interface can ruin a technically superior piece of software. This course will include theory and case studies in lecture and practical programming exercises in lab. A final project will combine theory with programming by designing, implementing, testing and evaluating a complete interface to an application. Prerequisite: CSC172.  CSC 361  Networking
(4 credits; alternate years, consult department) This course introduces the student to the field of computer networking. Students will develop an understanding of the general principles of computer communication as they are worked out in an appropriate protocol suite. Specific attention will be paid to principles of architecture, layering, multiplexing, addressing and address mapping, routing and naming. Problems considered include the writing of network software, the physical construction of networks, the Internet and its future development, and network security. Prerequisite: CSC172.  CSC 420  Special Topics
(3 or 4 credits; alternate years, consult department) This course is for upperlevel computer science majors to cover current topics in computer science. Possible topics for this course include computer graphics, compiler construction, parallel processing, highperformance computing, and artificial intelligence. Prerequisite: junior or senior class standing or permission of instructor.  Cognate requirements
 MAT 112  Calculus I
(4 credits) (IGE option under Quantitative Reasoning) A study of functions, limits, derivatives and integrals with a strong emphasis on both theory and applications. Prerequisite: C or higher in MAT109, or an ACT math score of at least 24 (SAT 550 or above), or permission of mathematics department chair.  Choose one course: 34
 MAT 180  Logic and Discrete Mathematics
(3 credits) An introduction to the language and logic of mathematical proof via topics in discrete mathematics. Topics will include logic, elementary number theory, basic set theory and methods of mathematical proof (direct proof, indirect proof, induction). Prerequisite: C or better in MAT112 or permission of instructor.  PHI 202  Logic
(4 credits, alternate years, consult department) (IGE option under Quantitative Reasoning) An introduction to formal logic. The aim is to enable the student to become skilled in the examination of everyday language for validity, soundness, and cogency, to acquire a basic knowledge of classical sentential and categorical logic, and to master proof techniques in propositional logic and the firstorder predicate calculus. Prerequisite: C or better in MAT090, an ACT math score of 20 or above (SAT 480 or above), or a passing score on the MAT090 placement exam.  Choose one course: 35
 MAT 211  Calculus II
(4 credits) A study of transcendental functions, techniques of integration, improper integration, sequences, series, polar coordinates and conic sections. Prerequisite: C or better in MAT112 or permission of instructor.  MAT 317  Linear Algebra
(3 credits) A study of the algebra of matrices and vector spaces including matrix operations, systems of equations, determinants, properties of real vector spaces, eigenvalues and eigenvectors. Prerequisite: C or better in MAT112, 180 or permission of instructor.  Total credits required: 4750




