Department of Computer and Information Science

 

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 581: Special Topics in Computer Science I
(May be repeated for credit)
Corequisites: None
Prerequisites: CSCI 211 and CSCI 223 or full graduate standing in computer science
Credit(s): 1-3

 
CSCI 582: Special Topics in Computer Science II
May be repeated for credit.
Corequisites: None
Prerequisites: CSCI 211 and CSCI 223 or full graduate standing in computer science
Credit(s): 1-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