Computer Science Courses (CSCI designation)

CSCI 1145
3 credits
Computers and Computing
A first introduction to computer technology and applications for all disciplines. No prior computer experience is required. Topics include discussion of computer hardware and software, the societal impact of computers and computer applications in everyday life and business. Students will be introduced to word processing, use of spreadsheet and database programs and the elements of BASIC programming.
Fall, Spring
Spring 99 Syllabus

CSCI 1155
3 credits
Micro Operating Systems
A study of the MS-DOS and other IBM-PC-based operating systems, such as Windows, and Unix or OS/2. Topics include the nature and function of operating systems, the basic command structure for each operating system studied and shell or batch programming, where appropriate.
Prerequisite: CSCI 1145 Computers and Computing

CSCI 1205
3 credits
Introduction to Computer Programming: C++
An introduction to computer programming using the C++ language with emphasis on good software engineering practice and basic compter-science concepts. Topics include algorithm, design, top-down design, abstract data types, recursion, procedures, and scope rules.
Fall, Spring
Spring 99 Syllabus

CSCI 2211
3 credits
Discrete Structures
Set theory, algebraic structures, Boolean algebra and propositional logic, graph theory and other aspects of combinatorial mathematics.
Prerequisite: MATH 1201 Calculus I
Fall

CSCI 2215
3 credits
Introduction to Computer Science
Problem solving with data models, data structures and algorithms using C++. Exposure to areas of computer science such as complexity theory, computer architecture, software engineering, etc.
Prerequisite: CSCI 1205 Introduction to Computer Programming: C++ or equivalent
Spring
Spring 99 Syllabus

CSCI 2232
3 credits
Data Structures
Representation and manipulation of data by computer. Topics covered include linked lists, arrays, stacks, queues, deques, trees, sorting and searching.
Prerequisite: CSCI 2215 Introduction to Computer Science
Spring

CSCI 2247
3 credits
Assembly Language Programming
Fundamentals of digital computer logic, symbolic assembly language programming, macros; introduction to the assembly process, compilation process and operating systems. Selected topics.
Prerequisite: CSCI 1205 Introduction to Computer Programming: C++

CSCI 3278
3 credits
Operating Systems
Organization and architecture of computer systems. Introduction to operating systems principles. Interrelationships between operating systems and computer systems architecture.
Fall

CSCI 3304
3 credits
Computer Organization
Fundamentals of logic design and organization and structuring of major hardware components of computers. The mechanics of information transfer and control in a digital computer system.
Prerequisites: CSCI 2211 Discrete Structures and CSCI 2247 Assembly Language Programming
Spring

CSCI 3306
3 credits
Organization of Programming Languages
The organization of existing programming languages and the run-time behavior of programs. Introduction to the formal study of program language specification and analysis.

CSCI 3308
3 credits
Translation of Computer Languages
An introduction to compiler construction. Topics include scanning, parsing, semantics and code generation, with emphasis on simple precedence and operator precedence grammars.
Prerequisite: CSCI 1207 Introduction to C Programming or equivalent.

CSCI 3309
3 credits
Numerical Analysis: Analysis
Numerical solution of problems in analysis using the computer interpolation approximation, numerical integration and differentiation, solution of nonlinear and differential equations.
Prerequisites: CSCI 1205 Introduction to Computer Programming: C++, CSCI 2206 Computer Programming II or CSCI 1207 Introduction to C Programming and MATH 2210 Differential Equations

CSCI 3310
3 credits
Numerical Analysis: Linear Algebra
Numerical solution of problems in linear algebra and related subjects using the computer.
Prerequisites: CSCI 1205 Introduction to Computer Programming: C++, CSCI 2206 Computer Programming II or CSCI 1207 Introduction to C Programming, MATH 2210 Differential Equations and MATH 3220 Linear Algebra

CSCI 3312
3 credits
Theory of Computing
Finite state deterministic and nondeterminisitic automata, pushdown, linear bounded and infinite automata, formal languages and computability.

CSCI 3315
3 credits
Software Design
An introduction to the principles of formal software design. Topics include software requirements generation, system specification, program development techniques, programming language issues, abstraction, information hiding, structured analysis, program documentation, testing, maintenance, reliability and security. The course will use a number of programming and writing projects and case studies to reinforce to concepts discussed.
Prerequisite: CSCI 2215 Introduction to Computer Science

CSCI 3316
3 credits
Local Area Networks
Coverage of the concepts, issues, and implementation of local area network hardware and software for PCs. The course includes in-depth coverage of and hands-on experience with one of the major local area network products.
Prerequisites: CSCI 1145 Computers and Computing and CSCI 1155 Micro Operating Systems or CSCI 2215 Introduction to Computer Science

CSCI 3324
3 credits
Computer Graphics
Study of the software, hardware, and mathematical tools required for the presentation, manipulation, and display of topological and two- and three- dimensional objects, and the application of these tools to specific problems.

CSCI 3330
3 credits
Database Management Systems
Introduction to the theory, design, and implementation of database management systems. Relational, network, and hierarchical models. Database processing. Role of the database administrator.
Prerequisite: CSCI 2232 Data Structures or equivalent

CSCI 3335
3 credits
Nonnumerical Computing
An introduction to list processing and other nonumerical techniques using the LISP programming language.
Prerequiste: CSCI 2232 Data Structures

CSCI 3371
3 credits
Modeling and Simulation I
Definition of systems. Input, output, and state variables. Continuous and discrete dynamical systems. Differential equations and their use in modeling. The CSMP language and its use.
Prerequisites: MATH 2203 Calculus III and knowledge of a programming language

CSCI 3372
3 credits
Modeling and Simulation II
Modeling and computer simulation of discrete systems characterized by large numbers of discrete events. Study and use of discrete system simulation languages.

CSCI 4391
1 credit
Senior Project I
The first phase of a senior project is to be completed under the direction of a faculty member. The project will generally involve the development of a software system, in which case the first phase involves development of requirements and design documents, project schedule, and test plan. Alternatively, the project may take the form of a cooperative education experience.
Fall

CSCI 4392
2 credits
Senior Project II
The second phase of the senior project. The may involve coding, debugging, and testing of the software system being developed, or a continuation of the cooperative ducation experience.
Prerequisite: CSCI 4391 Senior project I
Spring

CSCI 4401
6 credits (3 credits each semester)
Selected Topics in Computer Science
Advanced studies in special fields of computer science.

CSCI 4430
1-3 credits each semester
Selected Studies in Computer Science
Studies in an area of computer science.

CSCI 4477
1-3 credits each semester
Honors Research and Thesis

CSCI 4800
1-3 credits each semester
Independent Study in Computer Science
Independent study under the direction of a specific faculty member after consultation with the department chairperson.