Computer Science
Majors:
Minors:
The Department of Computer Science offers two programs leading to a Bachelor of Science degree in either Computer Science or Computer Information Systems. Both programs require the same introductory core sequence of courses in Computer Science. The main differences between the two programs are in the mathematics and science requirements and in the application emphases.
Computer Science
Computer Science is the study of algorithms and their implementation in the environment of computer hardware. It includes the study of data structures, software design, programming languages, and computer architecture. Each student must take appropriate upper-level electives to ensure depth in at least three of the core subject areas of data structures, software design, programming language concepts and architecture as arranged with the student's advisor.
Computer Information Systems
This program emphasizes computer science concepts with particular attention to systems analysis and design, and includes a concentration area chosen by the student in consultation with the student's advisor.
These B.S. programs provide a foundation for students to embark on successful careers in a variety of computing disciplines, including software development, system design, database management, artificial intelligence, computer networking, systems programming and systems administration. In addition, graduates will be prepared to pursue graduate study in Computer Science and related disciplines.
Computer Science and Computer Information Systems majors are required to attain grades of C- or better in the following courses: CPS 150, CPS 151 and CPS 350.
A minor in computer science consists of twenty semester hours. A minor in computer information systems consists of twenty-three semester hours.
Faculty
Dale Courte, Chairperson
Professors Emeriti: Kester, Lang, Winslow
Professor: Sritharan
Associate Professors: Buckley, Courte, Gowda, Perugini, Smith,
Assistant Professor: Yao
Visiting Assistant Professor: Gothard
Lecturer: Sanyal
Bachelor of Science with a major in Computer Information Systems (cis)
| Computer Science | ||
| CPS 150 | Algorthm&Progrm I | 4 |
| CPS 151 | Algorthm&Progrm II | 4 |
| CPS 242 | User Interface Desgn | 3 |
| CPS 250 | Intro-Comptr Org | 3 |
| CPS 310 | Systems Analysis | 3 |
| CPS 312 | Systems Design | 3 |
| CPS 341 | Discrete Structures | 3 |
| CPS 346 | Operating Systems I | 3 |
| CPS 350 | Data Struct&Algorthm | 3 |
| Select four CPS courses (343 level or above) | 12 | |
| Concentration: an approved minor, or these courses: | 15-27 | |
| Intro-Financial Acc | ||
| Intro-Managerial Acc | ||
| Prin of Microecon | ||
| Prin of Macroecon | ||
| Organiztnl Behavior | ||
| Survey of MKT | ||
| Breadth Requirements | ||
| ASI 150 | Intr to the Univ Exp | 1 |
| PHL 319 | Information Ethics | 3 |
| Mathematics 1 | 9 | |
| Introductory Calc I | ||
| Introductory Calc II | ||
| Statistical Meth I | ||
| Communication Competencies | 3-9 | |
| Humanities 1 | 9 | |
| Natural Sciences 1 | 8 | |
| Philosophy and Religious Studies 1 | 9 | |
| Social and Behavioral Sciences 1 | 6 | |
| Total Hours - general education courses/academic electives to total at least | 120 | |
| 1 | This requirement will be satisfied in some cases by the minor that is chosen. |
Bachelor of Science with a major in Computer Science (cps)
| Computer Science | ||
| CPS 150 | Algorthm&Progrm I | 4 |
| CPS 151 | Algorthm&Progrm II | 4 |
| CPS 242 | User Interface Desgn | 3 |
| CPS 250 | Intro-Comptr Org | 3 |
| CPS 341 | Discrete Structures | 3 |
| CPS 346 | Operating Systems I | 3 |
| CPS 350 | Data Struct&Algorthm | 3 |
| CPS 387 | Comp System Desgn I | 3 |
| Select six CPS courses (300/400 level) 1 | 18 | |
| Breadth Requirements | ||
| CPS 353 | Numerical Methods I 2 | 3 |
| or MTH 310 | Lin Alg & Matrices | |
| MTH 168 | Anly Geom & Calc I | 4 |
| MTH 169 | Anly Geom & Calc II | 4 |
| MTH 218 | Anly Geom & Calc III | 4 |
| MTH 367 | Statistical Meth I | 3 |
| PHL 319 | Information Ethics | 3 |
| Select one natural sciences group from: | 8 | |
| Concepts of Bio I and Concepts-Bio Lab I and Concepts of Bio II and Concepts-Bio Lab II | ||
| General Chemistry and Gen Chemistry Lab and General Chemistry and Gen Chemistry Lab | ||
| Physical Geology and Physical Geology Lab and Geolgcl Hst-Earth and Geolgcl Hst-Earth Lb | ||
| Gen Physics I Mech and Gen Phy II Ele & Mag and Gen Physics Lab I and Gen Physics Lab II | ||
| Communication Competencies | 3-9 | |
| Humanities | 9 | |
| Natural Sciences 3 | 6 | |
| Philiosophy and Religious Studies | 9 | |
| Social and Behavioral Sciences | 6 | |
| Total Hours - general education courses/academic electives to total at least | 120 | |
| 1 | These courses must cover three distinct topical areas as defined by the department. |
| 2 | CPS 353 will not count towards major requirement. |
| 3 | Select two acceptable courses for Science or Engineering majors. |
Minor in Computer Information Systems (cis)
| Computer Information Systems | ||
| CPS 150 | Algorthm&Progrm I | 4 |
| CPS 151 | Algorthm&Progrm II | 4 |
| CPS 242 | User Interface Desgn | 3 |
| CPS 310 | Systems Analysis | 3 |
| CPS 312 | Systems Design | 3 |
| Select two CPS courses (320 level or above) | 6 | |
| Total Hours | 23 | |
Minor in Computer Science (cps)
| Computer Science | ||
| CPS 150 | Algorthm&Progrm I | 4 |
| CPS 151 | Algorthm&Progrm II | 4 |
| CPS 350 | Data Struct&Algorthm | 3 |
| Select three CPS courses (320 level or above, excluding CPS 437) | 9 | |
| Total Hours | 20 | |
Courses
CPS 107. Intro Comp Science. 3 Hours
INTRODUCTION TO COMPUTER SCIENCE
- An introduction to the field of Computer Science, covering computers and society, the internals and externals of computer hardware and software, as well as some exposure to advanced topics of artificial intelligence, computer forensics, and databases. Intended for science and engineering students.
CPS 111. Intro-Personal Comp. 3 Hours
INTRODUCTION TO PERSONAL COMPUTERS
- Emphasis on use of operating system, particularly file organization, and applications: word processor, spreadsheet, database and presentation software.
CPS 132. Progrmmng-Engr & Sci. 3 Hours
COMPUTER PROGRAMMING FOR ENGINEERING AND SCIENCE
- Fundamentals of computer programming including algorithms, program structure, library routines, debugging, and program verification. Calculus-based computer solutions of problems from science and engineering using C++.
Corequisite(s): MTH 168.
CPS 144. Intro-Computr Progrm. 3 Hours
INTRODUCTION TO COMPUTER PROGRAMMING
- Fundamentals of computer programming including algorithms, program structure, library routines, debugging, and program verification. Computer solutions of problems from social sciences using a suitable compiler language such as Visual Basic.
CPS 150. Algorthm&Progrm I. 4 Hours
ALGORITHMS AND PROGRAMMING I
- Algorithms, programs, and computers. Algorithm development, basic programming and programming structure. Debugging and program verification. Data representation. Computer solutions to numeric and non-numeric problems using a compiler language.
CPS 151. Algorthm&Progrm II. 4 Hours
ALGORITHMS AND PROGRAMMING II
- Continuation of CPS 150. Emphasis on program design, development and style, string processing, data structures, program modularity, and abstract data type, using a compiler language.
Prerequisite(s): CPS 150.
CPS 242. User Interface Desgn. 3 Hours
USER INTERFACE DESIGN
- The importance and challenges of user interface design in software development are discussed and Graphical User Interfaces (GUI) are developed using an appropriate programming language. Reading assignments cover interface design issues and programming assignments focus on event-driven programming, exception handling, GUI development, web and multi-media applications, and data persistence.
Prerequisite(s): CPS 151.
CPS 250. Intro-Comptr Org. 3 Hours
INTRODUCTION TO COMPUTER ORGANIZATION
- Computer organization and architecture are studied from a software perspective. Data representation, program translation and execution are examined in the context of the classic von Neumann architecture. Programming projects involving both a higher-level language and an assembly language reinforce the architecture concepts.
Prerequisite(s): CPS 151.
CPS 309. Special Topics. 1-4 Hours
TOPICS IN COMPUTER SCIENCE
- Lectures or laboratory work in areas of current interest. May be taken more than once. Does not count as upper level credit for majors/minors.
CPS 310. Systems Analysis. 3 Hours
SYSTEMS ANALYSIS
- Methodologies for producing software, software development life cycles, top-down approach, data flow diagram, data dictionary, mini-specifications, in/output design, E-R diagrams, normalization, introduction to object oriented analysis.
Prerequisite(s): CPS 151 or CPS 225.
CPS 312. Systems Design. 3 Hours
SYSTEMS DESIGN
- Structured design, tools of structured design, coupling and cohesion of modules, transform and transaction analyses, packaging, optimization, data-oriented and object oriented design methodologies, automated design tools.
Prerequisite(s): CPS 310.
CPS 341. Discrete Structures. 3 Hours
DISCRETE STRUCTURES
- Logic and proofs, sets and counting, Boolean algebra, graph theory, directed graphs, mathematical machines, formal languages and grammars.
Prerequisite(s): CPS 150.
CPS 343. Comparatve Languages. 3 Hours
COMPARATIVE LANGUAGES
- Language design issues, formal syntax specification, data types and storage methods, activation records and procedural object oriented, functional, and logic programming paradigms.
Prerequisite(s): CPS 350.
CPS 346. Operating Systems I. 3 Hours
OPERATING SYSTEMS I
- Semaphores, conditions, monitors, and kernels. Concurrent programming, interrupts, memory, and process management. Design and implementation of multithreaded and distributed system components using concurrent languages.
Prerequisite(s): CPS 250, CPS 350.
CPS 350. Data Struct&Algorthm. 3 Hours
DATA STRUCTURES AND ALGORITHMS
- Advanced concepts of linear data structures, stacks, queues, and abstract data types. Basic and advanced concepts of trees, graphs, hash tables, heaps, algorithm design and analysis techniques.
Prerequisite(s): CPS 151.
CPS 353. Numerical Methods I. 3 Hours
NUMERICAL METHODS I
- Study of the algorithms of numerical mathematics with emphasis on interpolation, the solution of nonlinear equations, and linear systems of equations including matrix methods; analysis of errors associated with the algorithms.
Prerequisite(s): (CPS 132 or CPS 150); MTH 169.
CPS 387. Comp System Desgn I. 3 Hours
COMPUTER SYSTEM DESIGN I
- Study of the elements of computer design. Design of combinatorial and sequential logic circuits using current integrated circuit devices. Discussion of encoders, decoders, registers, counters, etc. as applied to design and use of control, arithmetic, logic, and storage units. Instruction set, addressing modes and CPU design. Laboratory experiments with these devices.
Prerequisite(s): CPS 250, CPS 341.
CPS 415. Software Testing. 3 Hours
SOFTWARE TESTING
- Detailed examination of the software testing process and its role in the software lifecycle. Topics include functional testing, structural testing, methods for designing, generating and evaluating test data, coverage hierarchies, theoretical and practical limitations of testing, testability measures, regression testing, and specialized testing such as methods for testing object oriented software, graphical user interfaces.
Prerequisite(s): (CPS 310 or CPS 418); CPS 341, CPS 350.
CPS 420. Obj-Orient Sys Dev. 3 Hours
OBJECT ORIENTED SYSTEMS DEVELOPMENT
- An overview of object-oriented analysis and design methodologies and Unified Modeling Language (UML), Use Case Model, Logical Model, Component Model, Deployment Model and Design Patterns. The course will involve a team project using a state-of-the-art Computer Aided Software Engineering (CASE) tool.
Prerequisite(s): CPS 310, CPS 350.
CPS 422. Software Proj Mgmt. 3 Hours
SOFTWARE PROJECT MANAGEMENT
- An overview of software project management tasks, software development methodologies, project planning techniques, algorithimic cost estimation models, Function Point Estimation, risk management, prototyping, management of software reuse, software maintenance, quality assurance, configuration management, Capability Maturity Model (CMM), and evaluation of CASE tools.
Prerequisite(s): CPS 310 or CPS 418.
CPS 424. Discrte Evnt Simultn. 3 Hours
DISCRETE EVENT SIMULATION TECHNIQUES
- Design and use of simulation models; study and use of special-purpose simulation languages such as GPSS and GASP IV, SIMSCRIPT II.5. Applications.
Prerequisite(s): CPS 151.
CPS 430. Database Mgt Sys I. 3 Hours
DATABASE MANAGEMENT SYSTEMS
- Physical and logical organization of databases: the entity-relationship model; relational database model; the data definition and data manipulation language of a commercial database management system; integrity constraints; conceptual database design.
Prerequisite(s): CPS 350.
CPS 432. Database Mgt Sys II. 3 Hours
DATABASE MANAGEMENT SYSTEMS II
- Study of query execution and optimization, transaction management, concurrency control, recovery and security techniques. Advanced data models and emerging trends in database systems, like object oriented database systems, distributed database systems, the client-server architecture, multidatabase and heterogeneous systems. Other current database topics and emerging technologies will be discussed.
Prerequisite(s): CPS 430.
CPS 437. Sys Arch & Netwrkng. 3 Hours
SYSTEM ARCHITECTURES AND NETWORKING
- Issues and techniques used in the physical design of computer-based information systems. Basic operating systems, hardware architecture and networking prinicples. Intended for students majoring in MIS; not open to students majoring in CPS, CIS, or PCS.
Prerequisite(s): MIS 380, MIS 385.
CPS 444. Systms Progrmng I. 3 Hours
SYSTEMS PROGRAMMING I
- Analysis of compilers and their construction; programming techniques discussed in the current literature; advanced computer applications in mathematical and nonnumeric areas.
Prerequisite(s): CPS 346, CPS 350.
CPS 460. Computer Graphics. 3 Hours
COMPUTER GRAPHICS
- Introduction to graphics devices and software graphic primitives (points, lines, characters), two-dimensional transformations, clipping, survey of display devices and methods. Graphic input devices, representation of curves and surface in space.
Prerequisite(s): CPS 350.
CPS 470. Data Communications. 3 Hours
DATA COMMUNICATIONS
- Basic hardware and software architectural components for computer communications. Analysis of communication protocol layers with respect to performance, error handling and control functions. Switching, routing, multiprocessing and distributed processing. Case studies of existing networks and network architectures.
Prerequisite(s): CPS 350.
CPS 472. Computer Networking. 3 Hours
COMPUTER NETWORKING
- Continuation of CPS 470. Concepts and analysis of computer networks. Network applications, security and network management. Network topologies and case studies.
Prerequisite(s): CPS 346, CPS 470.
CPS 477. Honors Thesis. 3 Hours
HONORS THESIS PROJECT
- First of two courses leading to the selection, design, investigation, and completion of an independent, original Honors Thesis project under the guidance of a faculty research advisor. Restricted to students in the University Honors Program with permission of the program director and department chairperson. Students pursuing an interdisciplinary thesis topic may register for three semester hours each in two separate disciplines in consultation with the department chairpersons.
Prerequisite(s): Approval of University Honors Program.
CPS 478. Honors Thesis. 3 Hours
HONORS THESIS PROJECT
- Second of two courses leading to the selection, design, investigation, and completion of an independent, original Honors Thesis project under the guidance of a faculty research advisor. Restricted to students in the University Honors Program with permission of the program director and department chairperson. Students pursuing an interdisciplinary thesis topic may register for three semester hours each in two separate disciplines in consultation with the department chairpersons.
Prerequisite(s): Approved 477; approval of University Honors Program.
CPS 480. Artificl Intellgnce. 3 Hours
ARTIFICIAL INTELLIGENCE
- Basic concepts and techniques of intelligent systems. Emphasis on representations, problem solving, search strategies, expert systems, mVgic systems, and AI programming. Design and implementation of AI applications.
Prerequisite(s): CPS 350.
CPS 481. Adv Artificl Intell. 3 Hours
ADVANCED ARTIFICIAL INTELLIGENCE
- An examination of several advanced sub-disciplines of Artificial Intelligence including areas such as speech recognition, planning, machine learning, advanced multiple agent systems and related topics. An exploration of underlying theoretical issues as well as the status of current problems and applications.
Prerequisite(s): CPS 480.
CPS 482. Automata Theory. 3 Hours
AUTOMATA THEORY
- Finite automata, sequential machines, survey of formal languages, introduction to computability, recursive functions, and Turing machines.
Prerequisite(s): CPS 341.
CPS 496. Cooperative Educatn. 1-3 Hours
COOPERATIVE EDUCATION
- Computer science cooperative education work experience in an approved organization. Not open to students with credit in CPS 497. Credit does not apply to major requirements. Repeat to a maximum of three semester hours.
Prerequisite(s): Twelve hours of upper-level CPS courses with a GPA of 3.0; total ninety semester hours with a GPA of 2.75; permission of the department in advance of the work.
CPS 497. Internship. 1-3 Hours
INTERNSHIP
- Computer science work experience in an approved organization. Not open to students with CPS 496 credit. Credit does not apply to major requirements. Repeat to a maximum of three semester hours.
Prerequisite(s): Twelve semester hours of upper-level CPS courses with GPA of 3.0; total ninely semester hours and 2.75 GPA; permission of department in advance of the work.
CPS 498. Problems. 1-4 Hours
PROBLEMS IN COMPUTER SCIENCE
- Individual readings and research in a specialized area. (See CPS 499.) By arrangement. May be taken more than once for additional credit.
Prerequisite(s): Permission of department chairperson.
CPS 499. Special Topics. 1-4 Hours
SPECIAL TOPICS IN COMPUTER SCIENCE
- Lectures or laboratory work in such areas as advanced artificial intelligence, computer architecture, information retrieval, microprogramming, multiprogramming techniques, numerical analysis, graphics, data communications, parallel processing, software development, distributed computing, multimedia computing. By arrangement. May be taken more than once.
Prerequisite(s): Permission of department chairperson.
