View: Text-Only | Mobile

 

Computer Information Science  College of Engineering 

Undergraduate Level 400 Courses

CIS 410 three credits
Programming Language Design
Prerequisites: CIS 360
Fundamental concepts and general principles underlying current programming languages and models. Topics include control and data abstractions, language processing and binding, the relationship between language design and language implementation. A variety of computational paradigms are discussed: functional programming, logic programming, object-oriented programming, and procedural programming

CIS 411 three credits
Seminar
Prerequisites: Senior CIS standing Advanced topics in Computer Science.

CIS 412 three credits
Artificial Intelligence
Prerequisites: CIS 360 or permission of instructor
Artificial intelligence problem-solving paradigms. The course covers heuristic versus algorithmic methods, rational and heuristic approaches, and description of cognitive processes; and objectives of work in artificial intelligence, the mid-brain problem and nature of intelligence, simulation of cognitive behavior, and self-organizing systems. Examples are given of representative applications.

CIS 421 three credits
Introduction to the Theory of Computing
Prerequisites: CIS 361
3 hours lecture
Several of the most significant models of computation will be reviewed, i.e., Turing machines, 1-calculus, predicate calculus. The traditional undecidibility results will be covered, along with the attempts to overcome the resulting limitations in restricted situations. Mechanical theorem provers will be considered. The resolution and unification predicate calculus methods will be discussed along with appropriate PROLOG programming assignments. The Boyer-Moore approach will be discussed, along with LISP programming assignments.

CIS 422 four credits
Design of Parallel Algorithms
Prerequisites: CIS 360 or permission of instructor
3 hours lecture, 2 hours laboratory
Design and analysis of algorithms for parallel computers with two modes of operation: shared memory, and message passing. Synchronous and asynchronous parallel algorithms for the following problems will be designed and implemented: selection, merging, sorting, searching, generating permutations and combinations, and matrix operations. Parallel computational complexity of these algorithms will be analyzed.

CIS 430 three credits
Data Mining and Knowledge Discovery
Prerequisites: CIS 360
Designed to provide students with a solid background in data mining and knowledge discovery concepts, tools, and methodology, as well as their applicability to real world problems. A variety of data mining techniques will be explored including memory-based reasoning, cluster detection, classification, neural networks, and finding understandable knowledge in large sets of real world examples. Some related topics such as web and multimedia mining will be discussed. Students will gain hands-on experience in data mining techniques using various data mining software packages and tools.

CIS 431 four credits
Human-Computer Interaction
Prerequisites: CIS 362 or permission of instructor
3 hours lecture; 3 hours laboratory
Theory and principles for constructing usable software systems. Cognitive and effective aspects of users. The impact of user characteristics on design decisions. The construction and evaluation of the user interface. Sensory and perceptual aspects of interfaces, task structure, input modalities, screen layout, and user documentation. Individual concerns for systems such as personal productivity tools, real-time control systems, instructional software, and games.

CIS 452 three credits
Database Systems
Prerequisites: CIS 280
Use of DBMS software in the development of an information system. Overview of the ANSI/SPARC Study Group on Database Management Systems model. Relational database model techniques. Emphasis on user views necessary to support data management and retrieval.

CIS 454 three credits
Computer Graphics
Prerequisites: At least junior CIS standing Graphics devices.
Two dimensional and three dimensional image representations and transformations. Graphics systems software architecture; graphics standards; packages.

CIS 455 three credits
Bioinformatics
Prerequisitess: CIS 360 and CIS 362; or permission of the instructor
Introduction to the field of bio-informatics. This course addresses the analysis of information present in biological systems. This course presents an overview of the applications of computing technologies such as analysis of protein sequence, pattern matching, bio-modeling and simulation, and biological data visualization. It also provides algorithms and methods on a selection of computational problems as well as hands-on experience with tools and data.

CIS 464 three credits
Computer Game Design
Prerequisitess: CIS 280, CIS 360, and MTH 112
Science, technology, and art involved in the creation of computer games. A variety of software technologies relevant to games including programming languages, scripting languages, networks, simulation engines, and multimedia design systems are discussed along with underlying scientific concepts from computer science and related fields including simulation and modeling, graphics, artificial intelligence, real-time processing, and game theory. The art and design principles for developing usable and engaging games including software engineering, human computer interaction, thematic structure, graphic design, choreography, music and sound effects, and game aesthetics are introduced and compared.

CIS 465 three credits
Topics in Computer Vision
Prerequisites: CIS 360 or permission of the instructor
Foundations of computer vision. Image formats, projection models, regions, filters, edge detection, segmentation, shape description and representation, object recognition and understanding, and stereo-vision are discussed.

CIS 467 three credits
Image Analysis and Processing
Prerequisites: CIS 360 or permission of the instructor
Fundamentals in image analysis and processing. Topics in image processing such as display and filtering, image restoration, segmentation, compression of image information, warping, morphological processing of images, wavelets, multi-resolution imaging and unitary transforms are discussed.

