Computer Science (CSCI)
200 Introduction to Computer Science and BASIC (3 - Fall & Spring) Concepts of
computer systems, communications, networks, operating systems, systems software
and digital media. Beginning programming using Visual Basic. Intended for
students proficient in the use of computer applications or students desiring an
introduction to programming. Credit may not be received for both CSCI 200 and
CSCI 201. Credit does not apply to computer science major or minor requirements.
201 Introduction to Computer Applications (3 - Fall & Spring) Concepts of
computer systems and procedures including software applications, input and
output, data storage, communications and networks, internet and world wide web,
and operating systems and system software. Emphasis on using integrated software
tools on the microcomputer which include word processing, spreadsheet, database,
presentation graphics, communications, web browsers, electronic mail, personal
information management, and multimedia authoring. Credit may not be received for
both CSCI 200 and CSCI 201. Credit does not apply to computer science major or
minor requirements.
221 Programming Concepts and Problem Solving I
(3 - Fall & Spring) Computer history, problem solving algorithms, control structures,
representation of data. Introductory programming in the C++ language. Intended
for computer science majors.
222 Programming Concepts and Problem
Solving II (3 - Fall & Spring) A programming intensive continuation of Comp Sc 221 For
computer science majors. Non-computer science majors may be admitted with
departmental approval. May be used as one of the programming language
requirements for a minor in computer science. Prereq: Grade of C or better in
CSCI 221.
226 Intermediate Programming in a Second Language (3 - Spring)
Detailed study of programming in a language other than that studied in CSCI 221.
Emphasis placed on competent programming in the selected language, understanding
the language's main application areas, history, basis for creation, advantages
and disadvantages. Prereq: CSCI 221.
230 FORTRAN Programming (3 - As Needed)
Concepts of the FORTRAN language including file handling techniques. Prereq:
MATH 160, 185, or 251. (Same as previously deleted MATH 230)
231
Computer Programming for Engineers (3 - As Needed) Design and implementation of computer
programs for engineering problem solving, algorithm development, basic
statistical and numerical methods. Intensive programming in the "C" language.
Introduction to program constructs in structured BASIC, FORTRAN, and C++. Coreq:
MATH 251.
250 COBOL Programming (3 - Fall) Introduction to Common
Business Oriented Language using structured methodology. Problem solving
directed toward business applications. Prereq: CSCI 200 or CSCI 201 or CSCI 221
or departmental approval.
260 RPG Programming (2 - Spring) Report Program
Generator with applications and programs oriented to commercial fields. Prereq:
CSCI 200 or CSCI 201 or CSCI 221 or departmental approval.
290
Special Topics in Computer Science (1-3 - Fall) Lectures and/or laboratory work
relating to specialized topics in computer science. Course may be repeated with
total credits not to exceed six (6) hours. May be offered on a pass/fail basis.
Prereq: Instructor's approval.
301 Discrete Systems (3 - Spring) Logic,
sets, relations, functions, Boolean algebra, logic gates, matrices, axioms and
proof techniques, induction, graph theory, trees and automata. Prereq: MATH 140
or 160 or 185 or 251. Credit may not be received for both MATH 241 and CSCI 301.
320 Assembler Language and Computer System Organization (3 - Fall)
Structure of digital computers, introduction to machine language, number
representations, symbolic coding and assembler language, register sets,
instruction types, addressing modes, input-output subroutines, segmentation,
paging, and introduction to operating systems.. Prereq: CSCI 222.
325
Data Structures (3 - Spring) Detailed study of data structures and their
implementations. Strings, lists, queues, stacks, graphs, trees, B-trees, AVL
trees, sparse arrays. File structures, recursion, sorting, searching, hashing.
Prereq: CSCI 222.
335 Object Oriented Programming (3 - As Needed) Advanced
programming using the language C++, data types, pointers, structures, unions,
prefix, infix and postfix operators, flow of control, passing parameters, static
and automatic variables, recursion, external declarations, and separate
compilation, functional programming, the C pre-processor and macros. Creation of
software tools and utilities, development of user applications. Prereq: CSCI
222.
340 (540) Numerical Analysis (3 - As Needed) Formulation of numerical
problems for solution on a digital computer. Error analysis and control,
nonlinear equations, differentiation, integration, systems of equations,
differential equations, curve fitting and eigenvalue problems. Prereq: CSCI 221
and MATH 252; CSCI 301 or MATH 310. (Same as MATH 340/540)
350
Advanced COB0L (3 - Spring) Business programming applications using advanced features
of COBOL with emphasis on programming style, techniques. and structured
programming. Prereq: CSCI 250.
351 Object Oriented System Analysis
and Design (3 - Fall) Study of the systems development life cycle system, various
types of systems including business and government. Methods of designing
systems, data management, input and output design, hardware selection and
methods of information processing. Prereq: CSCI 221 or 250.
352
Object Oriented Systems Development (3 - Spring) Practical applications involving an
in-depth study of technical issues and design methodologies used in the design
of decision support systems. Prereq: CSCI 351.
360 Introduction to
Computer Networks (3 - Fall) Fundamentals of Microcomputer connectivity and
communications. Local and wide area network basics, networking architecture and
standards. Network protocols including TCP/IP. Comparison, installation, and
maintenance of Network Operating System. Prereq: CSCI 200 or 201; CSCI 221 or
250.
380 Artificial Intelligence (3 - As Needed) Introduction to artificial
intelligence, pattern recognition and classification, fuzzy set logic, natural
language user interfaces, learning machines and adaptive systems, object
oriented programming inference and rule based systems, arity, expert systems,
associative systems, forward and backward chaining backtracking depth first and
breadth first searching. Programming in languages appropriate to A.I. Prereq:
CSCI 222 and 301.
385 Parallel Computing (3 - As Needed) Introduction to
Fundamentals of Parallelism, Parallel computation models which include parallel
algorithms and parallel architectures, performance and scalability of parallel
systems, parallel algorithms and programming for well known numerical problems.
Prereq: CSCI 222 or CSCI 226.
410 (610) Data Base Management Systems
(3 - Fall) Fundamentals of data base processing. Network, hierarchical, and
relational data bases. Comparison of data base systems. Data base
implementation. Prereq: CSCI 222 or CSCI 250.
420 (620) Computer
Organization and Architecture (3 - Fall) A study of the organization of modern
computer systems, memory organization and management features, virtual memory
systems interrupt service, multiprogramming, hardware and software equivalency,
RISC and large instruction set machines, logic emulation, variable
architectures, multilevel machines, stack and pipeline architectures.
Concurrency in computation. The organization of microcomputers, medium and large
computer systems. Special architectures. Prereq: CSCI 320 and CSCI 325.
445 (645) Computer Graphics (3 - Fall) Frame buffers, display files,
graphics primitives, transformations of two-dimensional spaces, windows,
viewports, clipping, covering, transformations of three-dimensional space,
parallel and perspective projections, stereoscopic views, hidden line
algorithms. Prereq: CSCI 222; CSCI 301 or MATH 241.
458 Decision
Support and Expert Systems (3 - As Needed) Introduction to principles of DSS and Expert
Systems. Examine different expert systems and expert shells. Development of
knowledge bases and expansion of expert shells. Prereq: CSCI 221 or 250.
470 (670) Organization of Programming Languages (3 - Spring) Syntax and
basic characteristics of grammars, Backus-Naur form, language constructs,
dynamic and static storage allocation, binding time, interpreted versus compiled
languages, lexical analysis, parsing, special purpose languages. Prereq: CSCI
320.
475 Compilers, Interpreters, and Language Translators (3 - Fall, Even Numbered Years)
Theory of compilable languages, construction of software for compiling,
interpreting, and translating computer languages. Study of various types of
translators, implementation of a translator for a language. Prereq: CSCI 320 and
325.
485 (685) Computer Operating Systems (3 - Spring) A study of
operating systems, processing of l/O and interrupt service, buffering, spooling
and memory management services, security and error protection, systems
accounting and resource allocation, multiprogramming and multi-processing,
inter-process communication, includes the study and use of several operating
systems. Prereq: CSCI 320 and CSCI 325.
490 (690) Special Problems
(1-3 - As Needed) Individual projects for students exhibiting special interests and
abilities in selected areas. Maximum of three hours applicable to minor
requirements. Course may be repeated with total credits not to exceed six hours.
Prereq: Departmental approval.
495 Senior Seminar Selected Topics:
[Title] (1 - Fall) Computer science and information systems, hardware, software.
Professional opportunities and issues, employment trends. Students are required
to write summary reports and give oral presentations. Graded on a pass/fail
basis. Prereq: Senior standing computer science majors.