|
CIS 2200 Basic Microcomputing
(3)
This
course provides an interdisciplinary introduction to microcomputer
literacy, word processing, spreadsheets, database, business graphics and
the internet. NOTE: Cannot be used to satisfy the
major or minor requirements in Computer & Information
Science.
May not
be audited.
CIS 2240 Introduction to Computer Science
(3)
The
advanced techniques of standard business applications including, but not
limited to, spreadsheets, database, and presentation tools are
examined. The course briefly
covers programming concepts and is taught in a computer laboratory for
maximum hands-on experience.
Preq: CIS 2200 and MTH
1111
CIS 2244 Computer Science I
(4)
An
introduction to a programming language is provided. The course also
presents programming fundamentals, including program structure,
assignment, data types, input/output, flow of control, and functions. It includes top-down design,
structured programming using the basic control structures, sequence,
decision and repetition, modularization, and encapsulation. The phases of engineering of
software are introduced and techniques of program testing are
emphasized. The student
writes a moderate number of short programs. Prereq: MTH 1112. "C" or better to advance for CIS
majors.
CIS 2260 Computer Science II
(4)
This
course is a continuation of Computer Science I. Advanced programming, including
arrays, pointers, strings, the pre-processor, structures, list processing,
and advanced I/O are examined.
Emphasis is placed on developing and testing moderately large
programs. Ethical issues in
computing will be discussed.
The student writes a number of programs, generally larger than
those written in Computer Science I.
Prereq: CIS 2244 and
MTH 1125. "C" or better to
advance for CIS majors.
CIS 2261 Foundations in Computer Science
(3)
A broad
introduction is presented to the concepts in computer science intended as
preparation for more in-depth coverage in upper level courses. Topics discussed include
fundamentals of Boolean predicate logic, gate and combinatorial logic
circuits, internal data representation, computer system organization,
machine and assembly language programming, operating systems, finite state
machines, and programming language grammars. This is not a programming language
course, although the student will write short machine and assembler
language programs.
Prereq: CIS
2260
CIS 2265 High-Level Language Programming
(3)
An
opportunity for a Computer Science major or minor to gain experience and
training in a secondary high-level language. Topics included the syntax,
advantages, disadvantages, limitations, and selected applications of a
language. Credit will not be
given toward a computer science major or minor if credit has been received
for the same language in another course. C/CPP, C/C++, J.JAVA, P.Prolog,
S.Smalltalk, L.Lisp.
Prereq: CIS 2260 or
consent of instructor.
CIS 3312 Discrete Mathematics
(3)
Discrete
mathematics with a computer science orientation is presented. Topics examined include
definitions of the algorithm concept, recursive definitions and recursive
algorithms, sets, relations, algorithm timing, finite state machines,
permutations and binomial coefficients, matrix representation of graphs
and graph algorithms, and discrete probability. Topics can also be drawn from
principles of inclusion and exclusion, generating functions, and discrete
simulation. Prereq: CIS 2260 and MTH 1126
CIS 3313 Probability and Statistics
(3)
Statistical methods with probabilistic foundations are
covered. Topics discussed
include independence and the normal distribution, central limit theorem,
data collection and sampling, testing of hypotheses, confidence intervals,
linear regression, and computational intensive techniques. Prereq: CIS 3312
CIS 3323 Data Structures
(3)
Abstract
data types, lists, ordered lists, arrays, linked lists, stacks, queues,
and trees are surveyed. The
course includes open laboratory assignments that include implementing a
stack with arrays, a queue with arrays, a stack with a linked list, a
queue with a linked list, and a queue of ordered lists using a linked list
of arrays. Prereq: CIS 3312
CIS
3325 Operations Research (3)
The
course includes introduction to operations research, introduction to
linear programming, simplex-based sensitivity analysis and duality, linear
programming applications, network models, simulation, waiting line models,
Markov processes, forecasting, and inventory models.
Prereq: CIS 3313 and
MTH 1126
CIS 3329 An Analysis of Algorithms
(3)
Alternative techniques to solve real-world problems in
computer science are presented.
Problems include sorting, selection, tree, graph, traversal,
priority queues, string matching, dynamic programming, polynomials, and
matrices. Principles and
techniques of measuring computational complexity, and introductions to
NP-completeness and parallel algorithms are discussed. The students write a moderate
amount of moderately sized programs.
Prereq: CIS 3313 and
CIS 3323
CIS 3331 Fundamentals of Artificial Intelligence
(3)
Approaches to defining artificial intelligence and the
building of intelligent computer systems are presented. The course includes discussion of
the Turning test, Sourly's Chinese room, blackboard systems, logic
programming, knowledge based systems, scripts and schemas, and heuristic
search techniques. Overviews
of genetic algorithms, artificial neural networks, statistical and
structural pattern analysis, and fuzzy sets are provided. The course includes three open
laboratory assignments involving a knowledge-based system, implementation
of a heuristic search, and an exploration of P.P. Prereq: CIS 3329
CIS 3332 Software Engineering I
(3)
Selected
topics are presented which focus on the design and development of tools
and techniques for large, high quality, cost effective software
systems. Prereq: CIS 3329
CIS 3339 Fundamentals of Object-Oriented Programming
(3)
A conceptual framework is
presented of object-oriented programming. Topics discussed include classes,
data hiding, member functions, object creation, overloading, inheritance,
parametric polymorphism, and reusable code. Students write a moderate amount
of small to medium-sized programs.
Prereq: CIS
3329
CIS 3343 Formal Languages and the Theory of Computation
(3)
Formal
language theory, including the Chomsky hierarchy, with emphasis on regular
and context free languages, finite state automata, and translators is
presented. Also discussed are
the principles of programming language design to include the analysis of
the generational differences among programming languages. Prereq: CIS 3370
CIS 3357 Logical Structures of Computer Design
(3)
Boolean
algebra, design and minimization of combinational and sequential circuits
are discussed. This course
includes six open laboratory assignments covering a introduction to
simulation software, implementation of a simple combinational logic
switching circuit, implementation of a combinational switching circuit
with a static hazard and modification of the same circuit to remove the
static hazard, implementation of a simple sequential circuit using a
single type of flip-flop, implementation of a sequential circuit using two
types of flop-flops, implementation of a sequential switching circuit
exhibiting a race condition and modification of the same circuit to remove
the race condition.
Prereq: CIS 2261 and
CIS 3312
CIS 3365 Introduction to Computer Organization and
Architecture (4)
Organization and basic architecture of computer systems. Topics include hardware components
of digital computers, micro-programming and memory management. Boolean algebra and logic
circuits; register transfer operations; design small computer; input,
output, and interrupt organization; powerful addressing modes, instruction
formats, and their hardware structures; micro-program control. Laboratory exercises involve
logical, functional properties of components from gates to
microprocessors. Prereq:
3357
CIS 3366 Social and Ethical Implications of Computing
(4)
Introduction to the impact of computers on society and the
ethical and legal issues confronting computer users and
professionals. Topics include
computer ethics, professional responsibility, intellectual property,
privacy, access, and the law.
May not count toward a minor in Computer & Information
Science. Prereq: junior standing and consent of the
department
CIS 3370 Nature of Programming Languages
(3)
General
criteria design, implementation, and evaluation of programming
languages. Historical
prospective. Syntactic and
semantic specification, compilations, and interpretation processes. Comparative studies of data types
and data control, procedures and parameters. Sequence control, nesting, scope
and storage management, run-time representations. Non-standard languages,
problem-solving assignments in a laboratory environment. Prereq: CIS 3323 and CIS 3365
CIS 4401 Special Topics in Artificial Intelligence
(3)
In-depth
study is conducted of a topic in current artificial intelligence
research. Topics for
consideration include genetic algorithms, artificial neural networks,
pattern analysis, logic programming, fuzzy sets, or other appropriate
research areas. The course
includes three open laboratory assignments representing the incremental
development of an appropriate project topic. Prereq: CIS 3331
CIS 4410 Compiler Analysis and Design
(3)
A study
of programming language structure, translation, loading, execution, and
storage allocation.
Compilation of simple expressions and statements. Organization of a compiler
including compile-time and run-time symbol tables, lexical scan, syntax
scan, object code generation, error diagnostics, object code optimization
techniques, and overall design.
Use of high-level language to write a complete compiler. Prereq: CIS 3365
CIS 4420 Introduction to Database Management Systems
(3)
The
study of the fundamental concepts and structures necessary for the design
and implementation of database management systems. Topics include database models
(entity-relationship, relational network, and hierarchical). Data normalization, data
description languages, query facilities, file organization, index
organization, file security, data integrity, and reliability. The student generates, creates,
loads and accesses a database using Database Management Systems. Prereq: CIS 2265
CIS 4445 Data Communications
(3)
Local
area network standards, topologies, technologies and management are
examined. Additional topics
include the interconnection of LANS, distributed computing, and
network-related security issues.
Prereq: CIS
3329
CIS 4446 Systems Analysis and Design
(3)
Investigation, design, appraisal and implementation of data
processing systems are presented.
Additional topics include I/O design, code standardization,
documentation, hardware and software selection, and case studies. Prereq: CIS 3332
CIS 4448 Operating Systems
(3)
An
overview is provided of operating system components and functions, process
description and states, concurrency and related issues, and scheduling and
memory management strategies.
This course includes two open laboratory assignments covering a
comparative exploration of several operating systems, and implementation
of a simulation of a rudimentary, multi-tasking operating system. Prereq: CIS 3329 and CIS 3365
CIS 4461 Software Engineering II
(3)
This
course is a continuation of Software Engineering I with additional topics
including software quality assurance, testing techniques, maintenance and
configuration management.
Student teams will design, develop, and implement a large
project. Prereq: CIS 3332
CIS 4462 Special Topics in Object-Oriented Technology
(3)
In-depth
coverage is presented of specific topics in object-oriented
technology. These topics can
include object-oriented systems analysis and design, object-oriented
databases, alternative object-oriented programming languages such as
Smalltalk, applications of object-oriented technology to computer
graphics, building general user interfaces (GUIs) and class construction
and management. Prereq: CIS 3339
CIS 4491-4492 Guided Independent Research
(1-3 hours per course)
Information indexed under "Guided Independent Research and
Study." Prereq: junior or senior
standing
CIS 4493-4494 Guided Independent Study
(1-3 hours per course)
Information indexed under "Guided Independent Research and
Study." Prereq: junior or senior
standing |