| |
Course Catalog
CSCI
103 111 112 191 192 193
203 211 223 251 259
300 305 311 323 345 353 361 387 390 391
405 423 433 444 450 475 487 490 495
500 501 502 503 517 520 521 523 524 525 530 531 533 541 550 551 555 561 562 575 581 582 595
ENGR
596 597 598
618 652 653 654 656 657 659 660 661 662 664 666 691 692 693 694 695 697 699
797
| CSCI 103:
Survey of Computing |
| Introduction to computers and computing for students with no prior computer experience (Not to be used to satisfy computer science major requirements.) |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| CSCI 111:
Computer Science I |
| Introduction to computer science with emphasis on problem solving and algorithm development. Using high-level, block-structured programming language, students design, implement, debug, test, and document computer programs for various applications. |
| Corequisites: None |
| Prerequisites: MATH 121 or higher, or Math ACT
>=21 |
| Credit(s): 3 |
| CSCI 112:
Computer Science II |
| Continuation of CSCI 111 with emphasis on computer programming as a systematic discipline. The topics include data structures, abstract data types, algorithm design and analysis, and programming methods and standards. |
| Corequisites: None |
| Prerequisites: Minimum grade of C in CSCI 111 |
| Credit(s): 3 |
| CSCI 191:
Office Applications |
| Introduction to the use of computers with emphasis on the Windows platform and the Microsoft Office suite of application tools. (Not to be used to satisfy computer science major requirements.) |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| CSCI 192:
Computing Applications |
| Introduction to the use of computers with emphasis on the Windows platform and the WordPerfect suite of application tools. (Not to be used to satisfy computer science major requirements.) |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| CSCI 193:
Personal Computer Systems |
| Study of the hardware and software components of personal computer
systems for experienced computer users. (Not to be used to satisfy computer
science major requirements.) |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| CSCI 203:
Computer and Information Processing |
| Introduction to computer programming and information processing principles using the Visual Basic language. (Not to be used to satisfy computer science major requirements.) |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| CSCI 211:
Computer Science III |
| Devices and techniques for conventional file processing, sequential, hashed, indexed organizations; language and operating system support facilities. |
| Corequisites: None |
| Prerequisites: Minimum grade of C in CSCI 112 |
| Credit(s): 3 |
| CSCI 223:
Computer Org. & Assembly Language |
| Introduction to the architecture of computer systems. The topics include processor and external device structures and operation, machine operation, machine operations and instructions, assembly language concepts, and assembly language programming. |
| Corequisites: None |
| Prerequisites: Minimum grade of C in CSCI 112 |
| Credit(s): 3 |
| CSCI 251:
Programming for Engineering and Sciences |
| Algorithm development and structured programming techniques; numerical and graphical applications related to engineering and scientific problem solving. |
| Corequisites: Math 261 |
| Prerequisites: None |
| Credit(s): 3 |
| CSCI 259:
Programming in C++ |
| Study of programming in the language C++, covering character processing;
use of pointers with strings, arrays and functions; data structures; bitwise
operators. |
| Corequisites: None |
| Prerequisites: CSCI 111 or CSCI 251 |
| Credit(s): 3 |
| CSCI 300:
Social Responsibility in Comp. Science |
| Study of the nature of and need for social responsibility and ethical behavior in computing and the computer professions. |
| Corequisites: None |
| Prerequisites: Csci 211: Computer Science III; Csci 223: Computer Org. & Assembly Language |
| Credit(s): 1 |
| CSCI 305:
Software for Global Use |
| Study of the principles and practice of software internationalization with emphasis on the design and customization of software to
accommodate linguistic and cultural diversity. |
| Corequisites: None |
| Prerequisites: CSCI 211 |
| Credit(s): 3 |
| CSCI 311:
Models of Computation |
| Introduction to the theoretical foundations of computer science, including automata and formal languages. |
| Corequisites: Math 301 |
| Prerequisites: Minimum grade of C in CSCI 112 |
| Credit(s): 3 |
| CSCI 323:
Systems of Programming |
| Study of a contemporary operating system and its set of tools from the perspective of software professionals and system administrators. The course analyzes the system components and their interactions, the tool environment, and system administration issues such as
configuration, installation, networking, security, and performance tuning. |
| Corequisites: None |
| Prerequisites: CSCI 112 |
| Credit(s): 3 |
| CSCI 345:
Information Storage and Retrieval |
| Examination of systems for storage and retrieval of information in textual and other formats. The topics include query processing, matching and ranking algorithms, text analysis, user interfaces, and evaluation of retrieval effectiveness. |
| Corequisites: None |
| Prerequisites: CSCI 211 |
| Credit(s): 3 |
| CSCI 353:
Introduction to Numerical Methods |
| Numerical solutions of problems; problem analysis, algorithm design, codig, testing, interpretation of results; use of software packages on mainframe computers. |
| Corequisites: None |
| Prerequisites: MATH 263 and one of the following: CSCI 111 or
CSCI 251 |
| Credit(s): 3 |
| CSCI 361:
Introduction to Computer Networks |
| Analysis of loosely coupled computer communication protocols and network
services. A generic network model is presented and compared to selected
examples of computer networks including the Internet TCP/IP and
Internet-based applications. |
| Corequisites: None |
| Prerequisites: CSCI 223 or TC 201 or ELE 335 |
| Credit(s): 3 |
| CSCI 387:
Software Design and Development |
| Study of techniques for the construction of large, complex software systems, including project management, requirements analysis, specification, design, development, testing, documentation, deployment, and maintenance. Students develop software systems in a group structure that simulates an industrial setting. |
| Corequisites: None |
| Prerequisites: Minimum grade of C in CSCI 211 and CSCI 223 |
| Credit(s): 3 |
| CSCI 390:
Special Topics in Programming |
| Study of topics in programming according to the interests of the
instructor and students. (May be repeated for credit when the topic varies.) |
| Corequisites: None |
| Prerequisites: CSCI 211 |
| Credit(s): 3 |
| CSCI 391:
Computer Graphics |
| Introduction to the fundamentals of computer graphics, including elementary figures, shading, geometric transformations, graphics program design, and interactive techniques. |
| Corequisites: None |
| Prerequisites: Math 262; CSCI 211; CSCI 223 |
| Credit(s): 3 |
| CSCI 405:
Computer Simulation |
| Introduction to computer-based simulation and its applications to
engineering, the sciences, and management. |
| Corequisites: None |
| Prerequisites: Math 262; CSCI 211 |
| Credit(s): 3 |
| CSCI 423:
Introduction to Operating Systems |
| Study of the basic concepts of operating systems, including user interfaces, process management, state saving, interprocess communication, input/output, device drivers, timing services, memory management, file management, and system abstractions. |
| Corequisites: None |
| Prerequisites: Minimum grade of C in CSCI 211 and CSCI 223 |
| Credit(s): 3 |
| CSCI 433:
Algorithm and Data Structure Analysis |
| Study of the design and analysis of algorithms and data structures. The topics include analysis techniques, sorting, searching, advanced data structures, graphs, string matching, and NP-Completeness. |
| Corequisites: None |
| Prerequisites: Math 301 and a minimum grade of C in CSCI 211 |
| Credit(s): 3 |
| CSCI 444:
Multimedia Design and Development |
| In-depth analysis of multimedia architecture and tools. Students
implement an interactive multimedia project. |
| Corequisites: None |
| Prerequisites: CSCI 211 |
| Credit(s): 3 |
| CSCI 450:
Organization of Programming Languages |
| History and concepts of programming languages; run-time behavior; formal aspects; language definition; data types and structures; control; and data flow, compilation and interpretation. |
| Corequisites: None |
| Prerequisites: CSCI 211; CSCI 223 |
| Credit(s): 3 |
| CSCI 475:
Introduction to Database Systems |
| An introduction to database systems covering basic concepts, data models, normalization, concurrency, and storage structures. |
| Corequisites: None |
| Prerequisites: CSCI 211; CSCI 223 |
| Credit(s): 3 |
| CSCI 487:
Senior Project |
| Each student conducts an in-depth study of a current problem in computer science or related area. Upon completion, the student presents the results in both oral and written form. |
| Corequisites: None |
| Prerequisites: Minimum grade of C in two courses from CSCI 311, CSCI 387, CSCI 423, CSCI 433, and CSCI 450 |
| Credit(s): 3 |
| CSCI 490:
Special Topics |
| Study of topics in computer science according to the interests of the
instructor and students. (May be repeated for credit when the topic varies.) |
| Corequisites: None |
| Prerequisites: CSCI 211; CSCI 223 |
| Credit(s): 3 |
| CSCI 495:
Undergrad Computer Science Internship |
| Internship in approved settings to enhance the educational experience of
the student through supervised training in a professional computer science
environment. Completion of an internship is recommended for all students but
this credit does not count toward completion of degree requirements. |
| Corequisites: None |
| Prerequisites: Consent of Instructor |
| Credit(s): 3 |
| CSCI 500:
Fundamental Concepts in Computing |
| An intensive study of the formal concepts needed for graduate study in computer science. Computer science graduate students only. |
| Corequisites: None |
| Prerequisites: Graduate Standing In Computer Science |
| Credit(s): 3 |
| CSCI 501:
Fundamental Concepts in Systems |
| An intensive study of the fundamental concepts of operating system and machine structures and the associated programming techniques. Computer science graduate students only. |
| Corequisites: None |
| Prerequisites: Graduate Standing In Computer
Science |
| Credit(s): 3 |
| CSCI 502:
Fundamental Concepts in Algorithms |
| An intensive study of the fundamental concepts of algorithms and data structures and the associated programming techniques. Computer science graduate students only. |
| Corequisites: None |
| Prerequisites: Graduate Standing In Computer
Science |
| Credit(s): 3 |
| CSCI 503:
Fundamental Concepts in Languages |
| An intensive study of the fundamental concepts of programming languages and the associated software system structures. Computer science graduate students only. |
| Corequisites: None |
| Prerequisites: Graduate Standing In Computer
Science |
| Credit(s): 3 |
| CSCI 517:
Natural Language Processing |
| Computer processing of natural language text at morphological, lexical, syntactic, and semantic levels; algorithms and procedures for sentence parsing and analysis; applications of natural language processing techniques. |
| Corequisites: None |
| Prerequisites: CSCI 311 or CSCI 500 or full graduate standing in
computer science |
| Credit(s): 3 |
| CSCI 520:
Formal Theory of Computer Languages |
| A detailed study of mathematical models of regular and context-free languages, nondeterministic and deterministic models; closure properties, design algorithms, simplification of grammars. |
| Corequisites: None |
| Prerequisites: CSCI 311 or CSCI 500 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 521:
Computer Systems Engineering |
| Analysis of computer system components and manufacturing economics, and how they influence design goals, direct architectural development, create hardware/software issues and modify implementation concepts, as well as system and circuit packaging. |
| Corequisites: None |
| Prerequisites: CSCI 423 or CSCI 501 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 523:
Operating Systems |
| Design and construction of operating systems for shared program computers; various contemporary operating systems. |
| Corequisites: None |
| Prerequisites: CSCI 423 or CSCI 501 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 524:
Distributed Operating System Design |
| Analysis of operating system design principles for multiple computers; a
distributed operating system model is presented and compared to selected
network and distributed operating system examples. |
| Corequisites: None |
| Prerequisites: CSCI 423 or CSCI 501 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 525:
Compiler Construction |
| Introduction to techniques used in current compilers for computer languages; the syntactic specification of programming languages and an introduction to syntax-directed compiling. |
| Corequisites: None |
| Prerequisites: CSCI 311 or CSCI 450 or CSCI 500 or CSCI 503
or full graduate standing in computer science |
| Credit(s): 3 |
| CSCI 530:
Computer Architecture and Design |
| Structured organization and hardware design of digital computers; register transfers, micro-operations, control units and timing, instruction set design, microprogramming; automated hardware design aids. |
| Corequisites: None |
| Prerequisites: CSCI 423 or CSCI 501 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 531:
Artificial Intelligence |
| Use of the computer in human problem solving. Game theory, decision trees, Markov decision problems, selected topics. |
| Corequisites: None |
| Prerequisites: CSCI 433 or CSCI 502 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 533:
Analysis of Algorithms |
| Introduction to the analysis of the efficiency of computer algorithms and concepts of computational complexity; sorting, matrix multiplication, others. |
| Corequisites: None |
| Prerequisites: CSCI 433 or CSCI 502 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 541:
Expert Systems and Logic Programming |
| Expert systems and knowledge engineering. Computer systems to emulate
human expertise. Rule-based and other knowledge representation techniques.
Knowledge engineering as a model for expert systems development; logic
programming for expert systems implementation. |
| Corequisites: None |
| Prerequisites: CSCI 211 and MATH 301 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 550:
Program Semantics and Derivation |
| A study of formal methods for the specification, derivation, and verification of computer programs. Predicate logic; notations for specification of programs; programming language semantics; calculational techniques for derivation of programs; case studies. |
| Corequisites: None |
| Prerequisites: CSCI 211 and MATH 301 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 551:
Computer System Performance Analysis |
| Defining, parameterizing, and evaluating models of computer systems. The
emphasis is on applying queuing network models and simulation techniques as
tools to evaluate the performance of centralized and distributed computer
systems. P |
| Corequisites: None |
| Prerequisites: MATH 423 AND MATH 375, or CSCI 501
or full graduate standing in computer science |
| Credit(s): 3 |
| CSCI 555:
Functional Programming |
| The principles and techniques of programming wtih functions. Purely functional programming languages; recursion; higher-order functions; reduction models; strictness; type systems; list operations; infinite data structures; program synthesis and transformation. |
| Corequisites: None |
| Prerequisites: CSCI 211 and MATH 301 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 561:
Computer Networks |
| Analysis of loosely coupled computer communication, communication protocols, and network services; an open systems interconnection model is presented and compared to selected examples of computer networks. Prerequisite for this course may also be satisfied by equivalent coursework as approved by the department. |
| Corequisites: None |
| Prerequisites: CSCI 423 or CSCI 501 or full
graduate standing in computer science |
| Credit(s): 3 |
| CSCI 562:
Software Engineering I |
| Software engineering paradigms, requirement analysis and specification, design of reliable software; data flow, data structure, and object oriented design methodologies. |
| Corequisites: None |
| Prerequisites: CSCI 387 or full graduate
standing in computer science |
| Credit(s): 3 |
| CSCI 575:
Database Systems |
| Review of database systems with special emphasis on data description and
manipulation languages; data normalization; functional dependencies;
database design; data integrity and security; distributed data processing;
design and implementation of a comprehensive project. |
| Corequisites: None |
| Prerequisites: CSCI 475 or CSCI 423 or CSCI 501
or full graduate standing in computer science |
| Credit(s): 3 |
| CSCI 595:
Graduate Computer Science Internship |
| Internship in approved settings to enhance the educational experience of
the student through supervised training in a professional computer science
environment. Completion of an internship is recommended for all students but
this credit does not count toward completion of degree requirements. |
| Corequisites: None |
| Prerequisites: Consent of the instructor |
| Credit(s): 3 |
| ENGR 596:
Special Projects I |
| Approved investigation of original problems under direction of a staff member. |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 1-3 |
| ENGR 597:
Special Projects II |
| Approved investigation of original problems under direction of a staff member. |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 1-3 |
| ENGR 598:
Special Projects III |
| Approved investigation of original problems under direction of a staff member. |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 1-3 |
| ENGR 618:
Coding For Error Code |
| This course provides a working knowledge of the use of codes to minimize error in the transmission of data using block and convolutional codes. |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 652:
Advanced Compiler Design |
| Investigation into the theory of lexical analysis, syntax-directed translation, type
checking, code generation, code optimization, and compiler project coordination.
|
| Corequisites: None |
| Prerequisites: CSCI 525 |
| Credit(s): 3 |
| ENGR 653:
Computer Structures |
| In-depth study of the upper levels of computer structure (down to the internal register transfer level) including design choices, design needs and structural variations in organizing processors, memories I/O devices, controllers and communication links. An extensive review of several current machines is made.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 654:
Information Systems Principles |
| Introduction to the theory and practice related to the development and operation of information systems. Study of data base management principles, data management systems, and general purpose software for data management systems. System and performance evaluation.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 656:
Operating Systems Design Concepts |
| Design objectives of operating systems. Sequential and concurrent processes, processor management, memory management, scheduling algorithms, resource protection. System design and performance evaluation.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 657:
Timesharing Computer Systems |
| A study of the major design goals, implementation concepts and mechanisms of timesharing systems, including motivation for the development of timesharing systems and discussions of the hardware/software concepts important to timesharing system implementation.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 659:
Advanced Information Retrieval |
| Theoretical aspects of information retrieval. Comparison and evaluation of techniques for enhancement of recall and precision performance. Design of user/system interface; applications of natural language processing. Experimental and intelligent information retrieval systems.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 660:
Software Engineering II |
| Software quality assurance, software testing techniques, software testing strategies, software maintenance, and configuration management.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 661:
Computer Networks II |
| Continued analysis of loosely coupled computer communication, constraints on intercomputer communication, communication protocols, and network services. LAN data link protocols, transport services and other high-level network functions are examined in detail.
|
| Corequisites: None |
| Prerequisites: CSCI 561 or consent of instructor |
| Credit(s): 3 |
| ENGR 662:
Advanced Artificial Intelligence |
| Advanced aspects of artificial intelligence. Logical foundations of AI. Machine learning, planning, representation of commonsense knowledge, image understanding. Intensive study of artificial intelligence programming techniques and languages.
|
| Corequisites: None |
| Prerequisites: CSCI 531 |
| Credit(s): 3 |
| ENGR 664:
Theory of Concurrent Programming |
| Topics in the theory of concurrent programming. Models of concurrency. Programming logics. Emphasis on the formal specification and verification of concurrent programs. Case studies drawn from several areas of computer science.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 666:
Fault Tolerant Computing |
| Reliability, safety, availability, maintainability, and performance modeling; fault tolerant design in VLSI; software reliability growth models; fault-tolerant data structures and algorithms; design diversity; self-stabilizing fault tolerance; Byzantine failures; performance and reliability tradeoffs.
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 3 |
| ENGR 691:
Special topics in Engineering Science I |
| (May be repeated for credit.)
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 1-3 |
| ENGR 692:
Special Topics in Engineering Science II |
| (May be repeated for credit.)
|
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 1-3 |
| ENGR 693:
Research Topics in Engineering Science II |
| Individual research in selected areas of interest. (May be repeated for credit.)
|
| Corequisites: None |
| Prerequisites: Consent of instructor. |
| Credit(s): 1-3 |
| ENGR 694:
Research Topics in Engineering Science II |
| Individual research in selected areas of interest. (May be repeated for credit.)
|
| Corequisites: None |
| Prerequisites: Consent of instructor. |
| Credit(s): 1-3 |
| ENGR 695:
Seminar |
| Presentation of papers by faculty, visiting lecturers, and graduate students. (May be repeated for credit.)
|
| Corequisites: None |
| Prerequisites: Consent of instructor. |
| Credit(s): 1 |
| ENGR 697:
Thesis |
| Corequisites: None |
| Prerequisites: None |
| Credit(s): 1-12 |
| ENGR 699:
Special Topics in Engineering Science |
| Individual design or research projects in selected areas of interest. (May be repeated for credit.)
|
| Corequisites: None |
| Prerequisites: Consent of instructor. |
| Credit(s): 1-6 |
| ENGR 797:
Dissertation |
| Corequisites: None |
| Prerequisites: Consent of instructor. |
| Credit(s): 1-18 |
[ Home |
Site Map ]
Last Updated:
Wednesday, January 31, 2008
|
|