[+]
[-]
CS 7323 - Multiagent Systems
A thorough introduction of the research and application of techniques for coordination of multiple, autonomous agents sharing common resources and/or goals. Students will work in groups on a final research project.
[+]
[-]
CS 4513 - Senior Software Project II
Second of two-course sequence in software engineering. Involvement in actual requirements analysis, design, and implementation of a non-trivial software project. Emphasis on social and ethical implications of computing and software development, and on customer and team relations. Results of projects presented in writing. Oral presentations before staff and students required throughout semester.
[+]
[-]
CS 4123 - Theory of Computing
Finite automata. Regular languages and grammars. Properties of regular languages. Context free languages and grammars. Pushdown automata. Properties of context free languages. Chomsky hierarchy. Turing machines. Limits of algorithmic computation.
[+]
[-]
CS 5333 - Machine Learning
Comprehensive survey of computational mechanisms that allow autonomous agents to acquire knowledge and expertise, improving performance on a given set of tasks from experience. Covers symbolic and sub-symbolic schemes; supervised, reinforcement, and unsupervised learning; single agent and multiagent systems; robot learning; learning information agents; practical applications. Group work on final research project.
[+]
[-]
CS 4503 - Senior Software Project I
First of a two-course sequence in software engineering. Formal and semi-formal methods of specification and design will be used to describe the various requirements of a non-trivial software system.
[+]
[-]
CS 4163 - Database Systems
Thorough introduction to theory and practice of database systems. Emphasis on theoretical considerations involved in modeling data and designing easy to use, efficient database systems. Also covers practical issues of query languages and optimization, transaction processing, concurrency control and recovery techniques as well as embedding structured queries in high-level language.
[+]
[-]
CS 5403 - Secure Electronic Commerce
Electronic commerce technology, models and issues. Principles and case studies of electronic commerce. Introduction to security architectures for electronic commerce including digital signatures, certificates, and public key infrastructure (PKI). Legal and national policy electronic commerce issues.
[+]
[-]
CS 4253 - Artificial Intelligence
Comprehensive introduction to the principles and techniques of artificial intelligence (AI). Emphasis on scientific and technological motivations for AI. In-depth coverage of agents and environments, search techniques, game playing, knowledge representation, rule-based reasoning, logic, planning, learning, reasoning under uncertainty. Programming in LISP and rule-based languages.
[+]
[-]
CS 4333 - Network Programming
Foundations of computer network design: requirements, architecture, and software. Layering and protocols. OSI and Internet architecture. Direct link networks: building blocks, encoding, framing, error detection, reliable transmission and media access control.
[+]
[-]
CS 4013 - Compiler Construction
Algebraic language syntax and semantic definition. Languages, grammars and parsing algorithms. Semantics processing. Attribute grammars and syntax-directed translation. Declarations processing, type-checking, storage allocation, code generation.
[+]
[-]
CS 3053 - Operating Systems
Introduction to operating system design. Views of operating system as a computer resource manager and as coordinator of competing processes. Process synchronization and deadlock avoidance. UNIX as a standard example. Comparison of several current operating systems.
[+]
[-]
CS 2043 - Internet Visual Programing Applications
An introduction to Internet visual programming and applications. Major topics include objectoriented concepts, graphical user interfaces,visual design, event driven programming and actions, exception handling, threads, and animations. Students implement interactive applications that run on the Internet.
[+]
[-]
CS 2123 - Data Structures
Basic concepts of data, lists, strings, arrays, B trees, AVL trees, hashing, and algorithm analysis. Representation of trees and graphs, storage systems and structures, storage allocation. Emphasis on various algorithm techniques. Students will write programs in C++ and Java.
[+]
[-]
CS 2033 - Computer Architecture, Organization and Assembler
Introduction to computer hardware organization, instruction execution, and the relationships between higher-level programming languages and machine language. Information flow and control. Instruction and data representation. Assembly language features including control and communication with simple I/O devices and interfaces between assembly programs and high level languages. Survey of modern computer and microprocessor organization.
[+]
[-]
CS 2003 - Fundementals of Algorithms and Computer Applications
Continuation of CS 1043. Further development of a disciplined approach to design, coding, and testing of programs written in an object-oriented language. Various implementations of abstract data types, including lists, stacks, queues and introduction to trees. Introduction to algorithm analysis, sorting and searching.
[+]
[-]
CS 3003 - Comparative Programming Languages
Detailed analysis of the concepts and constructs of modern programming languages. Comparative study of programming languages. Emphasis on imperative languages; discussion of functional, object-oriented and logical programming languages.
[+]
[-]
CS 1043 - Introduction to Programming Problem Solving
Introduction to a disciplined approach to problem-solving methods and algorithm development using procedural and data abstraction. Coding, debugging, testing, and documentation, using an object-oriented development environment. Programming language is Java.