Undergraduate Catalog 2015-2016

4000

CSCI 4320 Software Engineering

Prerequisite: C or better in CSCI 3410 and Senior status. An introduction to software engineering methodologies addressing each phase in the life cycle of software. Programming assignments use modern software engineering tools and languages.

3

CSCI 4330 Programming Lang:Design & Surv

Prerequisite: C or better in CSCI 3410. The study of programming languages including the concept of compiler and interpreter, data types, type checking, names and scopes, the concept of binding, requirements for passing parameters, exception handling, imperative programming, object-oriented programming, functional programming, logic programming, formal language theory, and a broad survey of programming languages.

3

CSCI 4520 Analysis of Algorithms

Prerequisite: C or better in CSCI 2680 and CSCI 3410. Topics include analysis of algorithms, fundamental computing algorithms, algorithms and problem-solving, algorithmic strategies (brute-force algorithms, greedy algorithms, divide-and-conquer, dynamic programming, backtracking, branch-and-bound, heuristics, pattern matching and string/text algorithms, numerical approximation algorithms), and basic computability.

3

CSCI 4610 Internet Programming II

Prerequisite: CSCI 3610. This course is a continuation of CSCI 3610 and an in-depth study of the design and development of web applications. Topics include the XML and RSS, JSON, Ajax, web services, and web security. This course is non-repeatable.

3

CSCI 4680 Human Computer Interaction

Prerequisites: C or better in CSCI 3410 or CBIS 4210. This course explores the design, evaluation and implementation of usable interactive computing systems. Topics include methodologies and processes for designing, modeling and implementing interfaces, techniques for evaluating and comparing interfaces, and new paradigms for interaction.

3

CSCI 4710 Databases

Prerequisite: A grade of C or higher in CSCI 3410. An introduction to managing data as a resource by examining basic concepts in database management systems and contrasting them with standard file systems. Topics include data modeling, relational databases, database query languages, relational database design, transaction processing, and distributed databases.

3

CSCI 4800 Parallel & Distributed Comp

Prerequisite: CSCI 3341 and CSCI 3342. This course will provide an introduction to parallelism, communication and coordination. It includes topics in parallel algorithyms, parallel architecture and distributed systems.

3

CSCI 4920 Senior Seminar

Prerequisites: C or better in CSCI 3410 and permission of the instructor. Selected topics of current interest in computer science will be presented. In addition, each student will complete a project suited to the student's educational and professional interests.

3

CSCI 4940 Independent Study

Prerequisite: C or better in CSCI 3410 and permission of the instructor. Investigation of a topic of special interest under the guidance of a faculty member. Appropriate topics are those not available in other courses.

1 - 4

CSCI 4950 Special Topics

Prerequisite: Permission of the instructor. Selected topics not available in other departmental courses.

1 - 4

CSCI 4960 Internship and/or Cooperative

Prerequisite: CSCI 3410 with grade of C or better or approval of the Computer Science Program Coordinator. An individually designed and planned learning experience involving off-campus field experience and study in the private or public sector. A technical report documenting the experience will be presented to the Computer Science program coordinator.

1 - 15

CSCI 4999 Undergraduate Research

Prerequisites: Completion of all Area F computer science requirements with a grade of B or better and permission of the instructor. This course affords interested junior and senior students an opportunity to participate in a basic research experience with a member of the department faculty.

1 - 4