| |
Course Catalog
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
| 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: 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: 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: 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: 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: CSCI211; 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: CSCI 211; 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; 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: Six hours of CSCI 300+ classes |
| 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 |
[ Home |
Site Map ]
Last Updated:
Wednesday, January 31, 2008
|
|