COMP 100 COMPUTERS: THEIR IMPACT & USE (3)
Three hours lecture in the lab per week
An introduction to the uses, concepts, techniques, and terminology of computing. Places the possibilities and problems of computer use in historical, economic, and social contexts. Shows how computers can assist in a wide range of personal, commercial, and organizational activities. Typical computer applications, including word processing, spreadsheets, and databases. Not open to Computer Science majors.
GenEd: B4
Ìý
COMP 101 COMPUTER LITERACY (3) [top]
Three hours lecture in the lab per week
An introduction to computer applications, including web applications, word processing, spreadsheets, databases and programming. Includes service learning component. Not open to Computer Science majors.
GenEd: B4
Ìý
COMP 102 WEB DEVELOPMENT (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 101 or consent of the instructor
Introduction to the design and development of web pages. Use of HTML and scripting languages. Use of multimedia content. Current web development tools. Including web site database applications.
GenEd: B4
Ìý
COMP 105 COMPUTER PROGRAMMING INTRODUCTION (3) [top]
Three hours lecture in the lab per week
Provides a balanced view of computing and provides an introduction to the world of computer science. In depth coverage of the design, development, and expression of algorithms. Covers a variety of concepts relevant to the beginning student, including computer organization and design. Not open to students who have completed COMP 150.
GenEd: B4
Ìý
COMP 150 OBJECT-ORIENTED PROGRAMMING (4) [top]
Four hours lecture in the lab per week
Prerequisite: Programming experience
Introduction to algorithms, their representation, design, structuring, analysis and optimization. The course introduces the concept of object paradigm, design and implementation of algorithms as structured programs in a high level language.
GenEd: B4
Ìý
COMP 151 DATA STRUCTURES AND PROGRAM DESIGN (4) [top]
Four hours lecture in the lab per week
Prerequisite: COMP 150
Introduction to data structures and the algorithms that use them. Review of composite data types such as arrays, records, strings, and sets. Topics include: the role of the abstract data type in program design.; definition, implementation and application of data structures such as stacks, queues, linked lists, trees and graphs; recursion; use of time-complexity expressions in evaluating algorithms.; comparative study of sorting and searching algorithms.
Ìý
COMP 162 COMPUTER ARCHITECTURE AND ASSEMBLY LANGUAGE (3) [top]
Three hours lecture per week
Prerequisite: COMP 150
An introduction to computer architecture, assembly language programming, system software and computer applications. Topics include: number systems and data representation; internal organization of a computer; primitive instructions and operations; Assembly language; language translation principles; overview of operating systems.
Ìý
COMP 232 PROGRAMMING LANGUAGES (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 151 and COMP 162
Discussion of issues in the design, implementation, and use of high-level programming languages. Topics include: historical background; how languages reflect different design philosophies and user requirements; technical issues in the design of major imperative (procedural) programming languages; other approaches to programming: functional programming, logic programming, and object-oriented programming.
Ìý
COMP 262 COMPUTER ORGANIZATION AND ARCHITECTURE (3) [top]
Three hours lecture per week
Prerequisite: COMP 151 and COMP 162
Extension of basic addressing concepts to more advanced addressability such as base register and self relative addressing. Topics include: comparative computer architecture focusing on such organizations as multiple register processors and stack machines; basics of virtual memory, input/output; introduction to the concept of microprogrammable systems; low-level language translation process associated with assemblers; system functions such as relocatable loading and memory management; application of data structure and hashing techniques to the above.
Ìý
COMP 337 SURVEY OF COMPUTER GAMING (3) [top]
Three hours lecture per week
This course provides the student with a broad understanding of the world of computer gaming. This includes the evaluation and analysis of the cutural, historical, literary, psychological, and technological impact of computer gaming on society. The course will survey the different types of computer games such as educational, sports, first person shooter, adventure, and strategy, along with an overview of the design, implementation, and testing issues that confront game developers. The student will construct, submit and evaluate several written reports during the semester.
GenEd: B4,Interdisciplinary
Ìý
COMP 345 DIGITAL IMAGE PROCESSING (3) [top]
Three hours lecture in the lab per week
Prerequisite: Consent of the instructor
An introduction to the basic concepts and techniques for digital image restoration and enhancement, analysis, coding and compression. The emphasis is on processes which analyze primarily two-dimensional discrete images represented at the pixel level, including filtering, noise reduction and segmentation. Fourier analysis techniques will be explored. Programming exercises will be used to implement the various processes, and their performance on synthetic and real images will be studied.
Same as PHYS 345, MATH 345
GenEd: B1,B4,Interdisciplinary
Ìý
COMP 350 INTRODUCTION TO SOFTWARE ENGINEERING (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 232 and COMP 262
Concepts and techniques for systems engineering, requirements analysis, design, implementation and testing of large scale computer systems. Principles of software engineering for production of reliable, maintainable and portable software products. Emphasis on functional analysis and structured design techniques. Topics include unit, integration and systems testing, configuration management, and software quality assurance practices. Participation in group activities involving analysis, design and implementation of a software intensive system. Introduction to Computer Aided Software Engineering (CASE).
Ìý
COMP 351 DISTRIBUTED COMPUTING (3) [top]
Three hours lecture per week
Prequisites: COMP 151
Learn effective use of remote objects and component technologies in computer programs. Study of fundamentals of distributed programming technologies. Build expertise in using modern tools and services to transparently integrate local and remote resources to solve problems.
Ìý
COMP 362 OPERATING SYSTEMS (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 262
Examination of the principal types of systems including batch, multi-programming, and time-sharing. Networked systems are also discussed. The salient problems associated with implementing systems are considered including interrupt or event driven systems, multi-tasking, storage and data base management, and input-output. Emphasis will be placed on some of the simple algorithms used to solve common problems encountered such as deadlocks, queue service, and multiple accesses to data. Projects will be implemented to reinforce the lectures.
Ìý
COMP 410 COMPUTER APPLICATIONS IN BIOMEDICAL FIELDS (3) [top]
Three hours lecture in the lab per week
Prerequisite: BIOL 201 or consent of the instructor
Current applications of computers and data processing technology to the understanding and solving of specific problems in biomedical fields.
Ìý
COMP 420 DATABASE THEORY AND DESIGN (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 350
Topics include: database structure including: structure definition, data models, semantics of relations, and operation on data models; database schemas: element definition, use and manipulation of the schema; elements of implementation.; algebra of relations on a database; hierarchical data bases. Discussion of information retrieval, reliability, protection and integrity of databases.
Ìý
COMP 421 UNIX FOR PROGRAMMERS (3) [top]
Three hours lecture per week
Prerequisite: COMP 151and COMP 362
In this course students will become proficient in the use of Unix operating environment including command line Unix utilities, vi and emacs editors, regular expressions, text processors and Unix shells. Discover fundamental Perl and its application in programming CGI. Learn how to write in C utilities that control the operating environment through the use of system calls. Find out how to develop programs using Unix facilities.
Ìý
COMP 422 DESIGN OF COMPILERS (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 232
Organization of compilers including lexical and syntax analysis, symbol tables, object code generation, code optimization techniques, and overall design. Compilation techniques and run-time structures.
Ìý
COMP 424 COMPUTER SYSTEM SECURITY (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 350
Security techniques in operating systems, data bases, and computer networks. Analysis of formal security models. Introduction to cryptography, and public key security schemas.
Ìý
COMP 425 COMPUTER GAME PROGRAMMING (3) [top]
Three hours lecture per week
Prerequisite: COMP 151
This course focuses on exploring software techniques for development of computer-controlled games. The topics include: principles of game design, integrating graphics, animation and audio in games, game control including methods based on artificial intelligence, networking for multi-player games, game optimization and deployment, and game development cycles.
Ìý
COMP 429 COMPUTER NETWORKS (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 232 and COMP 362
Basic software design and analysis considerations in networking computers into coherent, cooperating systems capable of processing computational tasks in a distributed manner. Network topology, routing procedures, message multiplexing and process scheduling techniques will be discussed.
Ìý
COMP 437 FOUNDATIONS OF COMPUTER GAME DEVELOPMENT (3) [top]
Three hours lecture per week
Prerequisites: COMP 105, MATH 137, ART 205, ART 206 or instructor permission
This course lays down the foundation for a multi-disciplinary approach to computer game development. The students study game design principles followed by implementation methodologies and technologies. Management issues in the gaming industry are also examined. The students develop an understanding of how various perspectives from art, technology and business come together in the creation of compelling and profitable game entertainment.
GenEd: B4,Interdisciplinary
Ìý
COMP 445 IMAGE ANALYSIS AND PATTERN RECOGNITION (3) [top]
Three hours lecture in the lab per week
Prerequisite: PHYS/COMP/MATH 345 or consent of the instructor
The course addresses the issue of analyzing the pattern content within an image. Pattern recognition consists of image segmentation, feature extraction and classification. The principles and concepts underpinning pattern recognition, and the evolution, utility and limitations of various techniques (including neural networks) will be studied. Programming exercises will be used to implement examples and applications of pattern recognition processes, and their performance on a variety of diverse synthetic and real images will be studied
Same as PHYS 445, MATH 445
GenEd: B1,B4,Interdisciplinary
Ìý
COMP 447 SOCIETAL ISSUES IN COMPUTING (3) [top]
Three hours lecture in the lab per week
Prerequisite: Senior standing
A survey course on the role of the digital computer in modern society. Topics include: dangers of the misuse of computers, privacy, copyright, computer crime, legal and social issues, as well as the proper and intelligent use of the machines.
GenEd: B4,D,Interdisciplinary
Ìý
COMP 449 HUMAN-COMPUTER INTERACTION (3) [top]
Three hours lecture in the lab per week
Prerequisite: Programming experience or consent of the instructor
The information exchange between humans and computer systems will be examined. Aspects of input/output devices, software engineering, and human factors will be discussed with respect to human-computer interactions. Topics include: text and graphic display; user modeling; program design, debugging, complexity and comprehension; and current research studies and methodologies.
Same as PSY 449
GenEd: B4,E,Interdisciplinary
Ìý
COMP 451 ADVANCED OBJECT-ORIENTED PROGRAMMING (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 350
Principles of object-oriented design and programming based on languages such as JAVA, C++ and Smalltalk will be presented. Understanding of the role of objects, methods, message passing, encapsulation, and inheritance for effective programming will be stressed. Language structure versus particular engineering objectives will be analyzed. Design Patterns techniques will be an unifying theme.
Ìý
COMP 452 COMPUTATIONAL BIOINFORMATICS (4) [top]
Four hours lecture in the lab per week
Prerequisite: Programming experience and Statistics, or consent of the instructor
Basic computational models used in molecular biology will be introduced. Topics include algorithms for string alignments, dynamic programming, structural superposition algorithms, computing with differential information, 3D motifs, Hidden Markov Models, phylogenetic trees, statistical/ information techniques for pattern recognition, genetic algorithms.
Same as MATH 452
Ìý
COMP 454 AUTOMATA, LANGUAGES, AND COMPUTATION (3) [top]
Three hours lecture in the lab per week
Prerequisite: MATH 300
Study of the relation of languages (i.e. sets of strings) and machines for processing these languages, with emphasis on classes of languages and corresponding classes of machines. Phrase structure languages and grammar. Types of grammars and classes of languages. Regular languages and finite state automata. Context-free languages and pushdown automata. Unrestricted languages and Turing Machines. Computability models of Turing, Church, Markov, and McCarthy. Applications to programming languages, compiler design, and program design and testing.
Ìý
COMP 464 COMPUTER GRAPHIC I (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 350 and MATH 240
Topics include: fundamental concepts of computer graphics; graphics devices; graphics languages; interactive systems; applications to art, science, engineering and business; trade-offs between hardware devices and software support.
Ìý
COMP 466 COMPUTER GRAPHIC II (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 464
Advanced concepts of computer graphics. Topics include computer graphics software and hardware, mathematical basis of geometric modeling, data base management in manufacturing environments, imagining and visualization.
Ìý
COMP 469 ARTIFICIAL INTELLIGENCE/ NEURAL NETS (3) [top]
Three hours lecture in the lab per week
Prerequisite: COMP 350 and COMP 362
An exploration of the use of computers to perform computations normally associated with intelligence, pattern formation and recognition using various backpro iterations. Stacks, decision trees and other modern mining tools and computational models for knowledge representation will be covered. Other topics may include natural language and imagining.
Ìý
COMP 490 TOPICS IN COMPUTER SCIENCE (3) [top]
Three hours lecture per week
Prerequisite: Upper-division standing
Current issues in computer science.
Ìý
COMP 492 INTERNSHIP (1-3) [top]
Prerequisite: Upper-division standing and program approval of written proposal
Supervised work and study in an industrial or scientific setting involving development of degree-related skills. All students are required to present their projects at the Senior Colloquium.
Ìý
COMP 494 INDEPENDENT RESEARCH (1-3) [top]
Prerequisite: Upper-division standing and program approval of written proposal
Supervised project involving theoretical research in the field of computer science and its applications. All students are required to present their projects at the Senior Colloquium.
Ìý
COMP 497 DIRECTED STUDIES (3) [top]
Prerequisite: Program approval of written proposal
Supervised project involving library research in the field of computer science or its applications. All students are required to present their projects at the Senior Colloquium.
Ìý
COMP 499 SENIOR COLLOQUIUM (1) [top]
One hour seminar per week
Prerequisite: Senior standing
Oral presentations of current advancements in the field, and reports on students' projects. Repeatable.
Ìý
COMP 510 ALGORITHMS (3) [top]
Three hours lecture per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Design strategies for algorithms and data structures. Theoretical limits to space and time requirements. Time/space trade-offs. Categories of problems and algorithms. Applications to business, bioinformatics, engineering, telecommunications and other disciplines. Open problems in the field.
Ìý
COMP 520 ADVANCED DATABASE SYSTEMS (3) [top]
Three hours lecture in the lab per week.
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
This graduate course covers advanced analysis of Relational Database Management Systems including their design and implementation. Topics include relational algebras, Entity Relation Diagrams, first, second, and third Normal Forms, data integrity constraints, triggers, query optimization, indexing, stored procedures, distributed databases, database administration issues, transaction processing and scheduling, object oriented database modeling, and data security.
Ìý
COMP 524 SECURITY (3) [top]
Three hours lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
A survey of security issues and techniques for stand-alone and networked computer systems including databases. Techniques such as auditing, risk analysis, cost-benefit analysis. Security standards. Application in various fields.
Ìý
COMP 529 NETWORK COMPUTING (3) [top]
Three hours of lecture in the lab per week.
Prerequisites: Prerequisite: Admission to the Computer Science or Mathematics Graduate Program and Consent of the Instructor
Design and programming in Java of distributed systems that use telecommunication networks as their computing platform.
Ìý
COMP 532 COMPUTATIONAL BIOINFORMATICS (3) [top]
Three hours of lecture in the lab per week.
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program and consent of the instructor
Contemporary computational models used in molecular biology and structures simulations will be introduced. Topics include dynamic programming, statistical/ information techniques for pattern recognition, algorithms for string alignments, structural superposition algorithms, computing with differential information, 3D motifs, Hidden Markov Models, phylogenetic trees, genetic algorithms.
Ìý
COMP 549 HUMAN-COMPUTER INTERACTION (3) [top]
Three hours lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
The design, development and analysis of effective interfaces to computer systems. Trends in graphical user interfaces.
Ìý
COMP 550 OBJECT-ORIENTED SOFTWARE ENGINEERING (3) [top]
Three hours lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program and consent of the instructor
Fundamentals of Object-Oriented Design and Analysis. Designing systems with Unified Modeling Language (UML) and patterns. Applications to other fields.
Ìý
COMP 566 GEOMETRY & COMPUTER GRAPHIC (3) [top]
Three hours of lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Algorithms for geometric analysis and retrieval of 3D shapes from large 3D databasescommon in several fields, including computer graphics, computer-aided design, molecular biology, paleontology, and medicine. The focus of study will be recent methods for matching, registering, recognizing, classifying, clustering, segmenting, and understanding 3D data.
Ìý
COMP 569 ARTIFICIAL INTELLIGENCE (3) [top]
Three hours of lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
The course covers the many aspects of how human intelligence might be encoded in computer programs and mechanisms such as robots. This includes topics in Natural Language Processing, Computer Vision, Expert Systems, and Automated Problem Solving.
Ìý
COMP 571 BIOLOGICALLY INSPIRED COMPUTING (3) [top]
Three hours of lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Study of computing paradigms that have roots in Biology including Neuromorphic Systems, Evolutionary Systems, Genetic Programming, Swarm Intelligence and Artificial Immune Systems.
Ìý
COMP 572 NEURAL NETWORKS (3) [top]
Three hours of lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Covers the basic ideas of distributed computation with many simple processing units, similar to the neurons of the brain. Topics include: Hopfield style networks applied to optimization problems, and the backpropagation method applied to pattern classification problems. Additional topics include associate memory, binary vs. analog networks, simulated annealing.
Ìý
COMP 575 MULTI-AGENT SYSTEMS (3)Ìý[top]
Three hours lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Analysis of design issues that currently confront software engineers as they define the electronic ecosystem that will be housed in the computer networks of the future. The course focuses on state-of-the-art agent technology. In this course the student will build an agent development framework and then implement several intelligent agents.
Ìý
COMP 578 DATA MINING (3) [top]
Three hours lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
This graduate course covers the fundamentals of Data Mining. Topics include: the analysis of patterns of data in large databases and data warehouses, the application of statistical pattern recognition, and data modeling and knowledge representation. Applications in large databases and gene hunting.
Ìý
COMP 581 MATHEMATICAL METHODS IN ARTIFICIAL INTELLIGENCE (3) [top]
Three hours of lecture in the lab per week
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
This course presents several branches of mathematics that provide computational basis for Artificial Intelligence. The course covers Trees and Search, The Concepts of Predicate Logic, The Theory of Resolution, Nonmonotonic Reasoning, Probability Theory, Bayesian Networks, Fuzziness and Belief Theory, Classifier Systems, Math for Neural Networks, Elements of Statistics, Decision Trees and Optimization.
Same as MATH 581
Ìý
COMP 597 MASTER THESIS (1-9) [top]
Supervised research in the field of computer science or its applications. Required to present their research at Graduate Seminar.
Ìý
COMP 598 MASTER PROJECT (1-9) [top]
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Supervised industrial or scientific project involving design of new solutions in various applications. Required to present projects at the Graduate Seminar.
Ìý
COMP 599 GRADUATE SEMINAR (1) [top]
Prerequisite: Admission to the Computer Science or Mathematics Graduate Program
Oral presentations of current advancements in the field, reports on students' research, master thesis, and projects. Repeatable.
Ìý