|
CS |
2244 |
Computer Programming I (3) |
| |
|
An introduction to a
programming language. Programming fundamentals include program structure,
assignment, data types, repetition, input/output, flow of control, and
functions. Program design development and testing is emphasized.
Prerequisite: MTH 1112. |
|
CS |
2260 |
Computer Programming II |
| |
|
A continuation of Computer
Science I to include advanced programming techniques including application
of arrays and advanced input/output. Students design, implement, and test a
number of moderately large programs.
Prerequisites: CS 2244 and MTH 1125
or 2201. |
|
CS |
2261 |
Foundations of Computer Science Concepts
(3) |
| |
|
A broad perspective of
computer science concepts intended as preparation for more in-depth coverage
in higher-level courses. Topics include machine and assembly language
programming, computer system organization and operation, logic circuits,
finite-state diagrams and programming language grammar.
Prerequisite:
CS 2244. |
|
CS |
2262 |
Business Systems Programming (3) |
| |
|
The study and application of a business-oriented programming
language. Students apply a structured, multiphase program
development process that features a series of steps involving
understanding of problems, formal problem definition, design
methodologies, program specification, breakdown, and files.
Topics include file processing, data validation, table handling,
calculations, input/output techniques, and report writing as
practiced in the application of computers to business data
processing.
Prerequisite:
CS 2260. |
|
CS |
2265 |
Advanced Programming 1 (3) |
| |
|
Provides student the
opportunity to gain experience and training in an additional high-level
language. The course focuses on advanced topics including objects,
structures, applets, graphics, exception handling, files, and streaming.
Prerequisite: CS 2260. |
|
CS |
3323 |
Data Structures (3) |
| |
|
A survey of data structures
that includes lists, ordered lists, linked lists, stacks, queues and trees.
Also included are measurement of program performance and how program
performance is affected by alternative data structures. These concepts are
presented within an object-oriented framework. Programming labs are
included.
Prerequisite: CS 2260, MTH 2215. |
|
CS |
3325 |
Operations Research (3) |
| |
|
Introduction to operations
research, linear programming, simplex-based sensitivity analysis and
duality, linear programming applications, network models, simulation,
waiting line models, Markov processes, forecasting, and inventory models.
Prerequisites: CS 3313, MTH 1126. |
|
CS |
3329 |
Analysis of Algorithms (3) |
| |
|
Alternative techniques to
solve computer science problems are presented. Problems include sorting,
searching, and graph traversal, lists, ordered lists, linked lists, stacks,
queues, and trees. These concepts are presented within an object-oriented
framework.
Prerequisite: CS 3323. |
|
CS |
3330 |
Data Structures and Algorithms (3) |
| |
|
A course in fundamental
data structures concepts and alternative techniques for solving real-world
problems in computer science. Concepts and application covered include
analysis of data representation and associated algorithms, including linked
lists, queues, stacks, arrays, graphs, trees, searching, sorting, string
matching, and the application of recursive techniques. The course will place
an emphasis on the implementation of various algorithms and data structures.
Prerequisites: CS 2260 and MTH 2215.
|
|
CS |
3331 |
Fundamentals of Artificial Intelligence
(3) |
| |
|
Approaches to the
definition of artificial intelligence and to the design and implementation
of intelligent computer systems. Topics include the Turing Test, Sourly;
Chinese Room, blackboard systems, logic programming, knowledge based
systems, scripts and schemas, and heuristic search techniques.
Prerequisite: CS 3323 or CS 3330. |
|
CS |
3332 |
Software Engineering I (3) |
| |
|
Topics are presented that
focus on the design and development techniques for large high quality
software systems. They include project management issues, analysis and
design methods, and approaches to testing.
Prerequisite: CS 3323 or CS 3330. |
|
CS |
3339 |
Fundamentals of Object-Oriented Programming (3) |
| |
|
The conceptual framework
for object-oriented programming and systems. Topics include classes, data
hiding, modularity, inheritance, and reusable code. They are presented
through the use of some object-oriented language.
Prerequisite: CS 3323. |
|
CS |
3347 |
Advanced Programming II (3) |
| |
|
Provides
student the opportunity to gain experience and training in an
additional high level language. Topics include interactive
techniques, arrays, multiple forms, data files and databases,
grids, graphics, OLE, DLL's and custom objects. Emphasis is on
finding creative solutions to application problems.
Prerequisite: CS 2260. |
|
CS |
3357 |
Logical Structures of Computer Design(3) |
| |
|
Boolean algebra and design
and minimization of combinatorial and sequential circuits. This course
includes laboratories that demonstrate how simple circuits are designed and
what problems may be encountered in design, such as hazards and race
conditions.
Prerequisites: CS 2261, MTH
2215. |
|
CS |
3365 |
Introduction to Computer Organization and
Architecture (3) |
| |
|
Organization and operation
of computer systems. Topics include hardware components of digital
computers, micro-programming, memory management, interrupt organization,
addressing modes, and instruction formats.
Prerequisite: CS 3357. |
|
CS |
3370 |
Nature of Programming Languages (3) |
| |
|
Basic principles and
concepts of programming languages including what a programming language is,
various paradigms that a language can follow, and how its syntactical and
semantic structures can be specified. The traditional object-oriented
paradigm will be presented as well as non-traditional paradigms based on
symbolic logic (logic programming) and on functions in lambda calculus
(functional programming). Prerequisite: CS 3323 or 3330. |
|
CS |
3372 |
Formal Languages and the Theory of
Computation (3) |
| |
|
Formal language theory,
including the Chomsky hierarchy, is presented. Emphasis is placed on regular
and context free grammars, finite state automata, and translators.
Prerequisite: CS 3370. |
|
CS |
4401 |
Special Topics in Artificial Intelligence
(3) |
| |
|
A continuation of
Fundamentals of AI. A topic of research including logic programming, fuzzy
sets genetic algorithms, artificial neural networks, or pattern analysis is
included. Prerequisite: CS 3331. |
|
CS |
4420 |
Introduction to Database Systems (3) |
| |
|
The fundamental concepts
and structures necessary for the design and implementation of a database
management system. Students design, load, and query a database using tools
such as E-R diagrams and SQL. Also includes data normalization and file and
index organization.
Prerequisite: CS 3323
or CS 3330. |
|
CS |
4443 |
Web-Based Software Development (3) |
| |
|
The essentials of Internet
programming. Students will design and write Web page applications utilizing
Internet programming techniques including scripting languages and hypertext.
Programs will manipulate many forms of data including hypertext, graphics,
audio, and video. Students use state-of-the-art development tools and design
methods to implement an enterprise web application. Prerequisite: CS 4420. |
|
CS |
4445 |
Data Communication and Networking (3) |
| |
|
An overview of local-area
and wide-area systems. Issues discussed include standards, topologies,
management, communication protocols, and security. Prerequisite: CS 3325 or CS 3330. |
|
CS |
4447 |
Systems Analysis and Design (3) |
| |
|
Study of the analysis of
computer-based information systems. Emphasis is placed on analysis,
specifications development, design, and development of information systems,
including the software and databases that support the business needs of
organizations. Both data-oriented and process-oriented design methods are
covered. Topics include the systems analyst, the systems development life
cycle, methodologies, development technology, systems planning, project
management, systems analysis, systems design, systems implementation, and
systems support.
Prerequisite: CS 3323 or CS 3330. |
|
CS |
4448 |
Operating Systems (3) |
| |
|
An overview of operating
system functions and components. Issues include process definition,
scheduling, and memory management. Various modern operating systems are
compared.
Prerequisites: CS 4445 and CS
3323 or 3330. |
|
CS |
4449 |
Applied Networking (3) |
| |
|
Computer networks and the
use of computer networks in industry environments. Topics covered include
client-server networks, network hardware and software, distributed
computing, user requirements, considerations in physical media and topology,
selection of Network Operating Systems (NOS), computing platforms, network
administration, applications software, internetworking components, and key
issues in network management.
Prerequisite: CS 4445; CS 4448 recommended. |
|
CS |
4451 |
Computer Security and Reliability (3) |
| |
|
Basic security concepts and
principles applied to real-world applications. Introduces the major elements
that go into a security implementation, including encryption,
authentication, access control lists, execution control lists, vulnerability
of operating systems, auditing, performing vulnerability analysis and risk
assessment, developing a security plan and protecting data, systems and
infrastructure. This course also builds on the fundamentals of reliability
and safety engineering, which include software reliability, growth models,
testing and stopping-rules, safety methods and redundancy.
Prerequisite: CS 3323 or 3330; CS 4448
recommended. |
|
CS |
4461 |
Software Engineering II (3) |
| |
|
This course is a
continuation of Software Engineering I with additional topics that include
software quality insurance and testing techniques. Students will design,
implement and test a large project.
Prerequisite: CS 3323 or CS 3330. |
|
CS |
4462 |
Special Topics in Object-Oriented
Programming (3) |
| |
|
This course is a
continuation of CS 3339. It presents the conceptual framework for the design
of object-oriented systems. Topics include re-factoring designs and design
patterns, presented through the use of some object-oriented language.
Prerequisite: CS 3339. |
|
CS |
4495 |
Special Topics in Computer Science (3) |
| |
|
Topics in computer science
that are not included in regular course offerings. Specific contents are
announced in the course schedule for a given term.
Prerequisites: senior standing or consent
of instructor. |