
Computer science courses
CSCI 180 Concepts of Computer Science
Fundamental constructs of computer science. Algorithm design and development.
Computer programming using C with interdisciplinary applications. Strongly
recommended for anyone planning to major in computer science.
CSCI 190 Fundamentals of Computer Programming
Introduction to programming in a block structured language, such as C,
and a survey of the fundamental constructs of computer science as well
as the societal impact of information technology. Introduction to the
UNIX operating system as a programming environment. The initial course
for computer science majors and minors. Prerequisite: Computer Science
180 or satisfactory performance on a proficiency exam. Four semester hours.
CSCI 210 Algorithms and Problem Solving in Computer Science
Various programming concepts with an emphasis on problem solving and object-oriented
design. Constructing and verifying algorithms, debugging, and elementary
data structures. Prerequisite: Computer Science 190.
CSCI 240 Assembly Language and Machine Operation
Data representation in the computer, boolean algebra, digital logic, and
a brief look at circuits, hexadecimal and binary arithmetic with an emphasis
on the study and practice of assembly language programming. Prerequisite:
C or better in Computer Science 210. Corequisite: Mathematics 201.
CSCI 270 Data Structures and Algorithm Analysis
Data structures and their associated algorithms for storage allocation
and management, including arrays, records, stacks, queues, linked-lists,
and trees. Prerequisite: C or better in Computer Science 210.
CSCI 310 Database Systems
Design, organization, and implementation of database management systems
with an emphasis on relational models of database structure, data definition
and modeling, data manipulation languages, and security/integrity issues
related to database systems. Prerequisite: C or better in Computer Science
210.
CSCI 315 Software Engineering
Methodical development of large software systems. Models, project life
cycle, requirements and specification, structure charts and design criteria,
incremental implementation, and software metrics. Use of module and source
code management, symbolic debugging, and project planning software. Prerequisite:
Computer Science 270.
CSCI 350 Special Topics
Topics selected by the instructor for one semester of study based on needs
and interests of students, including (but are not limited to) Java programming,
computer graphics, and parallel processing. Prerequisites: Computer Science
210 and permission of instructor. One to four semester hours.
CSCI 380 Computer Design and Organization
Hardware and software components of computer systems. Processors, memories,
input/output devices, interrupts, microprogramming, and the elements and
structures of multiprogrammed operating systems. Prerequisite: Computer
Science 240.
CSCI 390 Theory of Computing
Introduction to such topics as finite-state machines, Turing machines, and
formal languages. Prerequisites: Mathematics 201, Computer Science 210,
and permission of instructor.
CSCI 410 Operating Systems
Various aspects of a computer operating system including resource allocation
processes, processor allocation, memory management, virtual memory, device
management, protection and design approaches. One or more case studies.
Prerequisite: Computer Science 270.
CSCI 425 Computer Communications/Networking
Introduction to the basic OSI model and various protocols in computer
communications and networking, especially TCP/IP. Implementation in some
important internet applications, such as e-mail and WWW. Prerequisite:
Computer Science 410.
CSCI 430 Programming Language Concepts
Comparison of user and implementation aspects of several programming languages,
including parameter passing and recursion. List processing languages and
extensible languages are included. Prerequisite: Computer Science 270.
CSCI 440 Programming Language Translation
Techniques for the translation of programming languages into machine or
assembly language. Participation in the writing of a compiler. Prerequisite:
Computer Science 390.
CSCI 450 Artificial Intelligence
Artificial intelligence goals; problem solving, representations, manipulations,
and storage of knowledge; knowledge representation in contrast to natural
language and mathematical notation; heuristic programming; and significant
techniques such as expert systems. Prerequisite: Computer Science 270.
CSCI 460 Independent Study
Individual research in computer science, under the supervision of a faculty
member. Variable credit to be determined by the department.
CSCI 470 and 471 Internship I and II
Work experience jointly supervised by department and a professional in
the field. Minimum 120 hours of field work. Prerequisites: junior or senior
status; permission of department.
|