150 Microcomputers and Software
Applications I (3) F, S, SU. Introduction to microcomputer hardware and
software. Topics include computer fundamentals, word processing, electronic
spreadsheets, data bases, and other microcomputer application areas. Solutions
for several problems using microcomputers and commercial software will be
required.
160 Microcomputers and Software
Applications II (3) (Prerequisite: 150 or permission of school) F, S,
SU. A continuation of 150; students will study additional concepts of microcomputers
and microcomputer applications software including: word processing, spreadsheets,
databases, and presentation software, emphasizing more advanced applications
and integration of the packages in dealing with typical professional usage.
175 Introduction to Network Use
(3) F, S, SU. Introduction to the use of networks. Topics include an overview
of network types and terminology: file transfer; use of on-line services,
bulletin boards; LANs and the Internet; e-mail; information resources; remote
access to host computers; connection via telephone lines; social and ethical
issues of networks; and a survey of trends in network development.
190 Programming Fundamentals
(3) F, S, SU. Introduction to problem-solving and algorithm development techniques
based on the program development process. Study of basic computer concepts
and computer systems; elementary data types and date structures; input and
output processing; control structures; modular program design; elementary
file processing; algorithm design and evaluation. Students will apply these
ideas by analyzing specifications, designing solutions, and implementing programs
based on this analysis and design.
212 Introduction to FORTRAN
(3) (Prerequisite: Eligibility to take Math 111 [or higher] or permission
of school) (Same as Math212) F, S, SU. A study of programming to include input
and output procedures, arithmetic and logical operations, DO loops, branching
procedures, arrays, declaration statements, and subroutines. Application of
these ideas by writing, running, and correcting programs.
225 Modern Programming (3) (Prerequisite:
A grade of C or better in 190 or permission of school) F, S, SU. A continuing
study of the concepts presented in CS 190. Topics include problem solving,
algorithm and program development, data types and operation, objects and classes,
arrays, and event-driven programming.
226 Programming and Algorithmic
Design I (3) (Prerequisite: C or better in 190 or permission of school)
F, S, SU. Introduction to problem-solving with algorithm and program development.
Includes: problem analysis, algorithm representation and verification, scalar
and structured data types, file input and output, techniques for program design,
coding, testing, and documentation and basic sorting, and searching algorithms.
227 Programming and Algorithmic
Design II (3) (Prerequisite: 226) F, S, SU. Continuing study of algorithmic
design, implementation, and analysis including object oriented design and
implementation, abstract data types, stacks, queues, and linked structures.
280 Digital Systems Design (4:3-3)
(Prerequisites: A grade of C or better in 212, or 227, and a grade of C or
better in Math 230) F. Starting from a description of digital circuits regarding
as functional blocks, the course leads to a consideration of the logical design
of combinational and sequential digital systems. Topics include binary representation
of information, gate types, combinational circuit design, counters, registers,
arithmetic circuits, sequential circuit design, and programmed logic. Students
will gain practical experience by applying lecture material in a hands-on
laboratory setting.
310 Computer Architecture and Organization
(3) (Prerequisite: A grade of C or better in 280) S. A study of hardware organization,
memory addressing and structure, CPU-memory I/O relationships, organization
of computer processors, memories, and interconnections. Students will look
at processor control, data units, memory structure, microprogramming, the
role of assembly language, timing, I/O design, current architectures, and
alternate hardware designs. Must have a 2.25 GPA or higher in all courses
which are required in the computer science major or minor.
313 Systems Design and Development
(3) (Prerequisite: A grade of C or better in 226. Pre/corequisite: CS227)
F, S, SU. Development of computerized systems focusing on structured systems
analysis and its application to information system software development. Emphasis
will be on problem analysis, correctness, reliability, and maintainability.
Must have a 2.25 GPA or higher in all courses which are required in the computer
science major or minor.
318 Data Structures and Algorithm
Analysis (3) (Prerequisite: A grade of C or better in 313) F, S. An overview
of the structure and implementation of data structures, including lists, trees,
heaps, and tables, and an examination of searching, sorting and other algorithms,
including implementation and analysis of their efficiency. Must have a 2.25
GPA or higher in all courses which are required in the computer science major
or minor.
330 Special Topics in Computer Science
(3) (Prerequisite: Permission of school) As Needed. In-depth study of an area
of interest in computer science. Different areas of study will be offered.
Must have a 2.25 GPA or higher in all courses which are required in the computer
science major or minor. Must have a 2.25 GPA or higher in all courses which
are required in the computer science major or minor. May be taken twice for
academic credit with departmental approval.
340 Software Design and Development
(3) (Prerequisite: A grade of C or better in 318 or permission of school)
S. Design techniques used in creating large program packages, organization
and management of projects, and application of techniques in team projects.
Must have a 2.25 GPA or higher in all courses which are required in the computer
science major or minor.
350 Theory of Computation (3)
(Prerequisite: A grade of C or better in 318 and Math 230) F. Introduction
to the abstract concepts encountered in machine computation. Topics include
finite automata, regular expressions, and formal languages, with emphasis
on regular and context-free grammars. Questions related to decidability and
undecidability are looked at by considering various models of computation
including Turing machines, recursive functions, and universal machines. Must
have a 2.25 GPA or higher in all courses which are required in the computer
science major or minor.
360 Introduction to Computer Graphics
(3) (Prerequisite: A grade of C or better in 318; Math 304 is strongly recommended)
F. Principal topics include graphics devices, vector vs. raster graphics,
lines and curves, animation, linear transformations, three-dimensional graphics
and wire-frame models, and viewing objects with the synthetic camera. Must
have a 2.25 GPA or higher in all courses which are required in the computer
science major or minor.
401 Programming Languages (3)
(Prerequisite or Co-requisite: 350) S. Formal language concepts, language
syntax and semantics, language design and implementation, data types, data
abstraction, control structures, procedure mechanisms, lexical analysis, parsing,
and run-time organization as exemplified by a variety of programming languages
and paradigms. Must have a 2.25 GPA or higher in all courses which are required
in the computer science major or minor.
410 Operating Systems (3) (Prerequisite:
A grade of C or better in 310 and 318) F. Sequential processes and concurrent
program concepts and their application to operating system design; synchronization
constructs: monitors, conditional critical regions, and the use of semaphores;
resource concepts, resource allocation and management; dynamic protection
and the structure of operating systems. Must have a 2.25 GPA or higher in
all courses which are required in the computer science major or minor.
420 Compiler Construction (3)
(Prerequisite: A grade of C or better in 318 and 350; prerequisite or Co-requisite:
401) AF. Syntax and semantic analysis of source and target language; language
translation and translators; a one-pass compiler model; phases of a compiler;
lexical and syntax analysis; parsing; error recovery; intermediate code generation;
code optimization; final code generation. Must have a 2.25 GPA or higher in
all courses which are required in the computer science major or minor.
425 Numerical Analysis (3) (Prerequisite:
Mathematics 203 and a grade of C or better in one of 212 or 227) (Same as
Math 425) F. Techniques and types of errors involved in computer applications
to mathematical problems. Topics include techniques for solving equations,
systems of equations, and problems in integral calculus. Computer solutions
for several problems will be required. Must have a 2.25 GPA or higher in all
courses which are required in the computer science major or minor.
430 Data Base Management Systems
Design (3) (Prerequisite: 313 or permission of the program) AS. Close
study of the goals of DBMS, various data models and their implementations,
normalization, file organization, security, and integrity. Must have a 2.25
GPA or higher in all courses which are required in the computer science major
or minor.
437 Artificial Intelligence
(3) (Prerequisite: A grade of C or better in 318 and Math 230; 350 is recommended.)
AS. An introduction to the fundamental principles of artificial intelligence:
problem-solving methods, state-space representation, heuristic search, problem-reduction
techniques, machine inference, game-playing, knowledge representation, and
cognitive processes. Applications of these concepts to practical problems
in society will be considered, looking at
such areas as neural networks, expert systems, robotics, natural language
processing, and computer vision. Must have a 2.25 GPA or higher in all courses
which are required in the computer science major or minor.
440 Computer Networks (3) (Prerequisite:
A grade of C or better in 310 and 318) AF. A consideration of the technology
and architecture of computer networks, emphasizing principles and concepts
of both logical and physical connectivity and communication. Particular attention
will be placed on network topology, transmission media, medium access, standards,
internetworking, and network management and security.
480 Senior Seminar (3) (Prerequisite:
Senior Status or approval of the program) F, S. Students will be expected
to plan, carry out, and present the results of research projects. Faculty
and off-campus speakers will be invited to make presentations on current trends
in the computer industry including social and ethical issues as well as technical
topics. Students will participate in various forms of assessment of their
academic preparation. Must have a 2.25 GPA or higher in all courses which
are required in the computer science major or minor.
497 Special
Studies (3), (2), or (1) (Prerequisite: Permission of the program) As
Needed. Open only to juniors or seniors with a GPA of 3.0 or higher in their
major courses. A maximum of 3 semester hours may be earned. Academic Committee
approval required for each seminar and practicum. All individual research
projects are reviewed by three faculty members from two different disciplines.
Must have a 2.25 GPA or higher in all courses which are required in the computer
science major or minor.