CIS 471 three credits
Compiler Design
Prerequisites: CIS 361
Organization of a compiler including lexical and syntax analysis, symbol tables, object code generation, error detection and recovery, code optimization techniques, and overall design. Compilation techniques and run-time structures in block-structured language

CIS 475 three credits
Computer Networks
Prerequisitess: CIS 370
Topology of computer networks. Physicaltransmission. Error handling. Protocols.Satellite, packet radio, and local networks.Network interconnection. Security.Applications of computer networks.

CIS 476 three credits
Network Programming
Prerequisites: CIS 370
Introduction to computer networks, and methods for programming network services and applications. The course covers the Internet protocol suite (e.g. IP, TCP, UDP), socket programming, and client-server design (e.g. connectionless, connection oriented, multiprotocol). The course discusses the implementation of real-time applications (e.g. streaming audio and video), and application -level gateways and tunneling. In addition, the course addresses protocol implementation using routing sockets and raw sockets. Programming projects represent a significant component of the course.

CIS 477 three credits
Computer and Information System Security
Prerequisitess: CIS 360 and CIS 370; or permission of the instructor
Introduction to computer and information system security. This course introduces the threats and vulnerabilities in computer and information systems. This course covers elementary cryptography, program security, security in operating systems, database security, network security, web and e-commerce security. It also covers the administration, legal, ethical, and privacy issues in computer security.

CIS 480 four credits
Software Engineering
Prerequisites: CIS 280, 362
3 hours lecture; 2 hours laboratory
Software engineering models and processes; total quality management. The course will address the technical, logistical, and social issues associated with the software development process. It will cover the issues of total quality management at the team and enterprise levels.
Note: Some graduate courses may be open to undergraduates. Please consult your department chairperson. See the Graduate Catalogue for graduate general and program requirements.

CIS 481 three credits
Parallel and Distributed Software Systems
Prerequisites: CIS 280, 370
Parallelism and distribution of processing; software bus concept; patterns in software design. The course provides an in-depth discussion of the software systems wit multiple processes and of the relationship between concurrency and distribution of processes. The concept of the software bus, the existing standards, and the issues associated with their implementation are covered.

CIS 490 three credits
Machine Learning
Prerequisites: CIS 360
Constructing computer programs that automatically improve with experience is the main task of machine learning. The key algorithms in the area are presented. Learning concepts as decision trees, artificial neural networks and Bayesian approach are discussed. The standard iterative dichotomizer (ID3) is presented, the issues of overfitting, attribute selection and handling missing data are discussed. Neural nets are discussed in detail, examples of supervised and unsupervised learning are presented. Instance-based learning, i.e. k-nearest neighbor learning, case-based reasoning are introduced. Genetic algorithms are discussed on introductory level.

CIS 491, 492 three credits each
Honors Project I, II
Prerequisitess: Junior standing, eligible for department honors program
The project courses required for completion of the departmental honors program. A significant experience in developing a computer system (typically), but equivalent alternatives are allowed. This system should require an extensive design effort prior to implementation and a serious effort for this implementation. It should have scholarly and/or practical value and might well profit by being interdisciplinary in nature.

CIS 495 variable credit
Independent Study
Prerequisitess: Upper-division standing; permission of instructor, department chairperson, and college dean Study under the supervision of a faculty member in an area not otherwise part of the discipline’s course offerings. Conditions and hours to be arranged.

CIS 196, 296, 396, 496 three credits
Directed Study
Prerequisitess: Permission of the instructor, department chairperson, and college dean Study under the supervision of a faculty member in an area covered in a regular course not currently being offered. Conditions and hours to be arranged.

CIS 498 four credits
Senior Software Engineering I
Prerequisitess: CIS 280, CIS 362
Two hours lecture and 4 hours laboratory
Part I of a two-semester sequence of team development of a software product for a specific customer. This capstone project utilizes and integrates knowledge and skill acquired through study of software engineering. Provides hands-on experience with large-scale problems form conception to implementation of the solution. The course is conducted in a framework of well-defined low-ceremony software process. The lecture covers software engineering models, quality management, risk management, and provides introduction to software processes. Technical, logistical, and social issues associated with software development are addressed.

CIS 499 three credits
Senior Software Engineering II
Prerequisites: CIS 498
One hour lecture and 4 hours laboratory
Part II of capstone project’s two -semester sequence of team development of a software product for a specific customer. This capstone project utilizes and integrates knowledge and skills acquired through the study of computer science. Provides hands-on experience with large-scale problems form conception to implementation of the solution. The course is conducted in a framework of well-defined low-ceremony software process. The lecture covers advanced software process issues including software process improvement and total quality management at the team and enterprise levels.

Contact Info: