Update Browser
Your version of Internet Explorer is Outdated

This site has been optimized for modern browsers. Please consider either updating to the latest version of Internet Explorer, or consider viewing the site in Chrome or Firefox.
Update Browser
You are running an old version of Android

This site was optimized for modern browsers. Please consider updating your version of Android if able.
These are the current course descriptions including any pre- and co-requisites.

CIS 150 - Programming Fundamentals
3 Credits
Introduction to structured programming techniques, design, and style. Concepts of modularity and elementary data structures are introduced. The laboratory component of the course emphasizes the logical approach to problem solving through the analysis of concrete examples and programming problems. 

Prerequisite: MTH 102 or equivalent.

CIS 160 - Object-Oriented Programming
3 Credits
Introduction to the concepts of object-oriented programming techniques, focusing on the definition and use of classes along with inheritance, polymorphism, and composition. Topics include recursion, using class libraries, exception handling, file I/O, graphical user interfaces, simple analysis of algorithms, basic searching and sorting algorithms, and an introduction to computer science and software engineering issues. 

Prerequisite: CIS 150.

CIS 200 - Data Structures
3 Credits
Continuation of CIS 150. Development of algorithms, programs, and data structures with emphasis on the implementation of arrays, records, stacks, queues, trees, and linked lists. 

Prerequisite: CIS 160; Prerequisite or Co-requisite: MTH 145. Not open to students with Credit for CIS 202 or CIS 250.

CIS 230 - Operating Systems
3 Credits
Study of operating system concepts, including simple processing, concurrent processing, deadlock, memory management, processor scheduling, disk scheduling, protection mechanism, and file systems. 

Prerequisite or Co-requisite: CIS 200.

CIS 234 - Database Management Systems
3 Credits
A study of relational database management concepts and features, including the creation, maintenance, and manipulation of database files using a current relational database management system. 

Not open to students with Credit for CIS 204 and CIS 340.

CIS 316 - Networks & Data Communications
3 Credits
A study of current trends, concepts, and goals in computer networks and data communications, including protocols, configurations, implementations, and applications with emphasis on local area networks and internetworking. 

Prerequisite: CIS 106, or CIS 107, or CIS 180. Not open to students with Credit for CIS 206 and CIS 310.

CIS 324 - Systems Analysis
3 Credits
Examination of the tools and techniques for the analysis, design and implementation of information systems with an emphasis on current trends and studies. 

Prerequisite or Co-requisite: CIS 234. Not open to students with Credit for IS 224 or CS 345.

CIS 479 - Capstone Seminar
3 Credits
This seminar will offer a capstone experience in the student’s own discipline within mathematics and computer information systems, as well as a capstone experience in the core curriculum. As a culminating experience in the discipline, this course will require each student to engage in a discipline-specific project under the supervision of a faculty member within the student’s own discipline.

In addition, students will be asked to ponder and discuss topics relevant to all scientific endeavors. Such topics include, but are not limited to, nature of proof and research ethics. 

As a capstone for the core curriculum, this seminar will provide a setting for students to read and discuss texts which raise questions related to human nature, common good, justice, ethics, scientific expertise, and search for knowledge in the contexts of scientific research and technological development. Interdisciplinary communication will be emphasized throughout the course.

Prerequisite: Completion of junior core seminar.

MTH 140 - Introduction to Statistics
3 Credits
An introduction to the basic concepts and computations used in statistical analysis as well as their application to problems in other disciplines, especially biology, business, education, and social sciences. Topics include the description of data graphically and numerically, the collection of data via samples and experiments, and the process of drawing inferences or conclusions from data.

The laboratory component of the course emphasizes conceptual understanding, interpretation of statistical quantities, and written/oral communication and will require the use of mathematical software. 

Prerequisite: MTH 102 or placement.

MTH 145 - Discrete Mathematics
3 Credits
Consideration of discrete mathematical topics including logic, set theory, algorithms, Boolean algebra, number systems, and graph theory. 

Prerequisite: MTH 102 or placement. Not open to students with Credit for MTH 345.

MTH 240 - Calculus I
4 Credits
Topics include relations and functions, limits, continuity, derivatives, Mean Value Theorem, extrema, curve sketching, related rates, differentiation of exponential, logarithmic, and trigonometric functions, introduction to Integral Calculus, the fundamental theorems of Calculus, elementary methods of integration, and applications.

The laboratory component of the course emphasizes mathematical modeling, problem solving, and written/oral communication and will require the use of graphing calculators and mathematical software.

Prerequisite: MTH 160 or placement.

MTH 241 - Calculus II
4 Credits
Topics include a continuation of Integral Calculus, integration techniques, integration of exponential, logarithmic, trigonometric, inverse trigonometric, and hyperbolic functions, applications of integration, indeterminate forms, improper integrals, parametric curves, polar coordinates, series and sequences, and applications.

The laboratory component of the course emphasizes mathematical modeling, problem solving, and written/oral communication and will require the use of graphing calculators and mathematical software. 

Prerequisite: MTH 240.

PHL 242 - Applied Ethics
3 Credits
An examination of ethical principles and their application to ethical issues. Specific areas of application announced when the course is offered. 

Prerequisites: For two-credit sections, one prior PHL course other than PHL 101.

PHL 346 - Principles of Business Ethics
3 Credits
An introduction to traditional ethical theories in preparation for more advanced study of problems in social philosophy and business. 

PHY 219 - General Physics I
4 Credits
A calculus-aided study of mechanics: translational and rotational motion, the laws of conservation of energy and momentum, hydrostatics and hydrodynamics, and basic thermodynamics; includes laboratory. 

Prerequisite: MTH 240 or equivalent.

PHY 220 - General Physics II
4 Credits
A calculus-aided study of electricity and magnetism, optics, introductory modern physics, and simple harmonic waves; includes laboratory. 

Co-requisite: MTH 241.

SWE 201 - Introduction to Software Engineering
3 Credits
This course is an introduction to the foundations and principles of software engineering. Topics include modeling and design using UML, requirements, software architecture, and testing. 

Prerequisite: CIS 160.

SWE 211 - Software Construction
3 Credits
This course covers the general principles and techniques for disciplined low-level software design. Topics include basic theory of grammars and parsing, use of parser generators, basics of language and protocol design, formal languages, state-transition and table-based software design, formal methods for software construction, techniques for handling concurrency and inter-process communication, and tools for model-driven construction. 

Prerequisite: CIS 200, SWE 201.

SWE 212 - Human Computer Interaction
3 Credits
This course covers the psychological principles of human-computer interaction. Topics include evaluation of user interfaces; usability engineering; task analysis; user-centered design; conceptual models and metaphors; software design rationale; design of windows, menus, and commands; voice and natural language I/O; response time and feedback; color, icons, and sound; internationalization and localization; user interface architectures. 

Prerequisite: SWE 201.

SWE 311 - Software Design & Architecture
3 Credits
This course is an in-depth look at software design, specifically designing for qualities such as performance, safety, security, reusability, reliability. Topics include measurement theory and appropriate use of metrics in design; measuring internal qualities and complexity of software; basics of software evolution, reengineering, and reverse engineering. 

Prerequisite: SWE 211.

SWE 321 - Software Quality Assurance & Testing
3 Credits
This course provides a broad coverage of software quality and testing. Topics include avoidance of errors and other quality problems; inspections and reviews; testing, verification, and validation techniques; quality process standards; problem analysis and reporting; and statistical approaches to quality control. 

Prerequisites: MTH 140, SWE 201.

SWE 322 - Software Requirements
3 Credits
This course covers the techniques for discovering and eliciting software requirements for various types of systems. 

Prerequisite: SWE 201.

SWE 323 - Software Project Management
3 Credits
This course covers all aspects of the software project, including planning, cost estimation, and scheduling. Topics include analysis of options and risks, planning for change, management of expectations, software process standards and process implementation, software contracts and intellectual property, and case studies of real industrial projects. 

Prerequisites: SWE 321, SWE 322.

SWE 478 - Software Engineering Design Project
3 Credits
This course provides students, working in groups, with a significant project experience in which they can integrate much of the material they have learned in their program, including matters relating to requirements, design, human factors, professionalism, and project management.

Each student group begins by identifying a suitable ‘customer’ (company, professor, unit on or off campus, etc.) for whom they are developing the software system. 

Prerequisite: SWE 311, SWE 323.