COMPUTER SCIENCE COURSES (CS)
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 the program) 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 the program) (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
CS 190 or permission of the program) F, S, SU. A continuing study of the concepts
presented in CS 190. Topics include problem solving, algorithm and program development,
data types and operations, objects and classes, arrays, and event-driven programming.
226 Programming and Algorithmic Design I (3) (Prerequisite: C or better
in 190 or permission of the program) 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: C or better
in 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 (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 CS 226. Pre/corequisite: CS 227 ) 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 and 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 the program) 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 the program) 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 Corequisite: 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 Corequisite: 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: A grade of
C or better in 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 (2) (Prerequisite: Senior Status or permission 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.
Back to top